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>
158 lines (133 loc) • 20.1 kB
JavaScript
var _excluded = ["banner", "className", "children", "defaultValue", "disabled", "gutter", "onChange", "size", "value"];
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, { forwardRef, useContext, useEffect, useImperativeHandle, useRef, useState } from "react";
import PropTypes from "prop-types";
import classNames from "classnames";
import { ConfigContext, getComputedSize } from "../config-provider";
import Tab from "./Tab";
import { TabsContext } from "./Context";
import "./style";
var prefix = "adui-channels-tabs";
var Tabs = forwardRef(function (_ref, ref) {
var _classNames;
var banner = _ref.banner,
className = _ref.className,
children = _ref.children,
defaultValue = _ref.defaultValue,
disabled = _ref.disabled,
gutter = _ref.gutter,
onChange = _ref.onChange,
size = _ref.size,
valueProp = _ref.value,
otherProps = _objectWithoutProperties(_ref, _excluded);
var _useState = useState({}),
_useState2 = _slicedToArray(_useState, 2),
indicatorStyle = _useState2[0],
setIndicatorStyle = _useState2[1];
var _useState3 = useState(function () {
var val;
if (valueProp !== null && valueProp !== undefined) {
val = valueProp;
} else if (defaultValue !== null && defaultValue !== undefined) {
val = defaultValue;
}
return val;
}),
_useState4 = _slicedToArray(_useState3, 2),
value = _useState4[0],
setValue = _useState4[1];
if (valueProp !== null && value !== valueProp) {
setValue(valueProp);
}
var tabsRef = useRef(null);
var _useContext = useContext(ConfigContext),
sizeContext = _useContext.size;
var updateIndicatorStyle = function updateIndicatorStyle() {
setTimeout(function () {
if (tabsRef && tabsRef.current) {
var theActiveTab = tabsRef.current.querySelector('[aria-selected="true"]');
if (theActiveTab) {
var clientWidth = theActiveTab.clientWidth,
offsetLeft = theActiveTab.offsetLeft;
setIndicatorStyle({
transform: "translateX(".concat(Math.floor(offsetLeft), "px)"),
width: clientWidth
});
} else {
setIndicatorStyle({
opacity: 0
});
}
}
}, 0);
};
useImperativeHandle(ref, function () {
return {
updateIndicatorStyle: updateIndicatorStyle,
getDomNode: function getDomNode() {
return tabsRef.current;
}
};
});
var handleTabsValueChange = function handleTabsValueChange(val) {
if (valueProp === null) {
setValue(val);
}
if (onChange) {
onChange(val);
}
};
useEffect(function () {
updateIndicatorStyle();
}, [value]);
var classSet = classNames(className, "".concat(prefix, "-base"), "".concat(prefix, "-").concat(getComputedSize(size, sizeContext)), (_classNames = {}, _defineProperty(_classNames, "".concat(prefix, "-banner"), banner), _defineProperty(_classNames, "".concat(prefix, "-base_disabled"), disabled), _classNames));
return React.createElement(TabsContext.Provider, {
value: {
disabled: disabled,
gutter: gutter,
handleTabsValueChange: handleTabsValueChange,
value: value
}
}, React.createElement("div", _extends({
className: classSet,
"data-value": value,
ref: tabsRef
}, otherProps), React.createElement("div", {
className: "".concat(prefix, "-indicator"),
style: indicatorStyle
}), children));
});
Tabs.Tab = Tab;
Tabs.displayName = "Tabs";
Tabs.propTypes = {
banner: PropTypes.bool,
children: PropTypes.node.isRequired,
className: PropTypes.string,
defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
disabled: PropTypes.bool,
gutter: PropTypes.number,
onChange: PropTypes.func,
size: PropTypes.oneOf(["mini", "small", "medium", "large"]),
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
};
Tabs.defaultProps = {
banner: false,
className: undefined,
defaultValue: null,
disabled: false,
gutter: undefined,
onChange: function onChange() {},
size: "large",
value: null
};
export default Tabs;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImZvcndhcmRSZWYiLCJ1c2VDb250ZXh0IiwidXNlRWZmZWN0IiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVzZVJlZiIsInVzZVN0YXRlIiwiUHJvcFR5cGVzIiwiY2xhc3NOYW1lcyIsIkNvbmZpZ0NvbnRleHQiLCJnZXRDb21wdXRlZFNpemUiLCJUYWIiLCJUYWJzQ29udGV4dCIsInByZWZpeCIsIlRhYnMiLCJyZWYiLCJiYW5uZXIiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImRlZmF1bHRWYWx1ZSIsImRpc2FibGVkIiwiZ3V0dGVyIiwib25DaGFuZ2UiLCJzaXplIiwidmFsdWVQcm9wIiwidmFsdWUiLCJvdGhlclByb3BzIiwiaW5kaWNhdG9yU3R5bGUiLCJzZXRJbmRpY2F0b3JTdHlsZSIsInZhbCIsInVuZGVmaW5lZCIsInNldFZhbHVlIiwidGFic1JlZiIsInNpemVDb250ZXh0IiwidXBkYXRlSW5kaWNhdG9yU3R5bGUiLCJzZXRUaW1lb3V0IiwiY3VycmVudCIsInRoZUFjdGl2ZVRhYiIsInF1ZXJ5U2VsZWN0b3IiLCJjbGllbnRXaWR0aCIsIm9mZnNldExlZnQiLCJ0cmFuc2Zvcm0iLCJNYXRoIiwiZmxvb3IiLCJ3aWR0aCIsIm9wYWNpdHkiLCJnZXREb21Ob2RlIiwiaGFuZGxlVGFic1ZhbHVlQ2hhbmdlIiwiY2xhc3NTZXQiLCJkaXNwbGF5TmFtZSIsInByb3BUeXBlcyIsImJvb2wiLCJub2RlIiwiaXNSZXF1aXJlZCIsInN0cmluZyIsIm9uZU9mVHlwZSIsIm51bWJlciIsImZ1bmMiLCJvbmVPZiIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvY2hhbm5lbHMtdGFicy9UYWJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgeyBDb25maWdDb250ZXh0LCBnZXRDb21wdXRlZFNpemUgfSBmcm9tIFwiLi4vY29uZmlnLXByb3ZpZGVyXCJcbmltcG9ydCBUYWIgZnJvbSBcIi4vVGFiXCJcbmltcG9ydCB7IFRhYnNDb250ZXh0IH0gZnJvbSBcIi4vQ29udGV4dFwiXG5pbXBvcnQgXCIuL3N0eWxlXCJcblxuY29uc3QgcHJlZml4ID0gXCJhZHVpLWNoYW5uZWxzLXRhYnNcIlxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJzUHJvcHMge1xuICBba2V5OiBzdHJpbmddOiBhbnlcbiAgLyoqXG4gICAqIOaYr+WQpumAmuagj+WIhumFjeWuveW6pu+8iGZsZXg6IDE777yJXG4gICAqL1xuICBiYW5uZXI/OiBib29sZWFuXG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgLyoqXG4gICAqIOmZhOWKoOexu+WQjVxuICAgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiDpu5jorqTnmoTlt7LpgInkuK3poblcbiAgICovXG4gIGRlZmF1bHRWYWx1ZT86IFJlYWN0LlJlYWN0VGV4dCB8IG51bGxcbiAgLyoqXG4gICAqIOaYr+WQpuemgeeUqFxuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiB0YWIg55qE6Ze06LedIG1hcmdpblxuICAgKi9cbiAgZ3V0dGVyPzogbnVtYmVyXG4gIC8qKlxuICAgKiDlgLzlj5jljJbml7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25DaGFuZ2U/OiAodmFsdWU6IFJlYWN0LlJlYWN0VGV4dCkgPT4gdm9pZFxuICAvKipcbiAgICog6K6+572u5bC65a+4XG4gICAqL1xuICBzaXplPzogXCJtaW5pXCIgfCBcInNtYWxsXCIgfCBcIm1lZGl1bVwiIHwgXCJsYXJnZVwiXG4gIC8qKlxuICAgKiDlt7LpgInkuK3poblcbiAgICovXG4gIHZhbHVlPzogUmVhY3QuUmVhY3RUZXh0IHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJzXG4gIGV4dGVuZHMgUmVhY3QuRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxcbiAgICBJVGFic1Byb3BzICYgUmVhY3QuUmVmQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5cbiAgPiB7XG4gIFRhYjogdHlwZW9mIFRhYlxufVxuXG4vKipcbiAqIOWvvOiIqumhteetvu+8jOmhtumDqOaoquWQkeWvvOiIqueahOWGheWuue+8jOeUqOS6juWIh+aNoumhtemdouS4reWQjOS4gOWxgue6p+eahOWGheWuueOAglxuICovXG4vLyBAdHMtaWdub3JlXG5jb25zdCBUYWJzOiBJVGFicyA9IGZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBiYW5uZXIsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgZ3V0dGVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBzaXplLFxuICAgICAgdmFsdWU6IHZhbHVlUHJvcCxcbiAgICAgIC4uLm90aGVyUHJvcHNcbiAgICB9OiBJVGFic1Byb3BzLFxuICAgIHJlZjogYW55XG4gICkgPT4ge1xuICAgIGNvbnN0IFtpbmRpY2F0b3JTdHlsZSwgc2V0SW5kaWNhdG9yU3R5bGVdID0gdXNlU3RhdGU8UmVhY3QuQ1NTUHJvcGVydGllcz4oXG4gICAgICB7fVxuICAgIClcblxuICAgIC8qKlxuICAgICAqIOWIneWni+WMliB2YWx1ZSBzdGF0ZVxuICAgICAqIDEuIOS8mOWFiOWIpOaWrSBQcm9wIHZhbHVl77yM5aaC5p6c5a2Y5ZyoIFByb3AgdmFsdWXvvIzliJkgVGFicyDlrozlhajkuqTnlLHlpJbpg6jmjqfliLbvvIzlhoXpg6jnirbmgIHml6DmlYjvvJtcbiAgICAgKiAyLiDlho3liKTmlq0gUHJvcCBkZWZhdWx0VmFsdWXvvIzlpoLmnpzlrZjlnKjpu5jorqTlgLzvvIzliJkgVGFicyDnirbmgIHkuLrmraTpu5jorqTlgLzvvJtcbiAgICAgKiAzLiDlpoLmnpzpg73msqHmnInvvIzliJnlj5YgVGFiIGNoaWxkcmVuIOesrCAwIOmhueeahCB2YWx1Ze+8jOWwhuesrCAwIOmhueiuvue9ruS4uuW9k+WJjemhueOAglxuICAgICAqXG4gICAgICog5Lul5LiK5LiJ5Liq5Yik5pat5Y+v6IO95a2Y5Zyo5Yay56qB77yM5omA5Lul5Zyo5q2k6K+05piO5p2h5Lu25Yik5pat55qE5LyY5YWI57qn44CCXG4gICAgICovXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgICBsZXQgdmFsXG4gICAgICBpZiAodmFsdWVQcm9wICE9PSBudWxsICYmIHZhbHVlUHJvcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhbCA9IHZhbHVlUHJvcFxuICAgICAgfSBlbHNlIGlmIChkZWZhdWx0VmFsdWUgIT09IG51bGwgJiYgZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdmFsID0gZGVmYXVsdFZhbHVlXG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsXG4gICAgfSlcblxuICAgIC8vIOebuOW9k+S6jueUn+WRveWRqOacnyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNcbiAgICBpZiAodmFsdWVQcm9wICE9PSBudWxsICYmIHZhbHVlICE9PSB2YWx1ZVByb3ApIHtcbiAgICAgIHNldFZhbHVlKHZhbHVlUHJvcClcbiAgICB9XG5cbiAgICBjb25zdCB0YWJzUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gICAgY29uc3QgeyBzaXplOiBzaXplQ29udGV4dCB9ID0gdXNlQ29udGV4dChDb25maWdDb250ZXh0KVxuXG4gICAgY29uc3QgdXBkYXRlSW5kaWNhdG9yU3R5bGUgPSAoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRhYnNSZWYgJiYgdGFic1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgY29uc3QgdGhlQWN0aXZlVGFiID0gdGFic1JlZi5jdXJyZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAnW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdJ1xuICAgICAgICAgICkgYXMgSFRNTERpdkVsZW1lbnRcbiAgICAgICAgICBpZiAodGhlQWN0aXZlVGFiKSB7XG4gICAgICAgICAgICBjb25zdCB7IGNsaWVudFdpZHRoLCBvZmZzZXRMZWZ0IH0gPSB0aGVBY3RpdmVUYWJcbiAgICAgICAgICAgIHNldEluZGljYXRvclN0eWxlKHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWCgke01hdGguZmxvb3Iob2Zmc2V0TGVmdCl9cHgpYCxcbiAgICAgICAgICAgICAgd2lkdGg6IGNsaWVudFdpZHRoLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2V0SW5kaWNhdG9yU3R5bGUoeyBvcGFjaXR5OiAwIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCAwKVxuICAgIH1cblxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgdXBkYXRlSW5kaWNhdG9yU3R5bGUsXG4gICAgICBnZXREb21Ob2RlOiAoKSA9PiB0YWJzUmVmLmN1cnJlbnQsXG4gICAgfSkpXG5cbiAgICBjb25zdCBoYW5kbGVUYWJzVmFsdWVDaGFuZ2UgPSAodmFsOiBSZWFjdC5SZWFjdFRleHQpID0+IHtcbiAgICAgIGlmICh2YWx1ZVByb3AgPT09IG51bGwpIHtcbiAgICAgICAgc2V0VmFsdWUodmFsKVxuICAgICAgfVxuICAgICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICAgIG9uQ2hhbmdlKHZhbClcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgdXBkYXRlSW5kaWNhdG9yU3R5bGUoKVxuICAgIH0sIFt2YWx1ZV0pXG5cbiAgICBjb25zdCBjbGFzc1NldCA9IGNsYXNzTmFtZXMoXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBgJHtwcmVmaXh9LWJhc2VgLFxuICAgICAgYCR7cHJlZml4fS0ke2dldENvbXB1dGVkU2l6ZShzaXplLCBzaXplQ29udGV4dCl9YCxcbiAgICAgIHtcbiAgICAgICAgW2Ake3ByZWZpeH0tYmFubmVyYF06IGJhbm5lcixcbiAgICAgICAgW2Ake3ByZWZpeH0tYmFzZV9kaXNhYmxlZGBdOiBkaXNhYmxlZCxcbiAgICAgIH1cbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFRhYnNDb250ZXh0LlByb3ZpZGVyXG4gICAgICAgIHZhbHVlPXt7IGRpc2FibGVkLCBndXR0ZXIsIGhhbmRsZVRhYnNWYWx1ZUNoYW5nZSwgdmFsdWUgfX1cbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NTZXR9XG4gICAgICAgICAgZGF0YS12YWx1ZT17dmFsdWV9XG4gICAgICAgICAgcmVmPXt0YWJzUmVmfVxuICAgICAgICAgIHsuLi5vdGhlclByb3BzfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0taW5kaWNhdG9yYH0gc3R5bGU9e2luZGljYXRvclN0eWxlfSAvPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1RhYnNDb250ZXh0LlByb3ZpZGVyPlxuICAgIClcbiAgfVxuKVxuXG5UYWJzLlRhYiA9IFRhYlxuXG5UYWJzLmRpc3BsYXlOYW1lID0gXCJUYWJzXCJcblxuVGFicy5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiDmmK/lkKbpgJrmoI/liIbphY3lrr3luqbvvIhmbGV4OiAxO++8iVxuICAgKi9cbiAgYmFubmVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqXG4gICAqIOWtkOiKgueCuVxuICAgKi9cbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLmlzUmVxdWlyZWQsXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqXG4gICAqIOm7mOiupOeahOW3sumAieS4remhuVxuICAgKi9cbiAgZGVmYXVsdFZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gIC8qKlxuICAgKiDmmK/lkKbnpoHnlKhcbiAgICovXG4gIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqXG4gICAqIHRhYiDnmoTpl7Tot50gbWFyZ2luXG4gICAqL1xuICBndXR0ZXI6IFByb3BUeXBlcy5udW1iZXIsXG4gIC8qKlxuICAgKiDlgLzlj5jljJbml7bnmoQgaGFuZGxlclxuICAgKi9cbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAvKipcbiAgICog6K6+572u5bC65a+4XG4gICAqL1xuICBzaXplOiBQcm9wVHlwZXMub25lT2YoW1wibWluaVwiLCBcInNtYWxsXCIsIFwibWVkaXVtXCIsIFwibGFyZ2VcIl0pLFxuICAvKipcbiAgICog5bey6YCJ5Lit6aG5XG4gICAqL1xuICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxufVxuXG5UYWJzLmRlZmF1bHRQcm9wcyA9IHtcbiAgYmFubmVyOiBmYWxzZSxcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgZGlzYWJsZWQ6IGZhbHNlLFxuICBndXR0ZXI6IHVuZGVmaW5lZCxcbiAgb25DaGFuZ2U6ICgpID0+IHt9LFxuICBzaXplOiBcImxhcmdlXCIsXG4gIHZhbHVlOiBudWxsLFxufVxuXG5leHBvcnQgZGVmYXVsdCBUYWJzXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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