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>
157 lines • 26.1 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
var _excluded = ["afterClose", "className", "closable", "closeText", "defaultExpanded", "expandContent", "expanded", "icon", "intent", "onClose", "onExpandChange", "size", "text", "title", "theme"];
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _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(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNvbnRleHQiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIlByb3BUeXBlcyIsImNsYXNzTmFtZXMiLCJJY29uIiwiSUNPTl9JTlRFTlRTIiwiQ29uZmlnQ29udGV4dCIsImdldENvbXB1dGVkU2l6ZSIsInByZWZpeCIsIkFsZXJ0IiwiX3JlZiIsImFmdGVyQ2xvc2UiLCJjbGFzc05hbWUiLCJjbG9zYWJsZSIsImNsb3NlVGV4dCIsImRlZmF1bHRFeHBhbmRlZCIsImV4cGFuZENvbnRlbnQiLCJleHBhbmRlZFByb3AiLCJleHBhbmRlZCIsImljb24iLCJpbnRlbnQiLCJvbkNsb3NlIiwib25FeHBhbmRDaGFuZ2UiLCJzaXplIiwidGV4dCIsInRpdGxlIiwidGhlbWUiLCJvdGhlclByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwicmVmIiwiX3VzZVN0YXRlIiwidW5kZWZpbmVkIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2V0RXhwYW5kZWQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImNsb3NpbmciLCJzZXRDbG9zaW5nIiwiX3VzZUNvbnRleHQiLCJzaXplQ29udGV4dCIsImNvbXB1dGVkU2l6ZSIsImhhbmRsZUNsb3NlIiwiY3VycmVudCIsInN0eWxlIiwiaGVpZ2h0IiwiY29uY2F0Iiwib2Zmc2V0SGVpZ2h0Iiwic2V0VGltZW91dCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwib3BhY2l0eSIsImhhbmRsZUV4cGFuZCIsImNsYXNzU2V0IiwiX2RlZmluZVByb3BlcnR5IiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwib25DbGljayIsInJvbGUiLCJkaXNwbGF5TmFtZSIsInByb3BUeXBlcyIsImZ1bmMiLCJzdHJpbmciLCJib29sIiwibm9kZSIsImFueSIsIm9uZU9mIiwiaXNSZXF1aXJlZCIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvYWxlcnQvQWxlcnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IEljb24sIHsgSWNvbk5hbWVzIH0gZnJvbSBcIi4uL2ljb25cIlxuaW1wb3J0IElDT05fSU5URU5UUyBmcm9tIFwiLi9pY29uSW50ZW50c1wiXG5pbXBvcnQgeyBDb25maWdDb250ZXh0LCBnZXRDb21wdXRlZFNpemUgfSBmcm9tIFwiLi4vY29uZmlnLXByb3ZpZGVyXCJcbmltcG9ydCBcIi4vc3R5bGVcIlxuXG5jb25zdCBwcmVmaXggPSBcImFkdWktYWxlcnRcIlxuXG5leHBvcnQgaW50ZXJmYWNlIElBbGVydFByb3BzIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG4gIC8qKlxuICAgKiDlhbPpl63lkI7nmoQgaGFuZGxlcu+8jOWPguaVsCBub2RlXG4gICAqL1xuICBhZnRlckNsb3NlPzogKCkgPT4gdm9pZFxuICAvKipcbiAgICog6ZmE5Yqg57G75ZCNXG4gICAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOaYr+WQpuWPr+WFs+mXrVxuICAgKi9cbiAgY2xvc2FibGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiDlhbPpl63mloflrZdcbiAgICovXG4gIGNsb3NlVGV4dD86IFJlYWN0LlJlYWN0Tm9kZVxuICAvKipcbiAgICog5piv5ZCm5bGV5byA77yM5YaF6YOo6amx5YqoXG4gICAqL1xuICBkZWZhdWx0RXhwYW5kZWQ/OiBib29sZWFuIHwgbnVsbFxuICAvKipcbiAgICog5bGV5byA5YaF5a65XG4gICAqL1xuICBleHBhbmRDb250ZW50PzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDmmK/lkKblsZXlvIDvvIzlpJbpg6jmjqfliLZcbiAgICovXG4gIGV4cGFuZGVkPzogYm9vbGVhbiB8IG51bGxcbiAgLyoqXG4gICAqIOiuvue9ruWbvuagh1xuICAgKi9cbiAgaWNvbj86IEljb25OYW1lcyB8IG51bGxcbiAgLyoqXG4gICAqIOiuvue9ruexu+Wei1xuICAgKi9cbiAgaW50ZW50PzogXCJub3JtYWxcIiB8IFwicHJpbWFyeVwiIHwgXCJzdWNjZXNzXCIgfCBcImluZm9cIiB8IFwid2FybmluZ1wiIHwgXCJkYW5nZXJcIlxuICAvKipcbiAgICog5YWz6Zet5pe255qEIGhhbmRsZXJcbiAgICovXG4gIG9uQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIC8qKlxuICAgKiDlsZXlvIDnirbmgIHlj5jljJbml7bnmoQgaGFuZGxlcu+8jOWPguaVsOS4uiBib29sXG4gICAqL1xuICBvbkV4cGFuZENoYW5nZT86IChleHBhbmRlZDogYm9vbGVhbikgPT4gdm9pZFxuICAvKipcbiAgICog6K6+572u5bC65a+4XG4gICAqL1xuICBzaXplPzogXCJtaW5pXCIgfCBcInNtYWxsXCIgfCBcIm1lZGl1bVwiXG4gIC8qKlxuICAgKiDmj5DphpLlhoXlrrlcbiAgICovXG4gIHRleHQ6IFJlYWN0LlJlYWN0Tm9kZVxuICAvKipcbiAgICog6K6+572u5Li76aKYXG4gICAqL1xuICB0aGVtZT86IG51bGwgfCBcImxpZ2h0XCJcbiAgLyoqXG4gICAqIOaPkOmGkuagh+mimFxuICAgKi9cbiAgdGl0bGU/OiBSZWFjdC5SZWFjdE5vZGVcbn1cblxuLyoqXG4gKiDmj5DphpLmmK/lhoXlrrnnmoTluLjmgIHjgIHljbPml7bmgKfmj5DnpLrvvIzlsZXnpLrpnIDopoHnlKjmiLfljbPml7blhbPms6jnmoTkv6Hmga/jgIJcbiAqIOS4juWvueivneahhiBEaWFsb2cg5oiW5rCU5rOh5o+Q56S6IFBvcG92ZXIg5LiN5ZCM77yM5o+Q6YaSIEFsZXJ0IOmAmuW4uOW4uOmpu+WcqOmhtemdouS4re+8jOS4jumhtemdouWGheWuueacieabtOW8uueahOWFs+iBlOaAp+OAglxuICovXG5jb25zdCBBbGVydDogUmVhY3QuRkM8SUFsZXJ0UHJvcHM+ID0gKHtcbiAgYWZ0ZXJDbG9zZSxcbiAgY2xhc3NOYW1lLFxuICBjbG9zYWJsZSxcbiAgY2xvc2VUZXh0LFxuICBkZWZhdWx0RXhwYW5kZWQsXG4gIGV4cGFuZENvbnRlbnQsXG4gIGV4cGFuZGVkOiBleHBhbmRlZFByb3AsXG4gIGljb24sXG4gIGludGVudCxcbiAgb25DbG9zZSxcbiAgb25FeHBhbmRDaGFuZ2UsXG4gIHNpemUsXG4gIHRleHQsXG4gIHRpdGxlLFxuICB0aGVtZSxcbiAgLi4ub3RoZXJQcm9wc1xufTogSUFsZXJ0UHJvcHMpID0+IHtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbZXhwYW5kZWQsIHNldEV4cGFuZGVkXSA9IHVzZVN0YXRlKFxuICAgIGV4cGFuZGVkUHJvcCAhPT0gbnVsbCAmJiBleHBhbmRlZFByb3AgIT09IHVuZGVmaW5lZFxuICAgICAgPyBleHBhbmRlZFByb3BcbiAgICAgIDogISFkZWZhdWx0RXhwYW5kZWRcbiAgKVxuICBjb25zdCBbY2xvc2luZywgc2V0Q2xvc2luZ10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICAvLyDnm7jlvZPkuo7nlJ/lkb3lkajmnJ8gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzXG4gIGlmIChcbiAgICBleHBhbmRlZFByb3AgIT09IG51bGwgJiZcbiAgICBleHBhbmRlZFByb3AgIT09IHVuZGVmaW5lZCAmJlxuICAgIGV4cGFuZGVkICE9PSBleHBhbmRlZFByb3BcbiAgKSB7XG4gICAgc2V0RXhwYW5kZWQoZXhwYW5kZWRQcm9wKVxuICB9XG5cbiAgY29uc3QgeyBzaXplOiBzaXplQ29udGV4dCB9ID0gdXNlQ29udGV4dChDb25maWdDb250ZXh0KVxuICBjb25zdCBjb21wdXRlZFNpemUgPSBnZXRDb21wdXRlZFNpemUoc2l6ZSwgc2l6ZUNvbnRleHQpXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgaWYgKG9uQ2xvc2UpIHtcbiAgICAgIG9uQ2xvc2UoKVxuICAgIH1cblxuICAgIGlmIChyZWYuY3VycmVudCkge1xuICAgICAgcmVmLmN1cnJlbnQuc3R5bGUuaGVpZ2h0ID0gYCR7cmVmLmN1cnJlbnQub2Zmc2V0SGVpZ2h0fXB4YFxuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgcmVmLmN1cnJlbnQuc3R5bGUubWFyZ2luVG9wID0gXCIwXCJcbiAgICAgICAgICByZWYuY3VycmVudC5zdHlsZS5tYXJnaW5Cb3R0b20gPSBcIjBcIlxuICAgICAgICAgIHJlZi5jdXJyZW50LnN0eWxlLnBhZGRpbmdUb3AgPSBcIjBcIlxuICAgICAgICAgIHJlZi5jdXJyZW50LnN0eWxlLnBhZGRpbmdCb3R0b20gPSBcIjBcIlxuICAgICAgICAgIHJlZi5jdXJyZW50LnN0eWxlLmhlaWdodCA9IFwiMFwiXG4gICAgICAgICAgcmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSA9IFwiMFwiXG4gICAgICAgIH1cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0Q2xvc2luZyh0cnVlKVxuICAgICAgICAgIGlmIChhZnRlckNsb3NlKSB7XG4gICAgICAgICAgICBhZnRlckNsb3NlKClcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDMwMClcbiAgICAgIH0sIDApXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRXhwYW5kID0gKCkgPT4ge1xuICAgIGlmIChleHBhbmRlZFByb3AgPT09IG51bGwpIHtcbiAgICAgIHNldEV4cGFuZGVkKCFleHBhbmRlZClcbiAgICB9XG4gICAgaWYgKG9uRXhwYW5kQ2hhbmdlKSB7XG4gICAgICBvbkV4cGFuZENoYW5nZSghZXhwYW5kZWQpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgY2xhc3NTZXQgPSBjbGFzc05hbWVzKFxuICAgIGNsYXNzTmFtZSxcbiAgICBgJHtwcmVmaXh9LWJhc2VgLFxuICAgIGAke3ByZWZpeH0tJHtpbnRlbnR9YCxcbiAgICBgJHtwcmVmaXh9LSR7Y29tcHV0ZWRTaXplfWAsXG4gICAge1xuICAgICAgW2Ake3ByZWZpeH0tJHt0aGVtZX1gXTogdGhlbWUsXG4gICAgfVxuICApXG5cbiAgaWYgKGNsb3NpbmcpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17cmVmfSBjbGFzc05hbWU9e2NsYXNzU2V0fSB7Li4ub3RoZXJQcm9wc30+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4fS1pbm5lcmB9PlxuICAgICAgICB7aWNvbiAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIGljb249e2ljb24gfHwgSUNPTl9JTlRFTlRTW2ludGVudCB8fCBcIm5vcm1hbFwiXX1cbiAgICAgICAgICAgIHNpemU9e2NvbXB1dGVkU2l6ZSA9PT0gXCJtaW5pXCIgPyAxOCA6IDIwfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWljb25gfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LXRleHRgfT5cbiAgICAgICAgICB7ISF0aXRsZSAmJiA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4fS10aXRsZWB9Pnt0aXRsZX08L2Rpdj59XG4gICAgICAgICAgPGRpdj57dGV4dH08L2Rpdj5cbiAgICAgICAgICB7ISFleHBhbmRDb250ZW50ICYmIGV4cGFuZGVkICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWV4cGFuZENvbnRlbnRgfT4ge2V4cGFuZENvbnRlbnR9IDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7Y2xvc2FibGUgJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhgJHtwcmVmaXh9LWNsb3NlYCwge1xuICAgICAgICAgICAgICBbYCR7cHJlZml4fS1jbG9zZV90ZXh0YF06ICEhY2xvc2VUZXh0LFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2Nsb3NlVGV4dCA/IChcbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7cHJlZml4fS1jbG9zZVRleHRgfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICAgICAgICAgIHJvbGU9XCJub25lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjbG9zZVRleHR9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPEljb25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeH0tY2xvc2VJY29uYH1cbiAgICAgICAgICAgICAgICBpY29uPVwiY2FuY2VsXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHshIWV4cGFuZENvbnRlbnQgJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7cHJlZml4fS1leHBhbmRgfVxuICAgICAgICAgICAgb25DbGljaz17aGFuZGxlRXhwYW5kfVxuICAgICAgICAgICAgcm9sZT1cIm5vbmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtleHBhbmRlZCA/IFwi5pS26LW3XCIgOiBcIuWxleW8gFwifVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuQWxlcnQuZGlzcGxheU5hbWUgPSBcIkFsZXJ0XCJcblxuQWxlcnQucHJvcFR5cGVzID0ge1xuICAvKipcbiAgICog5YWz6Zet5ZCO55qEIGhhbmRsZXLvvIzlj4LmlbAgbm9kZVxuICAgKi9cbiAgYWZ0ZXJDbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqXG4gICAqIOaYr+WQpuWPr+WFs+mXrVxuICAgKi9cbiAgY2xvc2FibGU6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICog5YWz6Zet5paH5a2XXG4gICAqL1xuICBjbG9zZVRleHQ6IFByb3BUeXBlcy5ub2RlLFxuICAvKipcbiAgICog5piv5ZCm5bGV5byA77yM5YaF6YOo6amx5YqoXG4gICAqL1xuICBkZWZhdWx0RXhwYW5kZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICog5bGV5byA5YaF5a65XG4gICAqL1xuICBleHBhbmRDb250ZW50OiBQcm9wVHlwZXMubm9kZSxcbiAgLyoqXG4gICAqIOaYr+WQpuWxleW8gO+8jOWklumDqOaOp+WItlxuICAgKi9cbiAgZXhwYW5kZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICog6K6+572u5Zu+5qCHXG4gICAqL1xuICBpY29uOiBQcm9wVHlwZXMuYW55LFxuICAvKipcbiAgICog6K6+572u57G75Z6LXG4gICAqL1xuICBpbnRlbnQ6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgXCJub3JtYWxcIixcbiAgICBcInByaW1hcnlcIixcbiAgICBcInN1Y2Nlc3NcIixcbiAgICBcImluZm9cIixcbiAgICBcIndhcm5pbmdcIixcbiAgICBcImRhbmdlclwiLFxuICBdKSxcbiAgLyoqXG4gICAqIOWFs+mXreaXtueahCBoYW5kbGVy77yM5Y+C5pWwIG5vZGVcbiAgICovXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLFxuICAvKipcbiAgICog5bGV5byA54q25oCB5Y+Y5YyW5pe255qEIGhhbmRsZXLvvIzlj4LmlbDkuLogYm9vbFxuICAgKi9cbiAgb25FeHBhbmRDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAvKipcbiAgICog6K6+572u5bC65a+4XG4gICAqL1xuICBzaXplOiBQcm9wVHlwZXMub25lT2YoW1wibWluaVwiLCBcInNtYWxsXCIsIFwibWVkaXVtXCJdKSxcbiAgLyoqXG4gICAqIOaPkOmGkuWGheWuuVxuICAgKi9cbiAgdGV4dDogUHJvcFR5cGVzLm5vZGUuaXNSZXF1aXJlZCxcbiAgLyoqXG4gICAqIOiuvue9ruS4u+mimFxuICAgKi9cbiAgdGhlbWU6IFByb3BUeXBlcy5vbmVPZihbbnVsbCwgXCJsaWdodFwiXSksXG4gIC8qKlxuICAgKiDmj5DphpLmoIfpophcbiAgICovXG4gIHRpdGxlOiBQcm9wVHlwZXMubm9kZSxcbn1cblxuQWxlcnQuZGVmYXVsdFByb3BzID0ge1xuICBhZnRlckNsb3NlOiAoKSA9PiB7fSxcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gIGNsb3NhYmxlOiBmYWxzZSxcbiAgY2xvc2VUZXh0OiBudWxsLFxuICBkZWZhdWx0RXhwYW5kZWQ6IG51bGwsXG4gIGV4cGFuZENvbnRlbnQ6IG51bGwsXG4gIGV4cGFuZGVkOiBudWxsLFxuICBpY29uOiB1bmRlZmluZWQsXG4gIGludGVudDogXCJub3JtYWxcIixcbiAgb25DbG9zZTogKCkgPT4ge30sXG4gIG9uRXhwYW5kQ2hhbmdlOiAoKSA9PiB7fSxcbiAgc2l6ZTogXCJzbWFsbFwiLFxuICB0aGVtZTogbnVsbCxcbiAgdGl0bGU6IG51bGwsXG59XG5cbmV4cG9ydCBkZWZhdWx0IEFsZXJ0XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxVQUFVLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDM0QsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsVUFBVSxNQUFNLFlBQVk7QUFDbkMsT0FBT0MsSUFBSSxNQUFxQixTQUFTO0FBQ3pDLE9BQU9DLFlBQVksTUFBTSxlQUFlO0FB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