@amboss/design-system 3.13.17 → 3.13.18

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get AutocompleteList(){return AutocompleteList},get getAutocompleteListId(){return getAutocompleteListId}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_Box=require("../Box/Box"),_Stack=require("../Stack/Stack"),_CategoryList=require("./CategoryList"),_Container=require("../Container"),_usePopupMenu=require("../../shared/popupMenu/usePopupMenu"),_Portal=require("../Portal/Portal"),_Inline=require("../Inline/Inline");function getAutocompleteListId(name){return`${name}_AutocompleteList`}const StyledContainer=(0,_styled.default)("div",{target:"e1yvalcb0",label:"StyledContainer"})(({theme})=>({position:"absolute",zIndex:(0,_Portal.usePortalChildZIndex)(theme.variables.zIndex.dropdown)}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQXV0b2NvbXBsZXRlTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Byb21wdElucHV0L0F1dG9jb21wbGV0ZUxpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7XG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIENhdGVnb3J5TGlzdCxcbiAgdHlwZSBMaXN0SXRlbXNCeUNhdGVnb3J5LFxuICB0eXBlIENhdGVnb3J5TGlzdFByb3BzLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZVBvcHVwTWVudSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvcG9wdXBNZW51L3VzZVBvcHVwTWVudVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB0eXBlIFBvcnRhbFByb3BzLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuXG5leHBvcnQgdHlwZSBBdXRvY29tcGxldGVMaXN0UHJvcHMgPSB7XG4gIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz86IExpc3RJdGVtc0J5Q2F0ZWdvcnlbXTtcbiAgdHJpZ2dlclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgc2VsZWN0ZWRMaXN0SXRlbT86IEZsYXR0ZW5lZExpc3RJdGVtO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI/OiBSZWFjdEVsZW1lbnQ7XG59ICYgUGljazxDYXRlZ29yeUxpc3RQcm9wcywgXCJvbkxpc3RJdGVtQ2xpY2tcIj4gJlxuICBQaWNrPFByb21wdFRleHRBcmVhUHJvcHMsIFwibmFtZVwiIHwgXCJ2YWx1ZVwiPiAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0b2NvbXBsZXRlTGlzdElkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtuYW1lfV9BdXRvY29tcGxldGVMaXN0YDtcbn1cblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiB7XG4gIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXguZHJvcGRvd24pO1xuXG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICB6SW5kZXgsXG4gIH07XG59KTtcblxuY29uc3QgU3R5bGVkTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuY2FudmFzLFxuICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gQXV0b2NvbXBsZXRlTGlzdCh7XG4gIG5hbWUsXG4gIHZhbHVlLFxuICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgc2VsZWN0ZWRMaXN0SXRlbSxcbiAgaXNPcGVuLFxuICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICBvbkxpc3RJdGVtQ2xpY2ssXG59OiBBdXRvY29tcGxldGVMaXN0UHJvcHMpOiBSZWFjdEVsZW1lbnQge1xuICBjb25zdCBtZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICBjb25zdCB7IG1lbnVTdHlsZSwgY2FsY3VsYXRlU3R5bGUgfSA9IHVzZVBvcHVwTWVudSh7XG4gICAgdHJpZ2dlclJlZixcbiAgICBtZW51UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBjYWxjdWxhdGVTdHlsZSwgaXNPcGVuXSk7XG5cbiAgY29uc3QgbGlzdHMgPSBhdXRvY29tcGxldGVMaXN0SXRlbXMubWFwKChsaXN0SXRlbSkgPT4gKFxuICAgIDxDYXRlZ29yeUxpc3RcbiAgICAgIG5hbWU9e25hbWV9XG4gICAgICBrZXk9e2xpc3RJdGVtLmNhdGVnb3J5fVxuICAgICAgey4uLmxpc3RJdGVtfVxuICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgIG9uTGlzdEl0ZW1DbGljaz17b25MaXN0SXRlbUNsaWNrfVxuICAgIC8+XG4gICkpO1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5tZW51U3R5bGUsXG4gICAgd2lkdGg6IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICByZWY9e21lbnVSZWZ9XG4gICAgICBzdHlsZT17bGlzdFN0eWxlfVxuICAgICAgaWQ9e2dldEF1dG9jb21wbGV0ZUxpc3RJZChuYW1lKX1cbiAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICA+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8Qm94IHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgPFN0eWxlZExpc3RDb250YWluZXI+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwic1wiIHZTcGFjZT1cInNcIiBiU3BhY2U9XCJ4c1wiPlxuICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4c1wiPlxuICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInNcIj57bGlzdHN9PC9TdGFjaz5cbiAgICAgICAgICAgICAgICA8SW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj57YXV0b2NvbXBsZXRlTGlzdEZvb3Rlcn08L0lubGluZT5cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgIDwvU3R5bGVkTGlzdENvbnRhaW5lcj5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcblxuICByZXR1cm4gaXNPcGVuID8gKFxuICAgIDxQb3J0YWwgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9PntsaXN0RWxtfTwvUG9ydGFsPlxuICApIDogbnVsbDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQ3dCIn0= */"),StyledListContainer=(0,_styled.default)("div",{target:"e1yvalcb1",label:"StyledListContainer"})(({theme})=>({backgroundColor:theme.values.color.canvas,borderRadius:theme.variables.size.borderRadius.s}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQXV0b2NvbXBsZXRlTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Byb21wdElucHV0L0F1dG9jb21wbGV0ZUxpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7XG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIENhdGVnb3J5TGlzdCxcbiAgdHlwZSBMaXN0SXRlbXNCeUNhdGVnb3J5LFxuICB0eXBlIENhdGVnb3J5TGlzdFByb3BzLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZVBvcHVwTWVudSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvcG9wdXBNZW51L3VzZVBvcHVwTWVudVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB0eXBlIFBvcnRhbFByb3BzLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuXG5leHBvcnQgdHlwZSBBdXRvY29tcGxldGVMaXN0UHJvcHMgPSB7XG4gIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz86IExpc3RJdGVtc0J5Q2F0ZWdvcnlbXTtcbiAgdHJpZ2dlclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgc2VsZWN0ZWRMaXN0SXRlbT86IEZsYXR0ZW5lZExpc3RJdGVtO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI/OiBSZWFjdEVsZW1lbnQ7XG59ICYgUGljazxDYXRlZ29yeUxpc3RQcm9wcywgXCJvbkxpc3RJdGVtQ2xpY2tcIj4gJlxuICBQaWNrPFByb21wdFRleHRBcmVhUHJvcHMsIFwibmFtZVwiIHwgXCJ2YWx1ZVwiPiAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0b2NvbXBsZXRlTGlzdElkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtuYW1lfV9BdXRvY29tcGxldGVMaXN0YDtcbn1cblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiB7XG4gIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXguZHJvcGRvd24pO1xuXG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICB6SW5kZXgsXG4gIH07XG59KTtcblxuY29uc3QgU3R5bGVkTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuY2FudmFzLFxuICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gQXV0b2NvbXBsZXRlTGlzdCh7XG4gIG5hbWUsXG4gIHZhbHVlLFxuICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgc2VsZWN0ZWRMaXN0SXRlbSxcbiAgaXNPcGVuLFxuICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICBvbkxpc3RJdGVtQ2xpY2ssXG59OiBBdXRvY29tcGxldGVMaXN0UHJvcHMpOiBSZWFjdEVsZW1lbnQge1xuICBjb25zdCBtZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICBjb25zdCB7IG1lbnVTdHlsZSwgY2FsY3VsYXRlU3R5bGUgfSA9IHVzZVBvcHVwTWVudSh7XG4gICAgdHJpZ2dlclJlZixcbiAgICBtZW51UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBjYWxjdWxhdGVTdHlsZSwgaXNPcGVuXSk7XG5cbiAgY29uc3QgbGlzdHMgPSBhdXRvY29tcGxldGVMaXN0SXRlbXMubWFwKChsaXN0SXRlbSkgPT4gKFxuICAgIDxDYXRlZ29yeUxpc3RcbiAgICAgIG5hbWU9e25hbWV9XG4gICAgICBrZXk9e2xpc3RJdGVtLmNhdGVnb3J5fVxuICAgICAgey4uLmxpc3RJdGVtfVxuICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgIG9uTGlzdEl0ZW1DbGljaz17b25MaXN0SXRlbUNsaWNrfVxuICAgIC8+XG4gICkpO1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5tZW51U3R5bGUsXG4gICAgd2lkdGg6IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICByZWY9e21lbnVSZWZ9XG4gICAgICBzdHlsZT17bGlzdFN0eWxlfVxuICAgICAgaWQ9e2dldEF1dG9jb21wbGV0ZUxpc3RJZChuYW1lKX1cbiAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICA+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8Qm94IHNwYWNlPVwieHhzXCI+XG4gICAgICAgICAgPFN0eWxlZExpc3RDb250YWluZXI+XG4gICAgICAgICAgICA8Qm94IHNwYWNlPVwic1wiIHZTcGFjZT1cInNcIiBiU3BhY2U9XCJ4c1wiPlxuICAgICAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJ4c1wiPlxuICAgICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInNcIj57bGlzdHN9PC9TdGFjaz5cbiAgICAgICAgICAgICAgICA8SW5saW5lIGFsaWduSXRlbXM9XCJjZW50ZXJcIj57YXV0b2NvbXBsZXRlTGlzdEZvb3Rlcn08L0lubGluZT5cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgIDwvU3R5bGVkTGlzdENvbnRhaW5lcj5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcblxuICByZXR1cm4gaXNPcGVuID8gKFxuICAgIDxQb3J0YWwgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9PntsaXN0RWxtfTwvUG9ydGFsPlxuICApIDogbnVsbDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0QzRCIn0= */");function AutocompleteList({name,value,autocompleteListItems,triggerRef,portalContainer,selectedListItem,isOpen,autocompleteListFooter,onListItemClick}){let menuRef=(0,_react.useRef)(null),{menuStyle,calculateStyle}=(0,_usePopupMenu.usePopupMenu)({triggerRef,menuRef,isOpen});(0,_react.useEffect)(()=>{isOpen&&calculateStyle()},[value,calculateStyle,isOpen]);let lists=autocompleteListItems.map(listItem=>_react.default.createElement(_CategoryList.CategoryList,{name:name,key:listItem.category,...listItem,selectedListItem:selectedListItem,onListItemClick:onListItemClick})),listStyle={...menuStyle,width:triggerRef.current?.getBoundingClientRect().width},listElm=_react.default.createElement(StyledContainer,{ref:menuRef,style:listStyle,id:getAutocompleteListId(name),role:"listbox"},_react.default.createElement(_Container.Container,null,_react.default.createElement(_Box.Box,{space:"xxs"},_react.default.createElement(StyledListContainer,null,_react.default.createElement(_Box.Box,{space:"s",vSpace:"s",bSpace:"xs"},_react.default.createElement(_Stack.Stack,{space:"xs"},_react.default.createElement(_Stack.Stack,{space:"s"},lists),_react.default.createElement(_Inline.Inline,{alignItems:"center"},autocompleteListFooter)))))));return isOpen?_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},listElm):null}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var target=exports,all={get AutocompleteList(){return AutocompleteList},get getAutocompleteListId(){return getAutocompleteListId}};for(var name in all)Object.defineProperty(target,name,{enumerable:!0,get:Object.getOwnPropertyDescriptor(all,name).get});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_Box=require("../Box/Box"),_Stack=require("../Stack/Stack"),_CategoryList=require("./CategoryList"),_Container=require("../Container"),_usePopupMenu=require("../../shared/popupMenu/usePopupMenu"),_Portal=require("../Portal/Portal"),_Inline=require("../Inline/Inline");function getAutocompleteListId(name){return`${name}_AutocompleteList`}const StyledContainer=(0,_styled.default)("div",{target:"e1jnh7q0",label:"StyledContainer"})(({theme})=>({position:"absolute",zIndex:(0,_Portal.usePortalChildZIndex)(theme.variables.zIndex.dropdown)}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQXV0b2NvbXBsZXRlTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Byb21wdElucHV0L0F1dG9jb21wbGV0ZUxpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7XG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIENhdGVnb3J5TGlzdCxcbiAgdHlwZSBMaXN0SXRlbXNCeUNhdGVnb3J5LFxuICB0eXBlIENhdGVnb3J5TGlzdFByb3BzLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZVBvcHVwTWVudSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvcG9wdXBNZW51L3VzZVBvcHVwTWVudVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB0eXBlIFBvcnRhbFByb3BzLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuXG5leHBvcnQgdHlwZSBBdXRvY29tcGxldGVMaXN0UHJvcHMgPSB7XG4gIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz86IExpc3RJdGVtc0J5Q2F0ZWdvcnlbXTtcbiAgdHJpZ2dlclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgc2VsZWN0ZWRMaXN0SXRlbT86IEZsYXR0ZW5lZExpc3RJdGVtO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI/OiBSZWFjdEVsZW1lbnQ7XG59ICYgUGljazxDYXRlZ29yeUxpc3RQcm9wcywgXCJvbkxpc3RJdGVtQ2xpY2tcIj4gJlxuICBQaWNrPFByb21wdFRleHRBcmVhUHJvcHMsIFwibmFtZVwiIHwgXCJ2YWx1ZVwiPiAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0b2NvbXBsZXRlTGlzdElkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtuYW1lfV9BdXRvY29tcGxldGVMaXN0YDtcbn1cblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiB7XG4gIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXguZHJvcGRvd24pO1xuXG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICB6SW5kZXgsXG4gIH07XG59KTtcblxuY29uc3QgU3R5bGVkTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuY2FudmFzLFxuICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gQXV0b2NvbXBsZXRlTGlzdCh7XG4gIG5hbWUsXG4gIHZhbHVlLFxuICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgc2VsZWN0ZWRMaXN0SXRlbSxcbiAgaXNPcGVuLFxuICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICBvbkxpc3RJdGVtQ2xpY2ssXG59OiBBdXRvY29tcGxldGVMaXN0UHJvcHMpOiBSZWFjdEVsZW1lbnQge1xuICBjb25zdCBtZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICBjb25zdCB7IG1lbnVTdHlsZSwgY2FsY3VsYXRlU3R5bGUgfSA9IHVzZVBvcHVwTWVudSh7XG4gICAgdHJpZ2dlclJlZixcbiAgICBtZW51UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBjYWxjdWxhdGVTdHlsZSwgaXNPcGVuXSk7XG5cbiAgY29uc3QgbGlzdHMgPSBhdXRvY29tcGxldGVMaXN0SXRlbXMubWFwKChsaXN0SXRlbSkgPT4gKFxuICAgIDxDYXRlZ29yeUxpc3RcbiAgICAgIG5hbWU9e25hbWV9XG4gICAgICBrZXk9e2xpc3RJdGVtLmNhdGVnb3J5fVxuICAgICAgey4uLmxpc3RJdGVtfVxuICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgIG9uTGlzdEl0ZW1DbGljaz17b25MaXN0SXRlbUNsaWNrfVxuICAgIC8+XG4gICkpO1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5tZW51U3R5bGUsXG4gICAgd2lkdGg6IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICByZWY9e21lbnVSZWZ9XG4gICAgICBzdHlsZT17bGlzdFN0eWxlfVxuICAgICAgaWQ9e2dldEF1dG9jb21wbGV0ZUxpc3RJZChuYW1lKX1cbiAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgIC8vIFByZXZlbnQgYnJvd3NlciB0cmFuc2xhdGlvbiB0byBhdm9pZCBET00gbWFuaXB1bGF0aW9uIGNvbmZsaWN0cyB3aGVuIFJlYWN0IHRyaWVzIHRvIHVwZGF0ZS9yZW1vdmUgbm9kZXMgdGhhdCB0aGUgdHJhbnNsYXRpb24gc2VydmljZSBoYXMgYWxyZWFkeSBtb2RpZmllZFxuICAgICAgdHJhbnNsYXRlPVwibm9cIlxuICAgID5cbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxCb3ggc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICA8U3R5bGVkTGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJzXCIgdlNwYWNlPVwic1wiIGJTcGFjZT1cInhzXCI+XG4gICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInhzXCI+XG4gICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwic1wiPntsaXN0c308L1N0YWNrPlxuICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPnthdXRvY29tcGxldGVMaXN0Rm9vdGVyfTwvSW5saW5lPlxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiBpc09wZW4gPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1Dd0IifQ== */"),StyledListContainer=(0,_styled.default)("div",{target:"e1jnh7q1",label:"StyledListContainer"})(({theme})=>({backgroundColor:theme.values.color.canvas,borderRadius:theme.variables.size.borderRadius.s}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvQXV0b2NvbXBsZXRlTGlzdC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Byb21wdElucHV0L0F1dG9jb21wbGV0ZUxpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50LCBSZWZPYmplY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiLi4vU3RhY2svU3RhY2tcIjtcbmltcG9ydCB7XG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIENhdGVnb3J5TGlzdCxcbiAgdHlwZSBMaXN0SXRlbXNCeUNhdGVnb3J5LFxuICB0eXBlIENhdGVnb3J5TGlzdFByb3BzLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB7IHVzZVBvcHVwTWVudSB9IGZyb20gXCIuLi8uLi9zaGFyZWQvcG9wdXBNZW51L3VzZVBvcHVwTWVudVwiO1xuaW1wb3J0IHtcbiAgUG9ydGFsLFxuICB0eXBlIFBvcnRhbFByb3BzLFxuICB1c2VQb3J0YWxDaGlsZFpJbmRleCxcbn0gZnJvbSBcIi4uL1BvcnRhbC9Qb3J0YWxcIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuXG5leHBvcnQgdHlwZSBBdXRvY29tcGxldGVMaXN0UHJvcHMgPSB7XG4gIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz86IExpc3RJdGVtc0J5Q2F0ZWdvcnlbXTtcbiAgdHJpZ2dlclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgc2VsZWN0ZWRMaXN0SXRlbT86IEZsYXR0ZW5lZExpc3RJdGVtO1xuICBpc09wZW46IGJvb2xlYW47XG4gIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI/OiBSZWFjdEVsZW1lbnQ7XG59ICYgUGljazxDYXRlZ29yeUxpc3RQcm9wcywgXCJvbkxpc3RJdGVtQ2xpY2tcIj4gJlxuICBQaWNrPFByb21wdFRleHRBcmVhUHJvcHMsIFwibmFtZVwiIHwgXCJ2YWx1ZVwiPiAmXG4gIFBpY2s8UG9ydGFsUHJvcHMsIFwicG9ydGFsQ29udGFpbmVyXCI+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXV0b2NvbXBsZXRlTGlzdElkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtuYW1lfV9BdXRvY29tcGxldGVMaXN0YDtcbn1cblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdigoeyB0aGVtZSB9KSA9PiB7XG4gIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXguZHJvcGRvd24pO1xuXG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICB6SW5kZXgsXG4gIH07XG59KTtcblxuY29uc3QgU3R5bGVkTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuY2FudmFzLFxuICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy5zLFxufSkpO1xuXG5leHBvcnQgZnVuY3Rpb24gQXV0b2NvbXBsZXRlTGlzdCh7XG4gIG5hbWUsXG4gIHZhbHVlLFxuICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgc2VsZWN0ZWRMaXN0SXRlbSxcbiAgaXNPcGVuLFxuICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICBvbkxpc3RJdGVtQ2xpY2ssXG59OiBBdXRvY29tcGxldGVMaXN0UHJvcHMpOiBSZWFjdEVsZW1lbnQge1xuICBjb25zdCBtZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICBjb25zdCB7IG1lbnVTdHlsZSwgY2FsY3VsYXRlU3R5bGUgfSA9IHVzZVBvcHVwTWVudSh7XG4gICAgdHJpZ2dlclJlZixcbiAgICBtZW51UmVmLFxuICAgIGlzT3BlbixcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBjYWxjdWxhdGVTdHlsZSwgaXNPcGVuXSk7XG5cbiAgY29uc3QgbGlzdHMgPSBhdXRvY29tcGxldGVMaXN0SXRlbXMubWFwKChsaXN0SXRlbSkgPT4gKFxuICAgIDxDYXRlZ29yeUxpc3RcbiAgICAgIG5hbWU9e25hbWV9XG4gICAgICBrZXk9e2xpc3RJdGVtLmNhdGVnb3J5fVxuICAgICAgey4uLmxpc3RJdGVtfVxuICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgIG9uTGlzdEl0ZW1DbGljaz17b25MaXN0SXRlbUNsaWNrfVxuICAgIC8+XG4gICkpO1xuXG4gIGNvbnN0IGxpc3RTdHlsZSA9IHtcbiAgICAuLi5tZW51U3R5bGUsXG4gICAgd2lkdGg6IHRyaWdnZXJSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgsXG4gIH07XG5cbiAgY29uc3QgbGlzdEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICByZWY9e21lbnVSZWZ9XG4gICAgICBzdHlsZT17bGlzdFN0eWxlfVxuICAgICAgaWQ9e2dldEF1dG9jb21wbGV0ZUxpc3RJZChuYW1lKX1cbiAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgIC8vIFByZXZlbnQgYnJvd3NlciB0cmFuc2xhdGlvbiB0byBhdm9pZCBET00gbWFuaXB1bGF0aW9uIGNvbmZsaWN0cyB3aGVuIFJlYWN0IHRyaWVzIHRvIHVwZGF0ZS9yZW1vdmUgbm9kZXMgdGhhdCB0aGUgdHJhbnNsYXRpb24gc2VydmljZSBoYXMgYWxyZWFkeSBtb2RpZmllZFxuICAgICAgdHJhbnNsYXRlPVwibm9cIlxuICAgID5cbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxCb3ggc3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgICA8U3R5bGVkTGlzdENvbnRhaW5lcj5cbiAgICAgICAgICAgIDxCb3ggc3BhY2U9XCJzXCIgdlNwYWNlPVwic1wiIGJTcGFjZT1cInhzXCI+XG4gICAgICAgICAgICAgIDxTdGFjayBzcGFjZT1cInhzXCI+XG4gICAgICAgICAgICAgICAgPFN0YWNrIHNwYWNlPVwic1wiPntsaXN0c308L1N0YWNrPlxuICAgICAgICAgICAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPnthdXRvY29tcGxldGVMaXN0Rm9vdGVyfTwvSW5saW5lPlxuICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPC9TdHlsZWRMaXN0Q29udGFpbmVyPlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIHJldHVybiBpc09wZW4gPyAoXG4gICAgPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e2xpc3RFbG19PC9Qb3J0YWw+XG4gICkgOiBudWxsO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRDNEIifQ== */");function AutocompleteList({name,value,autocompleteListItems,triggerRef,portalContainer,selectedListItem,isOpen,autocompleteListFooter,onListItemClick}){let menuRef=(0,_react.useRef)(null),{menuStyle,calculateStyle}=(0,_usePopupMenu.usePopupMenu)({triggerRef,menuRef,isOpen});(0,_react.useEffect)(()=>{isOpen&&calculateStyle()},[value,calculateStyle,isOpen]);let lists=autocompleteListItems.map(listItem=>_react.default.createElement(_CategoryList.CategoryList,{name:name,key:listItem.category,...listItem,selectedListItem:selectedListItem,onListItemClick:onListItemClick})),listStyle={...menuStyle,width:triggerRef.current?.getBoundingClientRect().width},listElm=_react.default.createElement(StyledContainer,{ref:menuRef,style:listStyle,id:getAutocompleteListId(name),role:"listbox",translate:"no"},_react.default.createElement(_Container.Container,null,_react.default.createElement(_Box.Box,{space:"xxs"},_react.default.createElement(StyledListContainer,null,_react.default.createElement(_Box.Box,{space:"s",vSpace:"s",bSpace:"xs"},_react.default.createElement(_Stack.Stack,{space:"xs"},_react.default.createElement(_Stack.Stack,{space:"s"},lists),_react.default.createElement(_Inline.Inline,{alignItems:"center"},autocompleteListFooter)))))));return isOpen?_react.default.createElement(_Portal.Portal,{portalContainer:portalContainer},listElm):null}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"PromptInput",{enumerable:!0,get:function(){return PromptInput}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_PromptTextArea=require("./PromptTextArea"),_Container=require("../Container"),_AutocompleteList=require("./AutocompleteList"),_CategoryList=require("./CategoryList"),_Box=require("../Box/Box"),_Text=require("../Typography/Text"),_Columns=require("../Column/Columns"),_Inline=require("../Inline/Inline"),_RoundButton=require("../RoundButton/RoundButton"),_PictogramButton=require("../PictogramButton/PictogramButton"),_Stack=require("../Stack/Stack"),_useOutsideClick=require("../../shared/useOutsideClick"),CustomContainer=(0,_styled.default)(_Container.Container,{target:"e10841vp0",label:"CustomContainer"})(({theme,hideBorder})=>({...!hideBorder&&{border:`1px solid ${theme.values.color.border.primary.default}`},"&:has(textarea:focus-visible)":{outlineWidth:1,outlineStyle:"solid",outlineOffset:-1,outlineColor:theme.values.color.border.accent.default,boxShadow:theme.values.shadow.focusRing,"@media (-webkit-min-device-pixel-ratio:0)":{outlineColor:theme.values.color.border.accent.default}}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9tcHRUZXh0QXJlYVByb3BzIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IFByb21wdFRleHRBcmVhIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlTGlzdFByb3BzIH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdCB9IGZyb20gXCIuL0F1dG9jb21wbGV0ZUxpc3RcIjtcbmltcG9ydCB7XG4gIGdldExpc3RJdGVtSWQsXG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIHR5cGUgTGlzdEl0ZW1WYWx1ZSxcbn0gZnJvbSBcIi4vQ2F0ZWdvcnlMaXN0XCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHRcIjtcbmltcG9ydCB7IENvbHVtbiwgQ29sdW1ucyB9IGZyb20gXCIuLi9Db2x1bW4vQ29sdW1uc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgLi4uKCFoaWRlQm9yZGVyICYmIHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdH1gLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgbmFtZSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyA9IFtdLFxuICAgICAgdmFsdWUsXG4gICAgICBib3R0b21Ub29sYmFyID0geyBsZWZ0Q29udGVudDogbnVsbCwgcmlnaHRDb250ZW50OiBudWxsIH0sXG4gICAgICBpc1Byb2Nlc3NpbmcsXG4gICAgICBzZW5kQnV0dG9uUHJvcHMgPSB7XG4gICAgICAgIHR5cGU6IFwic3VibWl0XCIsXG4gICAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICB1c2VPdXRzaWRlQ2xpY2soXG4gICAgICBjb250YWluZXJSZWYsXG4gICAgICAoZXZ0KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICBldnQudGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgIWlzQ29sbGFwc2VkICYmIGlzTmF2QmFyVmFyaWFudFxuICAgICk7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICBldnQucmVsYXRlZFRhcmdldCAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbaXNOYXZCYXJWYXJpYW50LCBjb250YWluZXJSZWYsIHBvcnRhbENvbnRhaW5lcl0pO1xuXG4gICAgY29uc3QgZmxhdHRlbmVkTGlzdEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBsaXN0OiBGbGF0dGVuZWRMaXN0SXRlbVtdID0gW107XG5cbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgICAgICBsaXN0SXRlbS5pdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGxpc3QucHVzaCh7XG4gICAgICAgICAgICBjYXRlZ29yeTogbGlzdEl0ZW0uY2F0ZWdvcnksXG4gICAgICAgICAgICBpbmRleEluQ2F0ZWdvcnk6IGluZGV4LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBpZDogZ2V0TGlzdEl0ZW1JZChuYW1lLCBsaXN0SXRlbS5jYXRlZ29yeSwgaW5kZXgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtcywgbmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZSA9IChpbmRleDogbnVtYmVyLCBldnQ/OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZSh7IHZhbHVlOiBpdGVtVmFsdWUsIGNhdGVnb3J5LCBldnQsIGluZGV4IH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVMaXN0SXRlbUNsaWNrID0gKFxuICAgICAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgIGluZGV4SW5DYXRlZ29yeTogbnVtYmVyLFxuICAgICAgZXZ0PzogTW91c2VFdmVudFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgICAgbGlzdEl0ZW0uaW5kZXhJbkNhdGVnb3J5ID09PSBpbmRleEluQ2F0ZWdvcnlcbiAgICAgICk7XG5cbiAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXgsIGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkVudGVyXCI6XG4gICAgICAgICAgICBpZiAoIWV2dC5zaGlmdEtleSkge1xuICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcblxuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShzZWxlY3RlZEluZGV4IC0gMSwgZXZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPCBmbGF0dGVuZWRMaXN0SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggKyAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgIH1cbiAgICAgIG9uQmx1cj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTGlzdEl0ZW0gPVxuICAgICAgc2VsZWN0ZWRJbmRleCAhPT0gLTEgPyBmbGF0dGVuZWRMaXN0SXRlbXNbc2VsZWN0ZWRJbmRleF0gOiBudWxsO1xuXG4gICAgY29uc3QgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbSA9IGVtcHR5U3RhdGVUb3BSaWdodENvbnRlbnQgPyAoXG4gICAgICA8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclxuICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgID5cbiAgICAgICAgPFRleHQgY29sb3I9XCJ0ZXJ0aWFyeVwiPntlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50fTwvVGV4dD5cbiAgICAgIDwvU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IGNsZWFyQnV0dG9uRWxtID0gdmFsdWUgPyAoXG4gICAgICA8U3R5bGVkQ2xlYXJCdXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBpY29uPVwieC1jaXJjbGUtZmlsbGVkXCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIDxTdGFjayBzcGFjZT1cInNcIj5cbiAgICAgICAgICAgIDxkaXYgcmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn0+XG4gICAgICAgICAgICAgIDxDdXN0b21Db250YWluZXJcbiAgICAgICAgICAgICAgICBlbGV2YXRpb249ezB9XG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzPXtpc0NvbGxhcHNlZCA/IFwieHNcIiA6IFwibVwifVxuICAgICAgICAgICAgICAgIGhpZGVCb3JkZXI9e2lzQ29sbGFwc2VkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFN0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPFByb21wdFRleHRBcmVhXG4gICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICBkYXRhRTJlVGVzdElkPXtcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhRTJlVGVzdElkID8gYCR7ZGF0YUUyZVRlc3RJZH0taW5wdXRgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgICByZWY9e3RleHRBcmVhUmVmfVxuICAgICAgICAgICAgICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICAgICAgICAgICAgaXNBdXRvY29tcGxldGVMaXN0T3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICAgICAgICAgICAgaXNDb2xsYXBzZWQ9e2lzQ29sbGFwc2VkfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAge2NsZWFyQnV0dG9uRWxtfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkVGV4dEFyZWFDb250YWluZXI+XG4gICAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXJFbG19XG4gICAgICAgICAgICAgIDwvQ3VzdG9tQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7aGludEVsbX1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8QXV0b2NvbXBsZXRlTGlzdFxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz17YXV0b2NvbXBsZXRlTGlzdEl0ZW1zfVxuICAgICAgICAgIHRyaWdnZXJSZWY9e3RleHRBcmVhQ29udGFpbmVyUmVmfVxuICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgaXNPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI9e2F1dG9jb21wbGV0ZUxpc3RGb290ZXJ9XG4gICAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgICAgb25MaXN0SXRlbUNsaWNrPXtoYW5kbGVMaXN0SXRlbUNsaWNrfVxuICAgICAgICAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1Q3dCIn0= */"),StyledTextAreaContainer=(0,_styled.default)("div",{target:"e10841vp1",label:"StyledTextAreaContainer"})({position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9tcHRUZXh0QXJlYVByb3BzIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IFByb21wdFRleHRBcmVhIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlTGlzdFByb3BzIH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdCB9IGZyb20gXCIuL0F1dG9jb21wbGV0ZUxpc3RcIjtcbmltcG9ydCB7XG4gIGdldExpc3RJdGVtSWQsXG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIHR5cGUgTGlzdEl0ZW1WYWx1ZSxcbn0gZnJvbSBcIi4vQ2F0ZWdvcnlMaXN0XCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHRcIjtcbmltcG9ydCB7IENvbHVtbiwgQ29sdW1ucyB9IGZyb20gXCIuLi9Db2x1bW4vQ29sdW1uc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgLi4uKCFoaWRlQm9yZGVyICYmIHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdH1gLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgbmFtZSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyA9IFtdLFxuICAgICAgdmFsdWUsXG4gICAgICBib3R0b21Ub29sYmFyID0geyBsZWZ0Q29udGVudDogbnVsbCwgcmlnaHRDb250ZW50OiBudWxsIH0sXG4gICAgICBpc1Byb2Nlc3NpbmcsXG4gICAgICBzZW5kQnV0dG9uUHJvcHMgPSB7XG4gICAgICAgIHR5cGU6IFwic3VibWl0XCIsXG4gICAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICB1c2VPdXRzaWRlQ2xpY2soXG4gICAgICBjb250YWluZXJSZWYsXG4gICAgICAoZXZ0KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICBldnQudGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgIWlzQ29sbGFwc2VkICYmIGlzTmF2QmFyVmFyaWFudFxuICAgICk7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICBldnQucmVsYXRlZFRhcmdldCAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbaXNOYXZCYXJWYXJpYW50LCBjb250YWluZXJSZWYsIHBvcnRhbENvbnRhaW5lcl0pO1xuXG4gICAgY29uc3QgZmxhdHRlbmVkTGlzdEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBsaXN0OiBGbGF0dGVuZWRMaXN0SXRlbVtdID0gW107XG5cbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgICAgICBsaXN0SXRlbS5pdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGxpc3QucHVzaCh7XG4gICAgICAgICAgICBjYXRlZ29yeTogbGlzdEl0ZW0uY2F0ZWdvcnksXG4gICAgICAgICAgICBpbmRleEluQ2F0ZWdvcnk6IGluZGV4LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBpZDogZ2V0TGlzdEl0ZW1JZChuYW1lLCBsaXN0SXRlbS5jYXRlZ29yeSwgaW5kZXgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtcywgbmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZSA9IChpbmRleDogbnVtYmVyLCBldnQ/OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZSh7IHZhbHVlOiBpdGVtVmFsdWUsIGNhdGVnb3J5LCBldnQsIGluZGV4IH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVMaXN0SXRlbUNsaWNrID0gKFxuICAgICAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgIGluZGV4SW5DYXRlZ29yeTogbnVtYmVyLFxuICAgICAgZXZ0PzogTW91c2VFdmVudFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgICAgbGlzdEl0ZW0uaW5kZXhJbkNhdGVnb3J5ID09PSBpbmRleEluQ2F0ZWdvcnlcbiAgICAgICk7XG5cbiAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXgsIGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkVudGVyXCI6XG4gICAgICAgICAgICBpZiAoIWV2dC5zaGlmdEtleSkge1xuICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcblxuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShzZWxlY3RlZEluZGV4IC0gMSwgZXZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPCBmbGF0dGVuZWRMaXN0SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggKyAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgIH1cbiAgICAgIG9uQmx1cj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTGlzdEl0ZW0gPVxuICAgICAgc2VsZWN0ZWRJbmRleCAhPT0gLTEgPyBmbGF0dGVuZWRMaXN0SXRlbXNbc2VsZWN0ZWRJbmRleF0gOiBudWxsO1xuXG4gICAgY29uc3QgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbSA9IGVtcHR5U3RhdGVUb3BSaWdodENvbnRlbnQgPyAoXG4gICAgICA8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclxuICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgID5cbiAgICAgICAgPFRleHQgY29sb3I9XCJ0ZXJ0aWFyeVwiPntlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50fTwvVGV4dD5cbiAgICAgIDwvU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IGNsZWFyQnV0dG9uRWxtID0gdmFsdWUgPyAoXG4gICAgICA8U3R5bGVkQ2xlYXJCdXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBpY29uPVwieC1jaXJjbGUtZmlsbGVkXCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIDxTdGFjayBzcGFjZT1cInNcIj5cbiAgICAgICAgICAgIDxkaXYgcmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn0+XG4gICAgICAgICAgICAgIDxDdXN0b21Db250YWluZXJcbiAgICAgICAgICAgICAgICBlbGV2YXRpb249ezB9XG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzPXtpc0NvbGxhcHNlZCA/IFwieHNcIiA6IFwibVwifVxuICAgICAgICAgICAgICAgIGhpZGVCb3JkZXI9e2lzQ29sbGFwc2VkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFN0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPFByb21wdFRleHRBcmVhXG4gICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICBkYXRhRTJlVGVzdElkPXtcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhRTJlVGVzdElkID8gYCR7ZGF0YUUyZVRlc3RJZH0taW5wdXRgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgICByZWY9e3RleHRBcmVhUmVmfVxuICAgICAgICAgICAgICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICAgICAgICAgICAgaXNBdXRvY29tcGxldGVMaXN0T3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICAgICAgICAgICAgaXNDb2xsYXBzZWQ9e2lzQ29sbGFwc2VkfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAge2NsZWFyQnV0dG9uRWxtfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkVGV4dEFyZWFDb250YWluZXI+XG4gICAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXJFbG19XG4gICAgICAgICAgICAgIDwvQ3VzdG9tQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7aGludEVsbX1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8QXV0b2NvbXBsZXRlTGlzdFxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz17YXV0b2NvbXBsZXRlTGlzdEl0ZW1zfVxuICAgICAgICAgIHRyaWdnZXJSZWY9e3RleHRBcmVhQ29udGFpbmVyUmVmfVxuICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgaXNPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI9e2F1dG9jb21wbGV0ZUxpc3RGb290ZXJ9XG4gICAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgICAgb25MaXN0SXRlbUNsaWNrPXtoYW5kbGVMaXN0SXRlbUNsaWNrfVxuICAgICAgICAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRGdDIn0= */"),StyledEmptyStateTopRightContentContainer=(0,_styled.default)("div",{target:"e10841vp2",label:"StyledEmptyStateTopRightContentContainer"})(({theme,isNavBarVariant})=>({position:"absolute",top:isNavBarVariant?theme.variables.size.spacing.xxs:theme.variables.size.spacing.m,right:theme.variables.size.spacing.m,userSelect:"none",pointerEvents:"none"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9tcHRUZXh0QXJlYVByb3BzIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IFByb21wdFRleHRBcmVhIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlTGlzdFByb3BzIH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdCB9IGZyb20gXCIuL0F1dG9jb21wbGV0ZUxpc3RcIjtcbmltcG9ydCB7XG4gIGdldExpc3RJdGVtSWQsXG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIHR5cGUgTGlzdEl0ZW1WYWx1ZSxcbn0gZnJvbSBcIi4vQ2F0ZWdvcnlMaXN0XCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHRcIjtcbmltcG9ydCB7IENvbHVtbiwgQ29sdW1ucyB9IGZyb20gXCIuLi9Db2x1bW4vQ29sdW1uc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgLi4uKCFoaWRlQm9yZGVyICYmIHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdH1gLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgbmFtZSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyA9IFtdLFxuICAgICAgdmFsdWUsXG4gICAgICBib3R0b21Ub29sYmFyID0geyBsZWZ0Q29udGVudDogbnVsbCwgcmlnaHRDb250ZW50OiBudWxsIH0sXG4gICAgICBpc1Byb2Nlc3NpbmcsXG4gICAgICBzZW5kQnV0dG9uUHJvcHMgPSB7XG4gICAgICAgIHR5cGU6IFwic3VibWl0XCIsXG4gICAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICB1c2VPdXRzaWRlQ2xpY2soXG4gICAgICBjb250YWluZXJSZWYsXG4gICAgICAoZXZ0KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICBldnQudGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgIWlzQ29sbGFwc2VkICYmIGlzTmF2QmFyVmFyaWFudFxuICAgICk7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICBldnQucmVsYXRlZFRhcmdldCAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbaXNOYXZCYXJWYXJpYW50LCBjb250YWluZXJSZWYsIHBvcnRhbENvbnRhaW5lcl0pO1xuXG4gICAgY29uc3QgZmxhdHRlbmVkTGlzdEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBsaXN0OiBGbGF0dGVuZWRMaXN0SXRlbVtdID0gW107XG5cbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgICAgICBsaXN0SXRlbS5pdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGxpc3QucHVzaCh7XG4gICAgICAgICAgICBjYXRlZ29yeTogbGlzdEl0ZW0uY2F0ZWdvcnksXG4gICAgICAgICAgICBpbmRleEluQ2F0ZWdvcnk6IGluZGV4LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBpZDogZ2V0TGlzdEl0ZW1JZChuYW1lLCBsaXN0SXRlbS5jYXRlZ29yeSwgaW5kZXgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtcywgbmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZSA9IChpbmRleDogbnVtYmVyLCBldnQ/OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZSh7IHZhbHVlOiBpdGVtVmFsdWUsIGNhdGVnb3J5LCBldnQsIGluZGV4IH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVMaXN0SXRlbUNsaWNrID0gKFxuICAgICAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgIGluZGV4SW5DYXRlZ29yeTogbnVtYmVyLFxuICAgICAgZXZ0PzogTW91c2VFdmVudFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgICAgbGlzdEl0ZW0uaW5kZXhJbkNhdGVnb3J5ID09PSBpbmRleEluQ2F0ZWdvcnlcbiAgICAgICk7XG5cbiAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXgsIGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkVudGVyXCI6XG4gICAgICAgICAgICBpZiAoIWV2dC5zaGlmdEtleSkge1xuICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcblxuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShzZWxlY3RlZEluZGV4IC0gMSwgZXZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPCBmbGF0dGVuZWRMaXN0SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggKyAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgIH1cbiAgICAgIG9uQmx1cj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTGlzdEl0ZW0gPVxuICAgICAgc2VsZWN0ZWRJbmRleCAhPT0gLTEgPyBmbGF0dGVuZWRMaXN0SXRlbXNbc2VsZWN0ZWRJbmRleF0gOiBudWxsO1xuXG4gICAgY29uc3QgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbSA9IGVtcHR5U3RhdGVUb3BSaWdodENvbnRlbnQgPyAoXG4gICAgICA8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclxuICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgID5cbiAgICAgICAgPFRleHQgY29sb3I9XCJ0ZXJ0aWFyeVwiPntlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50fTwvVGV4dD5cbiAgICAgIDwvU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IGNsZWFyQnV0dG9uRWxtID0gdmFsdWUgPyAoXG4gICAgICA8U3R5bGVkQ2xlYXJCdXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBpY29uPVwieC1jaXJjbGUtZmlsbGVkXCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIDxTdGFjayBzcGFjZT1cInNcIj5cbiAgICAgICAgICAgIDxkaXYgcmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn0+XG4gICAgICAgICAgICAgIDxDdXN0b21Db250YWluZXJcbiAgICAgICAgICAgICAgICBlbGV2YXRpb249ezB9XG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzPXtpc0NvbGxhcHNlZCA/IFwieHNcIiA6IFwibVwifVxuICAgICAgICAgICAgICAgIGhpZGVCb3JkZXI9e2lzQ29sbGFwc2VkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFN0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPFByb21wdFRleHRBcmVhXG4gICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICBkYXRhRTJlVGVzdElkPXtcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhRTJlVGVzdElkID8gYCR7ZGF0YUUyZVRlc3RJZH0taW5wdXRgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgICByZWY9e3RleHRBcmVhUmVmfVxuICAgICAgICAgICAgICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICAgICAgICAgICAgaXNBdXRvY29tcGxldGVMaXN0T3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICAgICAgICAgICAgaXNDb2xsYXBzZWQ9e2lzQ29sbGFwc2VkfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAge2NsZWFyQnV0dG9uRWxtfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkVGV4dEFyZWFDb250YWluZXI+XG4gICAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXJFbG19XG4gICAgICAgICAgICAgIDwvQ3VzdG9tQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7aGludEVsbX1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8QXV0b2NvbXBsZXRlTGlzdFxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz17YXV0b2NvbXBsZXRlTGlzdEl0ZW1zfVxuICAgICAgICAgIHRyaWdnZXJSZWY9e3RleHRBcmVhQ29udGFpbmVyUmVmfVxuICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgaXNPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI9e2F1dG9jb21wbGV0ZUxpc3RGb290ZXJ9XG4gICAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgICAgb25MaXN0SXRlbUNsaWNrPXtoYW5kbGVMaXN0SXRlbUNsaWNrfVxuICAgICAgICAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvRUUifQ== */"),StyledClearButton=(0,_styled.default)(_PictogramButton.PictogramButton,{target:"e10841vp3",label:"StyledClearButton"})(({theme,isNavBarVariant})=>({position:"absolute",right:theme.variables.size.spacing.s,top:isNavBarVariant?0:theme.variables.size.spacing.s}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9tcHRUZXh0QXJlYVByb3BzIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IFByb21wdFRleHRBcmVhIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlTGlzdFByb3BzIH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdCB9IGZyb20gXCIuL0F1dG9jb21wbGV0ZUxpc3RcIjtcbmltcG9ydCB7XG4gIGdldExpc3RJdGVtSWQsXG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIHR5cGUgTGlzdEl0ZW1WYWx1ZSxcbn0gZnJvbSBcIi4vQ2F0ZWdvcnlMaXN0XCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHRcIjtcbmltcG9ydCB7IENvbHVtbiwgQ29sdW1ucyB9IGZyb20gXCIuLi9Db2x1bW4vQ29sdW1uc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgLi4uKCFoaWRlQm9yZGVyICYmIHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdH1gLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgbmFtZSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyA9IFtdLFxuICAgICAgdmFsdWUsXG4gICAgICBib3R0b21Ub29sYmFyID0geyBsZWZ0Q29udGVudDogbnVsbCwgcmlnaHRDb250ZW50OiBudWxsIH0sXG4gICAgICBpc1Byb2Nlc3NpbmcsXG4gICAgICBzZW5kQnV0dG9uUHJvcHMgPSB7XG4gICAgICAgIHR5cGU6IFwic3VibWl0XCIsXG4gICAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICB1c2VPdXRzaWRlQ2xpY2soXG4gICAgICBjb250YWluZXJSZWYsXG4gICAgICAoZXZ0KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICBldnQudGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgIWlzQ29sbGFwc2VkICYmIGlzTmF2QmFyVmFyaWFudFxuICAgICk7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICBldnQucmVsYXRlZFRhcmdldCAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbaXNOYXZCYXJWYXJpYW50LCBjb250YWluZXJSZWYsIHBvcnRhbENvbnRhaW5lcl0pO1xuXG4gICAgY29uc3QgZmxhdHRlbmVkTGlzdEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBsaXN0OiBGbGF0dGVuZWRMaXN0SXRlbVtdID0gW107XG5cbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgICAgICBsaXN0SXRlbS5pdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGxpc3QucHVzaCh7XG4gICAgICAgICAgICBjYXRlZ29yeTogbGlzdEl0ZW0uY2F0ZWdvcnksXG4gICAgICAgICAgICBpbmRleEluQ2F0ZWdvcnk6IGluZGV4LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBpZDogZ2V0TGlzdEl0ZW1JZChuYW1lLCBsaXN0SXRlbS5jYXRlZ29yeSwgaW5kZXgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtcywgbmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZSA9IChpbmRleDogbnVtYmVyLCBldnQ/OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZSh7IHZhbHVlOiBpdGVtVmFsdWUsIGNhdGVnb3J5LCBldnQsIGluZGV4IH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVMaXN0SXRlbUNsaWNrID0gKFxuICAgICAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgIGluZGV4SW5DYXRlZ29yeTogbnVtYmVyLFxuICAgICAgZXZ0PzogTW91c2VFdmVudFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgICAgbGlzdEl0ZW0uaW5kZXhJbkNhdGVnb3J5ID09PSBpbmRleEluQ2F0ZWdvcnlcbiAgICAgICk7XG5cbiAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXgsIGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkVudGVyXCI6XG4gICAgICAgICAgICBpZiAoIWV2dC5zaGlmdEtleSkge1xuICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcblxuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShzZWxlY3RlZEluZGV4IC0gMSwgZXZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPCBmbGF0dGVuZWRMaXN0SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggKyAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgIH1cbiAgICAgIG9uQmx1cj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTGlzdEl0ZW0gPVxuICAgICAgc2VsZWN0ZWRJbmRleCAhPT0gLTEgPyBmbGF0dGVuZWRMaXN0SXRlbXNbc2VsZWN0ZWRJbmRleF0gOiBudWxsO1xuXG4gICAgY29uc3QgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbSA9IGVtcHR5U3RhdGVUb3BSaWdodENvbnRlbnQgPyAoXG4gICAgICA8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclxuICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgID5cbiAgICAgICAgPFRleHQgY29sb3I9XCJ0ZXJ0aWFyeVwiPntlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50fTwvVGV4dD5cbiAgICAgIDwvU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IGNsZWFyQnV0dG9uRWxtID0gdmFsdWUgPyAoXG4gICAgICA8U3R5bGVkQ2xlYXJCdXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBpY29uPVwieC1jaXJjbGUtZmlsbGVkXCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgPlxuICAgICAgICAgIDxTdGFjayBzcGFjZT1cInNcIj5cbiAgICAgICAgICAgIDxkaXYgcmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn0+XG4gICAgICAgICAgICAgIDxDdXN0b21Db250YWluZXJcbiAgICAgICAgICAgICAgICBlbGV2YXRpb249ezB9XG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzPXtpc0NvbGxhcHNlZCA/IFwieHNcIiA6IFwibVwifVxuICAgICAgICAgICAgICAgIGhpZGVCb3JkZXI9e2lzQ29sbGFwc2VkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFN0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPFByb21wdFRleHRBcmVhXG4gICAgICAgICAgICAgICAgICAgIHsuLi5yZXN0fVxuICAgICAgICAgICAgICAgICAgICBkYXRhRTJlVGVzdElkPXtcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhRTJlVGVzdElkID8gYCR7ZGF0YUUyZVRlc3RJZH0taW5wdXRgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICAgICAgICByZWY9e3RleHRBcmVhUmVmfVxuICAgICAgICAgICAgICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICAgICAgICAgICAgaXNBdXRvY29tcGxldGVMaXN0T3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICAgICAgICAgICAgaXNDb2xsYXBzZWQ9e2lzQ29sbGFwc2VkfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXtoYW5kbGVGb2N1c31cbiAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtoYW5kbGVCbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAge2NsZWFyQnV0dG9uRWxtfVxuICAgICAgICAgICAgICAgIDwvU3R5bGVkVGV4dEFyZWFDb250YWluZXI+XG4gICAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXJFbG19XG4gICAgICAgICAgICAgIDwvQ3VzdG9tQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7aGludEVsbX1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8QXV0b2NvbXBsZXRlTGlzdFxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcz17YXV0b2NvbXBsZXRlTGlzdEl0ZW1zfVxuICAgICAgICAgIHRyaWdnZXJSZWY9e3RleHRBcmVhQ29udGFpbmVyUmVmfVxuICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgaXNPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXI9e2F1dG9jb21wbGV0ZUxpc3RGb290ZXJ9XG4gICAgICAgICAgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9XG4gICAgICAgICAgb25MaXN0SXRlbUNsaWNrPXtoYW5kbGVMaXN0SXRlbUNsaWNrfVxuICAgICAgICAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRjBCIn0= */"),PromptInput=(0,_react.forwardRef)(({"data-e2e-test-id":dataE2eTestId,name,autocompleteListItems=[],value,bottomToolbar={leftContent:null,rightContent:null},isProcessing,sendButtonProps={type:"submit",icon:"arrow-up"},autocompleteListFooter,clearButtonAriaLabel="Clear input",hint,emptyStateTopRightContent,isNavBarVariant,portalContainer,onChange,onComplete,onClear,onEnterKey,onFocus,onBlur,onKeyDown,...rest},ref)=>{let containerRef=(0,_react.useRef)(null),textAreaContainerRef=(0,_react.useRef)(null),internalRef=(0,_react.useRef)(null),[selectedIndex,setSelectedIndex]=(0,_react.useState)(-1),[isCollapsed,setIsCollapsed]=(0,_react.useState)(isNavBarVariant),userTypedQuery=(0,_react.useRef)(""),[isAutocompleteListOpen,setIsAutocompleteListOpen]=(0,_react.useState)(!1),textAreaRef=ref||internalRef;(0,_useOutsideClick.useOutsideClick)(containerRef,evt=>{containerRef.current.contains(evt.target)||portalContainer?.contains(evt.target)||null===evt.target||setIsCollapsed(!0)},!isCollapsed&&isNavBarVariant);let closeAutocompleteList=(0,_react.useCallback)(()=>{setIsAutocompleteListOpen(!1),setSelectedIndex(-1)},[]),openAutocompleteList=(0,_react.useCallback)(()=>{autocompleteListItems.length&&(setIsAutocompleteListOpen(!0),setSelectedIndex(-1))},[autocompleteListItems]),acceptTextSelection=()=>{userTypedQuery.current=value,textAreaRef.current.setSelectionRange(value.length,value.length)};(0,_react.useEffect)(()=>{autocompleteListItems.length&&!isCollapsed?openAutocompleteList():closeAutocompleteList()},[autocompleteListItems,openAutocompleteList,closeAutocompleteList,isCollapsed]),(0,_react.useEffect)(()=>{value&&value!==userTypedQuery.current&&isAutocompleteListOpen&&textAreaRef.current.setSelectionRange(userTypedQuery.current.length,value.length)},[value,textAreaRef,isAutocompleteListOpen]),(0,_react.useEffect)(()=>{let handler,container=containerRef.current;return isNavBarVariant&&container&&(handler=evt=>{containerRef.current.contains(evt.relatedTarget)||portalContainer?.contains(evt.relatedTarget)||null===evt.relatedTarget||setIsCollapsed(!0)},window.addEventListener("focusout",handler)),()=>{container&&window.removeEventListener("focusout",handler)}},[isNavBarVariant,containerRef,portalContainer]);let flattenedListItems=(0,_react.useMemo)(()=>{let list=[];return autocompleteListItems.forEach(listItem=>{listItem.items.forEach((item,index)=>{list.push({category:listItem.category,indexInCategory:index,value:item.value,id:(0,_CategoryList.getListItemId)(name,listItem.category,index)})})}),list},[autocompleteListItems,name]),handleSelectedIndexChange=(index,evt)=>{if(setSelectedIndex(index),-1!==index){let{category,value:itemValue}=flattenedListItems[index];onComplete({value:itemValue,category,evt,index})}},selectedListItem=-1!==selectedIndex?flattenedListItems[selectedIndex]:null,emptyStateTopRightContentElm=emptyStateTopRightContent?_react.default.createElement(StyledEmptyStateTopRightContentContainer,{isNavBarVariant:isNavBarVariant},_react.default.createElement(_Text.Text,{color:"tertiary"},emptyStateTopRightContent)):null,clearButtonElm=value?_react.default.createElement(StyledClearButton,{size:"s",icon:"x-circle-filled","aria-label":clearButtonAriaLabel,isNavBarVariant:isNavBarVariant,onPointerDown:evt=>evt.preventDefault(),onClick:onClear}):emptyStateTopRightContentElm,hintElm=!!hint&&_react.default.createElement(_Inline.Inline,{alignItems:"center"},_react.default.createElement(_Text.Text,{size:"s",color:"tertiary"},hint)),bottomToolbarElm=!isCollapsed&&_react.default.createElement(_Box.Box,{space:"m","data-e2e-test-id":"bottomToolbar"},_react.default.createElement(_Columns.Columns,{gap:"s",alignItems:"spaceBetween",vAlignItems:"center"},_react.default.createElement(_Columns.Column,null,bottomToolbar.leftContent),_react.default.createElement(_Columns.Column,{size:"narrow"},_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center"},bottomToolbar.rightContent,_react.default.createElement(_RoundButton.RoundButton,{...sendButtonProps,ariaAttributes:{"aria-label":isProcessing?"Processing query":"Submit query"},variant:"primary",disabled:!value,icon:isProcessing?"stop-filled":sendButtonProps.icon})))));return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement("div",{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"PromptInput",ref:containerRef},_react.default.createElement(_Stack.Stack,{space:"s"},_react.default.createElement("div",{ref:textAreaContainerRef},_react.default.createElement(CustomContainer,{elevation:0,borderRadius:isCollapsed?"xs":"m",hideBorder:isCollapsed},_react.default.createElement(StyledTextAreaContainer,null,_react.default.createElement(_PromptTextArea.PromptTextArea,{...rest,dataE2eTestId:dataE2eTestId?`${dataE2eTestId}-input`:void 0,name:name,value:value,ref:textAreaRef,isNavBarVariant:isNavBarVariant,selectedListItem:selectedListItem,isAutocompleteListOpen:isAutocompleteListOpen,isCollapsed:isCollapsed,onFocus:evt=>{setIsCollapsed(!1),onFocus?.(evt)},onBlur:evt=>{value!==userTypedQuery.current&&onComplete?.({value:userTypedQuery.current,evt}),onBlur?.(evt)},onChange:evt=>{userTypedQuery.current=evt.target.value,onChange(evt)},onKeyDown:evt=>{if(isAutocompleteListOpen)switch(evt.key){case"Escape":closeAutocompleteList(),onComplete({value:userTypedQuery.current,evt});break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),closeAutocompleteList(),acceptTextSelection(),value&&onEnterKey?.());break;case" ":acceptTextSelection();break;case"ArrowUp":evt.preventDefault(),selectedIndex>-1&&handleSelectedIndexChange(selectedIndex-1,evt);break;case"ArrowDown":evt.preventDefault(),selectedIndex<flattenedListItems.length-1&&handleSelectedIndexChange(selectedIndex+1,evt)}else switch(evt.key){case"Escape":onClear?.();break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),value&&onEnterKey?.())}onKeyDown?.(evt)}}),clearButtonElm),bottomToolbarElm)),hintElm)),_react.default.createElement(_AutocompleteList.AutocompleteList,{name:name,value:value,autocompleteListItems:autocompleteListItems,triggerRef:textAreaContainerRef,selectedListItem:selectedListItem,isOpen:isAutocompleteListOpen,autocompleteListFooter:autocompleteListFooter,portalContainer:portalContainer,onListItemClick:(category,indexInCategory,evt)=>{handleSelectedIndexChange(flattenedListItems.findIndex(listItem=>listItem.category===category&&listItem.indexInCategory===indexInCategory),evt),closeAutocompleteList()}}))});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"PromptInput",{enumerable:!0,get:function(){return PromptInput}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_PromptTextArea=require("./PromptTextArea"),_Container=require("../Container"),_AutocompleteList=require("./AutocompleteList"),_CategoryList=require("./CategoryList"),_Box=require("../Box/Box"),_Text=require("../Typography/Text"),_Columns=require("../Column/Columns"),_Inline=require("../Inline/Inline"),_RoundButton=require("../RoundButton/RoundButton"),_PictogramButton=require("../PictogramButton/PictogramButton"),_Stack=require("../Stack/Stack"),_useOutsideClick=require("../../shared/useOutsideClick"),CustomContainer=(0,_styled.default)(_Container.Container,{target:"ekfryxy0",label:"CustomContainer"})(({theme,hideBorder})=>({...!hideBorder&&{border:`1px solid ${theme.values.color.border.primary.default}`},"&:has(textarea:focus-visible)":{outlineWidth:1,outlineStyle:"solid",outlineOffset:-1,outlineColor:theme.values.color.border.accent.default,boxShadow:theme.values.shadow.focusRing,"@media (-webkit-min-device-pixel-ratio:0)":{outlineColor:theme.values.color.border.accent.default}}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9tcHRUZXh0QXJlYVByb3BzIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IFByb21wdFRleHRBcmVhIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlTGlzdFByb3BzIH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdCB9IGZyb20gXCIuL0F1dG9jb21wbGV0ZUxpc3RcIjtcbmltcG9ydCB7XG4gIGdldExpc3RJdGVtSWQsXG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIHR5cGUgTGlzdEl0ZW1WYWx1ZSxcbn0gZnJvbSBcIi4vQ2F0ZWdvcnlMaXN0XCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHRcIjtcbmltcG9ydCB7IENvbHVtbiwgQ29sdW1ucyB9IGZyb20gXCIuLi9Db2x1bW4vQ29sdW1uc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgLi4uKCFoaWRlQm9yZGVyICYmIHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdH1gLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgbmFtZSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyA9IFtdLFxuICAgICAgdmFsdWUsXG4gICAgICBib3R0b21Ub29sYmFyID0geyBsZWZ0Q29udGVudDogbnVsbCwgcmlnaHRDb250ZW50OiBudWxsIH0sXG4gICAgICBpc1Byb2Nlc3NpbmcsXG4gICAgICBzZW5kQnV0dG9uUHJvcHMgPSB7XG4gICAgICAgIHR5cGU6IFwic3VibWl0XCIsXG4gICAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICB1c2VPdXRzaWRlQ2xpY2soXG4gICAgICBjb250YWluZXJSZWYsXG4gICAgICAoZXZ0KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICBldnQudGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgIWlzQ29sbGFwc2VkICYmIGlzTmF2QmFyVmFyaWFudFxuICAgICk7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICBldnQucmVsYXRlZFRhcmdldCAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbaXNOYXZCYXJWYXJpYW50LCBjb250YWluZXJSZWYsIHBvcnRhbENvbnRhaW5lcl0pO1xuXG4gICAgY29uc3QgZmxhdHRlbmVkTGlzdEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBsaXN0OiBGbGF0dGVuZWRMaXN0SXRlbVtdID0gW107XG5cbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgICAgICBsaXN0SXRlbS5pdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGxpc3QucHVzaCh7XG4gICAgICAgICAgICBjYXRlZ29yeTogbGlzdEl0ZW0uY2F0ZWdvcnksXG4gICAgICAgICAgICBpbmRleEluQ2F0ZWdvcnk6IGluZGV4LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBpZDogZ2V0TGlzdEl0ZW1JZChuYW1lLCBsaXN0SXRlbS5jYXRlZ29yeSwgaW5kZXgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtcywgbmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZSA9IChpbmRleDogbnVtYmVyLCBldnQ/OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZSh7IHZhbHVlOiBpdGVtVmFsdWUsIGNhdGVnb3J5LCBldnQsIGluZGV4IH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVMaXN0SXRlbUNsaWNrID0gKFxuICAgICAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgIGluZGV4SW5DYXRlZ29yeTogbnVtYmVyLFxuICAgICAgZXZ0PzogTW91c2VFdmVudFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgICAgbGlzdEl0ZW0uaW5kZXhJbkNhdGVnb3J5ID09PSBpbmRleEluQ2F0ZWdvcnlcbiAgICAgICk7XG5cbiAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXgsIGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUtleURvd246IEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgaWYgKGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgICAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuXG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShzZWxlY3RlZEluZGV4IC0gMSwgZXZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPCBmbGF0dGVuZWRMaXN0SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggKyAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgIH1cbiAgICAgIG9uQmx1cj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZVNlbmRCdXR0b25DbGljayA9IChldnQ6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiB7XG4gICAgICBzZW5kQnV0dG9uUHJvcHMub25DbGljaz8uKGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTGlzdEl0ZW0gPVxuICAgICAgc2VsZWN0ZWRJbmRleCAhPT0gLTEgPyBmbGF0dGVuZWRMaXN0SXRlbXNbc2VsZWN0ZWRJbmRleF0gOiBudWxsO1xuXG4gICAgY29uc3QgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbSA9IGVtcHR5U3RhdGVUb3BSaWdodENvbnRlbnQgPyAoXG4gICAgICA8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclxuICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgID5cbiAgICAgICAgPFRleHQgY29sb3I9XCJ0ZXJ0aWFyeVwiPntlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50fTwvVGV4dD5cbiAgICAgIDwvU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IGNsZWFyQnV0dG9uRWxtID0gdmFsdWUgPyAoXG4gICAgICA8U3R5bGVkQ2xlYXJCdXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBpY29uPVwieC1jaXJjbGUtZmlsbGVkXCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTZW5kQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgYXJpYUF0dHJpYnV0ZXM9e3tcbiAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBpc1Byb2Nlc3NpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBcIlByb2Nlc3NpbmcgcXVlcnlcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiU3VibWl0IHF1ZXJ5XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyF2YWx1ZX1cbiAgICAgICAgICAgICAgICBpY29uPXtpc1Byb2Nlc3NpbmcgPyBcInN0b3AtZmlsbGVkXCIgOiBzZW5kQnV0dG9uUHJvcHMuaWNvbn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5saW5lPlxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICA8L0NvbHVtbnM+XG4gICAgICA8L0JveD5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJQcm9tcHRJbnB1dFwiXG4gICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgLy8gVHJhbnNsYXRpb24gZGlzYWJsZWQgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIGF1dG9jb21wbGV0ZSBsaXN0XG4gICAgICAgICAgdHJhbnNsYXRlPVwibm9cIlxuICAgICAgICA+XG4gICAgICAgICAgPFN0YWNrIHNwYWNlPVwic1wiPlxuICAgICAgICAgICAgPGRpdiByZWY9e3RleHRBcmVhQ29udGFpbmVyUmVmfT5cbiAgICAgICAgICAgICAgPEN1c3RvbUNvbnRhaW5lclxuICAgICAgICAgICAgICAgIGVsZXZhdGlvbj17MH1cbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM9e2lzQ29sbGFwc2VkID8gXCJ4c1wiIDogXCJtXCJ9XG4gICAgICAgICAgICAgICAgaGlkZUJvcmRlcj17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8UHJvbXB0VGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFFMmVUZXN0SWQ9e1xuICAgICAgICAgICAgICAgICAgICAgIGRhdGFFMmVUZXN0SWQgPyBgJHtkYXRhRTJlVGVzdElkfS1pbnB1dGAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17dGV4dEFyZWFSZWZ9XG4gICAgICAgICAgICAgICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgICAgICAgICAgICBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgICAgICAgICAgICBpc0NvbGxhcHNlZD17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7Y2xlYXJCdXR0b25FbG19XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB7Ym90dG9tVG9vbGJhckVsbX1cbiAgICAgICAgICAgICAgPC9DdXN0b21Db250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtoaW50RWxtfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxBdXRvY29tcGxldGVMaXN0XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zPXthdXRvY29tcGxldGVMaXN0SXRlbXN9XG4gICAgICAgICAgdHJpZ2dlclJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9XG4gICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICBpc09wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEZvb3Rlcj17YXV0b2NvbXBsZXRlTGlzdEZvb3Rlcn1cbiAgICAgICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgICAgICBvbkxpc3RJdGVtQ2xpY2s9e2hhbmRsZUxpc3RJdGVtQ2xpY2t9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVDd0IifQ== */"),StyledTextAreaContainer=(0,_styled.default)("div",{target:"ekfryxy1",label:"StyledTextAreaContainer"})({position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9tcHRUZXh0QXJlYVByb3BzIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IFByb21wdFRleHRBcmVhIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlTGlzdFByb3BzIH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdCB9IGZyb20gXCIuL0F1dG9jb21wbGV0ZUxpc3RcIjtcbmltcG9ydCB7XG4gIGdldExpc3RJdGVtSWQsXG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIHR5cGUgTGlzdEl0ZW1WYWx1ZSxcbn0gZnJvbSBcIi4vQ2F0ZWdvcnlMaXN0XCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHRcIjtcbmltcG9ydCB7IENvbHVtbiwgQ29sdW1ucyB9IGZyb20gXCIuLi9Db2x1bW4vQ29sdW1uc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgLi4uKCFoaWRlQm9yZGVyICYmIHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdH1gLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgbmFtZSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyA9IFtdLFxuICAgICAgdmFsdWUsXG4gICAgICBib3R0b21Ub29sYmFyID0geyBsZWZ0Q29udGVudDogbnVsbCwgcmlnaHRDb250ZW50OiBudWxsIH0sXG4gICAgICBpc1Byb2Nlc3NpbmcsXG4gICAgICBzZW5kQnV0dG9uUHJvcHMgPSB7XG4gICAgICAgIHR5cGU6IFwic3VibWl0XCIsXG4gICAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICB1c2VPdXRzaWRlQ2xpY2soXG4gICAgICBjb250YWluZXJSZWYsXG4gICAgICAoZXZ0KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICBldnQudGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgIWlzQ29sbGFwc2VkICYmIGlzTmF2QmFyVmFyaWFudFxuICAgICk7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICBldnQucmVsYXRlZFRhcmdldCAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbaXNOYXZCYXJWYXJpYW50LCBjb250YWluZXJSZWYsIHBvcnRhbENvbnRhaW5lcl0pO1xuXG4gICAgY29uc3QgZmxhdHRlbmVkTGlzdEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBsaXN0OiBGbGF0dGVuZWRMaXN0SXRlbVtdID0gW107XG5cbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgICAgICBsaXN0SXRlbS5pdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGxpc3QucHVzaCh7XG4gICAgICAgICAgICBjYXRlZ29yeTogbGlzdEl0ZW0uY2F0ZWdvcnksXG4gICAgICAgICAgICBpbmRleEluQ2F0ZWdvcnk6IGluZGV4LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBpZDogZ2V0TGlzdEl0ZW1JZChuYW1lLCBsaXN0SXRlbS5jYXRlZ29yeSwgaW5kZXgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtcywgbmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZSA9IChpbmRleDogbnVtYmVyLCBldnQ/OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZSh7IHZhbHVlOiBpdGVtVmFsdWUsIGNhdGVnb3J5LCBldnQsIGluZGV4IH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVMaXN0SXRlbUNsaWNrID0gKFxuICAgICAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgIGluZGV4SW5DYXRlZ29yeTogbnVtYmVyLFxuICAgICAgZXZ0PzogTW91c2VFdmVudFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgICAgbGlzdEl0ZW0uaW5kZXhJbkNhdGVnb3J5ID09PSBpbmRleEluQ2F0ZWdvcnlcbiAgICAgICk7XG5cbiAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXgsIGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUtleURvd246IEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgaWYgKGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgICAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuXG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShzZWxlY3RlZEluZGV4IC0gMSwgZXZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPCBmbGF0dGVuZWRMaXN0SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggKyAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgIH1cbiAgICAgIG9uQmx1cj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZVNlbmRCdXR0b25DbGljayA9IChldnQ6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiB7XG4gICAgICBzZW5kQnV0dG9uUHJvcHMub25DbGljaz8uKGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTGlzdEl0ZW0gPVxuICAgICAgc2VsZWN0ZWRJbmRleCAhPT0gLTEgPyBmbGF0dGVuZWRMaXN0SXRlbXNbc2VsZWN0ZWRJbmRleF0gOiBudWxsO1xuXG4gICAgY29uc3QgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbSA9IGVtcHR5U3RhdGVUb3BSaWdodENvbnRlbnQgPyAoXG4gICAgICA8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclxuICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgID5cbiAgICAgICAgPFRleHQgY29sb3I9XCJ0ZXJ0aWFyeVwiPntlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50fTwvVGV4dD5cbiAgICAgIDwvU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IGNsZWFyQnV0dG9uRWxtID0gdmFsdWUgPyAoXG4gICAgICA8U3R5bGVkQ2xlYXJCdXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBpY29uPVwieC1jaXJjbGUtZmlsbGVkXCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTZW5kQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgYXJpYUF0dHJpYnV0ZXM9e3tcbiAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBpc1Byb2Nlc3NpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBcIlByb2Nlc3NpbmcgcXVlcnlcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiU3VibWl0IHF1ZXJ5XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyF2YWx1ZX1cbiAgICAgICAgICAgICAgICBpY29uPXtpc1Byb2Nlc3NpbmcgPyBcInN0b3AtZmlsbGVkXCIgOiBzZW5kQnV0dG9uUHJvcHMuaWNvbn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5saW5lPlxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICA8L0NvbHVtbnM+XG4gICAgICA8L0JveD5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJQcm9tcHRJbnB1dFwiXG4gICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgLy8gVHJhbnNsYXRpb24gZGlzYWJsZWQgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIGF1dG9jb21wbGV0ZSBsaXN0XG4gICAgICAgICAgdHJhbnNsYXRlPVwibm9cIlxuICAgICAgICA+XG4gICAgICAgICAgPFN0YWNrIHNwYWNlPVwic1wiPlxuICAgICAgICAgICAgPGRpdiByZWY9e3RleHRBcmVhQ29udGFpbmVyUmVmfT5cbiAgICAgICAgICAgICAgPEN1c3RvbUNvbnRhaW5lclxuICAgICAgICAgICAgICAgIGVsZXZhdGlvbj17MH1cbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM9e2lzQ29sbGFwc2VkID8gXCJ4c1wiIDogXCJtXCJ9XG4gICAgICAgICAgICAgICAgaGlkZUJvcmRlcj17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8UHJvbXB0VGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFFMmVUZXN0SWQ9e1xuICAgICAgICAgICAgICAgICAgICAgIGRhdGFFMmVUZXN0SWQgPyBgJHtkYXRhRTJlVGVzdElkfS1pbnB1dGAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17dGV4dEFyZWFSZWZ9XG4gICAgICAgICAgICAgICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgICAgICAgICAgICBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgICAgICAgICAgICBpc0NvbGxhcHNlZD17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7Y2xlYXJCdXR0b25FbG19XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB7Ym90dG9tVG9vbGJhckVsbX1cbiAgICAgICAgICAgICAgPC9DdXN0b21Db250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtoaW50RWxtfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxBdXRvY29tcGxldGVMaXN0XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zPXthdXRvY29tcGxldGVMaXN0SXRlbXN9XG4gICAgICAgICAgdHJpZ2dlclJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9XG4gICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICBpc09wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEZvb3Rlcj17YXV0b2NvbXBsZXRlTGlzdEZvb3Rlcn1cbiAgICAgICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgICAgICBvbkxpc3RJdGVtQ2xpY2s9e2hhbmRsZUxpc3RJdGVtQ2xpY2t9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBEZ0MifQ== */"),StyledEmptyStateTopRightContentContainer=(0,_styled.default)("div",{target:"ekfryxy2",label:"StyledEmptyStateTopRightContentContainer"})(({theme,isNavBarVariant})=>({position:"absolute",top:isNavBarVariant?theme.variables.size.spacing.xxs:theme.variables.size.spacing.m,right:theme.variables.size.spacing.m,userSelect:"none",pointerEvents:"none"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9tcHRUZXh0QXJlYVByb3BzIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IFByb21wdFRleHRBcmVhIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlTGlzdFByb3BzIH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdCB9IGZyb20gXCIuL0F1dG9jb21wbGV0ZUxpc3RcIjtcbmltcG9ydCB7XG4gIGdldExpc3RJdGVtSWQsXG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIHR5cGUgTGlzdEl0ZW1WYWx1ZSxcbn0gZnJvbSBcIi4vQ2F0ZWdvcnlMaXN0XCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHRcIjtcbmltcG9ydCB7IENvbHVtbiwgQ29sdW1ucyB9IGZyb20gXCIuLi9Db2x1bW4vQ29sdW1uc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgLi4uKCFoaWRlQm9yZGVyICYmIHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdH1gLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgbmFtZSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyA9IFtdLFxuICAgICAgdmFsdWUsXG4gICAgICBib3R0b21Ub29sYmFyID0geyBsZWZ0Q29udGVudDogbnVsbCwgcmlnaHRDb250ZW50OiBudWxsIH0sXG4gICAgICBpc1Byb2Nlc3NpbmcsXG4gICAgICBzZW5kQnV0dG9uUHJvcHMgPSB7XG4gICAgICAgIHR5cGU6IFwic3VibWl0XCIsXG4gICAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICB1c2VPdXRzaWRlQ2xpY2soXG4gICAgICBjb250YWluZXJSZWYsXG4gICAgICAoZXZ0KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICBldnQudGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgIWlzQ29sbGFwc2VkICYmIGlzTmF2QmFyVmFyaWFudFxuICAgICk7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICBldnQucmVsYXRlZFRhcmdldCAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbaXNOYXZCYXJWYXJpYW50LCBjb250YWluZXJSZWYsIHBvcnRhbENvbnRhaW5lcl0pO1xuXG4gICAgY29uc3QgZmxhdHRlbmVkTGlzdEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBsaXN0OiBGbGF0dGVuZWRMaXN0SXRlbVtdID0gW107XG5cbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgICAgICBsaXN0SXRlbS5pdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGxpc3QucHVzaCh7XG4gICAgICAgICAgICBjYXRlZ29yeTogbGlzdEl0ZW0uY2F0ZWdvcnksXG4gICAgICAgICAgICBpbmRleEluQ2F0ZWdvcnk6IGluZGV4LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBpZDogZ2V0TGlzdEl0ZW1JZChuYW1lLCBsaXN0SXRlbS5jYXRlZ29yeSwgaW5kZXgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtcywgbmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZSA9IChpbmRleDogbnVtYmVyLCBldnQ/OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZSh7IHZhbHVlOiBpdGVtVmFsdWUsIGNhdGVnb3J5LCBldnQsIGluZGV4IH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVMaXN0SXRlbUNsaWNrID0gKFxuICAgICAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgIGluZGV4SW5DYXRlZ29yeTogbnVtYmVyLFxuICAgICAgZXZ0PzogTW91c2VFdmVudFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgICAgbGlzdEl0ZW0uaW5kZXhJbkNhdGVnb3J5ID09PSBpbmRleEluQ2F0ZWdvcnlcbiAgICAgICk7XG5cbiAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXgsIGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUtleURvd246IEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgaWYgKGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgICAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuXG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShzZWxlY3RlZEluZGV4IC0gMSwgZXZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPCBmbGF0dGVuZWRMaXN0SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggKyAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgIH1cbiAgICAgIG9uQmx1cj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZVNlbmRCdXR0b25DbGljayA9IChldnQ6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiB7XG4gICAgICBzZW5kQnV0dG9uUHJvcHMub25DbGljaz8uKGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTGlzdEl0ZW0gPVxuICAgICAgc2VsZWN0ZWRJbmRleCAhPT0gLTEgPyBmbGF0dGVuZWRMaXN0SXRlbXNbc2VsZWN0ZWRJbmRleF0gOiBudWxsO1xuXG4gICAgY29uc3QgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbSA9IGVtcHR5U3RhdGVUb3BSaWdodENvbnRlbnQgPyAoXG4gICAgICA8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclxuICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgID5cbiAgICAgICAgPFRleHQgY29sb3I9XCJ0ZXJ0aWFyeVwiPntlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50fTwvVGV4dD5cbiAgICAgIDwvU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IGNsZWFyQnV0dG9uRWxtID0gdmFsdWUgPyAoXG4gICAgICA8U3R5bGVkQ2xlYXJCdXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBpY29uPVwieC1jaXJjbGUtZmlsbGVkXCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTZW5kQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgYXJpYUF0dHJpYnV0ZXM9e3tcbiAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBpc1Byb2Nlc3NpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBcIlByb2Nlc3NpbmcgcXVlcnlcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiU3VibWl0IHF1ZXJ5XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyF2YWx1ZX1cbiAgICAgICAgICAgICAgICBpY29uPXtpc1Byb2Nlc3NpbmcgPyBcInN0b3AtZmlsbGVkXCIgOiBzZW5kQnV0dG9uUHJvcHMuaWNvbn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5saW5lPlxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICA8L0NvbHVtbnM+XG4gICAgICA8L0JveD5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJQcm9tcHRJbnB1dFwiXG4gICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgLy8gVHJhbnNsYXRpb24gZGlzYWJsZWQgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIGF1dG9jb21wbGV0ZSBsaXN0XG4gICAgICAgICAgdHJhbnNsYXRlPVwibm9cIlxuICAgICAgICA+XG4gICAgICAgICAgPFN0YWNrIHNwYWNlPVwic1wiPlxuICAgICAgICAgICAgPGRpdiByZWY9e3RleHRBcmVhQ29udGFpbmVyUmVmfT5cbiAgICAgICAgICAgICAgPEN1c3RvbUNvbnRhaW5lclxuICAgICAgICAgICAgICAgIGVsZXZhdGlvbj17MH1cbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM9e2lzQ29sbGFwc2VkID8gXCJ4c1wiIDogXCJtXCJ9XG4gICAgICAgICAgICAgICAgaGlkZUJvcmRlcj17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8UHJvbXB0VGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFFMmVUZXN0SWQ9e1xuICAgICAgICAgICAgICAgICAgICAgIGRhdGFFMmVUZXN0SWQgPyBgJHtkYXRhRTJlVGVzdElkfS1pbnB1dGAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17dGV4dEFyZWFSZWZ9XG4gICAgICAgICAgICAgICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgICAgICAgICAgICBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgICAgICAgICAgICBpc0NvbGxhcHNlZD17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7Y2xlYXJCdXR0b25FbG19XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB7Ym90dG9tVG9vbGJhckVsbX1cbiAgICAgICAgICAgICAgPC9DdXN0b21Db250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtoaW50RWxtfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxBdXRvY29tcGxldGVMaXN0XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zPXthdXRvY29tcGxldGVMaXN0SXRlbXN9XG4gICAgICAgICAgdHJpZ2dlclJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9XG4gICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICBpc09wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEZvb3Rlcj17YXV0b2NvbXBsZXRlTGlzdEZvb3Rlcn1cbiAgICAgICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgICAgICBvbkxpc3RJdGVtQ2xpY2s9e2hhbmRsZUxpc3RJdGVtQ2xpY2t9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9FRSJ9 */"),StyledClearButton=(0,_styled.default)(_PictogramButton.PictogramButton,{target:"ekfryxy3",label:"StyledClearButton"})(({theme,isNavBarVariant})=>({position:"absolute",right:theme.variables.size.spacing.s,top:isNavBarVariant?0:theme.variables.size.spacing.s}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBSZWFjdCwge1xuICB1c2VSZWYsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUNhbGxiYWNrLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9tcHRUZXh0QXJlYVByb3BzIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IFByb21wdFRleHRBcmVhIH0gZnJvbSBcIi4vUHJvbXB0VGV4dEFyZWFcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCIuLi9Db250YWluZXJcIjtcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlTGlzdFByb3BzIH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlTGlzdCB9IGZyb20gXCIuL0F1dG9jb21wbGV0ZUxpc3RcIjtcbmltcG9ydCB7XG4gIGdldExpc3RJdGVtSWQsXG4gIHR5cGUgRmxhdHRlbmVkTGlzdEl0ZW0sXG4gIHR5cGUgTGlzdEl0ZW1WYWx1ZSxcbn0gZnJvbSBcIi4vQ2F0ZWdvcnlMaXN0XCI7XG5pbXBvcnQgeyBCb3ggfSBmcm9tIFwiLi4vQm94L0JveFwiO1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gXCIuLi9UeXBvZ3JhcGh5L1RleHRcIjtcbmltcG9ydCB7IENvbHVtbiwgQ29sdW1ucyB9IGZyb20gXCIuLi9Db2x1bW4vQ29sdW1uc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgLi4uKCFoaWRlQm9yZGVyICYmIHtcbiAgICAgIGJvcmRlcjogYDFweCBzb2xpZCAgJHt0aGVtZS52YWx1ZXMuY29sb3IuYm9yZGVyLnByaW1hcnkuZGVmYXVsdH1gLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIFwiZGF0YS1lMmUtdGVzdC1pZFwiOiBkYXRhRTJlVGVzdElkLFxuICAgICAgbmFtZSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyA9IFtdLFxuICAgICAgdmFsdWUsXG4gICAgICBib3R0b21Ub29sYmFyID0geyBsZWZ0Q29udGVudDogbnVsbCwgcmlnaHRDb250ZW50OiBudWxsIH0sXG4gICAgICBpc1Byb2Nlc3NpbmcsXG4gICAgICBzZW5kQnV0dG9uUHJvcHMgPSB7XG4gICAgICAgIHR5cGU6IFwic3VibWl0XCIsXG4gICAgICAgIGljb246IFwiYXJyb3ctdXBcIixcbiAgICAgIH0sXG4gICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyLFxuICAgICAgY2xlYXJCdXR0b25BcmlhTGFiZWwgPSBcIkNsZWFyIGlucHV0XCIsXG4gICAgICBoaW50LFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCxcbiAgICAgIGlzTmF2QmFyVmFyaWFudCxcbiAgICAgIHBvcnRhbENvbnRhaW5lcixcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb25Db21wbGV0ZSxcbiAgICAgIG9uQ2xlYXIsXG4gICAgICBvbkVudGVyS2V5LFxuICAgICAgb25Gb2N1cyxcbiAgICAgIG9uQmx1cixcbiAgICAgIG9uS2V5RG93bixcbiAgICAgIC4uLnJlc3RcbiAgICB9OiBQcm9tcHRJbnB1dFByb3BzLFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxUZXh0QXJlYUVsZW1lbnQ+XG4gICk6IFJlYWN0RWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCB0ZXh0QXJlYUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaW50ZXJuYWxSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgW3NlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICAgIGNvbnN0IFtpc0NvbGxhcHNlZCwgc2V0SXNDb2xsYXBzZWRdID0gdXNlU3RhdGUoaXNOYXZCYXJWYXJpYW50KTtcbiAgICBjb25zdCB1c2VyVHlwZWRRdWVyeSA9IHVzZVJlZihcIlwiKTtcbiAgICBjb25zdCBbaXNBdXRvY29tcGxldGVMaXN0T3Blbiwgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgdGV4dEFyZWFSZWYgPSByZWYgfHwgaW50ZXJuYWxSZWY7XG5cbiAgICB1c2VPdXRzaWRlQ2xpY2soXG4gICAgICBjb250YWluZXJSZWYsXG4gICAgICAoZXZ0KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC50YXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICBldnQudGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgIWlzQ29sbGFwc2VkICYmIGlzTmF2QmFyVmFyaWFudFxuICAgICk7XG5cbiAgICBjb25zdCBjbG9zZUF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNlbGVjdGVkSW5kZXgoLTEpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9wZW5BdXRvY29tcGxldGVMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgc2V0SXNBdXRvY29tcGxldGVMaXN0T3Blbih0cnVlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgICB9XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtc10pO1xuXG4gICAgY29uc3QgYWNjZXB0VGV4dFNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICAgIHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQgPSB2YWx1ZTtcbiAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UodmFsdWUubGVuZ3RoLCB2YWx1ZS5sZW5ndGgpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5sZW5ndGggJiYgIWlzQ29sbGFwc2VkKSB7XG4gICAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXMsXG4gICAgICBvcGVuQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCxcbiAgICAgIGlzQ29sbGFwc2VkLFxuICAgIF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCAmJiBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuKSB7XG4gICAgICAgIHRleHRBcmVhUmVmLmN1cnJlbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudC5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgW3ZhbHVlLCB0ZXh0QXJlYVJlZiwgaXNBdXRvY29tcGxldGVMaXN0T3Blbl0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHdoZW4gZm9jdXMgbGVhdmVzIHRoZSBjb250YWluZXIgdG8gY29sbGFwc2UgaXRcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgbGV0IGhhbmRsZXI6IChldnQ6IEZvY3VzRXZlbnQpID0+IHZvaWQ7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBjb250YWluZXJSZWYuY3VycmVudDtcblxuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCAmJiBjb250YWluZXIpIHtcbiAgICAgICAgaGFuZGxlciA9IChldnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhY29udGFpbmVyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgICFwb3J0YWxDb250YWluZXI/LmNvbnRhaW5zKGV2dC5yZWxhdGVkVGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICBldnQucmVsYXRlZFRhcmdldCAhPT0gbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c291dFwiLCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LCBbaXNOYXZCYXJWYXJpYW50LCBjb250YWluZXJSZWYsIHBvcnRhbENvbnRhaW5lcl0pO1xuXG4gICAgY29uc3QgZmxhdHRlbmVkTGlzdEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBsaXN0OiBGbGF0dGVuZWRMaXN0SXRlbVtdID0gW107XG5cbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcy5mb3JFYWNoKChsaXN0SXRlbSkgPT4ge1xuICAgICAgICBsaXN0SXRlbS5pdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGxpc3QucHVzaCh7XG4gICAgICAgICAgICBjYXRlZ29yeTogbGlzdEl0ZW0uY2F0ZWdvcnksXG4gICAgICAgICAgICBpbmRleEluQ2F0ZWdvcnk6IGluZGV4LFxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICBpZDogZ2V0TGlzdEl0ZW1JZChuYW1lLCBsaXN0SXRlbS5jYXRlZ29yeSwgaW5kZXgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfSwgW2F1dG9jb21wbGV0ZUxpc3RJdGVtcywgbmFtZV0pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZSA9IChpbmRleDogbnVtYmVyLCBldnQ/OiBTeW50aGV0aWNFdmVudCkgPT4ge1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleChpbmRleCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHsgY2F0ZWdvcnksIHZhbHVlOiBpdGVtVmFsdWUgfSA9IGZsYXR0ZW5lZExpc3RJdGVtc1tpbmRleF07XG5cbiAgICAgICAgb25Db21wbGV0ZSh7IHZhbHVlOiBpdGVtVmFsdWUsIGNhdGVnb3J5LCBldnQsIGluZGV4IH0pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVMaXN0SXRlbUNsaWNrID0gKFxuICAgICAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgIGluZGV4SW5DYXRlZ29yeTogbnVtYmVyLFxuICAgICAgZXZ0PzogTW91c2VFdmVudFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBmbGF0dGVuZWRMaXN0SXRlbXMuZmluZEluZGV4KFxuICAgICAgICAobGlzdEl0ZW0pID0+XG4gICAgICAgICAgbGlzdEl0ZW0uY2F0ZWdvcnkgPT09IGNhdGVnb3J5ICYmXG4gICAgICAgICAgbGlzdEl0ZW0uaW5kZXhJbkNhdGVnb3J5ID09PSBpbmRleEluQ2F0ZWdvcnlcbiAgICAgICk7XG5cbiAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2UoaW5kZXgsIGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUtleURvd246IEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgaWYgKGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0KCk7XG4gICAgICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgICAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuXG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgICAgICAgICAgIHNldElzQ29sbGFwc2VkKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGFjY2VwdFRleHRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShzZWxlY3RlZEluZGV4IC0gMSwgZXZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPCBmbGF0dGVuZWRMaXN0SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggKyAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3dpdGNoIChldnQua2V5KSB7XG4gICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgb25DbGVhcj8uKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgIGlmICghZXZ0LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBvbkVudGVyS2V5Py4oKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG9uS2V5RG93bj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxUZXh0QXJlYUVsZW1lbnQ+ID0gKGV2dCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IGV2dC50YXJnZXQudmFsdWU7XG4gICAgICBvbkNoYW5nZShldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBzZXRJc0NvbGxhcHNlZChmYWxzZSk7XG4gICAgICBvbkZvY3VzPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAodmFsdWUgIT09IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQpIHtcbiAgICAgICAgb25Db21wbGV0ZT8uKHsgdmFsdWU6IHVzZXJUeXBlZFF1ZXJ5LmN1cnJlbnQsIGV2dCB9KTtcbiAgICAgIH1cbiAgICAgIG9uQmx1cj8uKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZVNlbmRCdXR0b25DbGljayA9IChldnQ6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KSA9PiB7XG4gICAgICBzZW5kQnV0dG9uUHJvcHMub25DbGljaz8uKGV2dCk7XG4gICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIGlmIChpc05hdkJhclZhcmlhbnQpIHtcbiAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTGlzdEl0ZW0gPVxuICAgICAgc2VsZWN0ZWRJbmRleCAhPT0gLTEgPyBmbGF0dGVuZWRMaXN0SXRlbXNbc2VsZWN0ZWRJbmRleF0gOiBudWxsO1xuXG4gICAgY29uc3QgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbSA9IGVtcHR5U3RhdGVUb3BSaWdodENvbnRlbnQgPyAoXG4gICAgICA8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclxuICAgICAgICBpc05hdkJhclZhcmlhbnQ9e2lzTmF2QmFyVmFyaWFudH1cbiAgICAgID5cbiAgICAgICAgPFRleHQgY29sb3I9XCJ0ZXJ0aWFyeVwiPntlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50fTwvVGV4dD5cbiAgICAgIDwvU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IGNsZWFyQnV0dG9uRWxtID0gdmFsdWUgPyAoXG4gICAgICA8U3R5bGVkQ2xlYXJCdXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICBpY29uPVwieC1jaXJjbGUtZmlsbGVkXCJcbiAgICAgICAgYXJpYS1sYWJlbD17Y2xlYXJCdXR0b25BcmlhTGFiZWx9XG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICBvblBvaW50ZXJEb3duPXsoZXZ0OiBhbnkpID0+IGV2dC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICBvbkNsaWNrPXtvbkNsZWFyfVxuICAgICAgLz5cbiAgICApIDogKFxuICAgICAgZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudEVsbVxuICAgICk7XG5cbiAgICBjb25zdCBoaW50RWxtID0gISFoaW50ICYmIChcbiAgICAgIDxJbmxpbmUgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICA8VGV4dCBzaXplPVwic1wiIGNvbG9yPVwidGVydGlhcnlcIj5cbiAgICAgICAgICB7aGludH1cbiAgICAgICAgPC9UZXh0PlxuICAgICAgPC9JbmxpbmU+XG4gICAgKTtcblxuICAgIGNvbnN0IGJvdHRvbVRvb2xiYXJFbG0gPSAhaXNDb2xsYXBzZWQgJiYgKFxuICAgICAgPEJveCBzcGFjZT1cIm1cIiBkYXRhLWUyZS10ZXN0LWlkPVwiYm90dG9tVG9vbGJhclwiPlxuICAgICAgICA8Q29sdW1ucyBnYXA9XCJzXCIgYWxpZ25JdGVtcz1cInNwYWNlQmV0d2VlblwiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgPENvbHVtbj57Ym90dG9tVG9vbGJhci5sZWZ0Q29udGVudH08L0NvbHVtbj5cbiAgICAgICAgICA8Q29sdW1uIHNpemU9XCJuYXJyb3dcIj5cbiAgICAgICAgICAgIDxJbmxpbmUgc3BhY2U9XCJ4c1wiIHZBbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyLnJpZ2h0Q29udGVudH1cbiAgICAgICAgICAgICAgPFJvdW5kQnV0dG9uXG4gICAgICAgICAgICAgICAgey4uLnNlbmRCdXR0b25Qcm9wc31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTZW5kQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgYXJpYUF0dHJpYnV0ZXM9e3tcbiAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBpc1Byb2Nlc3NpbmdcbiAgICAgICAgICAgICAgICAgICAgPyBcIlByb2Nlc3NpbmcgcXVlcnlcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiU3VibWl0IHF1ZXJ5XCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyF2YWx1ZX1cbiAgICAgICAgICAgICAgICBpY29uPXtpc1Byb2Nlc3NpbmcgPyBcInN0b3AtZmlsbGVkXCIgOiBzZW5kQnV0dG9uUHJvcHMuaWNvbn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvSW5saW5lPlxuICAgICAgICAgIDwvQ29sdW1uPlxuICAgICAgICA8L0NvbHVtbnM+XG4gICAgICA8L0JveD5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgICAgIGRhdGEtZHMtaWQ9XCJQcm9tcHRJbnB1dFwiXG4gICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgLy8gVHJhbnNsYXRpb24gZGlzYWJsZWQgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIGF1dG9jb21wbGV0ZSBsaXN0XG4gICAgICAgICAgdHJhbnNsYXRlPVwibm9cIlxuICAgICAgICA+XG4gICAgICAgICAgPFN0YWNrIHNwYWNlPVwic1wiPlxuICAgICAgICAgICAgPGRpdiByZWY9e3RleHRBcmVhQ29udGFpbmVyUmVmfT5cbiAgICAgICAgICAgICAgPEN1c3RvbUNvbnRhaW5lclxuICAgICAgICAgICAgICAgIGVsZXZhdGlvbj17MH1cbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM9e2lzQ29sbGFwc2VkID8gXCJ4c1wiIDogXCJtXCJ9XG4gICAgICAgICAgICAgICAgaGlkZUJvcmRlcj17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U3R5bGVkVGV4dEFyZWFDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8UHJvbXB0VGV4dEFyZWFcbiAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFFMmVUZXN0SWQ9e1xuICAgICAgICAgICAgICAgICAgICAgIGRhdGFFMmVUZXN0SWQgPyBgJHtkYXRhRTJlVGVzdElkfS1pbnB1dGAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17dGV4dEFyZWFSZWZ9XG4gICAgICAgICAgICAgICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgICAgICAgICAgICBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuPXtpc0F1dG9jb21wbGV0ZUxpc3RPcGVufVxuICAgICAgICAgICAgICAgICAgICBpc0NvbGxhcHNlZD17aXNDb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e2hhbmRsZUZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7Y2xlYXJCdXR0b25FbG19XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB7Ym90dG9tVG9vbGJhckVsbX1cbiAgICAgICAgICAgICAgPC9DdXN0b21Db250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtoaW50RWxtfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxBdXRvY29tcGxldGVMaXN0XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zPXthdXRvY29tcGxldGVMaXN0SXRlbXN9XG4gICAgICAgICAgdHJpZ2dlclJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9XG4gICAgICAgICAgc2VsZWN0ZWRMaXN0SXRlbT17c2VsZWN0ZWRMaXN0SXRlbX1cbiAgICAgICAgICBpc09wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgYXV0b2NvbXBsZXRlTGlzdEZvb3Rlcj17YXV0b2NvbXBsZXRlTGlzdEZvb3Rlcn1cbiAgICAgICAgICBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn1cbiAgICAgICAgICBvbkxpc3RJdGVtQ2xpY2s9e2hhbmRsZUxpc3RJdGVtQ2xpY2t9XG4gICAgICAgIC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1GMEIifQ== */"),PromptInput=(0,_react.forwardRef)(({"data-e2e-test-id":dataE2eTestId,name,autocompleteListItems=[],value,bottomToolbar={leftContent:null,rightContent:null},isProcessing,sendButtonProps={type:"submit",icon:"arrow-up"},autocompleteListFooter,clearButtonAriaLabel="Clear input",hint,emptyStateTopRightContent,isNavBarVariant,portalContainer,onChange,onComplete,onClear,onEnterKey,onFocus,onBlur,onKeyDown,...rest},ref)=>{let containerRef=(0,_react.useRef)(null),textAreaContainerRef=(0,_react.useRef)(null),internalRef=(0,_react.useRef)(null),[selectedIndex,setSelectedIndex]=(0,_react.useState)(-1),[isCollapsed,setIsCollapsed]=(0,_react.useState)(isNavBarVariant),userTypedQuery=(0,_react.useRef)(""),[isAutocompleteListOpen,setIsAutocompleteListOpen]=(0,_react.useState)(!1),textAreaRef=ref||internalRef;(0,_useOutsideClick.useOutsideClick)(containerRef,evt=>{containerRef.current.contains(evt.target)||portalContainer?.contains(evt.target)||null===evt.target||setIsCollapsed(!0)},!isCollapsed&&isNavBarVariant);let closeAutocompleteList=(0,_react.useCallback)(()=>{setIsAutocompleteListOpen(!1),setSelectedIndex(-1)},[]),openAutocompleteList=(0,_react.useCallback)(()=>{autocompleteListItems.length&&(setIsAutocompleteListOpen(!0),setSelectedIndex(-1))},[autocompleteListItems]),acceptTextSelection=()=>{userTypedQuery.current=value,textAreaRef.current.setSelectionRange(value.length,value.length)};(0,_react.useEffect)(()=>{autocompleteListItems.length&&!isCollapsed?openAutocompleteList():closeAutocompleteList()},[autocompleteListItems,openAutocompleteList,closeAutocompleteList,isCollapsed]),(0,_react.useEffect)(()=>{value&&value!==userTypedQuery.current&&isAutocompleteListOpen&&textAreaRef.current.setSelectionRange(userTypedQuery.current.length,value.length)},[value,textAreaRef,isAutocompleteListOpen]),(0,_react.useEffect)(()=>{let handler,container=containerRef.current;return isNavBarVariant&&container&&(handler=evt=>{containerRef.current.contains(evt.relatedTarget)||portalContainer?.contains(evt.relatedTarget)||null===evt.relatedTarget||setIsCollapsed(!0)},window.addEventListener("focusout",handler)),()=>{container&&window.removeEventListener("focusout",handler)}},[isNavBarVariant,containerRef,portalContainer]);let flattenedListItems=(0,_react.useMemo)(()=>{let list=[];return autocompleteListItems.forEach(listItem=>{listItem.items.forEach((item,index)=>{list.push({category:listItem.category,indexInCategory:index,value:item.value,id:(0,_CategoryList.getListItemId)(name,listItem.category,index)})})}),list},[autocompleteListItems,name]),handleSelectedIndexChange=(index,evt)=>{if(setSelectedIndex(index),-1!==index){let{category,value:itemValue}=flattenedListItems[index];onComplete({value:itemValue,category,evt,index})}},selectedListItem=-1!==selectedIndex?flattenedListItems[selectedIndex]:null,emptyStateTopRightContentElm=emptyStateTopRightContent?_react.default.createElement(StyledEmptyStateTopRightContentContainer,{isNavBarVariant:isNavBarVariant},_react.default.createElement(_Text.Text,{color:"tertiary"},emptyStateTopRightContent)):null,clearButtonElm=value?_react.default.createElement(StyledClearButton,{size:"s",icon:"x-circle-filled","aria-label":clearButtonAriaLabel,isNavBarVariant:isNavBarVariant,onPointerDown:evt=>evt.preventDefault(),onClick:onClear}):emptyStateTopRightContentElm,hintElm=!!hint&&_react.default.createElement(_Inline.Inline,{alignItems:"center"},_react.default.createElement(_Text.Text,{size:"s",color:"tertiary"},hint)),bottomToolbarElm=!isCollapsed&&_react.default.createElement(_Box.Box,{space:"m","data-e2e-test-id":"bottomToolbar"},_react.default.createElement(_Columns.Columns,{gap:"s",alignItems:"spaceBetween",vAlignItems:"center"},_react.default.createElement(_Columns.Column,null,bottomToolbar.leftContent),_react.default.createElement(_Columns.Column,{size:"narrow"},_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center"},bottomToolbar.rightContent,_react.default.createElement(_RoundButton.RoundButton,{...sendButtonProps,onClick:evt=>{sendButtonProps.onClick?.(evt),closeAutocompleteList(),isNavBarVariant&&setIsCollapsed(!0)},ariaAttributes:{"aria-label":isProcessing?"Processing query":"Submit query"},variant:"primary",disabled:!value,icon:isProcessing?"stop-filled":sendButtonProps.icon})))));return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement("div",{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"PromptInput",ref:containerRef,translate:"no"},_react.default.createElement(_Stack.Stack,{space:"s"},_react.default.createElement("div",{ref:textAreaContainerRef},_react.default.createElement(CustomContainer,{elevation:0,borderRadius:isCollapsed?"xs":"m",hideBorder:isCollapsed},_react.default.createElement(StyledTextAreaContainer,null,_react.default.createElement(_PromptTextArea.PromptTextArea,{...rest,dataE2eTestId:dataE2eTestId?`${dataE2eTestId}-input`:void 0,name:name,value:value,ref:textAreaRef,isNavBarVariant:isNavBarVariant,selectedListItem:selectedListItem,isAutocompleteListOpen:isAutocompleteListOpen,isCollapsed:isCollapsed,onFocus:evt=>{setIsCollapsed(!1),onFocus?.(evt)},onBlur:evt=>{value!==userTypedQuery.current&&onComplete?.({value:userTypedQuery.current,evt}),onBlur?.(evt)},onChange:evt=>{userTypedQuery.current=evt.target.value,onChange(evt)},onKeyDown:evt=>{if(isAutocompleteListOpen)switch(evt.key){case"Escape":closeAutocompleteList(),onComplete({value:userTypedQuery.current,evt}),isNavBarVariant&&setIsCollapsed(!0);break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),closeAutocompleteList(),acceptTextSelection(),value&&(onEnterKey?.(),isNavBarVariant&&setIsCollapsed(!0)));break;case" ":acceptTextSelection();break;case"ArrowUp":evt.preventDefault(),selectedIndex>-1&&handleSelectedIndexChange(selectedIndex-1,evt);break;case"ArrowDown":evt.preventDefault(),selectedIndex<flattenedListItems.length-1&&handleSelectedIndexChange(selectedIndex+1,evt)}else switch(evt.key){case"Escape":onClear?.();break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),value&&onEnterKey?.())}onKeyDown?.(evt)}}),clearButtonElm),bottomToolbarElm)),hintElm)),_react.default.createElement(_AutocompleteList.AutocompleteList,{name:name,value:value,autocompleteListItems:autocompleteListItems,triggerRef:textAreaContainerRef,selectedListItem:selectedListItem,isOpen:isAutocompleteListOpen,autocompleteListFooter:autocompleteListFooter,portalContainer:portalContainer,onListItemClick:(category,indexInCategory,evt)=>{handleSelectedIndexChange(flattenedListItems.findIndex(listItem=>listItem.category===category&&listItem.indexInCategory===indexInCategory),evt),closeAutocompleteList(),isNavBarVariant&&setIsCollapsed(!0)}}))});