UNPKG

typescript-windows

Version:

Typescript React components for draggable and resizable windows.

261 lines (251 loc) 31.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useStyles = void 0; var _reactJss = require("react-jss"); var _iconMinimize = _interopRequireDefault(require("../assets/images/icon-minimize.png")); var _iconMaximize = _interopRequireDefault(require("../assets/images/icon-maximize.png")); var _iconResize = _interopRequireDefault(require("../assets/images/icon-resize.png")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var useStyles = function useStyles(styles, taskbarLocation) { var iStyles = { headerSize: "2.4rem", headerColor: "#bdbdbd", headerBackgroundColor: "#424242", bodyColor: "#9e9e9e", bodyBackgroundColor: "#212121", iconMaximize: "url(".concat(_iconMaximize.default, ")"), iconMinimize: "url(".concat(_iconMinimize.default, ")"), iconResize: "url(".concat(_iconResize.default, ")"), backgroundColor: "#263238", borderRadius: "1rem", boxShadow: "0 0 5px rgba(0, 0, 0, 0.2)" }; var _ref = Object.assign(iStyles, styles || {}), headerSize = _ref.headerSize, headerColor = _ref.headerColor, headerBackgroundColor = _ref.headerBackgroundColor, bodyColor = _ref.bodyColor, bodyBackgroundColor = _ref.bodyBackgroundColor, iconMaximize = _ref.iconMaximize, iconMinimize = _ref.iconMinimize, iconResize = _ref.iconResize, backgroundColor = _ref.backgroundColor, borderRadius = _ref.borderRadius, boxShadow = _ref.boxShadow; return (0, _reactJss.createUseStyles)({ "tw-windows": { position: "relative", width: "100%", height: "100%", overflow: "hidden", backgroundColor: backgroundColor, "& .tw-background": { position: "absolute", top: "0", left: "0", right: "0", bottom: "0", zIndex: "0" }, "& .tw-taskbar": { display: "flex", flexDirection: taskbarLocation === "bottom" ? "row-reverse" : taskbarLocation === "top" ? "row" : "column", flexWrap: "wrap", padding: "0.25rem", transform: taskbarLocation === "bottom" ? "rotate(180deg)" : taskbarLocation === "right" ? "scaleX(-1)" : "none", position: "absolute", top: taskbarLocation !== "bottom" ? "0" : "auto", left: taskbarLocation !== "right" ? "0" : "auto", right: taskbarLocation !== "left" ? "0" : "auto", bottom: taskbarLocation !== "top" ? "0" : "auto", width: taskbarLocation === "bottom" || taskbarLocation === "top" ? "100%" : "unset", zIndex: "0" }, "& .tw-window": { position: "absolute", borderRadius: "".concat(borderRadius, " ").concat(borderRadius, " 0 ").concat(borderRadius), border: "1px solid ".concat(headerBackgroundColor), boxShadow: boxShadow, overflow: "hidden", "& .tw-header": { display: "flex", position: "relative", width: "100%", height: headerSize, lineHeight: headerSize, color: headerColor, backgroundColor: headerBackgroundColor, boxShadow: boxShadow, zIndex: "1000", cursor: "pointer", userSelect: "none", "&.tw-draggable": { cursor: "move" }, "& .tw-title": { flexGrow: "10", padding: "0 1rem", overflow: "hidden" }, "& .tw-buttons": { display: "flex", flexShrink: "0", padding: "0 0.5rem", "& .tw-button": { width: headerSize, height: headerSize, transition: "opacity 0.3s", maskSize: "50%", maskPosition: "center", maskRepeat: "no-repeat", backgroundColor: headerColor, opacity: "0.5", cursor: "pointer", "&:hover": { opacity: "1" }, "&.tw-minimize": { maskImage: iconMinimize }, "&.tw-maximize": { maskImage: iconMaximize } } } }, "& .tw-body": { color: bodyColor, backgroundColor: bodyBackgroundColor }, "&.tw-minimize-on": { borderRadius: borderRadius, "&.tw-taskbar-on": { position: "relative", transform: taskbarLocation === "bottom" ? "rotate(180deg) !important" : taskbarLocation === "right" ? "scaleX(-1) !important" : "none !important", borderRadius: borderRadius, margin: "0.25rem", flexGrow: "10", width: taskbarLocation === "top" || taskbarLocation === "bottom" ? "calc(50% - 0.5rem)" : "calc(100% - 0.5rem)", minWidth: taskbarLocation === "top" || taskbarLocation === "bottom" ? "calc(160px - 0.5rem)" : "unset", maxWidth: taskbarLocation === "top" || taskbarLocation === "bottom" ? "calc(240px - 0.5rem)" : "unset", minHeight: taskbarLocation === "left" || taskbarLocation === "right" ? headerSize : "unset", maxHeight: taskbarLocation === "left" || taskbarLocation === "right" ? headerSize : "unset", "& .tw-header": { "&.tw-draggable": { cursor: "default" } } }, "& .tw-body": { display: "none" } }, "&.tw-maximize-on": { top: "0 !important", left: "0 !important", width: "100% !important", height: "100% !important", transform: "none !important", borderRadius: "0 !important", "& .tw-header": { width: "100% !important" }, "& .tw-body": { display: "block !important", width: "100% !important", height: "100% !important" } } }, "& .react-resizable": { position: "relative", overflow: "auto", scrollbarColor: "rgba(130, 130, 130, 0.2) rgba(130, 130, 130, 0.1)", scrollbarWidth: "thin", "&::-webkit-scrollbar": { width: "0.5rem" }, "&::-webkit-scrollbar-track": { background: "rgba(130, 130, 130, 0.1)" }, "&::-webkit-scrollbar-thumb": { borderRadius: "3px", background: "rgba(130, 130, 130, 0.1)" }, "&::-webkit-scrollbar-thumb:hover": { background: "rgba(130, 130, 130, 0.2)" } }, "& .react-resizable-handle": { position: "fixed", width: "20px", height: "20px", backgroundRepeat: "no-repeat", backgroundOrigin: "content-box", boxSizing: "border-box", backgroundImage: iconResize, backgroundPosition: "bottom right", backgroundSize: "50%", opacity: "0.5", padding: "0 3px 3px 0", transition: "opacity 0.3s", "&:hover": { opacity: "1" } }, "& .react-resizable-handle-sw": { bottom: "0", left: "0", cursor: "sw-resize", transform: "rotate(90deg)" }, "& .react-resizable-handle-se": { bottom: "0", right: "0", cursor: "se-resize" }, "& .react-resizable-handle-nw": { top: "0", left: "0", cursor: "nw-resize", transform: "rotate(180deg)" }, "& .react-resizable-handle-ne": { top: "0", right: "0", cursor: "ne-resize", transform: "rotate(270deg)" }, "& .react-resizable-handle-w, & .react-resizable-handle-e": { top: "50%", marginTop: "-10px", cursor: "ew-resize" }, "& .react-resizable-handle-w": { left: "0", transform: "rotate(135deg)" }, "& .react-resizable-handle-e": { right: "0", transform: "rotate(315deg)" }, "& .react-resizable-handle-n, & .react-resizable-handle-s": { left: "50%", marginLeft: "-10px", cursor: "ns-resize" }, "& .react-resizable-handle-n": { top: "0", transform: "rotate(225deg)" }, "& .react-resizable-handle-s": { bottom: "0", transform: "rotate(45deg)" } } }); }; exports.useStyles = useStyles; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3N0eWxlcy50cyJdLCJuYW1lcyI6WyJ1c2VTdHlsZXMiLCJzdHlsZXMiLCJ0YXNrYmFyTG9jYXRpb24iLCJpU3R5bGVzIiwiaGVhZGVyU2l6ZSIsImhlYWRlckNvbG9yIiwiaGVhZGVyQmFja2dyb3VuZENvbG9yIiwiYm9keUNvbG9yIiwiYm9keUJhY2tncm91bmRDb2xvciIsImljb25NYXhpbWl6ZSIsImljb25fbWF4aW1pemUiLCJpY29uTWluaW1pemUiLCJpY29uX21pbmltaXplIiwiaWNvblJlc2l6ZSIsImljb25fcmVzaXplIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwiT2JqZWN0IiwiYXNzaWduIiwicG9zaXRpb24iLCJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93IiwidG9wIiwibGVmdCIsInJpZ2h0IiwiYm90dG9tIiwiekluZGV4IiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJmbGV4V3JhcCIsInBhZGRpbmciLCJ0cmFuc2Zvcm0iLCJib3JkZXIiLCJsaW5lSGVpZ2h0IiwiY29sb3IiLCJjdXJzb3IiLCJ1c2VyU2VsZWN0IiwiZmxleEdyb3ciLCJmbGV4U2hyaW5rIiwidHJhbnNpdGlvbiIsIm1hc2tTaXplIiwibWFza1Bvc2l0aW9uIiwibWFza1JlcGVhdCIsIm9wYWNpdHkiLCJtYXNrSW1hZ2UiLCJtYXJnaW4iLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwibWluSGVpZ2h0IiwibWF4SGVpZ2h0Iiwic2Nyb2xsYmFyQ29sb3IiLCJzY3JvbGxiYXJXaWR0aCIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kUmVwZWF0IiwiYmFja2dyb3VuZE9yaWdpbiIsImJveFNpemluZyIsImJhY2tncm91bmRJbWFnZSIsImJhY2tncm91bmRQb3NpdGlvbiIsImJhY2tncm91bmRTaXplIiwibWFyZ2luVG9wIiwibWFyZ2luTGVmdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztB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SUFBSSxFQUFFLEdBRndCO0FBRzlCWSxRQUFBQSxNQUFNLEVBQUUsV0FIc0I7QUFJOUJKLFFBQUFBLFNBQVMsRUFBRTtBQUptQixPQXpPcEI7QUFnUFosc0NBQWdDO0FBQzlCVCxRQUFBQSxHQUFHLEVBQUUsR0FEeUI7QUFFOUJFLFFBQUFBLEtBQUssRUFBRSxHQUZ1QjtBQUc5QlcsUUFBQUEsTUFBTSxFQUFFLFdBSHNCO0FBSTlCSixRQUFBQSxTQUFTLEVBQUU7QUFKbUIsT0FoUHBCO0FBdVBaLGtFQUE0RDtBQUMxRFQsUUFBQUEsR0FBRyxFQUFFLEtBRHFEO0FBRTFEcUMsUUFBQUEsU0FBUyxFQUFFLE9BRitDO0FBRzFEeEIsUUFBQUEsTUFBTSxFQUFFO0FBSGtELE9BdlBoRDtBQTZQWixxQ0FBK0I7QUFDN0JaLFFBQUFBLElBQUksRUFBRSxHQUR1QjtBQUU3QlEsUUFBQUEsU0FBUyxFQUFFO0FBRmtCLE9BN1BuQjtBQWtRWixxQ0FBK0I7QUFDN0JQLFFBQUFBLEtBQUssRUFBRSxHQURzQjtBQUU3Qk8sUUFBQUEsU0FBUyxFQUFFO0FBRmtCLE9BbFFuQjtBQXVRWixrRUFBNEQ7QUFDMURSLFFBQUFBLElBQUksRUFBRSxLQURvRDtBQUUxRHFDLFFBQUFBLFVBQVUsRUFBRSxPQUY4QztBQUcxRHpCLFFBQUFBLE1BQU0sRUFBRTtBQUhrRCxPQXZRaEQ7QUE2UVoscUNBQStCO0FBQzdCYixRQUFBQSxHQUFHLEVBQUUsR0FEd0I7QUFFN0JTLFFBQUFBLFNBQVMsRUFBRTtBQUZrQixPQTdRbkI7QUFrUloscUNBQStCO0FBQzdCTixRQUFBQSxNQUFNLEVBQUUsR0FEcUI7QUFFN0JNLFFBQUFBLFNBQVMsRUFBRTtBQUZrQjtBQWxSbkI7QUFETyxHQUFoQixDQUFQO0FBeVJELENBelRNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlVXNlU3R5bGVzIH0gZnJvbSBcInJlYWN0LWpzc1wiO1xyXG5cclxuaW1wb3J0IHsgU3R5bGVzIH0gZnJvbSBcIi4vaW5kZXguZFwiO1xyXG5pbXBvcnQgaWNvbl9taW5pbWl6ZSBmcm9tIFwiLi4vYXNzZXRzL2ltYWdlcy9pY29uLW1pbmltaXplLnBuZ1wiO1xyXG5pbXBvcnQgaWNvbl9tYXhpbWl6ZSBmcm9tIFwiLi4vYXNzZXRzL2ltYWdlcy9pY29uLW1heGltaXplLnBuZ1wiO1xyXG5pbXBvcnQgaWNvbl9yZXNpemUgZnJvbSBcIi4uL2Fzc2V0cy9pbWFnZXMvaWNvbi1yZXNpemUucG5nXCI7XHJcbmltcG9ydCB7IFRhc2tiYXJMb2NhdGlvbiB9IGZyb20gXCIuL2luZGV4LmRcIjtcclxuXHJcbmV4cG9ydCBjb25zdCB1c2VTdHlsZXMgPSAoXHJcbiAgc3R5bGVzOiBQYXJ0aWFsPFN0eWxlcz4gfCB1bmRlZmluZWQsXHJcbiAgdGFza2JhckxvY2F0aW9uOiBUYXNrYmFyTG9jYXRpb25cclxuKSA9PiB7XHJcbiAgY29uc3QgaVN0eWxlczogU3R5bGVzID0ge1xyXG4gICAgaGVhZGVyU2l6ZTogXCIyLjRyZW1cIixcclxuICAgIGhlYWRlckNvbG9yOiBcIiNiZGJkYmRcIixcclxuICAgIGhlYWRlckJhY2tncm91bmRDb2xvcjogXCIjNDI0MjQyXCIsXHJcbiAgICBib2R5Q29sb3I6IFwiIzllOWU5ZVwiLFxyXG4gICAgYm9keUJhY2tncm91bmRDb2xvcjogXCIjMjEyMTIxXCIsXHJcbiAgICBpY29uTWF4aW1pemU6IGB1cmwoJHtpY29uX21heGltaXplfSlgLFxyXG4gICAgaWNvbk1pbmltaXplOiBgdXJsKCR7aWNvbl9taW5pbWl6ZX0pYCxcclxuICAgIGljb25SZXNpemU6IGB1cmwoJHtpY29uX3Jlc2l6ZX0pYCxcclxuICAgIGJhY2tncm91bmRDb2xvcjogXCIjMjYzMjM4XCIsXHJcbiAgICBib3JkZXJSYWRpdXM6IFwiMXJlbVwiLFxyXG4gICAgYm94U2hhZG93OiBcIjAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjIpXCIsXHJcbiAgfTtcclxuXHJcbiAgY29uc3Qge1xyXG4gICAgaGVhZGVyU2l6ZSxcclxuICAgIGhlYWRlckNvbG9yLFxyXG4gICAgaGVhZGVyQmFja2dyb3VuZENvbG9yLFxyXG4gICAgYm9keUNvbG9yLFxyXG4gICAgYm9keUJhY2tncm91bmRDb2xvcixcclxuICAgIGljb25NYXhpbWl6ZSxcclxuICAgIGljb25NaW5pbWl6ZSxcclxuICAgIGljb25SZXNpemUsXHJcbiAgICBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICBib3JkZXJSYWRpdXMsXHJcbiAgICBib3hTaGFkb3csXHJcbiAgfSA9IE9iamVjdC5hc3NpZ24oaVN0eWxlcywgc3R5bGVzIHx8IHt9KSBhcyBTdHlsZXM7XHJcblxyXG4gIHJldHVybiBjcmVhdGVVc2VTdHlsZXMoe1xyXG4gICAgXCJ0dy13aW5kb3dzXCI6IHtcclxuICAgICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcclxuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxyXG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxyXG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcblxyXG4gICAgICBcIiYgLnR3LWJhY2tncm91bmRcIjoge1xyXG4gICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXHJcbiAgICAgICAgdG9wOiBcIjBcIixcclxuICAgICAgICBsZWZ0OiBcIjBcIixcclxuICAgICAgICByaWdodDogXCIwXCIsXHJcbiAgICAgICAgYm90dG9tOiBcIjBcIixcclxuICAgICAgICB6SW5kZXg6IFwiMFwiLFxyXG4gICAgICB9LFxyXG5cclxuICAgICAgXCImIC50dy10YXNrYmFyXCI6IHtcclxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcclxuICAgICAgICBmbGV4RGlyZWN0aW9uOlxyXG4gICAgICAgICAgdGFza2JhckxvY2F0aW9uID09PSBcImJvdHRvbVwiXHJcbiAgICAgICAgICAgID8gXCJyb3ctcmV2ZXJzZVwiXHJcbiAgICAgICAgICAgIDogdGFza2JhckxvY2F0aW9uID09PSBcInRvcFwiXHJcbiAgICAgICAgICAgID8gXCJyb3dcIlxyXG4gICAgICAgICAgICA6IFwiY29sdW1uXCIsXHJcbiAgICAgICAgZmxleFdyYXA6IFwid3JhcFwiLFxyXG4gICAgICAgIHBhZGRpbmc6IFwiMC4yNXJlbVwiLFxyXG4gICAgICAgIHRyYW5zZm9ybTpcclxuICAgICAgICAgIHRhc2tiYXJMb2NhdGlvbiA9PT0gXCJib3R0b21cIlxyXG4gICAgICAgICAgICA/IFwicm90YXRlKDE4MGRlZylcIlxyXG4gICAgICAgICAgICA6IHRhc2tiYXJMb2NhdGlvbiA9PT0gXCJyaWdodFwiXHJcbiAgICAgICAgICAgID8gXCJzY2FsZVgoLTEpXCJcclxuICAgICAgICAgICAgOiBcIm5vbmVcIixcclxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxyXG4gICAgICAgIHRvcDogdGFza2JhckxvY2F0aW9uICE9PSBcImJvdHRvbVwiID8gXCIwXCIgOiBcImF1dG9cIixcclxuICAgICAgICBsZWZ0OiB0YXNrYmFyTG9jYXRpb24gIT09IFwicmlnaHRcIiA/IFwiMFwiIDogXCJhdXRvXCIsXHJcbiAgICAgICAgcmlnaHQ6IHRhc2tiYXJMb2NhdGlvbiAhPT0gXCJsZWZ0XCIgPyBcIjBcIiA6IFwiYXV0b1wiLFxyXG4gICAgICAgIGJvdHRvbTogdGFza2JhckxvY2F0aW9uICE9PSBcInRvcFwiID8gXCIwXCIgOiBcImF1dG9cIixcclxuICAgICAgICB3aWR0aDpcclxuICAgICAgICAgIHRhc2tiYXJMb2NhdGlvbiA9PT0gXCJib3R0b21cIiB8fCB0YXNrYmFyTG9jYXRpb24gPT09IFwidG9wXCJcclxuICAgICAgICAgICAgPyBcIjEwMCVcIlxyXG4gICAgICAgICAgICA6IFwidW5zZXRcIixcclxuICAgICAgICB6SW5kZXg6IFwiMFwiLFxyXG4gICAgICB9LFxyXG5cclxuICAgICAgXCImIC50dy13aW5kb3dcIjoge1xyXG4gICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXHJcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBgJHtib3JkZXJSYWRpdXN9ICR7Ym9yZGVyUmFkaXVzfSAwICR7Ym9yZGVyUmFkaXVzfWAsXHJcbiAgICAgICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7aGVhZGVyQmFja2dyb3VuZENvbG9yfWAsXHJcbiAgICAgICAgYm94U2hhZG93OiBib3hTaGFkb3csXHJcbiAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXHJcblxyXG4gICAgICAgIFwiJiAudHctaGVhZGVyXCI6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxyXG4gICAgICAgICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcclxuICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcclxuICAgICAgICAgIGhlaWdodDogaGVhZGVyU2l6ZSxcclxuICAgICAgICAgIGxpbmVIZWlnaHQ6IGhlYWRlclNpemUsXHJcbiAgICAgICAgICBjb2xvcjogaGVhZGVyQ29sb3IsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGhlYWRlckJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAgIGJveFNoYWRvdzogYm94U2hhZG93LFxyXG4gICAgICAgICAgekluZGV4OiBcIjEwMDBcIixcclxuICAgICAgICAgIGN1cnNvcjogXCJwb2ludGVyXCIsXHJcbiAgICAgICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcclxuXHJcbiAgICAgICAgICBcIiYudHctZHJhZ2dhYmxlXCI6IHtcclxuICAgICAgICAgICAgY3Vyc29yOiBcIm1vdmVcIixcclxuICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgXCImIC50dy10aXRsZVwiOiB7XHJcbiAgICAgICAgICAgIGZsZXhHcm93OiBcIjEwXCIsXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IFwiMCAxcmVtXCIsXHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxyXG4gICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgICBcIiYgLnR3LWJ1dHRvbnNcIjoge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcclxuICAgICAgICAgICAgZmxleFNocmluazogXCIwXCIsXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IFwiMCAwLjVyZW1cIixcclxuXHJcbiAgICAgICAgICAgIFwiJiAudHctYnV0dG9uXCI6IHtcclxuICAgICAgICAgICAgICB3aWR0aDogaGVhZGVyU2l6ZSxcclxuICAgICAgICAgICAgICBoZWlnaHQ6IGhlYWRlclNpemUsXHJcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogXCJvcGFjaXR5IDAuM3NcIixcclxuICAgICAgICAgICAgICBtYXNrU2l6ZTogXCI1MCVcIixcclxuICAgICAgICAgICAgICBtYXNrUG9zaXRpb246IFwiY2VudGVyXCIsXHJcbiAgICAgICAgICAgICAgbWFza1JlcGVhdDogXCJuby1yZXBlYXRcIixcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGhlYWRlckNvbG9yLFxyXG4gICAgICAgICAgICAgIG9wYWNpdHk6IFwiMC41XCIsXHJcbiAgICAgICAgICAgICAgY3Vyc29yOiBcInBvaW50ZXJcIixcclxuXHJcbiAgICAgICAgICAgICAgXCImOmhvdmVyXCI6IHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IFwiMVwiLFxyXG4gICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgIFwiJi50dy1taW5pbWl6ZVwiOiB7XHJcbiAgICAgICAgICAgICAgICBtYXNrSW1hZ2U6IGljb25NaW5pbWl6ZSxcclxuICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICBcIiYudHctbWF4aW1pemVcIjoge1xyXG4gICAgICAgICAgICAgICAgbWFza0ltYWdlOiBpY29uTWF4aW1pemUsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgXCImIC50dy1ib2R5XCI6IHtcclxuICAgICAgICAgIGNvbG9yOiBib2R5Q29sb3IsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJvZHlCYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgXCImLnR3LW1pbmltaXplLW9uXCI6IHtcclxuICAgICAgICAgIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzLFxyXG5cclxuICAgICAgICAgIFwiJi50dy10YXNrYmFyLW9uXCI6IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcclxuICAgICAgICAgICAgdHJhbnNmb3JtOlxyXG4gICAgICAgICAgICAgIHRhc2tiYXJMb2NhdGlvbiA9PT0gXCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgPyBcInJvdGF0ZSgxODBkZWcpICFpbXBvcnRhbnRcIlxyXG4gICAgICAgICAgICAgICAgOiB0YXNrYmFyTG9jYXRpb24gPT09IFwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgPyBcInNjYWxlWCgtMSkgIWltcG9ydGFudFwiXHJcbiAgICAgICAgICAgICAgICA6IFwibm9uZSAhaW1wb3J0YW50XCIsXHJcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogYm9yZGVyUmFkaXVzLFxyXG4gICAgICAgICAgICBtYXJnaW46IFwiMC4yNXJlbVwiLFxyXG4gICAgICAgICAgICBmbGV4R3JvdzogXCIxMFwiLFxyXG4gICAgICAgICAgICB3aWR0aDpcclxuICAgICAgICAgICAgICB0YXNrYmFyTG9jYXRpb24gPT09IFwidG9wXCIgfHwgdGFza2JhckxvY2F0aW9uID09PSBcImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICA/IFwiY2FsYyg1MCUgLSAwLjVyZW0pXCJcclxuICAgICAgICAgICAgICAgIDogXCJjYWxjKDEwMCUgLSAwLjVyZW0pXCIsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOlxyXG4gICAgICAgICAgICAgIHRhc2tiYXJMb2NhdGlvbiA9PT0gXCJ0b3BcIiB8fCB0YXNrYmFyTG9jYXRpb24gPT09IFwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgID8gXCJjYWxjKDE2MHB4IC0gMC41cmVtKVwiXHJcbiAgICAgICAgICAgICAgICA6IFwidW5zZXRcIixcclxuICAgICAgICAgICAgbWF4V2lkdGg6XHJcbiAgICAgICAgICAgICAgdGFza2JhckxvY2F0aW9uID09PSBcInRvcFwiIHx8IHRhc2tiYXJMb2NhdGlvbiA9PT0gXCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgPyBcImNhbGMoMjQwcHggLSAwLjVyZW0pXCJcclxuICAgICAgICAgICAgICAgIDogXCJ1bnNldFwiLFxyXG4gICAgICAgICAgICBtaW5IZWlnaHQ6XHJcbiAgICAgICAgICAgICAgdGFza2JhckxvY2F0aW9uID09PSBcImxlZnRcIiB8fCB0YXNrYmFyTG9jYXRpb24gPT09IFwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgPyBoZWFkZXJTaXplXHJcbiAgICAgICAgICAgICAgICA6IFwidW5zZXRcIixcclxuICAgICAgICAgICAgbWF4SGVpZ2h0OlxyXG4gICAgICAgICAgICAgIHRhc2tiYXJMb2NhdGlvbiA9PT0gXCJsZWZ0XCIgfHwgdGFza2JhckxvY2F0aW9uID09PSBcInJpZ2h0XCJcclxuICAgICAgICAgICAgICAgID8gaGVhZGVyU2l6ZVxyXG4gICAgICAgICAgICAgICAgOiBcInVuc2V0XCIsXHJcblxyXG4gICAgICAgICAgICBcIiYgLnR3LWhlYWRlclwiOiB7XHJcbiAgICAgICAgICAgICAgXCImLnR3LWRyYWdnYWJsZVwiOiB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IFwiZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgIFwiJiAudHctYm9keVwiOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IFwibm9uZVwiLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICBcIiYudHctbWF4aW1pemUtb25cIjoge1xyXG4gICAgICAgICAgdG9wOiBcIjAgIWltcG9ydGFudFwiLFxyXG4gICAgICAgICAgbGVmdDogXCIwICFpbXBvcnRhbnRcIixcclxuICAgICAgICAgIHdpZHRoOiBcIjEwMCUgIWltcG9ydGFudFwiLFxyXG4gICAgICAgICAgaGVpZ2h0OiBcIjEwMCUgIWltcG9ydGFudFwiLFxyXG4gICAgICAgICAgdHJhbnNmb3JtOiBcIm5vbmUgIWltcG9ydGFudFwiLFxyXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjAgIWltcG9ydGFudFwiLFxyXG5cclxuICAgICAgICAgIFwiJiAudHctaGVhZGVyXCI6IHtcclxuICAgICAgICAgICAgd2lkdGg6IFwiMTAwJSAhaW1wb3J0YW50XCIsXHJcbiAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgIFwiJiAudHctYm9keVwiOiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiYmxvY2sgIWltcG9ydGFudFwiLFxyXG4gICAgICAgICAgICB3aWR0aDogXCIxMDAlICFpbXBvcnRhbnRcIixcclxuICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCUgIWltcG9ydGFudFwiLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG5cclxuICAgICAgXCImIC5yZWFjdC1yZXNpemFibGVcIjoge1xyXG4gICAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXHJcbiAgICAgICAgb3ZlcmZsb3c6IFwiYXV0b1wiLFxyXG4gICAgICAgIHNjcm9sbGJhckNvbG9yOiBcInJnYmEoMTMwLCAxMzAsIDEzMCwgMC4yKSByZ2JhKDEzMCwgMTMwLCAxMzAsIDAuMSlcIixcclxuICAgICAgICBzY3JvbGxiYXJXaWR0aDogXCJ0aGluXCIsXHJcblxyXG4gICAgICAgIFwiJjo6LXdlYmtpdC1zY3JvbGxiYXJcIjoge1xyXG4gICAgICAgICAgd2lkdGg6IFwiMC41cmVtXCIsXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgXCImOjotd2Via2l0LXNjcm9sbGJhci10cmFja1wiOiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBcInJnYmEoMTMwLCAxMzAsIDEzMCwgMC4xKVwiLFxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIFwiJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJcIjoge1xyXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjNweFwiLFxyXG4gICAgICAgICAgYmFja2dyb3VuZDogXCJyZ2JhKDEzMCwgMTMwLCAxMzAsIDAuMSlcIixcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICBcIiY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyXCI6IHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IFwicmdiYSgxMzAsIDEzMCwgMTMwLCAwLjIpXCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuXHJcbiAgICAgIFwiJiAucmVhY3QtcmVzaXphYmxlLWhhbmRsZVwiOiB7XHJcbiAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcclxuICAgICAgICB3aWR0aDogXCIyMHB4XCIsXHJcbiAgICAgICAgaGVpZ2h0OiBcIjIwcHhcIixcclxuICAgICAgICBiYWNrZ3JvdW5kUmVwZWF0OiBcIm5vLXJlcGVhdFwiLFxyXG4gICAgICAgIGJhY2tncm91bmRPcmlnaW46IFwiY29udGVudC1ib3hcIixcclxuICAgICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxyXG4gICAgICAgIGJhY2tncm91bmRJbWFnZTogaWNvblJlc2l6ZSxcclxuICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246IFwiYm90dG9tIHJpZ2h0XCIsXHJcbiAgICAgICAgYmFja2dyb3VuZFNpemU6IFwiNTAlXCIsXHJcbiAgICAgICAgb3BhY2l0eTogXCIwLjVcIixcclxuICAgICAgICBwYWRkaW5nOiBcIjAgM3B4IDNweCAwXCIsXHJcbiAgICAgICAgdHJhbnNpdGlvbjogXCJvcGFjaXR5IDAuM3NcIixcclxuXHJcbiAgICAgICAgXCImOmhvdmVyXCI6IHtcclxuICAgICAgICAgIG9wYWNpdHk6IFwiMVwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBcIiYgLnJlYWN0LXJlc2l6YWJsZS1oYW5kbGUtc3dcIjoge1xyXG4gICAgICAgIGJvdHRvbTogXCIwXCIsXHJcbiAgICAgICAgbGVmdDogXCIwXCIsXHJcbiAgICAgICAgY3Vyc29yOiBcInN3LXJlc2l6ZVwiLFxyXG4gICAgICAgIHRyYW5zZm9ybTogXCJyb3RhdGUoOTBkZWcpXCIsXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBcIiYgLnJlYWN0LXJlc2l6YWJsZS1oYW5kbGUtc2VcIjoge1xyXG4gICAgICAgIGJvdHRvbTogXCIwXCIsXHJcbiAgICAgICAgcmlnaHQ6IFwiMFwiLFxyXG4gICAgICAgIGN1cnNvcjogXCJzZS1yZXNpemVcIixcclxuICAgICAgfSxcclxuXHJcbiAgICAgIFwiJiAucmVhY3QtcmVzaXphYmxlLWhhbmRsZS1ud1wiOiB7XHJcbiAgICAgICAgdG9wOiBcIjBcIixcclxuICAgICAgICBsZWZ0OiBcIjBcIixcclxuICAgICAgICBjdXJzb3I6IFwibnctcmVzaXplXCIsXHJcbiAgICAgICAgdHJhbnNmb3JtOiBcInJvdGF0ZSgxODBkZWcpXCIsXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBcIiYgLnJlYWN0LXJlc2l6YWJsZS1oYW5kbGUtbmVcIjoge1xyXG4gICAgICAgIHRvcDogXCIwXCIsXHJcbiAgICAgICAgcmlnaHQ6IFwiMFwiLFxyXG4gICAgICAgIGN1cnNvcjogXCJuZS1yZXNpemVcIixcclxuICAgICAgICB0cmFuc2Zvcm06IFwicm90YXRlKDI3MGRlZylcIixcclxuICAgICAgfSxcclxuXHJcbiAgICAgIFwiJiAucmVhY3QtcmVzaXphYmxlLWhhbmRsZS13LCAmIC5yZWFjdC1yZXNpemFibGUtaGFuZGxlLWVcIjoge1xyXG4gICAgICAgIHRvcDogXCI1MCVcIixcclxuICAgICAgICBtYXJnaW5Ub3A6IFwiLTEwcHhcIixcclxuICAgICAgICBjdXJzb3I6IFwiZXctcmVzaXplXCIsXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBcIiYgLnJlYWN0LXJlc2l6YWJsZS1oYW5kbGUtd1wiOiB7XHJcbiAgICAgICAgbGVmdDogXCIwXCIsXHJcbiAgICAgICAgdHJhbnNmb3JtOiBcInJvdGF0ZSgxMzVkZWcpXCIsXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBcIiYgLnJlYWN0LXJlc2l6YWJsZS1oYW5kbGUtZVwiOiB7XHJcbiAgICAgICAgcmlnaHQ6IFwiMFwiLFxyXG4gICAgICAgIHRyYW5zZm9ybTogXCJyb3RhdGUoMzE1ZGVnKVwiLFxyXG4gICAgICB9LFxyXG5cclxuICAgICAgXCImIC5yZWFjdC1yZXNpemFibGUtaGFuZGxlLW4sICYgLnJlYWN0LXJlc2l6YWJsZS1oYW5kbGUtc1wiOiB7XHJcbiAgICAgICAgbGVmdDogXCI1MCVcIixcclxuICAgICAgICBtYXJnaW5MZWZ0OiBcIi0xMHB4XCIsXHJcbiAgICAgICAgY3Vyc29yOiBcIm5zLXJlc2l6ZVwiLFxyXG4gICAgICB9LFxyXG5cclxuICAgICAgXCImIC5yZWFjdC1yZXNpemFibGUtaGFuZGxlLW5cIjoge1xyXG4gICAgICAgIHRvcDogXCIwXCIsXHJcbiAgICAgICAgdHJhbnNmb3JtOiBcInJvdGF0ZSgyMjVkZWcpXCIsXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBcIiYgLnJlYWN0LXJlc2l6YWJsZS1oYW5kbGUtc1wiOiB7XHJcbiAgICAgICAgYm90dG9tOiBcIjBcIixcclxuICAgICAgICB0cmFuc2Zvcm06IFwicm90YXRlKDQ1ZGVnKVwiLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICB9KTtcclxufTtcclxuIl19