react-magma-dom 4.7.0-next.29 → 4.7.0-next.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/InputBase/index.d.ts +20 -0
- package/dist/esm/index.js +140 -118
- package/dist/esm/index.js.map +1 -1
- package/dist/properties.json +155 -83
- package/dist/react-magma-dom.cjs.development.js +139 -117
- package/dist/react-magma-dom.cjs.development.js.map +1 -1
- package/dist/react-magma-dom.cjs.production.min.js +1 -1
- package/dist/react-magma-dom.cjs.production.min.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -4826,7 +4826,69 @@ function buildDisplayInputFocusStyles(props) {
|
|
|
4826
4826
|
return /*#__PURE__*/css("height:30px;position:absolute;width:30px;outline:2px solid ", props.isInverse ? props.theme.colors.focusInverse : props.theme.colors.focus, ";;label:buildDisplayInputFocusStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIklucHV0U3R5bGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRGUiLCJmaWxlIjoiSW5wdXRTdHlsZXMudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5leHBvcnQgY29uc3QgRGlzcGxheUlucHV0U3R5bGVzID0gcHJvcHMgPT4gY3NzIGBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA2fTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICB3aWR0aDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNn07XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIC8vIGZvY3VzIGFuZCBhY3RpdmUgc3RhdGVzXG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgLy8gYWN0aXZlIHN0YXRlXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gICAgbGVmdDogLSR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZzogNTAlO1xuICAgIHRvcDogLSR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcywgdHJhbnNmb3JtIDAuNXM7XG4gICAgd2lkdGg6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICB9XG5gO1xyXG5leHBvcnQgY29uc3QgRGlzcGxheUlucHV0QWN0aXZlU3R5bGVzID0gY3NzIGBcbiAgb3BhY2l0eTogMC40O1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHM7XG5gO1xyXG5leHBvcnQgZnVuY3Rpb24gYnVpbGREaXNwbGF5SW5wdXRBY3RpdmVCYWNrZ3JvdW5kKHByb3BzKSB7XHJcbiAgICByZXR1cm4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgICAgIDogcHJvcHMuY29sb3JcclxuICAgICAgICAgICAgPyBwcm9wcy5jb2xvclxyXG4gICAgICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5wcmltYXJ5O1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBidWlsZERpc3BsYXlJbnB1dEJvcmRlckNvbG9yKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaGFzRXJyb3IpIHtcclxuICAgICAgICBpZiAocHJvcHMuaXNJbnZlcnNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjtcclxuICAgIH1cclxuICAgIHJldHVybiAndHJhbnNwYXJlbnQnO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBidWlsZERpc3BsYXlJbnB1dEZvY3VzU3R5bGVzKHByb3BzKSB7XHJcbiAgICByZXR1cm4gY3NzIGBcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gIGA7XHJcbn1cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SW5wdXRTdHlsZXMuanMubWFwIl19 */"));
|
|
4827
4827
|
}
|
|
4828
4828
|
|
|
4829
|
-
var _excluded$k = ["
|
|
4829
|
+
var _excluded$k = ["actionable", "children", "iconPosition", "labelPosition", "size", "testId"];
|
|
4830
|
+
var LabelPosition;
|
|
4831
|
+
(function (LabelPosition) {
|
|
4832
|
+
LabelPosition["left"] = "left";
|
|
4833
|
+
LabelPosition["top"] = "top";
|
|
4834
|
+
})(LabelPosition || (LabelPosition = {}));
|
|
4835
|
+
var StyledLabel = /*#__PURE__*/_styled("label", {
|
|
4836
|
+
target: "egrtx8x0",
|
|
4837
|
+
label: "StyledLabel"
|
|
4838
|
+
})("color:", function (props) {
|
|
4839
|
+
return props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700;
|
|
4840
|
+
}, ";display:inline-block;font-size:", function (props) {
|
|
4841
|
+
return props.size === InputSize.large ? props.theme.typeScale.size03.fontSize : props.theme.typeScale.size02.fontSize;
|
|
4842
|
+
}, ";font-family:", function (props) {
|
|
4843
|
+
return props.theme.bodyFont;
|
|
4844
|
+
}, ";font-weight:500;letter-spacing:", function (props) {
|
|
4845
|
+
return props.size === InputSize.large ? 'inherit' : props.theme.typeScale.size02.letterSpacing;
|
|
4846
|
+
}, ";line-height:", function (props) {
|
|
4847
|
+
return props.size === InputSize.large ? props.theme.typeScale.size03.lineHeight : props.theme.typeScale.size02.lineHeight;
|
|
4848
|
+
}, ";margin:", function (props) {
|
|
4849
|
+
return props.labelPosition === LabelPosition.left ? props.theme.spaceScale.spacing04 + " " + props.theme.spaceScale.spacing03 + " 0 0" : "0 0 " + props.theme.spaceScale.spacing03;
|
|
4850
|
+
}, ";max-width:", function (props) {
|
|
4851
|
+
return props.iconPosition === InputIconPosition.top ? 'calc(100% - 51px)' : '100%';
|
|
4852
|
+
}, ";text-align:", function (props) {
|
|
4853
|
+
return props.labelPosition === LabelPosition.left ? 'right' : 'left';
|
|
4854
|
+
}, ";white-space:", function (props) {
|
|
4855
|
+
return props.iconPosition === InputIconPosition.top || props.labelPosition === LabelPosition.left ? 'inherit' : 'normal';
|
|
4856
|
+
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVaUMiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyBJbnB1dEljb25Qb3NpdGlvbiwgSW5wdXRTaXplIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuZXhwb3J0IHZhciBMYWJlbFBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKExhYmVsUG9zaXRpb24pIHtcclxuICAgIExhYmVsUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBMYWJlbFBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxufSkoTGFiZWxQb3NpdGlvbiB8fCAoTGFiZWxQb3NpdGlvbiA9IHt9KSk7XHJcbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkLmxhYmVsIGBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemVcclxuICAgIDogcHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMi5mb250U2l6ZX07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6ICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAyLmxldHRlclNwYWNpbmd9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0XHJcbiAgICA6IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGluZUhlaWdodH07XG4gIG1hcmdpbjogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnRcclxuICAgID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9IDAgMGBcclxuICAgIDogYDAgMCAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWB9O1xuICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3BcclxuICAgID8gJ2NhbGMoMTAwJSAtIDUxcHgpJ1xyXG4gICAgOiAnMTAwJSd9O1xuICB0ZXh0LWFsaWduOiAke3Byb3BzID0+IHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCA/ICdyaWdodCcgOiAnbGVmdCd9O1xuICB3aGl0ZS1zcGFjZTogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCB8fFxyXG4gICAgcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0XHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiAnbm9ybWFsJ307XG5gO1xyXG5jb25zdCBTdHlsZWRTcGFuID0gU3R5bGVkTGFiZWwud2l0aENvbXBvbmVudCgnc3BhbicpO1xyXG5leHBvcnQgY29uc3QgTGFiZWwgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGFjdGlvbmFibGUgPSB0cnVlLCBjaGlsZHJlbiwgaWNvblBvc2l0aW9uLCBsYWJlbFBvc2l0aW9uLCBzaXplLCB0ZXN0SWQsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaXNJbnZlcnNlID0gdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSk7XHJcbiAgICByZXR1cm4gYWN0aW9uYWJsZSA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZExhYmVsLCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uIHx8IExhYmVsUG9zaXRpb24udG9wLCByZWY6IHJlZiwgc2l6ZTogc2l6ZSA/IHNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUgfSksIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRTcGFuLCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uIHx8IExhYmVsUG9zaXRpb24udG9wLCByZWY6IHJlZiwgc2l6ZTogc2l6ZSA/IHNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUgfSksIGNoaWxkcmVuKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
4857
|
+
var StyledSpan$2 = /*#__PURE__*/StyledLabel.withComponent('span', {
|
|
4858
|
+
target: "egrtx8x1",
|
|
4859
|
+
label: "StyledSpan"
|
|
4860
|
+
});
|
|
4861
|
+
var Label = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
4862
|
+
var _props$actionable = props.actionable,
|
|
4863
|
+
actionable = _props$actionable === void 0 ? true : _props$actionable,
|
|
4864
|
+
children = props.children,
|
|
4865
|
+
iconPosition = props.iconPosition,
|
|
4866
|
+
labelPosition = props.labelPosition,
|
|
4867
|
+
size = props.size,
|
|
4868
|
+
testId = props.testId,
|
|
4869
|
+
other = _objectWithoutPropertiesLoose(props, _excluded$k);
|
|
4870
|
+
var theme = useContext(ThemeContext);
|
|
4871
|
+
var isInverse = useIsInverse(props.isInverse);
|
|
4872
|
+
return actionable ? createElement(StyledLabel, Object.assign({}, other, {
|
|
4873
|
+
"data-testid": testId,
|
|
4874
|
+
isInverse: isInverse,
|
|
4875
|
+
iconPosition: iconPosition,
|
|
4876
|
+
labelPosition: labelPosition || LabelPosition.top,
|
|
4877
|
+
ref: ref,
|
|
4878
|
+
size: size ? size : InputSize.medium,
|
|
4879
|
+
theme: theme
|
|
4880
|
+
}), children) : createElement(StyledSpan$2, Object.assign({}, other, {
|
|
4881
|
+
"data-testid": testId,
|
|
4882
|
+
isInverse: isInverse,
|
|
4883
|
+
iconPosition: iconPosition,
|
|
4884
|
+
labelPosition: labelPosition || LabelPosition.top,
|
|
4885
|
+
ref: ref,
|
|
4886
|
+
size: size ? size : InputSize.medium,
|
|
4887
|
+
theme: theme
|
|
4888
|
+
}), children);
|
|
4889
|
+
});
|
|
4890
|
+
|
|
4891
|
+
var _excluded$l = ["children", "containerStyle", "defaultValue", "disabled", "hasCharacterCounter", "hasError", "icon", "iconAriaLabel", "iconRef", "isClearable", "isPasswordInput", "isPredictive", "maxCount", "maxLength", "onClear", "onIconClick", "onIconKeyDown", "onDateChange", "inputLength", "inputSize", "inputStyle", "inputWrapperStyle", "testId", "type", "setReference", "isLabelVisuallyHidden", "labelPosition"];
|
|
4830
4892
|
function _EMOTION_STRINGIFIED_CSS_ERROR__$9() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
4831
4893
|
var InputSize;
|
|
4832
4894
|
(function (InputSize) {
|
|
@@ -4849,7 +4911,7 @@ var InputIconPosition;
|
|
|
4849
4911
|
InputIconPosition["right"] = "right";
|
|
4850
4912
|
})(InputIconPosition || (InputIconPosition = {}));
|
|
4851
4913
|
var inputWrapperStyles = function inputWrapperStyles(props) {
|
|
4852
|
-
return /*#__PURE__*/css("flex:1 1 auto;align-items:center;display:flex;position:relative;width:", props.width || 'auto', ";background-color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral900) : props.theme.colors.neutral100, ";border-radius:", props.theme.borderRadius, ";border:1px solid ", props.isInverse ? curriedTransparentize(0.5, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";height:", props.theme.spaceScale.spacing09, ";&:focus-within{outline:2px solid ", props.isInverse ? props.theme.colors.focusInverse : props.theme.colors.focus, ";outline-offset:-1px;}", props.hasError && /*#__PURE__*/css("border-color:", props.isInverse ? props.theme.colors.danger200 : props.theme.colors.danger, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3RFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICczNHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiwgaGFzQ2hpbGRyZW46ICEhY2hpbGRyZW4gJiYgIWlzUGFzc3dvcmRJbnB1dCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUsIGhhc0NoaWxkcmVuOiB0cnVlIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " ", props.disabled && /*#__PURE__*/css("border-color:", props.isInverse ? curriedTransparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";background-color:", props.isInverse ? curriedTransparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErRFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICczNHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiwgaGFzQ2hpbGRyZW46ICEhY2hpbGRyZW4gJiYgIWlzUGFzc3dvcmRJbnB1dCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUsIGhhc0NoaWxkcmVuOiB0cnVlIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " ", props.inputSize === 'large' && /*#__PURE__*/css("height:", props.theme.spaceScale.spacing11, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICczNHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiwgaGFzQ2hpbGRyZW46ICEhY2hpbGRyZW4gJiYgIWlzUGFzc3dvcmRJbnB1dCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUsIGhhc0NoaWxkcmVuOiB0cnVlIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQmlEIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAnMzRweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24sIGhhc0NoaWxkcmVuOiAhIWNoaWxkcmVuICYmICFpc1Bhc3N3b3JkSW5wdXQgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlLCBoYXNDaGlsZHJlbjogdHJ1ZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4914
|
+
return /*#__PURE__*/css("flex:1 1 auto;align-items:center;display:flex;position:relative;width:", props.width || 'auto', ";background-color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral900) : props.theme.colors.neutral100, ";border-radius:", props.theme.borderRadius, ";border:1px solid ", props.isInverse ? curriedTransparentize(0.5, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";height:", props.theme.spaceScale.spacing09, ";&:focus-within{outline:2px solid ", props.isInverse ? props.theme.colors.focusInverse : props.theme.colors.focus, ";outline-offset:-1px;}", props.hasError && /*#__PURE__*/css("border-color:", props.isInverse ? props.theme.colors.danger200 : props.theme.colors.danger, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " ", props.disabled && /*#__PURE__*/css("border-color:", props.isInverse ? curriedTransparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";background-color:", props.isInverse ? curriedTransparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " ", props.inputSize === 'large' && /*#__PURE__*/css("height:", props.theme.spaceScale.spacing11, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQ2lEIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4853
4915
|
};
|
|
4854
4916
|
function getInputPadding(props) {
|
|
4855
4917
|
var inputSize = props.inputSize,
|
|
@@ -4901,10 +4963,10 @@ function getInputPadding(props) {
|
|
|
4901
4963
|
return padding;
|
|
4902
4964
|
}
|
|
4903
4965
|
var inputBaseStyles = function inputBaseStyles(props) {
|
|
4904
|
-
return /*#__PURE__*/css("border:0;border-radius:", props.theme.borderRadius, ";background:transparent;color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, ";display:block;font-size:", props.theme.typeScale.size03.fontSize, ";line-height:", props.theme.typeScale.size03.lineHeight, ";font-family:", props.theme.bodyFont, ";height:", props.theme.spaceScale.spacing09, ";padding:", props.theme.spaceScale.spacing03, ";-webkit-appearance:none;width:100%;", props.inputSize === 'large' && /*#__PURE__*/css("font-size:", props.theme.typeScale.size04.fontSize, ";line-height:", props.theme.typeScale.size04.lineHeight, ";height:", props.theme.spaceScale.spacing11, ";padding:", props.theme.spaceScale.spacing04, ";;label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvSlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICczNHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiwgaGFzQ2hpbGRyZW46ICEhY2hpbGRyZW4gJiYgIWlzUGFzc3dvcmRJbnB1dCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUsIGhhc0NoaWxkcmVuOiB0cnVlIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " padding-left:", getInputPadding(props).left, ";padding-right:", getInputPadding(props).right, ";&::placeholder{color:", props.isInverse ? curriedTransparentize(0.3, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";}&:focus{outline:0;}&[type='search']{&::-webkit-search-decoration,&::-webkit-search-cancel-button,&::-webkit-search-results-button,&::-webkit-search-results-decoration{display:none;}}", props.disabled && /*#__PURE__*/css("color:", props.isInverse ? curriedTransparentize(0.6, props.theme.colors.neutral100) : curriedTransparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;&::placeholder{color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";opacity:", props.isInverse ? 0.4 : 0.6, ";};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrTFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICczNHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiwgaGFzQ2hpbGRyZW46ICEhY2hpbGRyZW4gJiYgIWlzUGFzc3dvcmRJbnB1dCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUsIGhhc0NoaWxkcmVuOiB0cnVlIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), ";;label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtSThDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAnMzRweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24sIGhhc0NoaWxkcmVuOiAhIWNoaWxkcmVuICYmICFpc1Bhc3N3b3JkSW5wdXQgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlLCBoYXNDaGlsZHJlbjogdHJ1ZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4966
|
+
return /*#__PURE__*/css("border:0;border-radius:", props.theme.borderRadius, ";background:transparent;color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, ";display:block;font-size:", props.theme.typeScale.size03.fontSize, ";line-height:", props.theme.typeScale.size03.lineHeight, ";font-family:", props.theme.bodyFont, ";height:", props.theme.spaceScale.spacing09, ";padding:", props.theme.spaceScale.spacing03, ";-webkit-appearance:none;width:100%;", props.inputSize === 'large' && /*#__PURE__*/css("font-size:", props.theme.typeScale.size04.fontSize, ";line-height:", props.theme.typeScale.size04.lineHeight, ";height:", props.theme.spaceScale.spacing11, ";padding:", props.theme.spaceScale.spacing04, ";;label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxSlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " padding-left:", getInputPadding(props).left, ";padding-right:", getInputPadding(props).right, ";&::placeholder{color:", props.isInverse ? curriedTransparentize(0.3, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";}&:focus{outline:0;}&[type='search']{&::-webkit-search-decoration,&::-webkit-search-cancel-button,&::-webkit-search-results-button,&::-webkit-search-results-decoration{display:none;}}", props.disabled && /*#__PURE__*/css("color:", props.isInverse ? curriedTransparentize(0.6, props.theme.colors.neutral100) : curriedTransparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;&::placeholder{color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";opacity:", props.isInverse ? 0.4 : 0.6, ";};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtTFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), ";;label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvSThDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4905
4967
|
};
|
|
4906
4968
|
var InputContainer = /*#__PURE__*/_styled("div", {
|
|
4907
|
-
target: "
|
|
4969
|
+
target: "e1jxjjn77",
|
|
4908
4970
|
label: "InputContainer"
|
|
4909
4971
|
})(process.env.NODE_ENV === "production" ? {
|
|
4910
4972
|
name: "zjik7",
|
|
@@ -4912,19 +4974,19 @@ var InputContainer = /*#__PURE__*/_styled("div", {
|
|
|
4912
4974
|
} : {
|
|
4913
4975
|
name: "zjik7",
|
|
4914
4976
|
styles: "display:flex",
|
|
4915
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnTWtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAnMzRweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24sIGhhc0NoaWxkcmVuOiAhIWNoaWxkcmVuICYmICFpc1Bhc3N3b3JkSW5wdXQgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlLCBoYXNDaGlsZHJlbjogdHJ1ZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */",
|
|
4977
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpTWtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */",
|
|
4916
4978
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$9
|
|
4917
4979
|
});
|
|
4918
4980
|
var InputWrapper = /*#__PURE__*/_styled("div", {
|
|
4919
|
-
target: "
|
|
4981
|
+
target: "e1jxjjn76",
|
|
4920
4982
|
label: "InputWrapper"
|
|
4921
|
-
})(inputWrapperStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtTXVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAnMzRweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24sIGhhc0NoaWxkcmVuOiAhIWNoaWxkcmVuICYmICFpc1Bhc3N3b3JkSW5wdXQgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlLCBoYXNDaGlsZHJlbjogdHJ1ZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4983
|
+
})(inputWrapperStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvTXVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4922
4984
|
var StyledInput = /*#__PURE__*/_styled("input", {
|
|
4923
|
-
target: "
|
|
4985
|
+
target: "e1jxjjn75",
|
|
4924
4986
|
label: "StyledInput"
|
|
4925
|
-
})(inputBaseStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzTWlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAnMzRweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24sIGhhc0NoaWxkcmVuOiAhIWNoaWxkcmVuICYmICFpc1Bhc3N3b3JkSW5wdXQgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlLCBoYXNDaGlsZHJlbjogdHJ1ZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4987
|
+
})(inputBaseStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1TWlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4926
4988
|
var IconWrapper$3 = /*#__PURE__*/_styled("span", {
|
|
4927
|
-
target: "
|
|
4989
|
+
target: "e1jxjjn74",
|
|
4928
4990
|
label: "IconWrapper"
|
|
4929
4991
|
})("bottom:", function (props) {
|
|
4930
4992
|
return props.iconPosition === 'top' ? '45px' : 'inherit';
|
|
@@ -4939,8 +5001,8 @@ var IconWrapper$3 = /*#__PURE__*/_styled("span", {
|
|
|
4939
5001
|
return props.theme.spaceScale.spacing03;
|
|
4940
5002
|
};
|
|
4941
5003
|
}, ";", function (props) {
|
|
4942
|
-
return props.inputSize === 'large' && /*#__PURE__*/css("bottom:", props.iconPosition === 'top' ? '62px' : 'inherit', ";left:", props.iconPosition === 'left' ? props.theme.spaceScale.spacing04 : 'auto', ";right:", props.iconPosition === 'right' ? props.theme.spaceScale.spacing04 : props.iconPosition === 'top' ? '3px' : 'auto', ";top:", props.iconPosition === 'top' ? 'inherit' : props.theme.spaceScale.spacing04, ";;label:IconWrapper;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwTlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICczNHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiwgaGFzQ2hpbGRyZW46ICEhY2hpbGRyZW4gJiYgIWlzUGFzc3dvcmRJbnB1dCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUsIGhhc0NoaWxkcmVuOiB0cnVlIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
4943
|
-
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5TWdDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAnMzRweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24sIGhhc0NoaWxkcmVuOiAhIWNoaWxkcmVuICYmICFpc1Bhc3N3b3JkSW5wdXQgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlLCBoYXNDaGlsZHJlbjogdHJ1ZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5004
|
+
return props.inputSize === 'large' && /*#__PURE__*/css("bottom:", props.iconPosition === 'top' ? '62px' : 'inherit', ";left:", props.iconPosition === 'left' ? props.theme.spaceScale.spacing04 : 'auto', ";right:", props.iconPosition === 'right' ? props.theme.spaceScale.spacing04 : props.iconPosition === 'top' ? '3px' : 'auto', ";top:", props.iconPosition === 'top' ? 'inherit' : props.theme.spaceScale.spacing04, ";;label:IconWrapper;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyTlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
5005
|
+
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwTWdDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4944
5006
|
function getIconButtonSVGSize(props) {
|
|
4945
5007
|
var isClickable = props.isClickable,
|
|
4946
5008
|
iconPosition = props.iconPosition,
|
|
@@ -4957,6 +5019,22 @@ function getIconButtonSVGSize(props) {
|
|
|
4957
5019
|
}
|
|
4958
5020
|
return theme.iconSizes.medium + "px";
|
|
4959
5021
|
}
|
|
5022
|
+
function getHelpLinkSVGSize(props) {
|
|
5023
|
+
var inputSize = props.inputSize,
|
|
5024
|
+
theme = props.theme;
|
|
5025
|
+
if (inputSize === InputSize.large) {
|
|
5026
|
+
return theme.iconSizes.medium + "px";
|
|
5027
|
+
}
|
|
5028
|
+
return theme.iconSizes.small + "px";
|
|
5029
|
+
}
|
|
5030
|
+
function getHelpIconButtonSize(props) {
|
|
5031
|
+
var inputSize = props.inputSize,
|
|
5032
|
+
theme = props.theme;
|
|
5033
|
+
if (inputSize === InputSize.large) {
|
|
5034
|
+
return theme.spaceScale.spacing09;
|
|
5035
|
+
}
|
|
5036
|
+
return theme.spaceScale.spacing07;
|
|
5037
|
+
}
|
|
4960
5038
|
function getIconButtonTransform(props) {
|
|
4961
5039
|
var isClickable = props.isClickable,
|
|
4962
5040
|
iconPosition = props.iconPosition,
|
|
@@ -5002,7 +5080,7 @@ function getIconButtonTransform(props) {
|
|
|
5002
5080
|
return position;
|
|
5003
5081
|
}
|
|
5004
5082
|
var IconButtonContainer = /*#__PURE__*/_styled("span", {
|
|
5005
|
-
target: "
|
|
5083
|
+
target: "e1jxjjn73",
|
|
5006
5084
|
label: "IconButtonContainer"
|
|
5007
5085
|
})("background-color:transparent;bottom:", function (props) {
|
|
5008
5086
|
return props.iconPosition === 'top' ? '40px' : 'inherit';
|
|
@@ -5014,37 +5092,16 @@ var IconButtonContainer = /*#__PURE__*/_styled("span", {
|
|
|
5014
5092
|
return getIconButtonSVGSize(props);
|
|
5015
5093
|
}, ";width:", function (props) {
|
|
5016
5094
|
return getIconButtonSVGSize(props);
|
|
5017
|
-
}, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErUitDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAnMzRweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24sIGhhc0NoaWxkcmVuOiAhIWNoaWxkcmVuICYmICFpc1Bhc3N3b3JkSW5wdXQgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlLCBoYXNDaGlsZHJlbjogdHJ1ZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5095
|
+
}, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4UytDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5018
5096
|
var PasswordButtonContainer = /*#__PURE__*/_styled("span", {
|
|
5019
|
-
target: "
|
|
5097
|
+
target: "e1jxjjn72",
|
|
5020
5098
|
label: "PasswordButtonContainer"
|
|
5021
5099
|
})("background-color:transparent;width:0;transform:translate(\n ", function (props) {
|
|
5022
5100
|
return props.size === InputSize.large ? -props.buttonWidth - 8 + "px" : -props.buttonWidth - 6 + "px";
|
|
5023
5101
|
}, ",\n ", function (props) {
|
|
5024
5102
|
return props.size === InputSize.large ? props.theme.spaceScale.spacing03 : '6px';
|
|
5025
|
-
}, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErUzRDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAnMzRweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24sIGhhc0NoaWxkcmVuOiAhIWNoaWxkcmVuICYmICFpc1Bhc3N3b3JkSW5wdXQgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlLCBoYXNDaGlsZHJlbjogdHJ1ZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5103
|
+
}, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4VDRDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5026
5104
|
function getClearablePosition(props) {
|
|
5027
|
-
if (props.hasChildren) {
|
|
5028
|
-
if (props.iconPosition === 'right') {
|
|
5029
|
-
if (props.inputSize === 'large') {
|
|
5030
|
-
return '92px';
|
|
5031
|
-
}
|
|
5032
|
-
return props.theme.spaceScale.spacing12;
|
|
5033
|
-
}
|
|
5034
|
-
if (props.iconPosition === 'left') {
|
|
5035
|
-
if (props.inputSize === 'large') {
|
|
5036
|
-
return '88px';
|
|
5037
|
-
}
|
|
5038
|
-
return props.theme.spaceScale.spacing12;
|
|
5039
|
-
}
|
|
5040
|
-
if (props.iconPosition === 'top') {
|
|
5041
|
-
if (props.inputSize === 'large') {
|
|
5042
|
-
return props.theme.spaceScale.spacing10;
|
|
5043
|
-
}
|
|
5044
|
-
return '34px';
|
|
5045
|
-
}
|
|
5046
|
-
return props.theme.spaceScale.spacing12;
|
|
5047
|
-
}
|
|
5048
5105
|
if (props.iconPosition === 'right' && props.icon) {
|
|
5049
5106
|
if (props.inputSize === 'large') {
|
|
5050
5107
|
return '88px';
|
|
@@ -5057,13 +5114,13 @@ function getClearablePosition(props) {
|
|
|
5057
5114
|
return '34px';
|
|
5058
5115
|
}
|
|
5059
5116
|
var IsClearableContainer = /*#__PURE__*/_styled("span", {
|
|
5060
|
-
target: "
|
|
5117
|
+
target: "e1jxjjn71",
|
|
5061
5118
|
label: "IsClearableContainer"
|
|
5062
5119
|
})("background-color:transparent;margin:0;position:relative;height:auto;width:0;transform:translate(\n -", function (props) {
|
|
5063
5120
|
return getClearablePosition(props);
|
|
5064
5121
|
}, ",\n ", function (props) {
|
|
5065
5122
|
return props.inputSize === InputSize.large ? props.theme.spaceScale.spacing03 : '7px';
|
|
5066
|
-
}, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwVnlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcpIHtcclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAnMzRweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/IGlucHV0U2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8gaW5wdXRTaXplIDogSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24sIGhhc0NoaWxkcmVuOiAhIWNoaWxkcmVuICYmICFpc1Bhc3N3b3JkSW5wdXQgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPyBpbnB1dFNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlLCBoYXNDaGlsZHJlbjogdHJ1ZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5123
|
+
}, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvVnlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5067
5124
|
function getIconSize$1(size, theme, iconPosition) {
|
|
5068
5125
|
switch (size) {
|
|
5069
5126
|
case 'large':
|
|
@@ -5078,6 +5135,31 @@ function getIconSize$1(size, theme, iconPosition) {
|
|
|
5078
5135
|
return theme.iconSizes.medium;
|
|
5079
5136
|
}
|
|
5080
5137
|
}
|
|
5138
|
+
var isLeftOrHidden = function isLeftOrHidden(_ref) {
|
|
5139
|
+
var labelPosition = _ref.labelPosition,
|
|
5140
|
+
isLabelVisuallyHidden = _ref.isLabelVisuallyHidden;
|
|
5141
|
+
return labelPosition === LabelPosition.left || isLabelVisuallyHidden;
|
|
5142
|
+
};
|
|
5143
|
+
var HelpLinkContainer = /*#__PURE__*/_styled("span", {
|
|
5144
|
+
target: "e1jxjjn70",
|
|
5145
|
+
label: "HelpLinkContainer"
|
|
5146
|
+
})("position:relative;display:flex;align-items:center;justify-content:center;height:", function (props) {
|
|
5147
|
+
return isLeftOrHidden(props) ? 'auto' : 'fit-content';
|
|
5148
|
+
}, ";margin-inline-start:", function (props) {
|
|
5149
|
+
return isLeftOrHidden(props) ? "" + props.theme.spaceScale.spacing03 : 0;
|
|
5150
|
+
}, ";transform:translate(\n ", function (props) {
|
|
5151
|
+
return isLeftOrHidden(props) ? '0' : '-100%';
|
|
5152
|
+
}, ",\n ", function (props) {
|
|
5153
|
+
return isLeftOrHidden(props) ? '0' : "calc(-100% - " + props.theme.spaceScale.spacing03 + ")";
|
|
5154
|
+
}, "\n );svg{height:", function (props) {
|
|
5155
|
+
return getHelpLinkSVGSize(props);
|
|
5156
|
+
}, ";width:", function (props) {
|
|
5157
|
+
return getHelpLinkSVGSize(props);
|
|
5158
|
+
}, ";}button{height:", function (props) {
|
|
5159
|
+
return getHelpIconButtonSize(props);
|
|
5160
|
+
}, ";width:", function (props) {
|
|
5161
|
+
return getHelpIconButtonSize(props);
|
|
5162
|
+
}, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnWDZDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
5081
5163
|
var InputBase = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
5082
5164
|
var children = props.children,
|
|
5083
5165
|
containerStyle = props.containerStyle,
|
|
@@ -5102,7 +5184,9 @@ var InputBase = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
5102
5184
|
testId = props.testId,
|
|
5103
5185
|
type = props.type,
|
|
5104
5186
|
setReference = props.setReference,
|
|
5105
|
-
|
|
5187
|
+
isLabelVisuallyHidden = props.isLabelVisuallyHidden,
|
|
5188
|
+
labelPosition = props.labelPosition,
|
|
5189
|
+
other = _objectWithoutPropertiesLoose(props, _excluded$l);
|
|
5106
5190
|
var i18n = useContext(I18nContext);
|
|
5107
5191
|
var theme = useContext(ThemeContext);
|
|
5108
5192
|
var iconPosition = icon && onIconClick ? InputIconPosition.right : icon && !props.iconPosition ? InputIconPosition.left : props.iconPosition;
|
|
@@ -5151,7 +5235,7 @@ var InputBase = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
5151
5235
|
disabled: disabled,
|
|
5152
5236
|
iconPosition: iconPosition,
|
|
5153
5237
|
isInverse: props.isInverse,
|
|
5154
|
-
inputSize: inputSize ? inputSize : InputSize.medium,
|
|
5238
|
+
inputSize: inputSize != null ? inputSize : InputSize.medium,
|
|
5155
5239
|
theme: theme,
|
|
5156
5240
|
style: containerStyle,
|
|
5157
5241
|
hasError: hasError,
|
|
@@ -5163,7 +5247,7 @@ var InputBase = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
5163
5247
|
"data-testid": testId,
|
|
5164
5248
|
hasCharacterCounter: hasCharacterCounter,
|
|
5165
5249
|
iconPosition: iconPosition,
|
|
5166
|
-
inputSize: inputSize ? inputSize : InputSize.medium,
|
|
5250
|
+
inputSize: inputSize != null ? inputSize : InputSize.medium,
|
|
5167
5251
|
isClearable: type === InputType.search ? isClearable : inputWrapperStyle != null && inputWrapperStyle.width ? isClearable : isClearable && inputLength > 0,
|
|
5168
5252
|
isInverse: useIsInverse(props.isInverse),
|
|
5169
5253
|
isPredictive: isPredictive,
|
|
@@ -5178,20 +5262,19 @@ var InputBase = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
5178
5262
|
})), icon && !onIconClick && createElement(IconWrapper$3, {
|
|
5179
5263
|
"aria-label": iconAriaLabel,
|
|
5180
5264
|
iconPosition: iconPosition,
|
|
5181
|
-
inputSize: inputSize ? inputSize : InputSize.medium,
|
|
5265
|
+
inputSize: inputSize != null ? inputSize : InputSize.medium,
|
|
5182
5266
|
isInverse: props.isInverse,
|
|
5183
5267
|
isPredictive: isPredictive,
|
|
5184
5268
|
theme: theme,
|
|
5185
5269
|
disabled: disabled
|
|
5186
5270
|
}, Children.only(cloneElement(icon, {
|
|
5187
|
-
size: getIconSize$1(inputSize ? inputSize : InputSize.medium, theme, iconPosition)
|
|
5271
|
+
size: getIconSize$1(inputSize != null ? inputSize : InputSize.medium, theme, iconPosition)
|
|
5188
5272
|
})))), isClearable && value !== '' && createElement(IsClearableContainer, {
|
|
5189
5273
|
theme: theme,
|
|
5190
5274
|
iconPosition: iconPosition,
|
|
5191
5275
|
inputSize: inputSize,
|
|
5192
5276
|
onIconClick: onIconClick,
|
|
5193
|
-
icon: icon
|
|
5194
|
-
hasChildren: !!children && !isPasswordInput
|
|
5277
|
+
icon: icon
|
|
5195
5278
|
}, createElement(IconButton, {
|
|
5196
5279
|
"aria-label": i18n.input.isClearableAriaLabel,
|
|
5197
5280
|
disabled: disabled,
|
|
@@ -5226,16 +5309,15 @@ var InputBase = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
5226
5309
|
size: inputSize === InputSize.large ? InputSize.large : InputSize.medium,
|
|
5227
5310
|
theme: theme,
|
|
5228
5311
|
buttonWidth: passwordBtnWidth()
|
|
5229
|
-
}, children) : createElement(
|
|
5230
|
-
|
|
5231
|
-
inputSize: inputSize ? inputSize : InputSize.medium,
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
hasChildren: true
|
|
5312
|
+
}, children) : createElement(HelpLinkContainer, {
|
|
5313
|
+
isLabelVisuallyHidden: isLabelVisuallyHidden || false,
|
|
5314
|
+
inputSize: inputSize != null ? inputSize : InputSize.medium,
|
|
5315
|
+
labelPosition: labelPosition != null ? labelPosition : LabelPosition.top,
|
|
5316
|
+
theme: theme
|
|
5235
5317
|
}, children)));
|
|
5236
5318
|
});
|
|
5237
5319
|
|
|
5238
|
-
var _excluded$
|
|
5320
|
+
var _excluded$m = ["children", "id", "isInverse", "hasError", "maxCount"];
|
|
5239
5321
|
function BuildMessageColor(props) {
|
|
5240
5322
|
var isInverse = props.isInverse,
|
|
5241
5323
|
hasError = props.hasError,
|
|
@@ -5275,7 +5357,7 @@ var InputMessage = function InputMessage(_ref) {
|
|
|
5275
5357
|
isInverse = _ref.isInverse,
|
|
5276
5358
|
hasError = _ref.hasError,
|
|
5277
5359
|
maxCount = _ref.maxCount,
|
|
5278
|
-
other = _objectWithoutPropertiesLoose(_ref, _excluded$
|
|
5360
|
+
other = _objectWithoutPropertiesLoose(_ref, _excluded$m);
|
|
5279
5361
|
var theme = useContext(ThemeContext);
|
|
5280
5362
|
//Conditional wrapper based on maxCount, allows Character Counter to render without the Announce component for accessibility purposes.
|
|
5281
5363
|
function AnnounceWrapper(props) {
|
|
@@ -5299,68 +5381,6 @@ var InputMessage = function InputMessage(_ref) {
|
|
|
5299
5381
|
})), createElement("div", null, children)));
|
|
5300
5382
|
};
|
|
5301
5383
|
|
|
5302
|
-
var _excluded$m = ["actionable", "children", "iconPosition", "labelPosition", "size", "testId"];
|
|
5303
|
-
var LabelPosition;
|
|
5304
|
-
(function (LabelPosition) {
|
|
5305
|
-
LabelPosition["left"] = "left";
|
|
5306
|
-
LabelPosition["top"] = "top";
|
|
5307
|
-
})(LabelPosition || (LabelPosition = {}));
|
|
5308
|
-
var StyledLabel = /*#__PURE__*/_styled("label", {
|
|
5309
|
-
target: "egrtx8x0",
|
|
5310
|
-
label: "StyledLabel"
|
|
5311
|
-
})("color:", function (props) {
|
|
5312
|
-
return props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700;
|
|
5313
|
-
}, ";display:inline-block;font-size:", function (props) {
|
|
5314
|
-
return props.size === InputSize.large ? props.theme.typeScale.size03.fontSize : props.theme.typeScale.size02.fontSize;
|
|
5315
|
-
}, ";font-family:", function (props) {
|
|
5316
|
-
return props.theme.bodyFont;
|
|
5317
|
-
}, ";font-weight:500;letter-spacing:", function (props) {
|
|
5318
|
-
return props.size === InputSize.large ? 'inherit' : props.theme.typeScale.size02.letterSpacing;
|
|
5319
|
-
}, ";line-height:", function (props) {
|
|
5320
|
-
return props.size === InputSize.large ? props.theme.typeScale.size03.lineHeight : props.theme.typeScale.size02.lineHeight;
|
|
5321
|
-
}, ";margin:", function (props) {
|
|
5322
|
-
return props.labelPosition === LabelPosition.left ? props.theme.spaceScale.spacing04 + " " + props.theme.spaceScale.spacing03 + " 0 0" : "0 0 " + props.theme.spaceScale.spacing03;
|
|
5323
|
-
}, ";max-width:", function (props) {
|
|
5324
|
-
return props.iconPosition === InputIconPosition.top ? 'calc(100% - 51px)' : '100%';
|
|
5325
|
-
}, ";text-align:", function (props) {
|
|
5326
|
-
return props.labelPosition === LabelPosition.left ? 'right' : 'left';
|
|
5327
|
-
}, ";white-space:", function (props) {
|
|
5328
|
-
return props.iconPosition === InputIconPosition.top || props.labelPosition === LabelPosition.left ? 'inherit' : 'normal';
|
|
5329
|
-
}, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVaUMiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyBJbnB1dEljb25Qb3NpdGlvbiwgSW5wdXRTaXplIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuZXhwb3J0IHZhciBMYWJlbFBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKExhYmVsUG9zaXRpb24pIHtcclxuICAgIExhYmVsUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBMYWJlbFBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxufSkoTGFiZWxQb3NpdGlvbiB8fCAoTGFiZWxQb3NpdGlvbiA9IHt9KSk7XHJcbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkLmxhYmVsIGBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemVcclxuICAgIDogcHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMi5mb250U2l6ZX07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6ICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAyLmxldHRlclNwYWNpbmd9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0XHJcbiAgICA6IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGluZUhlaWdodH07XG4gIG1hcmdpbjogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnRcclxuICAgID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9IDAgMGBcclxuICAgIDogYDAgMCAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWB9O1xuICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3BcclxuICAgID8gJ2NhbGMoMTAwJSAtIDUxcHgpJ1xyXG4gICAgOiAnMTAwJSd9O1xuICB0ZXh0LWFsaWduOiAke3Byb3BzID0+IHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCA/ICdyaWdodCcgOiAnbGVmdCd9O1xuICB3aGl0ZS1zcGFjZTogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCB8fFxyXG4gICAgcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0XHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiAnbm9ybWFsJ307XG5gO1xyXG5jb25zdCBTdHlsZWRTcGFuID0gU3R5bGVkTGFiZWwud2l0aENvbXBvbmVudCgnc3BhbicpO1xyXG5leHBvcnQgY29uc3QgTGFiZWwgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGFjdGlvbmFibGUgPSB0cnVlLCBjaGlsZHJlbiwgaWNvblBvc2l0aW9uLCBsYWJlbFBvc2l0aW9uLCBzaXplLCB0ZXN0SWQsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaXNJbnZlcnNlID0gdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSk7XHJcbiAgICByZXR1cm4gYWN0aW9uYWJsZSA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZExhYmVsLCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uIHx8IExhYmVsUG9zaXRpb24udG9wLCByZWY6IHJlZiwgc2l6ZTogc2l6ZSA/IHNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUgfSksIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRTcGFuLCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uIHx8IExhYmVsUG9zaXRpb24udG9wLCByZWY6IHJlZiwgc2l6ZTogc2l6ZSA/IHNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUgfSksIGNoaWxkcmVuKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
5330
|
-
var StyledSpan$2 = /*#__PURE__*/StyledLabel.withComponent('span', {
|
|
5331
|
-
target: "egrtx8x1",
|
|
5332
|
-
label: "StyledSpan"
|
|
5333
|
-
});
|
|
5334
|
-
var Label = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
5335
|
-
var _props$actionable = props.actionable,
|
|
5336
|
-
actionable = _props$actionable === void 0 ? true : _props$actionable,
|
|
5337
|
-
children = props.children,
|
|
5338
|
-
iconPosition = props.iconPosition,
|
|
5339
|
-
labelPosition = props.labelPosition,
|
|
5340
|
-
size = props.size,
|
|
5341
|
-
testId = props.testId,
|
|
5342
|
-
other = _objectWithoutPropertiesLoose(props, _excluded$m);
|
|
5343
|
-
var theme = useContext(ThemeContext);
|
|
5344
|
-
var isInverse = useIsInverse(props.isInverse);
|
|
5345
|
-
return actionable ? createElement(StyledLabel, Object.assign({}, other, {
|
|
5346
|
-
"data-testid": testId,
|
|
5347
|
-
isInverse: isInverse,
|
|
5348
|
-
iconPosition: iconPosition,
|
|
5349
|
-
labelPosition: labelPosition || LabelPosition.top,
|
|
5350
|
-
ref: ref,
|
|
5351
|
-
size: size ? size : InputSize.medium,
|
|
5352
|
-
theme: theme
|
|
5353
|
-
}), children) : createElement(StyledSpan$2, Object.assign({}, other, {
|
|
5354
|
-
"data-testid": testId,
|
|
5355
|
-
isInverse: isInverse,
|
|
5356
|
-
iconPosition: iconPosition,
|
|
5357
|
-
labelPosition: labelPosition || LabelPosition.top,
|
|
5358
|
-
ref: ref,
|
|
5359
|
-
size: size ? size : InputSize.medium,
|
|
5360
|
-
theme: theme
|
|
5361
|
-
}), children);
|
|
5362
|
-
});
|
|
5363
|
-
|
|
5364
5384
|
var _excluded$n = ["containerStyle", "errorMessage", "helperMessage", "labelledById", "labelStyle", "labelText", "isTextVisuallyHidden", "testId", "children"];
|
|
5365
5385
|
var FormGroupContext = /*#__PURE__*/createContext({
|
|
5366
5386
|
hasError: false
|
|
@@ -9874,7 +9894,7 @@ var Input = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
9874
9894
|
messageStyle: messageStyle,
|
|
9875
9895
|
testId: testId && testId + "-formFieldContainer"
|
|
9876
9896
|
}, createElement(InputBase, Object.assign({}, other, {
|
|
9877
|
-
"aria-describedby": descriptionId ? descriptionId : props['aria-describedby'],
|
|
9897
|
+
"aria-describedby": descriptionId != null ? descriptionId : props['aria-describedby'],
|
|
9878
9898
|
"aria-invalid": !!errorMessage,
|
|
9879
9899
|
hasError: !!errorMessage || hasCharacterCounter && characterLength > maxCharacters,
|
|
9880
9900
|
iconPosition: iconPosition,
|
|
@@ -9889,7 +9909,9 @@ var Input = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
9889
9909
|
ref: ref,
|
|
9890
9910
|
setReference: setReference,
|
|
9891
9911
|
testId: testId,
|
|
9892
|
-
value: value
|
|
9912
|
+
value: value,
|
|
9913
|
+
isLabelVisuallyHidden: isLabelVisuallyHidden,
|
|
9914
|
+
labelPosition: labelPosition
|
|
9893
9915
|
}), children));
|
|
9894
9916
|
});
|
|
9895
9917
|
|