adui
Version:
<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>
182 lines (154 loc) • 24.7 kB
JavaScript
var _excluded = ["afterClose", "className", "closable", "closeText", "defaultExpanded", "expandContent", "expanded", "icon", "intent", "onClose", "onExpandChange", "size", "text", "title", "theme"];
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
import React, { useContext, useRef, useState } from "react";
import PropTypes from "prop-types";
import classNames from "classnames";
import Icon from "../icon";
import ICON_INTENTS from "./iconIntents";
import { ConfigContext, getComputedSize } from "../config-provider";
import "./style";
var prefix = "adui-alert";
var Alert = function Alert(_ref) {
var afterClose = _ref.afterClose,
className = _ref.className,
closable = _ref.closable,
closeText = _ref.closeText,
defaultExpanded = _ref.defaultExpanded,
expandContent = _ref.expandContent,
expandedProp = _ref.expanded,
icon = _ref.icon,
intent = _ref.intent,
onClose = _ref.onClose,
onExpandChange = _ref.onExpandChange,
size = _ref.size,
text = _ref.text,
title = _ref.title,
theme = _ref.theme,
otherProps = _objectWithoutProperties(_ref, _excluded);
var ref = useRef(null);
var _useState = useState(expandedProp !== null && expandedProp !== undefined ? expandedProp : !!defaultExpanded),
_useState2 = _slicedToArray(_useState, 2),
expanded = _useState2[0],
setExpanded = _useState2[1];
var _useState3 = useState(false),
_useState4 = _slicedToArray(_useState3, 2),
closing = _useState4[0],
setClosing = _useState4[1];
if (expandedProp !== null && expandedProp !== undefined && expanded !== expandedProp) {
setExpanded(expandedProp);
}
var _useContext = useContext(ConfigContext),
sizeContext = _useContext.size;
var computedSize = getComputedSize(size, sizeContext);
var handleClose = function handleClose() {
if (onClose) {
onClose();
}
if (ref.current) {
ref.current.style.height = "".concat(ref.current.offsetHeight, "px");
setTimeout(function () {
if (ref.current) {
ref.current.style.marginTop = "0";
ref.current.style.marginBottom = "0";
ref.current.style.paddingTop = "0";
ref.current.style.paddingBottom = "0";
ref.current.style.height = "0";
ref.current.style.opacity = "0";
}
setTimeout(function () {
setClosing(true);
if (afterClose) {
afterClose();
}
}, 300);
}, 0);
}
};
var handleExpand = function handleExpand() {
if (expandedProp === null) {
setExpanded(!expanded);
}
if (onExpandChange) {
onExpandChange(!expanded);
}
};
var classSet = classNames(className, "".concat(prefix, "-base"), "".concat(prefix, "-").concat(intent), "".concat(prefix, "-").concat(computedSize), _defineProperty({}, "".concat(prefix, "-").concat(theme), theme));
if (closing) {
return null;
}
return React.createElement("div", _extends({
ref: ref,
className: classSet
}, otherProps), React.createElement("div", {
className: "".concat(prefix, "-inner")
}, icon !== null && React.createElement(Icon, {
icon: icon || ICON_INTENTS[intent || "normal"],
size: computedSize === "mini" ? 18 : 20,
className: "".concat(prefix, "-icon")
}), React.createElement("div", {
className: "".concat(prefix, "-text")
}, !!title && React.createElement("div", {
className: "".concat(prefix, "-title")
}, title), React.createElement("div", null, text), !!expandContent && expanded && React.createElement("div", {
className: "".concat(prefix, "-expandContent")
}, " ", expandContent, " ")), closable && React.createElement("div", {
className: classNames("".concat(prefix, "-close"), _defineProperty({}, "".concat(prefix, "-close_text"), !!closeText))
}, closeText ? React.createElement("div", {
className: "".concat(prefix, "-closeText"),
onClick: handleClose,
role: "none"
}, closeText) : React.createElement(Icon, {
className: "".concat(prefix, "-closeIcon"),
icon: "cancel",
onClick: handleClose
})), !!expandContent && React.createElement("div", {
className: "".concat(prefix, "-expand"),
onClick: handleExpand,
role: "none"
}, expanded ? "收起" : "展开")));
};
Alert.displayName = "Alert";
Alert.propTypes = {
afterClose: PropTypes.func,
className: PropTypes.string,
closable: PropTypes.bool,
closeText: PropTypes.node,
defaultExpanded: PropTypes.bool,
expandContent: PropTypes.node,
expanded: PropTypes.bool,
icon: PropTypes.any,
intent: PropTypes.oneOf(["normal", "primary", "success", "info", "warning", "danger"]),
onClose: PropTypes.func,
onExpandChange: PropTypes.func,
size: PropTypes.oneOf(["mini", "small", "medium"]),
text: PropTypes.node.isRequired,
theme: PropTypes.oneOf([null, "light"]),
title: PropTypes.node
};
Alert.defaultProps = {
afterClose: function afterClose() {},
className: undefined,
closable: false,
closeText: null,
defaultExpanded: null,
expandContent: null,
expanded: null,
icon: undefined,
intent: "normal",
onClose: function onClose() {},
onExpandChange: function onExpandChange() {},
size: "small",
theme: null,
title: null
};
export default Alert;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNvbnRleHQiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIlByb3BUeXBlcyIsImNsYXNzTmFtZXMiLCJJY29uIiwiSUNPTl9JTlRFTlRTIiwiQ29uZmlnQ29udGV4dCIsImdldENvbXB1dGVkU2l6ZSIsInByZWZpeCIsIkFsZXJ0IiwiYWZ0ZXJDbG9zZSIsImNsYXNzTmFtZSIsImNsb3NhYmxlIiwiY2xvc2VUZXh0IiwiZGVmYXVsdEV4cGFuZGVkIiwiZXhwYW5kQ29udGVudCIsImV4cGFuZGVkUHJvcCIsImV4cGFuZGVkIiwiaWNvbiIsImludGVudCIsIm9uQ2xvc2UiLCJvbkV4cGFuZENoYW5nZSIsInNpemUiLCJ0ZXh0IiwidGl0bGUiLCJ0aGVtZSIsIm90aGVyUHJvcHMiLCJyZWYiLCJ1bmRlZmluZWQiLCJzZXRFeHBhbmRlZCIsImNsb3NpbmciLCJzZXRDbG9zaW5nIiwic2l6ZUNvbnRleHQiLCJjb21wdXRlZFNpemUiLCJoYW5kbGVDbG9zZSIsImN1cnJlbnQiLCJzdHlsZSIsImhlaWdodCIsIm9mZnNldEhlaWdodCIsInNldFRpbWVvdXQiLCJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSIsIm9wYWNpdHkiLCJoYW5kbGVFeHBhbmQiLCJjbGFzc1NldCIsImRpc3BsYXlOYW1lIiwicHJvcFR5cGVzIiwiZnVuYyIsInN0cmluZyIsImJvb2wiLCJub2RlIiwiYW55Iiwib25lT2YiLCJpc1JlcXVpcmVkIiwiZGVmYXVsdFByb3BzIl0sInNvdXJjZXMiOlsiLi4vLi4vY29tcG9uZW50cy9hbGVydC9BbGVydC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgSWNvbiwgeyBJY29uTmFtZXMgfSBmcm9tIFwiLi4vaWNvblwiXG5pbXBvcnQgSUNPTl9JTlRFTlRTIGZyb20gXCIuL2ljb25JbnRlbnRzXCJcbmltcG9ydCB7IENvbmZpZ0NvbnRleHQsIGdldENvbXB1dGVkU2l6ZSB9IGZyb20gXCIuLi9jb25maWctcHJvdmlkZXJcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbmNvbnN0IHByZWZpeCA9IFwiYWR1aS1hbGVydFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFsZXJ0UHJvcHMge1xuICBba2V5OiBzdHJpbmddOiBhbnlcbiAgLyoqXG4gICAqIOWFs+mXreWQjueahCBoYW5kbGVy77yM5Y+C5pWwIG5vZGVcbiAgICovXG4gIGFmdGVyQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5piv5ZCm5Y+v5YWz6ZetXG4gICAqL1xuICBjbG9zYWJsZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIOWFs+mXreaWh+Wtl1xuICAgKi9cbiAgY2xvc2VUZXh0PzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDmmK/lkKblsZXlvIDvvIzlhoXpg6jpqbHliqhcbiAgICovXG4gIGRlZmF1bHRFeHBhbmRlZD86IGJvb2xlYW4gfCBudWxsXG4gIC8qKlxuICAgKiDlsZXlvIDlhoXlrrlcbiAgICovXG4gIGV4cGFuZENvbnRlbnQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgLyoqXG4gICAqIOaYr+WQpuWxleW8gO+8jOWklumDqOaOp+WItlxuICAgKi9cbiAgZXhwYW5kZWQ/OiBib29sZWFuIHwgbnVsbFxuICAvKipcbiAgICog6K6+572u5Zu+5qCHXG4gICAqL1xuICBpY29uPzogSWNvbk5hbWVzIHwgbnVsbFxuICAvKipcbiAgICog6K6+572u57G75Z6LXG4gICAqL1xuICBpbnRlbnQ/OiBcIm5vcm1hbFwiIHwgXCJwcmltYXJ5XCIgfCBcInN1Y2Nlc3NcIiB8IFwiaW5mb1wiIHwgXCJ3YXJuaW5nXCIgfCBcImRhbmdlclwiXG4gIC8qKlxuICAgKiDlhbPpl63ml7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25DbG9zZT86ICgpID0+IHZvaWRcbiAgLyoqXG4gICAqIOWxleW8gOeKtuaAgeWPmOWMluaXtueahCBoYW5kbGVy77yM5Y+C5pWw5Li6IGJvb2xcbiAgICovXG4gIG9uRXhwYW5kQ2hhbmdlPzogKGV4cGFuZGVkOiBib29sZWFuKSA9PiB2b2lkXG4gIC8qKlxuICAgKiDorr7nva7lsLrlr7hcbiAgICovXG4gIHNpemU/OiBcIm1pbmlcIiB8IFwic21hbGxcIiB8IFwibWVkaXVtXCJcbiAgLyoqXG4gICAqIOaPkOmGkuWGheWuuVxuICAgKi9cbiAgdGV4dDogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDorr7nva7kuLvpophcbiAgICovXG4gIHRoZW1lPzogbnVsbCB8IFwibGlnaHRcIlxuICAvKipcbiAgICog5o+Q6YaS5qCH6aKYXG4gICAqL1xuICB0aXRsZT86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG4vKipcbiAqIOaPkOmGkuaYr+WGheWuueeahOW4uOaAgeOAgeWNs+aXtuaAp+aPkOekuu+8jOWxleekuumcgOimgeeUqOaIt+WNs+aXtuWFs+azqOeahOS/oeaBr+OAglxuICog5LiO5a+56K+d5qGGIERpYWxvZyDmiJbmsJTms6Hmj5DnpLogUG9wb3ZlciDkuI3lkIzvvIzmj5DphpIgQWxlcnQg6YCa5bi45bi46am75Zyo6aG16Z2i5Lit77yM5LiO6aG16Z2i5YaF5a655pyJ5pu05by655qE5YWz6IGU5oCn44CCXG4gKi9cbmNvbnN0IEFsZXJ0OiBSZWFjdC5GQzxJQWxlcnRQcm9wcz4gPSAoe1xuICBhZnRlckNsb3NlLFxuICBjbGFzc05hbWUsXG4gIGNsb3NhYmxlLFxuICBjbG9zZVRleHQsXG4gIGRlZmF1bHRFeHBhbmRlZCxcbiAgZXhwYW5kQ29udGVudCxcbiAgZXhwYW5kZWQ6IGV4cGFuZGVkUHJvcCxcbiAgaWNvbixcbiAgaW50ZW50LFxuICBvbkNsb3NlLFxuICBvbkV4cGFuZENoYW5nZSxcbiAgc2l6ZSxcbiAgdGV4dCxcbiAgdGl0bGUsXG4gIHRoZW1lLFxuICAuLi5vdGhlclByb3BzXG59OiBJQWxlcnRQcm9wcykgPT4ge1xuICBjb25zdCByZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtleHBhbmRlZCwgc2V0RXhwYW5kZWRdID0gdXNlU3RhdGUoXG4gICAgZXhwYW5kZWRQcm9wICE9PSBudWxsICYmIGV4cGFuZGVkUHJvcCAhPT0gdW5kZWZpbmVkXG4gICAgICA/IGV4cGFuZGVkUHJvcFxuICAgICAgOiAhIWRlZmF1bHRFeHBhbmRlZFxuICApXG4gIGNvbnN0IFtjbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIC8vIOebuOW9k+S6jueUn+WRveWRqOacnyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNcbiAgaWYgKFxuICAgIGV4cGFuZGVkUHJvcCAhPT0gbnVsbCAmJlxuICAgIGV4cGFuZGVkUHJvcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgZXhwYW5kZWQgIT09IGV4cGFuZGVkUHJvcFxuICApIHtcbiAgICBzZXRFeHBhbmRlZChleHBhbmRlZFByb3ApXG4gIH1cblxuICBjb25zdCB7IHNpemU6IHNpemVDb250ZXh0IH0gPSB1c2VDb250ZXh0KENvbmZpZ0NvbnRleHQpXG4gIGNvbnN0IGNvbXB1dGVkU2l6ZSA9IGdldENvbXB1dGVkU2l6ZShzaXplLCBzaXplQ29udGV4dClcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBpZiAob25DbG9zZSkge1xuICAgICAgb25DbG9zZSgpXG4gICAgfVxuXG4gICAgaWYgKHJlZi5jdXJyZW50KSB7XG4gICAgICByZWYuY3VycmVudC5zdHlsZS5oZWlnaHQgPSBgJHtyZWYuY3VycmVudC5vZmZzZXRIZWlnaHR9cHhgXG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAocmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICByZWYuY3VycmVudC5zdHlsZS5tYXJnaW5Ub3AgPSBcIjBcIlxuICAgICAgICAgIHJlZi5jdXJyZW50LnN0eWxlLm1hcmdpbkJvdHRvbSA9IFwiMFwiXG4gICAgICAgICAgcmVmLmN1cnJlbnQuc3R5bGUucGFkZGluZ1RvcCA9IFwiMFwiXG4gICAgICAgICAgcmVmLmN1cnJlbnQuc3R5bGUucGFkZGluZ0JvdHRvbSA9IFwiMFwiXG4gICAgICAgICAgcmVmLmN1cnJlbnQuc3R5bGUuaGVpZ2h0ID0gXCIwXCJcbiAgICAgICAgICByZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gXCIwXCJcbiAgICAgICAgfVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBzZXRDbG9zaW5nKHRydWUpXG4gICAgICAgICAgaWYgKGFmdGVyQ2xvc2UpIHtcbiAgICAgICAgICAgIGFmdGVyQ2xvc2UoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgMzAwKVxuICAgICAgfSwgMClcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVFeHBhbmQgPSAoKSA9PiB7XG4gICAgaWYgKGV4cGFuZGVkUHJvcCA9PT0gbnVsbCkge1xuICAgICAgc2V0RXhwYW5kZWQoIWV4cGFuZGVkKVxuICAgIH1cbiAgICBpZiAob25FeHBhbmRDaGFuZ2UpIHtcbiAgICAgIG9uRXhwYW5kQ2hhbmdlKCFleHBhbmRlZClcbiAgICB9XG4gIH1cblxuICBjb25zdCBjbGFzc1NldCA9IGNsYXNzTmFtZXMoXG4gICAgY2xhc3NOYW1lLFxuICAgIGAke3ByZWZpeH0tYmFzZWAsXG4gICAgYCR7cHJlZml4fS0ke2ludGVudH1gLFxuICAgIGAke3ByZWZpeH0tJHtjb21wdXRlZFNpemV9YCxcbiAgICB7XG4gICAgICBbYCR7cHJlZml4fS0ke3RoZW1lfWBdOiB0aGVtZSxcbiAgICB9XG4gIClcblxuICBpZiAoY2xvc2luZykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgcmVmPXtyZWZ9IGNsYXNzTmFtZT17Y2xhc3NTZXR9IHsuLi5vdGhlclByb3BzfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWlubmVyYH0+XG4gICAgICAgIHtpY29uICE9PSBudWxsICYmIChcbiAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgaWNvbj17aWNvbiB8fCBJQ09OX0lOVEVOVFNbaW50ZW50IHx8IFwibm9ybWFsXCJdfVxuICAgICAgICAgICAgc2l6ZT17Y29tcHV0ZWRTaXplID09PSBcIm1pbmlcIiA/IDE4IDogMjB9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeH0taWNvbmB9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tdGV4dGB9PlxuICAgICAgICAgIHshIXRpdGxlICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LXRpdGxlYH0+e3RpdGxlfTwvZGl2Pn1cbiAgICAgICAgICA8ZGl2Pnt0ZXh0fTwvZGl2PlxuICAgICAgICAgIHshIWV4cGFuZENvbnRlbnQgJiYgZXhwYW5kZWQgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tZXhwYW5kQ29udGVudGB9PiB7ZXhwYW5kQ29udGVudH0gPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHtjbG9zYWJsZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGAke3ByZWZpeH0tY2xvc2VgLCB7XG4gICAgICAgICAgICAgIFtgJHtwcmVmaXh9LWNsb3NlX3RleHRgXTogISFjbG9zZVRleHQsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2xvc2VUZXh0ID8gKFxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWNsb3NlVGV4dGB9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2Nsb3NlVGV4dH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7cHJlZml4fS1jbG9zZUljb25gfVxuICAgICAgICAgICAgICAgIGljb249XCJjYW5jZWxcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAgeyEhZXhwYW5kQ29udGVudCAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWV4cGFuZGB9XG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVFeHBhbmR9XG4gICAgICAgICAgICByb2xlPVwibm9uZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge2V4cGFuZGVkID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5BbGVydC5kaXNwbGF5TmFtZSA9IFwiQWxlcnRcIlxuXG5BbGVydC5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiDlhbPpl63lkI7nmoQgaGFuZGxlcu+8jOWPguaVsCBub2RlXG4gICAqL1xuICBhZnRlckNsb3NlOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICog5piv5ZCm5Y+v5YWz6ZetXG4gICAqL1xuICBjbG9zYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDlhbPpl63mloflrZdcbiAgICovXG4gIGNsb3NlVGV4dDogUHJvcFR5cGVzLm5vZGUsXG4gIC8qKlxuICAgKiDmmK/lkKblsZXlvIDvvIzlhoXpg6jpqbHliqhcbiAgICovXG4gIGRlZmF1bHRFeHBhbmRlZDogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDlsZXlvIDlhoXlrrlcbiAgICovXG4gIGV4cGFuZENvbnRlbnQ6IFByb3BUeXBlcy5ub2RlLFxuICAvKipcbiAgICog5piv5ZCm5bGV5byA77yM5aSW6YOo5o6n5Yi2XG4gICAqL1xuICBleHBhbmRlZDogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiDorr7nva7lm77moIdcbiAgICovXG4gIGljb246IFByb3BUeXBlcy5hbnksXG4gIC8qKlxuICAgKiDorr7nva7nsbvlnotcbiAgICovXG4gIGludGVudDogUHJvcFR5cGVzLm9uZU9mKFtcbiAgICBcIm5vcm1hbFwiLFxuICAgIFwicHJpbWFyeVwiLFxuICAgIFwic3VjY2Vzc1wiLFxuICAgIFwiaW5mb1wiLFxuICAgIFwid2FybmluZ1wiLFxuICAgIFwiZGFuZ2VyXCIsXG4gIF0pLFxuICAvKipcbiAgICog5YWz6Zet5pe255qEIGhhbmRsZXLvvIzlj4LmlbAgbm9kZVxuICAgKi9cbiAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKlxuICAgKiDlsZXlvIDnirbmgIHlj5jljJbml7bnmoQgaGFuZGxlcu+8jOWPguaVsOS4uiBib29sXG4gICAqL1xuICBvbkV4cGFuZENoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKlxuICAgKiDorr7nva7lsLrlr7hcbiAgICovXG4gIHNpemU6IFByb3BUeXBlcy5vbmVPZihbXCJtaW5pXCIsIFwic21hbGxcIiwgXCJtZWRpdW1cIl0pLFxuICAvKipcbiAgICog5o+Q6YaS5YaF5a65XG4gICAqL1xuICB0ZXh0OiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxuICAvKipcbiAgICog6K6+572u5Li76aKYXG4gICAqL1xuICB0aGVtZTogUHJvcFR5cGVzLm9uZU9mKFtudWxsLCBcImxpZ2h0XCJdKSxcbiAgLyoqXG4gICAqIOaPkOmGkuagh+mimFxuICAgKi9cbiAgdGl0bGU6IFByb3BUeXBlcy5ub2RlLFxufVxuXG5BbGVydC5kZWZhdWx0UHJvcHMgPSB7XG4gIGFmdGVyQ2xvc2U6ICgpID0+IHt9LFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgY2xvc2FibGU6IGZhbHNlLFxuICBjbG9zZVRleHQ6IG51bGwsXG4gIGRlZmF1bHRFeHBhbmRlZDogbnVsbCxcbiAgZXhwYW5kQ29udGVudDogbnVsbCxcbiAgZXhwYW5kZWQ6IG51bGwsXG4gIGljb246IHVuZGVmaW5lZCxcbiAgaW50ZW50OiBcIm5vcm1hbFwiLFxuICBvbkNsb3NlOiAoKSA9PiB7fSxcbiAgb25FeHBhbmRDaGFuZ2U6ICgpID0+IHt9LFxuICBzaXplOiBcInNtYWxsXCIsXG4gIHRoZW1lOiBudWxsLFxuICB0aXRsZTogbnVsbCxcbn1cblxuZXhwb3J0IGRlZmF1bHQgQWxlcnRcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLFVBQWhCLEVBQTRCQyxNQUE1QixFQUFvQ0MsUUFBcEMsUUFBb0QsT0FBcEQ7QUFDQSxPQUFPQyxTQUFQLE1BQXNCLFlBQXRCO0FBQ0EsT0FBT0MsVUFBUCxNQUF1QixZQUF2QjtBQUNBLE9BQU9DLElBQVAsTUFBZ0MsU0FBaEM7QUFDQSxPQUFPQyxZQUFQLE1BQXlCLGVBQXpCO0FBQ0EsU0FBU0MsYUFBVCxFQUF3QkMsZUFBeEIsUUFBK0Msb0JBQS9DO0FBQ0EsT0FBTyxTQUFQO0FBRUEsSUFBTUMsTUFBTSxHQUFHLFlBQWY7O0FBc0VBLElBQU1DLEtBQTRCLEdBQUcsU0FBL0JBLEtBQStCLE9BaUJsQjtFQUFBLElBaEJqQkMsVUFnQmlCLFFBaEJqQkEsVUFnQmlCO0VBQUEsSUFmakJDLFNBZWlCLFFB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