@amboss/design-system 3.13.16 → 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.
Files changed (27) hide show
  1. package/build/cjs/components/InteractiveBox/InteractiveBox.d.ts +3 -5
  2. package/build/cjs/components/InteractiveBox/InteractiveBox.js +1 -1
  3. package/build/cjs/components/NavBar/DropdownTriggerButton.d.ts +6 -0
  4. package/build/cjs/components/NavBar/DropdownTriggerButton.js +1 -0
  5. package/build/cjs/components/NavBar/NavBar.d.ts +3 -0
  6. package/build/cjs/components/NavBar/NavBar.js +1 -1
  7. package/build/cjs/components/NavBar/TabButton.js +1 -1
  8. package/build/cjs/components/PromptInput/AutocompleteList.js +1 -1
  9. package/build/cjs/components/PromptInput/PromptInput.js +1 -1
  10. package/build/cjs/components/Tabs/Tabs.d.ts +2 -1
  11. package/build/cjs/components/Tabs/Tabs.js +1 -1
  12. package/build/cjs/components/Tooltip/TooltipContent.js +1 -1
  13. package/build/cjs/web-tokens/subNavigationTheme.json +78 -0
  14. package/build/esm/components/InteractiveBox/InteractiveBox.d.ts +3 -5
  15. package/build/esm/components/InteractiveBox/InteractiveBox.js +1 -1
  16. package/build/esm/components/NavBar/DropdownTriggerButton.d.ts +6 -0
  17. package/build/esm/components/NavBar/DropdownTriggerButton.js +1 -0
  18. package/build/esm/components/NavBar/NavBar.d.ts +3 -0
  19. package/build/esm/components/NavBar/NavBar.js +1 -1
  20. package/build/esm/components/NavBar/TabButton.js +1 -1
  21. package/build/esm/components/PromptInput/AutocompleteList.js +1 -1
  22. package/build/esm/components/PromptInput/PromptInput.js +1 -1
  23. package/build/esm/components/Tabs/Tabs.d.ts +2 -1
  24. package/build/esm/components/Tabs/Tabs.js +1 -1
  25. package/build/esm/components/Tooltip/TooltipContent.js +1 -1
  26. package/build/esm/web-tokens/subNavigationTheme.json +78 -0
  27. package/package.json +1 -1
@@ -1 +1 @@
1
- import React,{useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from"react";import styled from"@emotion/styled";import{keyframes}from"@emotion/react";import{useDocument}from"../../shared/useDocument";import{useWindow}from"../../shared/useWindow";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{Portal,usePortalChildZIndex}from"../Portal/Portal";import{ANIMATION_DISTANCE,ARROW_SIZE,ARROW_SIZE_BIG,DISTANCE_FROM_TRIGGER,getArrowOffset,getTooltipStyle}from"./utils";let StyledContainer=styled("div",{target:"e1n1ffen0",label:"StyledContainer"})(({theme,horizontalPlacement,verticalPlacement,maxWidth,contentPadding,subTheme,isHidden})=>{let animationDistance="top"===verticalPlacement?`${ANIMATION_DISTANCE}px`:`-${ANIMATION_DISTANCE}px`,animation=keyframes({to:{opacity:theme.variables.opacity.visible,transform:"center"===horizontalPlacement?`translate(-50%, ${animationDistance})`:`translateY(${animationDistance})`}}),contentPaddingMap={s:theme.variables.size.spacing.xxs,m:theme.variables.size.spacing.s},invertedSubThemeStyles={padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,...contentPadding&&{padding:contentPaddingMap[contentPadding]}};return{position:"absolute",zIndex:usePortalChildZIndex(theme.variables.zIndex.tooltip),opacity:theme.variables.opacity.hidden,animation:`200ms ease-out forwards ${animation}`,maxWidth,width:"max-content",boxSizing:"border-box",backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,borderRadius:subTheme?theme.variables.size.borderRadius.xs:theme.variables.size.borderRadius.s,...isHidden&&{visibility:"hidden"},...!!subTheme&&invertedSubThemeStyles,..."center"===horizontalPlacement&&{transform:"translate(-50%)"},...!subTheme&&{":after":{content:'" "',position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",borderRadius:"inherit",boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTXV0YWJsZVJlZk9iamVjdCwgUmVhY3RFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHtcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcImNzc3R5cGVcIjtcbmltcG9ydCB7IHVzZURvY3VtZW50IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEb2N1bWVudFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IFN1YlRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiLi4vU3ViVGhlbWVQcm92aWRlci9TdWJUaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQge1xuICBQb3J0YWwsXG4gIHVzZVBvcnRhbENoaWxkWkluZGV4LFxuICB0eXBlIFBvcnRhbFByb3BzLFxufSBmcm9tIFwiLi4vUG9ydGFsL1BvcnRhbFwiO1xuXG5pbXBvcnQge1xuICBBTklNQVRJT05fRElTVEFOQ0UsXG4gIEFSUk9XX1NJWkUsXG4gIEFSUk9XX1NJWkVfQklHLFxuICBESVNUQU5DRV9GUk9NX1RSSUdHRVIsXG4gIGdldEFycm93T2Zmc2V0LFxuICBnZXRUb29sdGlwU3R5bGUsXG59IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgdHJpZ2dlclJlZjogTXV0YWJsZVJlZk9iamVjdDxhbnk+O1xuICBwbGFjZW1lbnQ/OlxuICAgIHwgXCJhdXRvXCJcbiAgICB8IFwidG9wXCJcbiAgICB8IFwiYm90dG9tXCJcbiAgICB8IFwidG9wLWxlZnRcIlxuICAgIHwgXCJ0b3AtcmlnaHRcIlxuICAgIHwgXCJib3R0b20tbGVmdFwiXG4gICAgfCBcImJvdHRvbS1yaWdodFwiO1xuICBkYXRhRTJlVGVzdElkPzogc3RyaW5nO1xuICBkYXRhRFNJZDogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICB0b29sdGlwSWQ/OiBzdHJpbmc7XG4gIFwiYXJpYS1oaWRkZW5cIj86IGJvb2xlYW47XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRhYkluZGV4PzogbnVtYmVyO1xuICBjb250ZW50UGFkZGluZz86IFwic1wiIHwgXCJtXCI7XG4gIHN1YlRoZW1lPzogU3ViVGhlbWVUeXBlcztcbiAgbWF4V2lkdGg/OiBQcm9wZXJ0eS5NYXhXaWR0aCB8IG51bWJlcjtcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50PzogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG4gIC8qKiBTZXRzIGNzcyB2aXNpYmlsaXR5IGhpZGRlbiB3aGVuIHRyaWdnZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgKi9cbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXI/OiBib29sZWFuO1xuICBvblRvb2x0aXBQb2ludGVyRW50ZXI/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBUaGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCB3aGVuIGNvbnRlbnQgb3ZlcmZsb3dzIHRoZSB2aWV3cG9ydCBib3RoIGFib3ZlIGFuZCBiZWxvdyB0cmlnZ2VyLiBVc2UgdGhpcyBmb3IgdHJhY2tpbmcgcHVycG9zZXMgb3IgcmUtcmVuZGVyaW5nIFBvcG92ZXIgd2l0aCBhIGxhcmdlciBtYXhXaWR0aCAqL1xuICBvbk92ZXJmbG93Vmlld3BvcnQ/OiAoXG4gICAgdHJpZ2dlclJlY3Q6IERPTVJlY3QsXG4gICAgdG9vbHRpcFJlY3Q6IERPTVJlY3QsXG4gICAgdmlld3BvcnRIZWlnaHQ6IG51bWJlclxuICApID0+IHZvaWQ7XG59ICYgUGljazxQb3J0YWxQcm9wcywgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgbWF4V2lkdGgsXG4gICAgY29udGVudFBhZGRpbmcsXG4gICAgc3ViVGhlbWUsXG4gICAgaXNIaWRkZW4sXG4gIH0pID0+IHtcbiAgICBjb25zdCBhbmltYXRpb25EaXN0YW5jZSA9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIlxuICAgICAgICA/IGAke0FOSU1BVElPTl9ESVNUQU5DRX1weGBcbiAgICAgICAgOiBgLSR7QU5JTUFUSU9OX0RJU1RBTkNFfXB4YDtcbiAgICBjb25zdCBhbmltYXRpb24gPSBrZXlmcmFtZXMoe1xuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgICAgdHJhbnNmb3JtOlxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCJcbiAgICAgICAgICAgID8gYHRyYW5zbGF0ZSgtNTAlLCAke2FuaW1hdGlvbkRpc3RhbmNlfSlgXG4gICAgICAgICAgICA6IGB0cmFuc2xhdGVZKCR7YW5pbWF0aW9uRGlzdGFuY2V9KWAsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29udGVudFBhZGRpbmdNYXAgPSB7XG4gICAgICBzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4cyxcbiAgICAgIG06IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB9O1xuXG4gICAgY29uc3QgaW52ZXJ0ZWRTdWJUaGVtZVN0eWxlcyA9IHtcbiAgICAgIHBhZGRpbmc6IGAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHN9ICR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfWAsXG4gICAgICAuLi4oY29udGVudFBhZGRpbmcgJiYge1xuICAgICAgICBwYWRkaW5nOiBjb250ZW50UGFkZGluZ01hcFtjb250ZW50UGFkZGluZ10sXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgY29uc3QgekluZGV4ID0gdXNlUG9ydGFsQ2hpbGRaSW5kZXgodGhlbWUudmFyaWFibGVzLnpJbmRleC50b29sdGlwKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgekluZGV4LFxuICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgYW5pbWF0aW9uOiBgJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHthbmltYXRpb259YCxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgd2lkdGg6IFwibWF4LWNvbnRlbnRcIixcbiAgICAgIGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0XG4gICAgICAgIDogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuZWxldmF0ZWQuZGVmYXVsdCxcbiAgICAgIGJvcmRlclJhZGl1czogc3ViVGhlbWVcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMueHNcbiAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMucyxcblxuICAgICAgLi4uKGlzSGlkZGVuICYmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogXCJoaWRkZW5cIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oISFzdWJUaGVtZSAmJiBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzKSxcbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICBcIjphZnRlclwiOiB7XG4gICAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogXCJpbmhlcml0XCIsXG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRBcnJvd1Byb3BzID0gUGljazxUb29sdGlwQ29udGVudFByb3BzLCBcInN1YlRoZW1lXCI+ICYge1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcImhvcml6b250YWxQbGFjZW1lbnRcIl07XG4gIHNpemU/OiAwIHwgdHlwZW9mIEFSUk9XX1NJWkUgfCB0eXBlb2YgQVJST1dfU0laRV9CSUc7XG59O1xuXG4vLyBUaGlzIGNvbnRhaW5lciBpcyBsYXJnZSBlbm91Z2ggdG8gY29udGFpbiB0aGUgYXJyb3cgc2hhZG93IGJsdXJcbmNvbnN0IEFSUk9XX0NPTlRBSU5FUl9XSURUSCA9IDQwO1xuXG5jb25zdCBTdHlsZWRBcnJvdyA9IHN0eWxlZC5kaXY8U3R5bGVkQXJyb3dQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgc3ViVGhlbWUsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICBzaXplID0gQVJST1dfU0laRSxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9IGdldEFycm93T2Zmc2V0KHNpemUpO1xuICAgIGNvbnN0IGFkanVzdG1lbnRGb3JTaGFkb3cgPSBzdWJUaGVtZSA/IDAgOiAxO1xuICAgIGNvbnN0IGFycm93Q29udGFpbmVySGVpZ2h0ID0gc2l6ZSArIERJU1RBTkNFX0ZST01fVFJJR0dFUjtcbiAgICAvLyBHZXQgYXJyb3cgd2lkdGggYW5kIGhlaWdodCB1c2luZyBweXRob2dvcmFzIHRoZW9yZW0gYW5kIGFkZCAxIHRvIGhlaWdodCB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgc2hhZG93LlxuICAgIGNvbnN0IGFycm93U2lkZUxlbmd0aCA9IE1hdGguc3FydChcbiAgICAgIHNpemUgKiogMiArIChzaXplICsgYWRqdXN0bWVudEZvclNoYWRvdykgKiogMlxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHdpZHRoOiBBUlJPV19DT05UQUlORVJfV0lEVEgsXG4gICAgICBoZWlnaHQ6IGFycm93Q29udGFpbmVySGVpZ2h0LFxuICAgICAgekluZGV4OiAxLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGBjYWxjKDEwMCUgLSAke2FkanVzdG1lbnRGb3JTaGFkb3d9cHgpYCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgLSR7YXJyb3dDb250YWluZXJIZWlnaHQgLSBhZGp1c3RtZW50Rm9yU2hhZG93fXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJyaWdodFwiICYmIHtcbiAgICAgICAgbGVmdDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIFwiJjo6YWZ0ZXJcIjoge1xuICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICB0b3A6IHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiID8gMCA6IFwiMTAwJVwiLFxuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB3aWR0aDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBoZWlnaHQ6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICAgID8gdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0XG4gICAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZylcIixcblxuICAgICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgc3ViVGhlbWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgaGlkZUFycm93ID0gZmFsc2UsXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyID0gZmFsc2UsXG4gIG9uVG9vbHRpcFBvaW50ZXJFbnRlcixcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlLFxuICBvbk92ZXJmbG93Vmlld3BvcnQsXG59OiBUb29sdGlwQ29udGVudFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW3N0eWxlLCBzZXRTdHlsZV0gPSB1c2VTdGF0ZShpbml0aWFsU3R5bGUpO1xuICBjb25zdCBbaXNIaWRkZW4sIHNldElzSGlkZGVuXSA9IHVzZVN0YXRlKGZhbHNlKTsgLy8gY3NzIHZpc2liaWx0eSBoaWRkZW5cbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZG9jdW1lbnQgPSB1c2VEb2N1bWVudCgpO1xuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcblxuICBjb25zdCBhcnJvd1NpemUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUFycm93KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIHN1YlRoZW1lID8gQVJST1dfU0laRSA6IEFSUk9XX1NJWkVfQklHO1xuICB9LCBbc3ViVGhlbWUsIGhpZGVBcnJvd10pO1xuXG4gIGNvbnN0IGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3cgPSB1c2VDYWxsYmFjazxcbiAgICBUb29sdGlwQ29udGVudFByb3BzW1wib25PdmVyZmxvd1ZpZXdwb3J0XCJdXG4gID4oXG4gICAgKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpID0+IHtcbiAgICAgIGlmICghaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgb25PdmVyZmxvd1ZpZXdwb3J0Py4odHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbk92ZXJmbG93Vmlld3BvcnQsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl1cbiAgKTtcblxuICBjb25zdCBjYWxjdWxhdGVTdHlsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAodHJpZ2dlclJlZi5jdXJyZW50ICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgLy8gY2FsY3VsYXRlIHRvb2x0aXAgc3R5bGVcbiAgICAgIHNldFN0eWxlKFxuICAgICAgICBnZXRUb29sdGlwU3R5bGUoe1xuICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgICAgICAgdHJpZ2dlclJlZixcbiAgICAgICAgICB0b29sdGlwUmVmLFxuICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgIHdpbmRvdyxcbiAgICAgICAgICBhcnJvd1NpemUsXG4gICAgICAgICAgb25PdmVyZmxvd1ZpZXdwb3J0OiBoYW5kbGVWaWV3cG9ydE92ZXJmbG93LFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH0sIFtcbiAgICB0cmlnZ2VyUmVmLFxuICAgIHRvb2x0aXBSZWYsXG4gICAgZG9jdW1lbnQsXG4gICAgd2luZG93LFxuICAgIHBsYWNlbWVudCxcbiAgICBhcnJvd1NpemUsXG4gICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3csXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIGNvbnRlbnRQYWRkaW5nLCBjb250ZW50LCBtYXhXaWR0aF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiB0b29sdGlwUmVmLmN1cnJlbnQpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGNhbGN1bGF0ZVN0eWxlKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGNhbGN1bGF0ZVN0eWxlLCB0cnVlKTsgLy8gdXNlIGNhcHR1cmUgaGVyZSB0byBkZXRlY3Qgc2Nyb2xsIG9uIGFueSBwYXJlbnRcbiAgICB9IGVsc2UgaWYgKCFpc1Zpc2libGUpIHtcbiAgICAgIC8vIGxvZyB0aW1lIHdoZW4gdG9vbHRpcCBjbG9zZXNcbiAgICAgIGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGNhbGN1bGF0ZVN0eWxlKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGNhbGN1bGF0ZVN0eWxlLCB0cnVlKTtcbiAgICB9O1xuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgd2luZG93LCB0b29sdGlwUmVmXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuICB9LCBbaXNWaXNpYmxlLCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdKTtcblxuICAvKiBIaWRlICh2aXNpYmlsaXR5OiBoaWRkZW4pIHRvb2x0aXAgaWYgdHJpZ2dlciBpcyBzY3JvbGxlZCBvdXQgb2YgdmlldyAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciAmJlxuICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ICYmXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgIChlbnRyaWVzKSA9PlxuICAgICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3Q7XG5cbiAgICAgICAgICAgIC8vIElnbm9yZSBpbnRlcnNlY3Rpb24gY2hhbmdlcyB3aGVuIGVsZW1lbnQgaGFzIHplcm8gZGltZW5zaW9uc1xuICAgICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGR1cmluZyBET00gdXBkYXRlcy9wb3J0YWwgcmVuZGVyaW5nXG4gICAgICAgICAgICBpZiAocmVjdD8ud2lkdGggPT09IDAgJiYgcmVjdD8uaGVpZ2h0ID09PSAwKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0SXNIaWRkZW4oIWVudHJ5LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHJvb3Q6IG51bGwsIC8vIHZpZXdwb3J0XG4gICAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRyaWdnZXJSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3RyaWdnZXJSZWYsIGlzVmlzaWJsZSwgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXJdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudD17c3R5bGUudmVydGljYWxQbGFjZW1lbnR9XG4gICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgICBvblBvaW50ZXJFbnRlcj17b25Ub29sdGlwUG9pbnRlckVudGVyfVxuICAgICAgb25Qb2ludGVyTGVhdmU9e29uVG9vbHRpcFBvaW50ZXJMZWF2ZX1cbiAgICA+XG4gICAgICB7Y29udGVudH1cbiAgICAgIHshaGlkZUFycm93ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgICAgICBzaXplPXthcnJvd1NpemV9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZXJFbG0gPSBzdWJUaGVtZSA/IChcbiAgICA8U3ViVGhlbWVQcm92aWRlciBuYW1lPXtzdWJUaGVtZX0+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e3dyYXBwZXJFbG19PC9Qb3J0YWw+O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNGd0IifQ== */"),StyledArrow=styled("div",{target:"e1n1ffen1",label:"StyledArrow"})(({theme,subTheme,verticalPlacement,horizontalPlacement,size=ARROW_SIZE})=>{let offset=getArrowOffset(size),adjustmentForShadow=+!subTheme,arrowContainerHeight=size+DISTANCE_FROM_TRIGGER,arrowSideLength=Math.sqrt(size**2+(size+adjustmentForShadow)**2);return{position:"absolute",width:40,height:arrowContainerHeight,zIndex:1,overflow:"hidden",..."top"===verticalPlacement&&{top:`calc(100% - ${adjustmentForShadow}px)`},..."bottom"===verticalPlacement&&{top:`-${arrowContainerHeight-adjustmentForShadow}px`},..."center"===horizontalPlacement&&{left:"50%",transform:"translate(-50%)"},..."right"===horizontalPlacement&&{left:`${offset-(20-size)}px`},..."left"===horizontalPlacement&&{right:`${offset-(20-size)}px`},"&::after":{content:'" "',position:"absolute",top:"top"===verticalPlacement?0:"100%",left:"50%",width:arrowSideLength,height:arrowSideLength,backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,transform:"translate(-50%, -50%) rotate(45deg)",...!subTheme&&{boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTXV0YWJsZVJlZk9iamVjdCwgUmVhY3RFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHtcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcImNzc3R5cGVcIjtcbmltcG9ydCB7IHVzZURvY3VtZW50IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEb2N1bWVudFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IFN1YlRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiLi4vU3ViVGhlbWVQcm92aWRlci9TdWJUaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQge1xuICBQb3J0YWwsXG4gIHVzZVBvcnRhbENoaWxkWkluZGV4LFxuICB0eXBlIFBvcnRhbFByb3BzLFxufSBmcm9tIFwiLi4vUG9ydGFsL1BvcnRhbFwiO1xuXG5pbXBvcnQge1xuICBBTklNQVRJT05fRElTVEFOQ0UsXG4gIEFSUk9XX1NJWkUsXG4gIEFSUk9XX1NJWkVfQklHLFxuICBESVNUQU5DRV9GUk9NX1RSSUdHRVIsXG4gIGdldEFycm93T2Zmc2V0LFxuICBnZXRUb29sdGlwU3R5bGUsXG59IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgdHJpZ2dlclJlZjogTXV0YWJsZVJlZk9iamVjdDxhbnk+O1xuICBwbGFjZW1lbnQ/OlxuICAgIHwgXCJhdXRvXCJcbiAgICB8IFwidG9wXCJcbiAgICB8IFwiYm90dG9tXCJcbiAgICB8IFwidG9wLWxlZnRcIlxuICAgIHwgXCJ0b3AtcmlnaHRcIlxuICAgIHwgXCJib3R0b20tbGVmdFwiXG4gICAgfCBcImJvdHRvbS1yaWdodFwiO1xuICBkYXRhRTJlVGVzdElkPzogc3RyaW5nO1xuICBkYXRhRFNJZDogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICB0b29sdGlwSWQ/OiBzdHJpbmc7XG4gIFwiYXJpYS1oaWRkZW5cIj86IGJvb2xlYW47XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRhYkluZGV4PzogbnVtYmVyO1xuICBjb250ZW50UGFkZGluZz86IFwic1wiIHwgXCJtXCI7XG4gIHN1YlRoZW1lPzogU3ViVGhlbWVUeXBlcztcbiAgbWF4V2lkdGg/OiBQcm9wZXJ0eS5NYXhXaWR0aCB8IG51bWJlcjtcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50PzogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG4gIC8qKiBTZXRzIGNzcyB2aXNpYmlsaXR5IGhpZGRlbiB3aGVuIHRyaWdnZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgKi9cbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXI/OiBib29sZWFuO1xuICBvblRvb2x0aXBQb2ludGVyRW50ZXI/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBUaGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCB3aGVuIGNvbnRlbnQgb3ZlcmZsb3dzIHRoZSB2aWV3cG9ydCBib3RoIGFib3ZlIGFuZCBiZWxvdyB0cmlnZ2VyLiBVc2UgdGhpcyBmb3IgdHJhY2tpbmcgcHVycG9zZXMgb3IgcmUtcmVuZGVyaW5nIFBvcG92ZXIgd2l0aCBhIGxhcmdlciBtYXhXaWR0aCAqL1xuICBvbk92ZXJmbG93Vmlld3BvcnQ/OiAoXG4gICAgdHJpZ2dlclJlY3Q6IERPTVJlY3QsXG4gICAgdG9vbHRpcFJlY3Q6IERPTVJlY3QsXG4gICAgdmlld3BvcnRIZWlnaHQ6IG51bWJlclxuICApID0+IHZvaWQ7XG59ICYgUGljazxQb3J0YWxQcm9wcywgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgbWF4V2lkdGgsXG4gICAgY29udGVudFBhZGRpbmcsXG4gICAgc3ViVGhlbWUsXG4gICAgaXNIaWRkZW4sXG4gIH0pID0+IHtcbiAgICBjb25zdCBhbmltYXRpb25EaXN0YW5jZSA9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIlxuICAgICAgICA/IGAke0FOSU1BVElPTl9ESVNUQU5DRX1weGBcbiAgICAgICAgOiBgLSR7QU5JTUFUSU9OX0RJU1RBTkNFfXB4YDtcbiAgICBjb25zdCBhbmltYXRpb24gPSBrZXlmcmFtZXMoe1xuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgICAgdHJhbnNmb3JtOlxuICAgICAgICAgIGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCJcbiAgICAgICAgICAgID8gYHRyYW5zbGF0ZSgtNTAlLCAke2FuaW1hdGlvbkRpc3RhbmNlfSlgXG4gICAgICAgICAgICA6IGB0cmFuc2xhdGVZKCR7YW5pbWF0aW9uRGlzdGFuY2V9KWAsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29udGVudFBhZGRpbmdNYXAgPSB7XG4gICAgICBzOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4cyxcbiAgICAgIG06IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB9O1xuXG4gICAgY29uc3QgaW52ZXJ0ZWRTdWJUaGVtZVN0eWxlcyA9IHtcbiAgICAgIHBhZGRpbmc6IGAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcueHN9ICR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy5zfWAsXG4gICAgICAuLi4oY29udGVudFBhZGRpbmcgJiYge1xuICAgICAgICBwYWRkaW5nOiBjb250ZW50UGFkZGluZ01hcFtjb250ZW50UGFkZGluZ10sXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgY29uc3QgekluZGV4ID0gdXNlUG9ydGFsQ2hpbGRaSW5kZXgodGhlbWUudmFyaWFibGVzLnpJbmRleC50b29sdGlwKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgekluZGV4LFxuICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgYW5pbWF0aW9uOiBgJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHthbmltYXRpb259YCxcbiAgICAgIG1heFdpZHRoLFxuICAgICAgd2lkdGg6IFwibWF4LWNvbnRlbnRcIixcbiAgICAgIGJveFNpemluZzogXCJib3JkZXItYm94XCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0XG4gICAgICAgIDogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuZWxldmF0ZWQuZGVmYXVsdCxcbiAgICAgIGJvcmRlclJhZGl1czogc3ViVGhlbWVcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMueHNcbiAgICAgICAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5ib3JkZXJSYWRpdXMucyxcblxuICAgICAgLi4uKGlzSGlkZGVuICYmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogXCJoaWRkZW5cIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oISFzdWJUaGVtZSAmJiBpbnZlcnRlZFN1YlRoZW1lU3R5bGVzKSxcbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiICYmIHtcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlKVwiLFxuICAgICAgfSksXG5cbiAgICAgIC4uLighc3ViVGhlbWUgJiYge1xuICAgICAgICBcIjphZnRlclwiOiB7XG4gICAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogXCJpbmhlcml0XCIsXG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfTtcbiAgfVxuKTtcblxudHlwZSBTdHlsZWRBcnJvd1Byb3BzID0gUGljazxUb29sdGlwQ29udGVudFByb3BzLCBcInN1YlRoZW1lXCI+ICYge1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcImhvcml6b250YWxQbGFjZW1lbnRcIl07XG4gIHNpemU/OiAwIHwgdHlwZW9mIEFSUk9XX1NJWkUgfCB0eXBlb2YgQVJST1dfU0laRV9CSUc7XG59O1xuXG4vLyBUaGlzIGNvbnRhaW5lciBpcyBsYXJnZSBlbm91Z2ggdG8gY29udGFpbiB0aGUgYXJyb3cgc2hhZG93IGJsdXJcbmNvbnN0IEFSUk9XX0NPTlRBSU5FUl9XSURUSCA9IDQwO1xuXG5jb25zdCBTdHlsZWRBcnJvdyA9IHN0eWxlZC5kaXY8U3R5bGVkQXJyb3dQcm9wcz4oXG4gICh7XG4gICAgdGhlbWUsXG4gICAgc3ViVGhlbWUsXG4gICAgdmVydGljYWxQbGFjZW1lbnQsXG4gICAgaG9yaXpvbnRhbFBsYWNlbWVudCxcbiAgICBzaXplID0gQVJST1dfU0laRSxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9mZnNldCA9IGdldEFycm93T2Zmc2V0KHNpemUpO1xuICAgIGNvbnN0IGFkanVzdG1lbnRGb3JTaGFkb3cgPSBzdWJUaGVtZSA/IDAgOiAxO1xuICAgIGNvbnN0IGFycm93Q29udGFpbmVySGVpZ2h0ID0gc2l6ZSArIERJU1RBTkNFX0ZST01fVFJJR0dFUjtcbiAgICAvLyBHZXQgYXJyb3cgd2lkdGggYW5kIGhlaWdodCB1c2luZyBweXRob2dvcmFzIHRoZW9yZW0gYW5kIGFkZCAxIHRvIGhlaWdodCB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgc2hhZG93LlxuICAgIGNvbnN0IGFycm93U2lkZUxlbmd0aCA9IE1hdGguc3FydChcbiAgICAgIHNpemUgKiogMiArIChzaXplICsgYWRqdXN0bWVudEZvclNoYWRvdykgKiogMlxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHdpZHRoOiBBUlJPV19DT05UQUlORVJfV0lEVEgsXG4gICAgICBoZWlnaHQ6IGFycm93Q29udGFpbmVySGVpZ2h0LFxuICAgICAgekluZGV4OiAxLFxuICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG5cbiAgICAgIC4uLih2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiAmJiB7XG4gICAgICAgIC8vIHBsYWNlIHRoZSBhcnJvdyBjb250YWluZXIgMXB4IGluc2lkZSB0b29sdGlwIGNvbnRhaW5lciB0byBhY2NvdW50IGZvciBkYXJrIG1vZGUgYm94LXNoYWRvd1xuICAgICAgICB0b3A6IGBjYWxjKDEwMCUgLSAke2FkanVzdG1lbnRGb3JTaGFkb3d9cHgpYCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwiYm90dG9tXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgLSR7YXJyb3dDb250YWluZXJIZWlnaHQgLSBhZGp1c3RtZW50Rm9yU2hhZG93fXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIGxlZnQ6IFwiNTAlXCIsXG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJyaWdodFwiICYmIHtcbiAgICAgICAgbGVmdDogYCR7b2Zmc2V0IC0gKEFSUk9XX0NPTlRBSU5FUl9XSURUSCAvIDIgLSBzaXplKX1weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwibGVmdFwiICYmIHtcbiAgICAgICAgcmlnaHQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIFwiJjo6YWZ0ZXJcIjoge1xuICAgICAgICBjb250ZW50OiAnXCIgXCInLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICB0b3A6IHZlcnRpY2FsUGxhY2VtZW50ID09PSBcInRvcFwiID8gMCA6IFwiMTAwJVwiLFxuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB3aWR0aDogYXJyb3dTaWRlTGVuZ3RoLFxuICAgICAgICBoZWlnaHQ6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICAgID8gdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQucHJpbWFyeS5kZWZhdWx0XG4gICAgICAgICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZylcIixcblxuICAgICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgICBib3hTaGFkb3c6IHRoZW1lLnZhbHVlcy5lbGV2YXRpb25bM10sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG5jb25zdCBpbml0aWFsU3R5bGU6IFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiAwLFxuICBsZWZ0OiAwLFxuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIixcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJjZW50ZXJcIixcbn07XG5cbmxldCBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSAwO1xuXG4vKiBEaXNhYmxlIGFuaW1hdGlvbiBpZiB0aW1lIGJldHdlZW4gbGFzdCBjbG9zZSBhbmQgbmV3IG9wZW4gaXMgbGVzcyB0aGFuIDUwMG1zICsgU0hPV19ISURFX0RFTEFZICovXG5mdW5jdGlvbiBnZXRBbmltYXRpb25EdXJhdGlvbigpIHtcbiAgbGV0IGFuaW1hdGlvbkR1cmF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zYDtcblxuICBpZiAobGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wKSB7XG4gICAgY29uc3QgdGltZVNpbmNlTGFzdFRvb2x0aXAgPSBEYXRlLm5vdygpIC0gbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wO1xuXG4gICAgaWYgKHRpbWVTaW5jZUxhc3RUb29sdGlwIDwgNTAwICsgU0hPV19ISURFX0RFTEFZKSB7XG4gICAgICBhbmltYXRpb25EdXJhdGlvbiA9IFwiMG1zXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBhbmltYXRpb25EdXJhdGlvbjtcbn1cblxuLyoqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgdG8gZGlzcGxheSB0aGUgb3ZlcmxheSBmb3IgYm90aCBUb2dnbGV0aXAgYW5kIFRvb2x0aXAgY29tcG9uZW50cyAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRvb2x0aXBDb250ZW50KHtcbiAgcGxhY2VtZW50ID0gXCJhdXRvXCIsXG4gIGNvbnRlbnQsXG4gIHRvb2x0aXBJZCxcbiAgdHJpZ2dlclJlZixcbiAgcG9ydGFsQ29udGFpbmVyLFxuICBkYXRhRTJlVGVzdElkLFxuICBkYXRhRFNJZCxcbiAgaXNWaXNpYmxlLFxuICBcImFyaWEtaGlkZGVuXCI6IGFyaWFIaWRkZW4sXG4gIHJvbGUsXG4gIHRhYkluZGV4LFxuICBjb250ZW50UGFkZGluZyxcbiAgbWF4V2lkdGggPSBNQVhfQ09OVEVOVF9XSURUSCxcbiAgc3ViVGhlbWUsXG4gIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgaGlkZUFycm93ID0gZmFsc2UsXG4gIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyID0gZmFsc2UsXG4gIG9uVG9vbHRpcFBvaW50ZXJFbnRlcixcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlLFxuICBvbk92ZXJmbG93Vmlld3BvcnQsXG59OiBUb29sdGlwQ29udGVudFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcbiAgY29uc3QgW3N0eWxlLCBzZXRTdHlsZV0gPSB1c2VTdGF0ZShpbml0aWFsU3R5bGUpO1xuICBjb25zdCBbaXNIaWRkZW4sIHNldElzSGlkZGVuXSA9IHVzZVN0YXRlKGZhbHNlKTsgLy8gY3NzIHZpc2liaWx0eSBoaWRkZW5cbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZG9jdW1lbnQgPSB1c2VEb2N1bWVudCgpO1xuICBjb25zdCB3aW5kb3cgPSB1c2VXaW5kb3coKTtcblxuICBjb25zdCBhcnJvd1NpemUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGlkZUFycm93KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIHN1YlRoZW1lID8gQVJST1dfU0laRSA6IEFSUk9XX1NJWkVfQklHO1xuICB9LCBbc3ViVGhlbWUsIGhpZGVBcnJvd10pO1xuXG4gIGNvbnN0IGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3cgPSB1c2VDYWxsYmFjazxcbiAgICBUb29sdGlwQ29udGVudFByb3BzW1wib25PdmVyZmxvd1ZpZXdwb3J0XCJdXG4gID4oXG4gICAgKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpID0+IHtcbiAgICAgIGlmICghaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgb25PdmVyZmxvd1ZpZXdwb3J0Py4odHJpZ2dlclJlY3QsIHRvb2x0aXBSZWN0LCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbk92ZXJmbG93Vmlld3BvcnQsIGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZl1cbiAgKTtcblxuICBjb25zdCBjYWxjdWxhdGVTdHlsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAodHJpZ2dlclJlZi5jdXJyZW50ICYmIHRvb2x0aXBSZWYuY3VycmVudCkge1xuICAgICAgLy8gY2FsY3VsYXRlIHRvb2x0aXAgc3R5bGVcbiAgICAgIHNldFN0eWxlKFxuICAgICAgICBnZXRUb29sdGlwU3R5bGUoe1xuICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gICAgICAgICAgdHJpZ2dlclJlZixcbiAgICAgICAgICB0b29sdGlwUmVmLFxuICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgIHdpbmRvdyxcbiAgICAgICAgICBhcnJvd1NpemUsXG4gICAgICAgICAgb25PdmVyZmxvd1ZpZXdwb3J0OiBoYW5kbGVWaWV3cG9ydE92ZXJmbG93LFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH0sIFtcbiAgICB0cmlnZ2VyUmVmLFxuICAgIHRvb2x0aXBSZWYsXG4gICAgZG9jdW1lbnQsXG4gICAgd2luZG93LFxuICAgIHBsYWNlbWVudCxcbiAgICBhcnJvd1NpemUsXG4gICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhhbmRsZVZpZXdwb3J0T3ZlcmZsb3csXG4gIF0pO1xuXG4gIC8vIFRoaXMgbGF5b3V0IGVmZmVjdCB0byByZS1yZW5kZXIgd2l0aCB1cGRhdGVkIHBvc2l0aW9uIGFmdGVyIGRldGVybWluaW5nIGNvbnRlbnQgd2lkdGhcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBjYWxjdWxhdGVTdHlsZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIGNvbnRlbnRQYWRkaW5nLCBjb250ZW50LCBtYXhXaWR0aF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiB0b29sdGlwUmVmLmN1cnJlbnQpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGNhbGN1bGF0ZVN0eWxlKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGNhbGN1bGF0ZVN0eWxlLCB0cnVlKTsgLy8gdXNlIGNhcHR1cmUgaGVyZSB0byBkZXRlY3Qgc2Nyb2xsIG9uIGFueSBwYXJlbnRcbiAgICB9IGVsc2UgaWYgKCFpc1Zpc2libGUpIHtcbiAgICAgIC8vIGxvZyB0aW1lIHdoZW4gdG9vbHRpcCBjbG9zZXNcbiAgICAgIGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGNhbGN1bGF0ZVN0eWxlKTtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGNhbGN1bGF0ZVN0eWxlLCB0cnVlKTtcbiAgICB9O1xuICB9LCBbaXNWaXNpYmxlLCBjYWxjdWxhdGVTdHlsZSwgd2luZG93LCB0b29sdGlwUmVmXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuICB9LCBbaXNWaXNpYmxlLCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdKTtcblxuICAvKiBIaWRlICh2aXNpYmlsaXR5OiBoaWRkZW4pIHRvb2x0aXAgaWYgdHJpZ2dlciBpcyBzY3JvbGxlZCBvdXQgb2YgdmlldyAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBvYnNlcnZlcjogSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG5cbiAgICBpZiAoXG4gICAgICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciAmJlxuICAgICAgdHJpZ2dlclJlZi5jdXJyZW50ICYmXG4gICAgICBpc1Zpc2libGUgJiZcbiAgICAgIHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciAhPT0gXCJ1bmRlZmluZWRcIlxuICAgICkge1xuICAgICAgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgIChlbnRyaWVzKSA9PlxuICAgICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3Q7XG5cbiAgICAgICAgICAgIC8vIElnbm9yZSBpbnRlcnNlY3Rpb24gY2hhbmdlcyB3aGVuIGVsZW1lbnQgaGFzIHplcm8gZGltZW5zaW9uc1xuICAgICAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIGR1cmluZyBET00gdXBkYXRlcy9wb3J0YWwgcmVuZGVyaW5nXG4gICAgICAgICAgICBpZiAocmVjdD8ud2lkdGggPT09IDAgJiYgcmVjdD8uaGVpZ2h0ID09PSAwKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0SXNIaWRkZW4oIWVudHJ5LmlzSW50ZXJzZWN0aW5nKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHJvb3Q6IG51bGwsIC8vIHZpZXdwb3J0XG4gICAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBvYnNlcnZlci5vYnNlcnZlKHRyaWdnZXJSZWYuY3VycmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW3RyaWdnZXJSZWYsIGlzVmlzaWJsZSwgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXJdKTtcblxuICBpZiAoIWlzVmlzaWJsZSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgdG9vbHRpcEVsbSA9IChcbiAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICBkYXRhLWUyZS10ZXN0LWlkPXtkYXRhRTJlVGVzdElkfVxuICAgICAgZGF0YS1kcy1pZD17ZGF0YURTSWR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB0b3A6IHN0eWxlLnRvcCxcbiAgICAgICAgbGVmdDogc3R5bGUubGVmdCxcbiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb246IGdldEFuaW1hdGlvbkR1cmF0aW9uKCksXG4gICAgICB9fVxuICAgICAgcmVmPXt0b29sdGlwUmVmfVxuICAgICAgaWQ9e3Rvb2x0aXBJZH1cbiAgICAgIHJvbGU9e3JvbGV9XG4gICAgICBhcmlhLWhpZGRlbj17YXJpYUhpZGRlbn1cbiAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgIHRhYkluZGV4PXt0YWJJbmRleH1cbiAgICAgIGhvcml6b250YWxQbGFjZW1lbnQ9e3N0eWxlLmhvcml6b250YWxQbGFjZW1lbnR9XG4gICAgICB2ZXJ0aWNhbFBsYWNlbWVudD17c3R5bGUudmVydGljYWxQbGFjZW1lbnR9XG4gICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICBjb250ZW50UGFkZGluZz17Y29udGVudFBhZGRpbmd9XG4gICAgICBpc0hpZGRlbj17aXNIaWRkZW59XG4gICAgICBvblBvaW50ZXJFbnRlcj17b25Ub29sdGlwUG9pbnRlckVudGVyfVxuICAgICAgb25Qb2ludGVyTGVhdmU9e29uVG9vbHRpcFBvaW50ZXJMZWF2ZX1cbiAgICA+XG4gICAgICB7Y29udGVudH1cbiAgICAgIHshaGlkZUFycm93ICYmIChcbiAgICAgICAgPFN0eWxlZEFycm93XG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17YCR7ZGF0YUUyZVRlc3RJZH1fYXJyb3dgfVxuICAgICAgICAgIHN1YlRoZW1lPXtzdWJUaGVtZX1cbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgICAgIHZlcnRpY2FsUGxhY2VtZW50PXtzdHlsZS52ZXJ0aWNhbFBsYWNlbWVudH1cbiAgICAgICAgICBzaXplPXthcnJvd1NpemV9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZXJFbG0gPSBzdWJUaGVtZSA/IChcbiAgICA8U3ViVGhlbWVQcm92aWRlciBuYW1lPXtzdWJUaGVtZX0+e3Rvb2x0aXBFbG19PC9TdWJUaGVtZVByb3ZpZGVyPlxuICApIDogKFxuICAgIHRvb2x0aXBFbG1cbiAgKTtcblxuICByZXR1cm4gPFBvcnRhbCBwb3J0YWxDb250YWluZXI9e3BvcnRhbENvbnRhaW5lcn0+e3dyYXBwZXJFbG19PC9Qb3J0YWw+O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThLb0IifQ== */"),initialStyle={top:0,left:0,verticalPlacement:"top",horizontalPlacement:"center"},lastTooltipHideTimestamp=0;export function TooltipContent({placement="auto",content,tooltipId,triggerRef,portalContainer,dataE2eTestId,dataDSId,isVisible,"aria-hidden":ariaHidden,role,tabIndex,contentPadding,maxWidth=224,subTheme,defaultVerticalPlacement,hideArrow=!1,isHiddenOnInvisibleTrigger=!1,onTooltipPointerEnter,onTooltipPointerLeave,onOverflowViewport}){let animationDuration,[style,setStyle]=useState(initialStyle),[isHidden,setIsHidden]=useState(!1),tooltipRef=useRef(null),isOverflowCallbackCalledRef=useRef(!1),document=useDocument(),window=useWindow(),arrowSize=useMemo(()=>hideArrow?0:subTheme?ARROW_SIZE:ARROW_SIZE_BIG,[subTheme,hideArrow]),handleViewportOverflow=useCallback((triggerRect,tooltipRect,viewportHeight)=>{isOverflowCallbackCalledRef.current||(onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),isOverflowCallbackCalledRef.current=!0)},[onOverflowViewport,isOverflowCallbackCalledRef]),calculateStyle=useCallback(()=>{triggerRef.current&&tooltipRef.current&&setStyle(getTooltipStyle({placement,defaultVerticalPlacement,triggerRef,tooltipRef,document,window,arrowSize,onOverflowViewport:handleViewportOverflow}))},[triggerRef,tooltipRef,document,window,placement,arrowSize,defaultVerticalPlacement,handleViewportOverflow]);if(useLayoutEffect(()=>{isVisible&&calculateStyle()},[isVisible,calculateStyle,contentPadding,content,maxWidth]),useEffect(()=>(isVisible&&tooltipRef.current?(window.addEventListener("resize",calculateStyle),window.addEventListener("scroll",calculateStyle,!0)):isVisible||(lastTooltipHideTimestamp=Date.now()),()=>{window.removeEventListener("resize",calculateStyle),window.removeEventListener("scroll",calculateStyle,!0)}),[isVisible,calculateStyle,window,tooltipRef]),useEffect(()=>{isOverflowCallbackCalledRef.current=!1},[isVisible,isOverflowCallbackCalledRef]),useEffect(()=>{let observer;return isHiddenOnInvisibleTrigger&&triggerRef.current&&isVisible&&"undefined"!=typeof IntersectionObserver&&(observer=new IntersectionObserver(entries=>entries.forEach(entry=>{let rect=entry.boundingClientRect;(rect?.width!==0||rect?.height!==0)&&setIsHidden(!entry.isIntersecting)}),{root:null,threshold:1})).observe(triggerRef.current),()=>{observer&&observer.disconnect()}},[triggerRef,isVisible,isHiddenOnInvisibleTrigger]),!isVisible)return null;let tooltipElm=React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":dataDSId,style:{top:style.top,left:style.left,animationDuration:(animationDuration="200ms",lastTooltipHideTimestamp&&Date.now()-lastTooltipHideTimestamp<700&&(animationDuration="0ms"),animationDuration)},ref:tooltipRef,id:tooltipId,role:role,"aria-hidden":ariaHidden,subTheme:subTheme,tabIndex:tabIndex,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,maxWidth:maxWidth,contentPadding:contentPadding,isHidden:isHidden,onPointerEnter:onTooltipPointerEnter,onPointerLeave:onTooltipPointerLeave},content,!hideArrow&&React.createElement(StyledArrow,{"data-e2e-test-id":`${dataE2eTestId}_arrow`,subTheme:subTheme,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,size:arrowSize})),wrapperElm=subTheme?React.createElement(SubThemeProvider,{name:subTheme},tooltipElm):tooltipElm;return React.createElement(Portal,{portalContainer:portalContainer},wrapperElm)}
1
+ import React,{useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from"react";import styled from"@emotion/styled";import{keyframes}from"@emotion/react";import{useDocument}from"../../shared/useDocument";import{useWindow}from"../../shared/useWindow";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{Portal,usePortalChildZIndex}from"../Portal/Portal";import{ANIMATION_DISTANCE,ARROW_SIZE,ARROW_SIZE_BIG,DISTANCE_FROM_TRIGGER,getArrowOffset,getTooltipStyle}from"./utils";let StyledContainer=styled("div",{target:"e1t0ow2j0",label:"StyledContainer"})(({theme,horizontalPlacement,verticalPlacement,maxWidth,contentPadding,subTheme,isHidden})=>{let animationDistance="top"===verticalPlacement?`${ANIMATION_DISTANCE}px`:`-${ANIMATION_DISTANCE}px`,animation=keyframes({to:{opacity:theme.variables.opacity.visible,transform:"center"===horizontalPlacement?`translate(-50%, ${animationDistance})`:`translateY(${animationDistance})`}}),contentPaddingMap={s:theme.variables.size.spacing.xxs,m:theme.variables.size.spacing.s},invertedSubThemeStyles={padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,...contentPadding&&{padding:contentPaddingMap[contentPadding]}};return{position:"absolute",zIndex:usePortalChildZIndex(theme.variables.zIndex.tooltip),opacity:theme.variables.opacity.hidden,animation:`200ms ease-out forwards ${animation}`,maxWidth,width:"max-content",boxSizing:"border-box",backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,borderRadius:subTheme?theme.variables.size.borderRadius.xs:theme.variables.size.borderRadius.s,...isHidden&&{visibility:"hidden"},...!!subTheme&&invertedSubThemeStyles,..."center"===horizontalPlacement&&{transform:"translate(-50%)"},...!subTheme&&{":after":{content:'" "',position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",borderRadius:"inherit",boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTXV0YWJsZVJlZk9iamVjdCwgUmVhY3RFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHtcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcImNzc3R5cGVcIjtcbmltcG9ydCB7IHVzZURvY3VtZW50IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEb2N1bWVudFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IFN1YlRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiLi4vU3ViVGhlbWVQcm92aWRlci9TdWJUaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQge1xuICBQb3J0YWwsXG4gIHVzZVBvcnRhbENoaWxkWkluZGV4LFxuICB0eXBlIFBvcnRhbFByb3BzLFxufSBmcm9tIFwiLi4vUG9ydGFsL1BvcnRhbFwiO1xuXG5pbXBvcnQge1xuICBBTklNQVRJT05fRElTVEFOQ0UsXG4gIEFSUk9XX1NJWkUsXG4gIEFSUk9XX1NJWkVfQklHLFxuICBESVNUQU5DRV9GUk9NX1RSSUdHRVIsXG4gIGdldEFycm93T2Zmc2V0LFxuICBnZXRUb29sdGlwU3R5bGUsXG59IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgdHJpZ2dlclJlZjogTXV0YWJsZVJlZk9iamVjdDxhbnk+O1xuICBwbGFjZW1lbnQ/OlxuICAgIHwgXCJhdXRvXCJcbiAgICB8IFwidG9wXCJcbiAgICB8IFwiYm90dG9tXCJcbiAgICB8IFwidG9wLWxlZnRcIlxuICAgIHwgXCJ0b3AtcmlnaHRcIlxuICAgIHwgXCJib3R0b20tbGVmdFwiXG4gICAgfCBcImJvdHRvbS1yaWdodFwiO1xuICBkYXRhRTJlVGVzdElkPzogc3RyaW5nO1xuICBkYXRhRFNJZDogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICB0b29sdGlwSWQ/OiBzdHJpbmc7XG4gIFwiYXJpYS1oaWRkZW5cIj86IGJvb2xlYW47XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRhYkluZGV4PzogbnVtYmVyO1xuICBjb250ZW50UGFkZGluZz86IFwic1wiIHwgXCJtXCI7XG4gIHN1YlRoZW1lPzogU3ViVGhlbWVUeXBlcztcbiAgbWF4V2lkdGg/OiBQcm9wZXJ0eS5NYXhXaWR0aCB8IG51bWJlcjtcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50PzogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG4gIC8qKiBTZXRzIGNzcyB2aXNpYmlsaXR5IGhpZGRlbiB3aGVuIHRyaWdnZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgKi9cbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXI/OiBib29sZWFuO1xuICBvblRvb2x0aXBQb2ludGVyRW50ZXI/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBUaGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCB3aGVuIGNvbnRlbnQgb3ZlcmZsb3dzIHRoZSB2aWV3cG9ydCBib3RoIGFib3ZlIGFuZCBiZWxvdyB0cmlnZ2VyLiBVc2UgdGhpcyBmb3IgdHJhY2tpbmcgcHVycG9zZXMgb3IgcmUtcmVuZGVyaW5nIFBvcG92ZXIgd2l0aCBhIGxhcmdlciBtYXhXaWR0aCAqL1xuICBvbk92ZXJmbG93Vmlld3BvcnQ/OiAoXG4gICAgdHJpZ2dlclJlY3Q6IERPTVJlY3QsXG4gICAgdG9vbHRpcFJlY3Q6IERPTVJlY3QsXG4gICAgdmlld3BvcnRIZWlnaHQ6IG51bWJlclxuICApID0+IHZvaWQ7XG59ICYgUGljazxQb3J0YWxQcm9wcywgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG4vLyBVc2UgMC45OSBpbnN0ZWFkIG9mIDEuMCB0byBoYW5kbGUgc3ViLXBpeGVsIHJvdW5kaW5nIGlzc3Vlc1xuLy8gdGhhdCBjYW4gY2F1c2UgaW50ZXJzZWN0aW9uUmF0aW8gdG8gcmVwb3J0IHZhbHVlcyBsaWtlIDAuOTlcbmNvbnN0IElOVEVSU0VDVElPTl9USFJFU0hPTEQgPSAwLjk5O1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIG1heFdpZHRoLFxuICAgIGNvbnRlbnRQYWRkaW5nLFxuICAgIHN1YlRoZW1lLFxuICAgIGlzSGlkZGVuLFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiXG4gICAgICAgICAgICA/IGB0cmFuc2xhdGUoLTUwJSwgJHthbmltYXRpb25EaXN0YW5jZX0pYFxuICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nTWFwID0ge1xuICAgICAgczogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgICBtOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGludmVydGVkU3ViVGhlbWVTdHlsZXMgPSB7XG4gICAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgICAgLi4uKGNvbnRlbnRQYWRkaW5nICYmIHtcbiAgICAgICAgcGFkZGluZzogY29udGVudFBhZGRpbmdNYXBbY29udGVudFBhZGRpbmddLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXgudG9vbHRpcCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHpJbmRleCxcbiAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbixcbiAgICAgIGFuaW1hdGlvbjogYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7YW5pbWF0aW9ufWAsXG4gICAgICBtYXhXaWR0aCxcbiAgICAgIHdpZHRoOiBcIm1heC1jb250ZW50XCIsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBib3JkZXJSYWRpdXM6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihpc0hpZGRlbiAmJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKCEhc3ViVGhlbWUgJiYgaW52ZXJ0ZWRTdWJUaGVtZVN0eWxlcyksXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgXCI6YWZ0ZXJcIjoge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcIiBcIicsXG4gICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIixcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiaW5oZXJpdFwiLFxuICAgICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblszXSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQXJyb3dQcm9wcyA9IFBpY2s8VG9vbHRpcENvbnRlbnRQcm9wcywgXCJzdWJUaGVtZVwiPiAmIHtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICBzaXplPzogMCB8IHR5cGVvZiBBUlJPV19TSVpFIHwgdHlwZW9mIEFSUk9XX1NJWkVfQklHO1xufTtcblxuLy8gVGhpcyBjb250YWluZXIgaXMgbGFyZ2UgZW5vdWdoIHRvIGNvbnRhaW4gdGhlIGFycm93IHNoYWRvdyBibHVyXG5jb25zdCBBUlJPV19DT05UQUlORVJfV0lEVEggPSA0MDtcblxuY29uc3QgU3R5bGVkQXJyb3cgPSBzdHlsZWQuZGl2PFN0eWxlZEFycm93UHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIHN1YlRoZW1lLFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgc2l6ZSA9IEFSUk9XX1NJWkUsXG4gIH0pID0+IHtcbiAgICBjb25zdCBvZmZzZXQgPSBnZXRBcnJvd09mZnNldChzaXplKTtcbiAgICBjb25zdCBhZGp1c3RtZW50Rm9yU2hhZG93ID0gc3ViVGhlbWUgPyAwIDogMTtcbiAgICBjb25zdCBhcnJvd0NvbnRhaW5lckhlaWdodCA9IHNpemUgKyBESVNUQU5DRV9GUk9NX1RSSUdHRVI7XG4gICAgLy8gR2V0IGFycm93IHdpZHRoIGFuZCBoZWlnaHQgdXNpbmcgcHl0aG9nb3JhcyB0aGVvcmVtIGFuZCBhZGQgMSB0byBoZWlnaHQgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIHNoYWRvdy5cbiAgICBjb25zdCBhcnJvd1NpZGVMZW5ndGggPSBNYXRoLnNxcnQoXG4gICAgICBzaXplICoqIDIgKyAoc2l6ZSArIGFkanVzdG1lbnRGb3JTaGFkb3cpICoqIDJcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB3aWR0aDogQVJST1dfQ09OVEFJTkVSX1dJRFRILFxuICAgICAgaGVpZ2h0OiBhcnJvd0NvbnRhaW5lckhlaWdodCxcbiAgICAgIHpJbmRleDogMSxcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgY2FsYygxMDAlIC0gJHthZGp1c3RtZW50Rm9yU2hhZG93fXB4KWAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKHZlcnRpY2FsUGxhY2VtZW50ID09PSBcImJvdHRvbVwiICYmIHtcbiAgICAgICAgLy8gcGxhY2UgdGhlIGFycm93IGNvbnRhaW5lciAxcHggaW5zaWRlIHRvb2x0aXAgY29udGFpbmVyIHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBib3gtc2hhZG93XG4gICAgICAgIHRvcDogYC0ke2Fycm93Q29udGFpbmVySGVpZ2h0IC0gYWRqdXN0bWVudEZvclNoYWRvd31weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwicmlnaHRcIiAmJiB7XG4gICAgICAgIGxlZnQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImxlZnRcIiAmJiB7XG4gICAgICAgIHJpZ2h0OiBgJHtvZmZzZXQgLSAoQVJST1dfQ09OVEFJTkVSX1dJRFRIIC8gMiAtIHNpemUpfXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICBcIiY6OmFmdGVyXCI6IHtcbiAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgdG9wOiB2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiA/IDAgOiBcIjEwMCVcIixcbiAgICAgICAgbGVmdDogXCI1MCVcIixcbiAgICAgICAgd2lkdGg6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgaGVpZ2h0OiBhcnJvd1NpZGVMZW5ndGgsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogc3ViVGhlbWVcbiAgICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICAgIDogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuZWxldmF0ZWQuZGVmYXVsdCxcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpXCIsXG5cbiAgICAgICAgLi4uKCFzdWJUaGVtZSAmJiB7XG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgaW5pdGlhbFN0eWxlOiBUb29sdGlwU3R5bGUgPSB7XG4gIHRvcDogMCxcbiAgbGVmdDogMCxcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFwidG9wXCIsXG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFwiY2VudGVyXCIsXG59O1xuXG5sZXQgbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wID0gMDtcblxuLyogRGlzYWJsZSBhbmltYXRpb24gaWYgdGltZSBiZXR3ZWVuIGxhc3QgY2xvc2UgYW5kIG5ldyBvcGVuIGlzIGxlc3MgdGhhbiA1MDBtcyArIFNIT1dfSElERV9ERUxBWSAqL1xuZnVuY3Rpb24gZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSB7XG4gIGxldCBhbmltYXRpb25EdXJhdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTn1tc2A7XG5cbiAgaWYgKGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCkge1xuICAgIGNvbnN0IHRpbWVTaW5jZUxhc3RUb29sdGlwID0gRGF0ZS5ub3coKSAtIGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcDtcblxuICAgIGlmICh0aW1lU2luY2VMYXN0VG9vbHRpcCA8IDUwMCArIFNIT1dfSElERV9ERUxBWSkge1xuICAgICAgYW5pbWF0aW9uRHVyYXRpb24gPSBcIjBtc1wiO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYW5pbWF0aW9uRHVyYXRpb247XG59XG5cbi8qKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIGRpc3BsYXkgdGhlIG92ZXJsYXkgZm9yIGJvdGggVG9nZ2xldGlwIGFuZCBUb29sdGlwIGNvbXBvbmVudHMgKi9cbmV4cG9ydCBmdW5jdGlvbiBUb29sdGlwQ29udGVudCh7XG4gIHBsYWNlbWVudCA9IFwiYXV0b1wiLFxuICBjb250ZW50LFxuICB0b29sdGlwSWQsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGF0YUUyZVRlc3RJZCxcbiAgZGF0YURTSWQsXG4gIGlzVmlzaWJsZSxcbiAgXCJhcmlhLWhpZGRlblwiOiBhcmlhSGlkZGVuLFxuICByb2xlLFxuICB0YWJJbmRleCxcbiAgY29udGVudFBhZGRpbmcsXG4gIG1heFdpZHRoID0gTUFYX0NPTlRFTlRfV0lEVEgsXG4gIHN1YlRoZW1lLFxuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIGhpZGVBcnJvdyA9IGZhbHNlLFxuICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciA9IGZhbHNlLFxuICBvblRvb2x0aXBQb2ludGVyRW50ZXIsXG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZSxcbiAgb25PdmVyZmxvd1ZpZXdwb3J0LFxufTogVG9vbHRpcENvbnRlbnRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtzdHlsZSwgc2V0U3R5bGVdID0gdXNlU3RhdGUoaW5pdGlhbFN0eWxlKTtcbiAgY29uc3QgW2lzSGlkZGVuLCBzZXRJc0hpZGRlbl0gPSB1c2VTdGF0ZShmYWxzZSk7IC8vIGNzcyB2aXNpYmlsdHkgaGlkZGVuXG4gIGNvbnN0IHRvb2x0aXBSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZiA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IGRvY3VtZW50ID0gdXNlRG9jdW1lbnQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG5cbiAgY29uc3QgYXJyb3dTaXplID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhpZGVBcnJvdykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBzdWJUaGVtZSA/IEFSUk9XX1NJWkUgOiBBUlJPV19TSVpFX0JJRztcbiAgfSwgW3N1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBoYW5kbGVWaWV3cG9ydE92ZXJmbG93ID0gdXNlQ2FsbGJhY2s8XG4gICAgVG9vbHRpcENvbnRlbnRQcm9wc1tcIm9uT3ZlcmZsb3dWaWV3cG9ydFwiXVxuICA+KFxuICAgICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KSA9PiB7XG4gICAgICBpZiAoIWlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydD8uKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25PdmVyZmxvd1ZpZXdwb3J0LCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdXG4gICk7XG5cbiAgY29uc3QgY2FsY3VsYXRlU3R5bGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHRyaWdnZXJSZWYuY3VycmVudCAmJiB0b29sdGlwUmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIGNhbGN1bGF0ZSB0b29sdGlwIHN0eWxlXG4gICAgICBzZXRTdHlsZShcbiAgICAgICAgZ2V0VG9vbHRpcFN0eWxlKHtcbiAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgICAgICAgIHRyaWdnZXJSZWYsXG4gICAgICAgICAgdG9vbHRpcFJlZixcbiAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICB3aW5kb3csXG4gICAgICAgICAgYXJyb3dTaXplLFxuICAgICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydDogaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9LCBbXG4gICAgdHJpZ2dlclJlZixcbiAgICB0b29sdGlwUmVmLFxuICAgIGRvY3VtZW50LFxuICAgIHdpbmRvdyxcbiAgICBwbGFjZW1lbnQsXG4gICAgYXJyb3dTaXplLFxuICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBoYW5kbGVWaWV3cG9ydE92ZXJmbG93LFxuICBdKTtcblxuICAvLyBUaGlzIGxheW91dCBlZmZlY3QgdG8gcmUtcmVuZGVyIHdpdGggdXBkYXRlZCBwb3NpdGlvbiBhZnRlciBkZXRlcm1pbmluZyBjb250ZW50IHdpZHRoXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICB9XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCBjb250ZW50UGFkZGluZywgY29udGVudCwgbWF4V2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVTdHlsZSwgdHJ1ZSk7IC8vIHVzZSBjYXB0dXJlIGhlcmUgdG8gZGV0ZWN0IHNjcm9sbCBvbiBhbnkgcGFyZW50XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVTdHlsZSwgdHJ1ZSk7XG4gICAgfTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHdpbmRvdywgdG9vbHRpcFJlZl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgfSwgW2lzVmlzaWJsZSwgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmXSk7XG5cbiAgLyogSGlkZSAodmlzaWJpbGl0eTogaGlkZGVuKSB0b29sdGlwIGlmIHRyaWdnZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgKi9cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyO1xuXG4gICAgaWYgKFxuICAgICAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXIgJiZcbiAgICAgIHRyaWdnZXJSZWYuY3VycmVudCAmJlxuICAgICAgaXNWaXNpYmxlICYmXG4gICAgICB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCJcbiAgICApIHtcbiAgICAgIG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgICAoZW50cmllcykgPT5cbiAgICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWN0ID0gZW50cnkuYm91bmRpbmdDbGllbnRSZWN0O1xuXG4gICAgICAgICAgICAvLyBJZ25vcmUgaW50ZXJzZWN0aW9uIGNoYW5nZXMgd2hlbiBlbGVtZW50IGhhcyB6ZXJvIGRpbWVuc2lvbnNcbiAgICAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBkdXJpbmcgRE9NIHVwZGF0ZXMvcG9ydGFsIHJlbmRlcmluZ1xuICAgICAgICAgICAgaWYgKHJlY3Q/LndpZHRoID09PSAwICYmIHJlY3Q/LmhlaWdodCA9PT0gMCkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldElzSGlkZGVuKCFlbnRyeS5pc0ludGVyc2VjdGluZyk7XG4gICAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICByb290OiBudWxsLCAvLyB2aWV3cG9ydFxuICAgICAgICAgIHRocmVzaG9sZDogSU5URVJTRUNUSU9OX1RIUkVTSE9MRCxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0cmlnZ2VyUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAob2JzZXJ2ZXIpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFt0cmlnZ2VyUmVmLCBpc1Zpc2libGUsIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyXSk7XG5cbiAgaWYgKCFpc1Zpc2libGUpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHRvb2x0aXBFbG0gPSAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgIGRhdGEtZHMtaWQ9e2RhdGFEU0lkfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgdG9wOiBzdHlsZS50b3AsXG4gICAgICAgIGxlZnQ6IHN0eWxlLmxlZnQsXG4gICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiBnZXRBbmltYXRpb25EdXJhdGlvbigpLFxuICAgICAgfX1cbiAgICAgIHJlZj17dG9vbHRpcFJlZn1cbiAgICAgIGlkPXt0b29sdGlwSWR9XG4gICAgICByb2xlPXtyb2xlfVxuICAgICAgYXJpYS1oaWRkZW49e2FyaWFIaWRkZW59XG4gICAgICBzdWJUaGVtZT17c3ViVGhlbWV9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgY29udGVudFBhZGRpbmc9e2NvbnRlbnRQYWRkaW5nfVxuICAgICAgaXNIaWRkZW49e2lzSGlkZGVufVxuICAgICAgb25Qb2ludGVyRW50ZXI9e29uVG9vbHRpcFBvaW50ZXJFbnRlcn1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXtvblRvb2x0aXBQb2ludGVyTGVhdmV9XG4gICAgPlxuICAgICAge2NvbnRlbnR9XG4gICAgICB7IWhpZGVBcnJvdyAmJiAoXG4gICAgICAgIDxTdHlsZWRBcnJvd1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2Ake2RhdGFFMmVUZXN0SWR9X2Fycm93YH1cbiAgICAgICAgICBzdWJUaGVtZT17c3ViVGhlbWV9XG4gICAgICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudD17c3R5bGUuaG9yaXpvbnRhbFBsYWNlbWVudH1cbiAgICAgICAgICB2ZXJ0aWNhbFBsYWNlbWVudD17c3R5bGUudmVydGljYWxQbGFjZW1lbnR9XG4gICAgICAgICAgc2l6ZT17YXJyb3dTaXplfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcblxuICBjb25zdCB3cmFwcGVyRWxtID0gc3ViVGhlbWUgPyAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWV9Pnt0b29sdGlwRWxtfTwvU3ViVGhlbWVQcm92aWRlcj5cbiAgKSA6IChcbiAgICB0b29sdGlwRWxtXG4gICk7XG5cbiAgcmV0dXJuIDxQb3J0YWwgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9Pnt3cmFwcGVyRWxtfTwvUG9ydGFsPjtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RndCIn0= */"),StyledArrow=styled("div",{target:"e1t0ow2j1",label:"StyledArrow"})(({theme,subTheme,verticalPlacement,horizontalPlacement,size=ARROW_SIZE})=>{let offset=getArrowOffset(size),adjustmentForShadow=+!subTheme,arrowContainerHeight=size+DISTANCE_FROM_TRIGGER,arrowSideLength=Math.sqrt(size**2+(size+adjustmentForShadow)**2);return{position:"absolute",width:40,height:arrowContainerHeight,zIndex:1,overflow:"hidden",..."top"===verticalPlacement&&{top:`calc(100% - ${adjustmentForShadow}px)`},..."bottom"===verticalPlacement&&{top:`-${arrowContainerHeight-adjustmentForShadow}px`},..."center"===horizontalPlacement&&{left:"50%",transform:"translate(-50%)"},..."right"===horizontalPlacement&&{left:`${offset-(20-size)}px`},..."left"===horizontalPlacement&&{right:`${offset-(20-size)}px`},"&::after":{content:'" "',position:"absolute",top:"top"===verticalPlacement?0:"100%",left:"50%",width:arrowSideLength,height:arrowSideLength,backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,transform:"translate(-50%, -50%) rotate(45deg)",...!subTheme&&{boxShadow:theme.values.elevation[3]}}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwQ29udGVudC50c3giLCJzb3VyY2VzIjpbInNyYy9jb21wb25lbnRzL1Rvb2x0aXAvVG9vbHRpcENvbnRlbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTXV0YWJsZVJlZk9iamVjdCwgUmVhY3RFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHtcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5IH0gZnJvbSBcImNzc3R5cGVcIjtcbmltcG9ydCB7IHVzZURvY3VtZW50IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VEb2N1bWVudFwiO1xuaW1wb3J0IHsgdXNlV2luZG93IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC91c2VXaW5kb3dcIjtcbmltcG9ydCB7IFN1YlRoZW1lUHJvdmlkZXIgfSBmcm9tIFwiLi4vU3ViVGhlbWVQcm92aWRlci9TdWJUaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQgdHlwZSB7IFN1YlRoZW1lVHlwZXMgfSBmcm9tIFwiLi4vLi4vd2ViLXRva2Vucy9fc3ViVGhlbWVUeXBlXCI7XG5pbXBvcnQge1xuICBQb3J0YWwsXG4gIHVzZVBvcnRhbENoaWxkWkluZGV4LFxuICB0eXBlIFBvcnRhbFByb3BzLFxufSBmcm9tIFwiLi4vUG9ydGFsL1BvcnRhbFwiO1xuXG5pbXBvcnQge1xuICBBTklNQVRJT05fRElTVEFOQ0UsXG4gIEFSUk9XX1NJWkUsXG4gIEFSUk9XX1NJWkVfQklHLFxuICBESVNUQU5DRV9GUk9NX1RSSUdHRVIsXG4gIGdldEFycm93T2Zmc2V0LFxuICBnZXRUb29sdGlwU3R5bGUsXG59IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBDb250ZW50UHJvcHMgPSB7XG4gIGNvbnRlbnQ6IFJlYWN0RWxlbWVudDtcbiAgdHJpZ2dlclJlZjogTXV0YWJsZVJlZk9iamVjdDxhbnk+O1xuICBwbGFjZW1lbnQ/OlxuICAgIHwgXCJhdXRvXCJcbiAgICB8IFwidG9wXCJcbiAgICB8IFwiYm90dG9tXCJcbiAgICB8IFwidG9wLWxlZnRcIlxuICAgIHwgXCJ0b3AtcmlnaHRcIlxuICAgIHwgXCJib3R0b20tbGVmdFwiXG4gICAgfCBcImJvdHRvbS1yaWdodFwiO1xuICBkYXRhRTJlVGVzdElkPzogc3RyaW5nO1xuICBkYXRhRFNJZDogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICB0b29sdGlwSWQ/OiBzdHJpbmc7XG4gIFwiYXJpYS1oaWRkZW5cIj86IGJvb2xlYW47XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRhYkluZGV4PzogbnVtYmVyO1xuICBjb250ZW50UGFkZGluZz86IFwic1wiIHwgXCJtXCI7XG4gIHN1YlRoZW1lPzogU3ViVGhlbWVUeXBlcztcbiAgbWF4V2lkdGg/OiBQcm9wZXJ0eS5NYXhXaWR0aCB8IG51bWJlcjtcbiAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50PzogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG4gIC8qKiBTZXRzIGNzcyB2aXNpYmlsaXR5IGhpZGRlbiB3aGVuIHRyaWdnZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgKi9cbiAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXI/OiBib29sZWFuO1xuICBvblRvb2x0aXBQb2ludGVyRW50ZXI/OiBSZWFjdC5Qb2ludGVyRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgb25Ub29sdGlwUG9pbnRlckxlYXZlPzogUmVhY3QuUG9pbnRlckV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8qKiBUaGlzIGNhbGxiYWNrIGlzIHRyaWdnZXJlZCB3aGVuIGNvbnRlbnQgb3ZlcmZsb3dzIHRoZSB2aWV3cG9ydCBib3RoIGFib3ZlIGFuZCBiZWxvdyB0cmlnZ2VyLiBVc2UgdGhpcyBmb3IgdHJhY2tpbmcgcHVycG9zZXMgb3IgcmUtcmVuZGVyaW5nIFBvcG92ZXIgd2l0aCBhIGxhcmdlciBtYXhXaWR0aCAqL1xuICBvbk92ZXJmbG93Vmlld3BvcnQ/OiAoXG4gICAgdHJpZ2dlclJlY3Q6IERPTVJlY3QsXG4gICAgdG9vbHRpcFJlY3Q6IERPTVJlY3QsXG4gICAgdmlld3BvcnRIZWlnaHQ6IG51bWJlclxuICApID0+IHZvaWQ7XG59ICYgUGljazxQb3J0YWxQcm9wcywgXCJwb3J0YWxDb250YWluZXJcIj47XG5cbmV4cG9ydCB0eXBlIFRvb2x0aXBTdHlsZSA9IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgaG9yaXpvbnRhbFBsYWNlbWVudDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgfCBcImNlbnRlclwiO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogXCJ0b3BcIiB8IFwiYm90dG9tXCI7XG59O1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0gUGljazxcbiAgVG9vbHRpcENvbnRlbnRQcm9wcyxcbiAgXCJjb250ZW50UGFkZGluZ1wiIHwgXCJtYXhXaWR0aFwiIHwgXCJzdWJUaGVtZVwiXG4+ICYge1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICB2ZXJ0aWNhbFBsYWNlbWVudDogVG9vbHRpcFN0eWxlW1widmVydGljYWxQbGFjZW1lbnRcIl07XG4gIGlzSGlkZGVuOiBib29sZWFuO1xufTtcblxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OID0gMjAwO1xuY29uc3QgU0hPV19ISURFX0RFTEFZID0gMjAwO1xuY29uc3QgTUFYX0NPTlRFTlRfV0lEVEggPSAyMjQ7XG4vLyBVc2UgMC45OSBpbnN0ZWFkIG9mIDEuMCB0byBoYW5kbGUgc3ViLXBpeGVsIHJvdW5kaW5nIGlzc3Vlc1xuLy8gdGhhdCBjYW4gY2F1c2UgaW50ZXJzZWN0aW9uUmF0aW8gdG8gcmVwb3J0IHZhbHVlcyBsaWtlIDAuOTlcbmNvbnN0IElOVEVSU0VDVElPTl9USFJFU0hPTEQgPSAwLjk5O1xuXG5jb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRhaW5lclByb3BzPihcbiAgKHtcbiAgICB0aGVtZSxcbiAgICBob3Jpem9udGFsUGxhY2VtZW50LFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIG1heFdpZHRoLFxuICAgIGNvbnRlbnRQYWRkaW5nLFxuICAgIHN1YlRoZW1lLFxuICAgIGlzSGlkZGVuLFxuICB9KSA9PiB7XG4gICAgY29uc3QgYW5pbWF0aW9uRGlzdGFuY2UgPVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCJcbiAgICAgICAgPyBgJHtBTklNQVRJT05fRElTVEFOQ0V9cHhgXG4gICAgICAgIDogYC0ke0FOSU1BVElPTl9ESVNUQU5DRX1weGA7XG4gICAgY29uc3QgYW5pbWF0aW9uID0ga2V5ZnJhbWVzKHtcbiAgICAgIHRvOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgICBob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImNlbnRlclwiXG4gICAgICAgICAgICA/IGB0cmFuc2xhdGUoLTUwJSwgJHthbmltYXRpb25EaXN0YW5jZX0pYFxuICAgICAgICAgICAgOiBgdHJhbnNsYXRlWSgke2FuaW1hdGlvbkRpc3RhbmNlfSlgLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nTWFwID0ge1xuICAgICAgczogdGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54eHMsXG4gICAgICBtOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gICAgfTtcblxuICAgIGNvbnN0IGludmVydGVkU3ViVGhlbWVTdHlsZXMgPSB7XG4gICAgICBwYWRkaW5nOiBgJHt0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnhzfSAke3RoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcuc31gLFxuICAgICAgLi4uKGNvbnRlbnRQYWRkaW5nICYmIHtcbiAgICAgICAgcGFkZGluZzogY29udGVudFBhZGRpbmdNYXBbY29udGVudFBhZGRpbmddLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGNvbnN0IHpJbmRleCA9IHVzZVBvcnRhbENoaWxkWkluZGV4KHRoZW1lLnZhcmlhYmxlcy56SW5kZXgudG9vbHRpcCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgIHpJbmRleCxcbiAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbixcbiAgICAgIGFuaW1hdGlvbjogYCR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7YW5pbWF0aW9ufWAsXG4gICAgICBtYXhXaWR0aCxcbiAgICAgIHdpZHRoOiBcIm1heC1jb250ZW50XCIsXG4gICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBzdWJUaGVtZVxuICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBib3JkZXJSYWRpdXM6IHN1YlRoZW1lXG4gICAgICAgID8gdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzXG4gICAgICAgIDogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnMsXG5cbiAgICAgIC4uLihpc0hpZGRlbiAmJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKCEhc3ViVGhlbWUgJiYgaW52ZXJ0ZWRTdWJUaGVtZVN0eWxlcyksXG4gICAgICAuLi4oaG9yaXpvbnRhbFBsYWNlbWVudCA9PT0gXCJjZW50ZXJcIiAmJiB7XG4gICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSlcIixcbiAgICAgIH0pLFxuXG4gICAgICAuLi4oIXN1YlRoZW1lICYmIHtcbiAgICAgICAgXCI6YWZ0ZXJcIjoge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcIiBcIicsXG4gICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIixcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiaW5oZXJpdFwiLFxuICAgICAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblszXSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkQXJyb3dQcm9wcyA9IFBpY2s8VG9vbHRpcENvbnRlbnRQcm9wcywgXCJzdWJUaGVtZVwiPiAmIHtcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFRvb2x0aXBTdHlsZVtcInZlcnRpY2FsUGxhY2VtZW50XCJdO1xuICBob3Jpem9udGFsUGxhY2VtZW50OiBUb29sdGlwU3R5bGVbXCJob3Jpem9udGFsUGxhY2VtZW50XCJdO1xuICBzaXplPzogMCB8IHR5cGVvZiBBUlJPV19TSVpFIHwgdHlwZW9mIEFSUk9XX1NJWkVfQklHO1xufTtcblxuLy8gVGhpcyBjb250YWluZXIgaXMgbGFyZ2UgZW5vdWdoIHRvIGNvbnRhaW4gdGhlIGFycm93IHNoYWRvdyBibHVyXG5jb25zdCBBUlJPV19DT05UQUlORVJfV0lEVEggPSA0MDtcblxuY29uc3QgU3R5bGVkQXJyb3cgPSBzdHlsZWQuZGl2PFN0eWxlZEFycm93UHJvcHM+KFxuICAoe1xuICAgIHRoZW1lLFxuICAgIHN1YlRoZW1lLFxuICAgIHZlcnRpY2FsUGxhY2VtZW50LFxuICAgIGhvcml6b250YWxQbGFjZW1lbnQsXG4gICAgc2l6ZSA9IEFSUk9XX1NJWkUsXG4gIH0pID0+IHtcbiAgICBjb25zdCBvZmZzZXQgPSBnZXRBcnJvd09mZnNldChzaXplKTtcbiAgICBjb25zdCBhZGp1c3RtZW50Rm9yU2hhZG93ID0gc3ViVGhlbWUgPyAwIDogMTtcbiAgICBjb25zdCBhcnJvd0NvbnRhaW5lckhlaWdodCA9IHNpemUgKyBESVNUQU5DRV9GUk9NX1RSSUdHRVI7XG4gICAgLy8gR2V0IGFycm93IHdpZHRoIGFuZCBoZWlnaHQgdXNpbmcgcHl0aG9nb3JhcyB0aGVvcmVtIGFuZCBhZGQgMSB0byBoZWlnaHQgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIHNoYWRvdy5cbiAgICBjb25zdCBhcnJvd1NpZGVMZW5ndGggPSBNYXRoLnNxcnQoXG4gICAgICBzaXplICoqIDIgKyAoc2l6ZSArIGFkanVzdG1lbnRGb3JTaGFkb3cpICoqIDJcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICB3aWR0aDogQVJST1dfQ09OVEFJTkVSX1dJRFRILFxuICAgICAgaGVpZ2h0OiBhcnJvd0NvbnRhaW5lckhlaWdodCxcbiAgICAgIHpJbmRleDogMSxcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuXG4gICAgICAuLi4odmVydGljYWxQbGFjZW1lbnQgPT09IFwidG9wXCIgJiYge1xuICAgICAgICAvLyBwbGFjZSB0aGUgYXJyb3cgY29udGFpbmVyIDFweCBpbnNpZGUgdG9vbHRpcCBjb250YWluZXIgdG8gYWNjb3VudCBmb3IgZGFyayBtb2RlIGJveC1zaGFkb3dcbiAgICAgICAgdG9wOiBgY2FsYygxMDAlIC0gJHthZGp1c3RtZW50Rm9yU2hhZG93fXB4KWAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKHZlcnRpY2FsUGxhY2VtZW50ID09PSBcImJvdHRvbVwiICYmIHtcbiAgICAgICAgLy8gcGxhY2UgdGhlIGFycm93IGNvbnRhaW5lciAxcHggaW5zaWRlIHRvb2x0aXAgY29udGFpbmVyIHRvIGFjY291bnQgZm9yIGRhcmsgbW9kZSBib3gtc2hhZG93XG4gICAgICAgIHRvcDogYC0ke2Fycm93Q29udGFpbmVySGVpZ2h0IC0gYWRqdXN0bWVudEZvclNoYWRvd31weGAsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwiY2VudGVyXCIgJiYge1xuICAgICAgICBsZWZ0OiBcIjUwJVwiLFxuICAgICAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUpXCIsXG4gICAgICB9KSxcblxuICAgICAgLi4uKGhvcml6b250YWxQbGFjZW1lbnQgPT09IFwicmlnaHRcIiAmJiB7XG4gICAgICAgIGxlZnQ6IGAke29mZnNldCAtIChBUlJPV19DT05UQUlORVJfV0lEVEggLyAyIC0gc2l6ZSl9cHhgLFxuICAgICAgfSksXG5cbiAgICAgIC4uLihob3Jpem9udGFsUGxhY2VtZW50ID09PSBcImxlZnRcIiAmJiB7XG4gICAgICAgIHJpZ2h0OiBgJHtvZmZzZXQgLSAoQVJST1dfQ09OVEFJTkVSX1dJRFRIIC8gMiAtIHNpemUpfXB4YCxcbiAgICAgIH0pLFxuXG4gICAgICBcIiY6OmFmdGVyXCI6IHtcbiAgICAgICAgY29udGVudDogJ1wiIFwiJyxcbiAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgdG9wOiB2ZXJ0aWNhbFBsYWNlbWVudCA9PT0gXCJ0b3BcIiA/IDAgOiBcIjEwMCVcIixcbiAgICAgICAgbGVmdDogXCI1MCVcIixcbiAgICAgICAgd2lkdGg6IGFycm93U2lkZUxlbmd0aCxcbiAgICAgICAgaGVpZ2h0OiBhcnJvd1NpZGVMZW5ndGgsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogc3ViVGhlbWVcbiAgICAgICAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLnByaW1hcnkuZGVmYXVsdFxuICAgICAgICAgIDogdGhlbWUudmFsdWVzLmNvbG9yLmJhY2tncm91bmQuZWxldmF0ZWQuZGVmYXVsdCxcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpXCIsXG5cbiAgICAgICAgLi4uKCFzdWJUaGVtZSAmJiB7XG4gICAgICAgICAgYm94U2hhZG93OiB0aGVtZS52YWx1ZXMuZWxldmF0aW9uWzNdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuKTtcblxuY29uc3QgaW5pdGlhbFN0eWxlOiBUb29sdGlwU3R5bGUgPSB7XG4gIHRvcDogMCxcbiAgbGVmdDogMCxcbiAgdmVydGljYWxQbGFjZW1lbnQ6IFwidG9wXCIsXG4gIGhvcml6b250YWxQbGFjZW1lbnQ6IFwiY2VudGVyXCIsXG59O1xuXG5sZXQgbGFzdFRvb2x0aXBIaWRlVGltZXN0YW1wID0gMDtcblxuLyogRGlzYWJsZSBhbmltYXRpb24gaWYgdGltZSBiZXR3ZWVuIGxhc3QgY2xvc2UgYW5kIG5ldyBvcGVuIGlzIGxlc3MgdGhhbiA1MDBtcyArIFNIT1dfSElERV9ERUxBWSAqL1xuZnVuY3Rpb24gZ2V0QW5pbWF0aW9uRHVyYXRpb24oKSB7XG4gIGxldCBhbmltYXRpb25EdXJhdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTn1tc2A7XG5cbiAgaWYgKGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcCkge1xuICAgIGNvbnN0IHRpbWVTaW5jZUxhc3RUb29sdGlwID0gRGF0ZS5ub3coKSAtIGxhc3RUb29sdGlwSGlkZVRpbWVzdGFtcDtcblxuICAgIGlmICh0aW1lU2luY2VMYXN0VG9vbHRpcCA8IDUwMCArIFNIT1dfSElERV9ERUxBWSkge1xuICAgICAgYW5pbWF0aW9uRHVyYXRpb24gPSBcIjBtc1wiO1xuICAgIH1cbiAgfVxuICByZXR1cm4gYW5pbWF0aW9uRHVyYXRpb247XG59XG5cbi8qKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIGRpc3BsYXkgdGhlIG92ZXJsYXkgZm9yIGJvdGggVG9nZ2xldGlwIGFuZCBUb29sdGlwIGNvbXBvbmVudHMgKi9cbmV4cG9ydCBmdW5jdGlvbiBUb29sdGlwQ29udGVudCh7XG4gIHBsYWNlbWVudCA9IFwiYXV0b1wiLFxuICBjb250ZW50LFxuICB0b29sdGlwSWQsXG4gIHRyaWdnZXJSZWYsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGF0YUUyZVRlc3RJZCxcbiAgZGF0YURTSWQsXG4gIGlzVmlzaWJsZSxcbiAgXCJhcmlhLWhpZGRlblwiOiBhcmlhSGlkZGVuLFxuICByb2xlLFxuICB0YWJJbmRleCxcbiAgY29udGVudFBhZGRpbmcsXG4gIG1heFdpZHRoID0gTUFYX0NPTlRFTlRfV0lEVEgsXG4gIHN1YlRoZW1lLFxuICBkZWZhdWx0VmVydGljYWxQbGFjZW1lbnQsXG4gIGhpZGVBcnJvdyA9IGZhbHNlLFxuICBpc0hpZGRlbk9uSW52aXNpYmxlVHJpZ2dlciA9IGZhbHNlLFxuICBvblRvb2x0aXBQb2ludGVyRW50ZXIsXG4gIG9uVG9vbHRpcFBvaW50ZXJMZWF2ZSxcbiAgb25PdmVyZmxvd1ZpZXdwb3J0LFxufTogVG9vbHRpcENvbnRlbnRQcm9wcyk6IFJlYWN0LlJlYWN0RWxlbWVudCB7XG4gIGNvbnN0IFtzdHlsZSwgc2V0U3R5bGVdID0gdXNlU3RhdGUoaW5pdGlhbFN0eWxlKTtcbiAgY29uc3QgW2lzSGlkZGVuLCBzZXRJc0hpZGRlbl0gPSB1c2VTdGF0ZShmYWxzZSk7IC8vIGNzcyB2aXNpYmlsdHkgaGlkZGVuXG4gIGNvbnN0IHRvb2x0aXBSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IGlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZiA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IGRvY3VtZW50ID0gdXNlRG9jdW1lbnQoKTtcbiAgY29uc3Qgd2luZG93ID0gdXNlV2luZG93KCk7XG5cbiAgY29uc3QgYXJyb3dTaXplID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhpZGVBcnJvdykge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiBzdWJUaGVtZSA/IEFSUk9XX1NJWkUgOiBBUlJPV19TSVpFX0JJRztcbiAgfSwgW3N1YlRoZW1lLCBoaWRlQXJyb3ddKTtcblxuICBjb25zdCBoYW5kbGVWaWV3cG9ydE92ZXJmbG93ID0gdXNlQ2FsbGJhY2s8XG4gICAgVG9vbHRpcENvbnRlbnRQcm9wc1tcIm9uT3ZlcmZsb3dWaWV3cG9ydFwiXVxuICA+KFxuICAgICh0cmlnZ2VyUmVjdCwgdG9vbHRpcFJlY3QsIHZpZXdwb3J0SGVpZ2h0KSA9PiB7XG4gICAgICBpZiAoIWlzT3ZlcmZsb3dDYWxsYmFja0NhbGxlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydD8uKHRyaWdnZXJSZWN0LCB0b29sdGlwUmVjdCwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgfSxcbiAgICBbb25PdmVyZmxvd1ZpZXdwb3J0LCBpc092ZXJmbG93Q2FsbGJhY2tDYWxsZWRSZWZdXG4gICk7XG5cbiAgY29uc3QgY2FsY3VsYXRlU3R5bGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHRyaWdnZXJSZWYuY3VycmVudCAmJiB0b29sdGlwUmVmLmN1cnJlbnQpIHtcbiAgICAgIC8vIGNhbGN1bGF0ZSB0b29sdGlwIHN0eWxlXG4gICAgICBzZXRTdHlsZShcbiAgICAgICAgZ2V0VG9vbHRpcFN0eWxlKHtcbiAgICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgICAgZGVmYXVsdFZlcnRpY2FsUGxhY2VtZW50LFxuICAgICAgICAgIHRyaWdnZXJSZWYsXG4gICAgICAgICAgdG9vbHRpcFJlZixcbiAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICB3aW5kb3csXG4gICAgICAgICAgYXJyb3dTaXplLFxuICAgICAgICAgIG9uT3ZlcmZsb3dWaWV3cG9ydDogaGFuZGxlVmlld3BvcnRPdmVyZmxvdyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9LCBbXG4gICAgdHJpZ2dlclJlZixcbiAgICB0b29sdGlwUmVmLFxuICAgIGRvY3VtZW50LFxuICAgIHdpbmRvdyxcbiAgICBwbGFjZW1lbnQsXG4gICAgYXJyb3dTaXplLFxuICAgIGRlZmF1bHRWZXJ0aWNhbFBsYWNlbWVudCxcbiAgICBoYW5kbGVWaWV3cG9ydE92ZXJmbG93LFxuICBdKTtcblxuICAvLyBUaGlzIGxheW91dCBlZmZlY3QgdG8gcmUtcmVuZGVyIHdpdGggdXBkYXRlZCBwb3NpdGlvbiBhZnRlciBkZXRlcm1pbmluZyBjb250ZW50IHdpZHRoXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgY2FsY3VsYXRlU3R5bGUoKTtcbiAgICB9XG4gIH0sIFtpc1Zpc2libGUsIGNhbGN1bGF0ZVN0eWxlLCBjb250ZW50UGFkZGluZywgY29udGVudCwgbWF4V2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1Zpc2libGUgJiYgdG9vbHRpcFJlZi5jdXJyZW50KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVTdHlsZSwgdHJ1ZSk7IC8vIHVzZSBjYXB0dXJlIGhlcmUgdG8gZGV0ZWN0IHNjcm9sbCBvbiBhbnkgcGFyZW50XG4gICAgfSBlbHNlIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICAvLyBsb2cgdGltZSB3aGVuIHRvb2x0aXAgY2xvc2VzXG4gICAgICBsYXN0VG9vbHRpcEhpZGVUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjYWxjdWxhdGVTdHlsZSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVTdHlsZSwgdHJ1ZSk7XG4gICAgfTtcbiAgfSwgW2lzVmlzaWJsZSwgY2FsY3VsYXRlU3R5bGUsIHdpbmRvdywgdG9vbHRpcFJlZl0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgfSwgW2lzVmlzaWJsZSwgaXNPdmVyZmxvd0NhbGxiYWNrQ2FsbGVkUmVmXSk7XG5cbiAgLyogSGlkZSAodmlzaWJpbGl0eTogaGlkZGVuKSB0b29sdGlwIGlmIHRyaWdnZXIgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXcgKi9cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyO1xuXG4gICAgaWYgKFxuICAgICAgaXNIaWRkZW5PbkludmlzaWJsZVRyaWdnZXIgJiZcbiAgICAgIHRyaWdnZXJSZWYuY3VycmVudCAmJlxuICAgICAgaXNWaXNpYmxlICYmXG4gICAgICB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgIT09IFwidW5kZWZpbmVkXCJcbiAgICApIHtcbiAgICAgIG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFxuICAgICAgICAoZW50cmllcykgPT5cbiAgICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWN0ID0gZW50cnkuYm91bmRpbmdDbGllbnRSZWN0O1xuXG4gICAgICAgICAgICAvLyBJZ25vcmUgaW50ZXJzZWN0aW9uIGNoYW5nZXMgd2hlbiBlbGVtZW50IGhhcyB6ZXJvIGRpbWVuc2lvbnNcbiAgICAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBkdXJpbmcgRE9NIHVwZGF0ZXMvcG9ydGFsIHJlbmRlcmluZ1xuICAgICAgICAgICAgaWYgKHJlY3Q/LndpZHRoID09PSAwICYmIHJlY3Q/LmhlaWdodCA9PT0gMCkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldElzSGlkZGVuKCFlbnRyeS5pc0ludGVyc2VjdGluZyk7XG4gICAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICByb290OiBudWxsLCAvLyB2aWV3cG9ydFxuICAgICAgICAgIHRocmVzaG9sZDogSU5URVJTRUNUSU9OX1RIUkVTSE9MRCxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0cmlnZ2VyUmVmLmN1cnJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAob2JzZXJ2ZXIpIHtcbiAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgfVxuICAgIH07XG4gIH0sIFt0cmlnZ2VyUmVmLCBpc1Zpc2libGUsIGlzSGlkZGVuT25JbnZpc2libGVUcmlnZ2VyXSk7XG5cbiAgaWYgKCFpc1Zpc2libGUpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHRvb2x0aXBFbG0gPSAoXG4gICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgIGRhdGEtZHMtaWQ9e2RhdGFEU0lkfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgdG9wOiBzdHlsZS50b3AsXG4gICAgICAgIGxlZnQ6IHN0eWxlLmxlZnQsXG4gICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiBnZXRBbmltYXRpb25EdXJhdGlvbigpLFxuICAgICAgfX1cbiAgICAgIHJlZj17dG9vbHRpcFJlZn1cbiAgICAgIGlkPXt0b29sdGlwSWR9XG4gICAgICByb2xlPXtyb2xlfVxuICAgICAgYXJpYS1oaWRkZW49e2FyaWFIaWRkZW59XG4gICAgICBzdWJUaGVtZT17c3ViVGhlbWV9XG4gICAgICB0YWJJbmRleD17dGFiSW5kZXh9XG4gICAgICBob3Jpem9udGFsUGxhY2VtZW50PXtzdHlsZS5ob3Jpem9udGFsUGxhY2VtZW50fVxuICAgICAgdmVydGljYWxQbGFjZW1lbnQ9e3N0eWxlLnZlcnRpY2FsUGxhY2VtZW50fVxuICAgICAgbWF4V2lkdGg9e21heFdpZHRofVxuICAgICAgY29udGVudFBhZGRpbmc9e2NvbnRlbnRQYWRkaW5nfVxuICAgICAgaXNIaWRkZW49e2lzSGlkZGVufVxuICAgICAgb25Qb2ludGVyRW50ZXI9e29uVG9vbHRpcFBvaW50ZXJFbnRlcn1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXtvblRvb2x0aXBQb2ludGVyTGVhdmV9XG4gICAgPlxuICAgICAge2NvbnRlbnR9XG4gICAgICB7IWhpZGVBcnJvdyAmJiAoXG4gICAgICAgIDxTdHlsZWRBcnJvd1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2Ake2RhdGFFMmVUZXN0SWR9X2Fycm93YH1cbiAgICAgICAgICBzdWJUaGVtZT17c3ViVGhlbWV9XG4gICAgICAgICAgaG9yaXpvbnRhbFBsYWNlbWVudD17c3R5bGUuaG9yaXpvbnRhbFBsYWNlbWVudH1cbiAgICAgICAgICB2ZXJ0aWNhbFBsYWNlbWVudD17c3R5bGUudmVydGljYWxQbGFjZW1lbnR9XG4gICAgICAgICAgc2l6ZT17YXJyb3dTaXplfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZENvbnRhaW5lcj5cbiAgKTtcblxuICBjb25zdCB3cmFwcGVyRWxtID0gc3ViVGhlbWUgPyAoXG4gICAgPFN1YlRoZW1lUHJvdmlkZXIgbmFtZT17c3ViVGhlbWV9Pnt0b29sdGlwRWxtfTwvU3ViVGhlbWVQcm92aWRlcj5cbiAgKSA6IChcbiAgICB0b29sdGlwRWxtXG4gICk7XG5cbiAgcmV0dXJuIDxQb3J0YWwgcG9ydGFsQ29udGFpbmVyPXtwb3J0YWxDb250YWluZXJ9Pnt3cmFwcGVyRWxtfTwvUG9ydGFsPjtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpTG9CIn0= */"),initialStyle={top:0,left:0,verticalPlacement:"top",horizontalPlacement:"center"},lastTooltipHideTimestamp=0;export function TooltipContent({placement="auto",content,tooltipId,triggerRef,portalContainer,dataE2eTestId,dataDSId,isVisible,"aria-hidden":ariaHidden,role,tabIndex,contentPadding,maxWidth=224,subTheme,defaultVerticalPlacement,hideArrow=!1,isHiddenOnInvisibleTrigger=!1,onTooltipPointerEnter,onTooltipPointerLeave,onOverflowViewport}){let animationDuration,[style,setStyle]=useState(initialStyle),[isHidden,setIsHidden]=useState(!1),tooltipRef=useRef(null),isOverflowCallbackCalledRef=useRef(!1),document=useDocument(),window=useWindow(),arrowSize=useMemo(()=>hideArrow?0:subTheme?ARROW_SIZE:ARROW_SIZE_BIG,[subTheme,hideArrow]),handleViewportOverflow=useCallback((triggerRect,tooltipRect,viewportHeight)=>{isOverflowCallbackCalledRef.current||(onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),isOverflowCallbackCalledRef.current=!0)},[onOverflowViewport,isOverflowCallbackCalledRef]),calculateStyle=useCallback(()=>{triggerRef.current&&tooltipRef.current&&setStyle(getTooltipStyle({placement,defaultVerticalPlacement,triggerRef,tooltipRef,document,window,arrowSize,onOverflowViewport:handleViewportOverflow}))},[triggerRef,tooltipRef,document,window,placement,arrowSize,defaultVerticalPlacement,handleViewportOverflow]);if(useLayoutEffect(()=>{isVisible&&calculateStyle()},[isVisible,calculateStyle,contentPadding,content,maxWidth]),useEffect(()=>(isVisible&&tooltipRef.current?(window.addEventListener("resize",calculateStyle),window.addEventListener("scroll",calculateStyle,!0)):isVisible||(lastTooltipHideTimestamp=Date.now()),()=>{window.removeEventListener("resize",calculateStyle),window.removeEventListener("scroll",calculateStyle,!0)}),[isVisible,calculateStyle,window,tooltipRef]),useEffect(()=>{isOverflowCallbackCalledRef.current=!1},[isVisible,isOverflowCallbackCalledRef]),useEffect(()=>{let observer;return isHiddenOnInvisibleTrigger&&triggerRef.current&&isVisible&&"undefined"!=typeof IntersectionObserver&&(observer=new IntersectionObserver(entries=>entries.forEach(entry=>{let rect=entry.boundingClientRect;(rect?.width!==0||rect?.height!==0)&&setIsHidden(!entry.isIntersecting)}),{root:null,threshold:.99})).observe(triggerRef.current),()=>{observer&&observer.disconnect()}},[triggerRef,isVisible,isHiddenOnInvisibleTrigger]),!isVisible)return null;let tooltipElm=React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":dataDSId,style:{top:style.top,left:style.left,animationDuration:(animationDuration="200ms",lastTooltipHideTimestamp&&Date.now()-lastTooltipHideTimestamp<700&&(animationDuration="0ms"),animationDuration)},ref:tooltipRef,id:tooltipId,role:role,"aria-hidden":ariaHidden,subTheme:subTheme,tabIndex:tabIndex,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,maxWidth:maxWidth,contentPadding:contentPadding,isHidden:isHidden,onPointerEnter:onTooltipPointerEnter,onPointerLeave:onTooltipPointerLeave},content,!hideArrow&&React.createElement(StyledArrow,{"data-e2e-test-id":`${dataE2eTestId}_arrow`,subTheme:subTheme,horizontalPlacement:style.horizontalPlacement,verticalPlacement:style.verticalPlacement,size:arrowSize})),wrapperElm=subTheme?React.createElement(SubThemeProvider,{name:subTheme},tooltipElm):tooltipElm;return React.createElement(Portal,{portalContainer:portalContainer},wrapperElm)}
@@ -3,6 +3,19 @@
3
3
  "dark": {
4
4
  "sub-navigation-learn": {
5
5
  "color": {
6
+ "background": {
7
+ "transparent": {
8
+ "hover": "rgba(255, 255, 255, 0.08)"
9
+ }
10
+ },
11
+ "border": {
12
+ "accent": {
13
+ "default": "#2db5c6"
14
+ }
15
+ },
16
+ "divider": {
17
+ "secondary": "rgba(255, 255, 255, 0.3)"
18
+ },
6
19
  "text": {
7
20
  "primary": {
8
21
  "default": "rgba(255, 255, 255, 0.6)"
@@ -16,6 +29,19 @@
16
29
  },
17
30
  "sub-navigation-practice": {
18
31
  "color": {
32
+ "background": {
33
+ "transparent": {
34
+ "hover": "rgba(255, 255, 255, 0.08)"
35
+ }
36
+ },
37
+ "border": {
38
+ "accent": {
39
+ "default": "#2db5c6"
40
+ }
41
+ },
42
+ "divider": {
43
+ "secondary": "rgba(255, 255, 255, 0.3)"
44
+ },
19
45
  "text": {
20
46
  "primary": {
21
47
  "default": "rgba(255, 255, 255, 0.6)"
@@ -29,6 +55,19 @@
29
55
  },
30
56
  "sub-navigation-teach": {
31
57
  "color": {
58
+ "background": {
59
+ "transparent": {
60
+ "hover": "rgba(255, 255, 255, 0.08)"
61
+ }
62
+ },
63
+ "border": {
64
+ "accent": {
65
+ "default": "#a3b2bd"
66
+ }
67
+ },
68
+ "divider": {
69
+ "secondary": "rgba(255, 255, 255, 0.3)"
70
+ },
32
71
  "text": {
33
72
  "primary": {
34
73
  "default": "rgba(255, 255, 255, 0.6)"
@@ -44,6 +83,19 @@
44
83
  "light": {
45
84
  "sub-navigation-learn": {
46
85
  "color": {
86
+ "background": {
87
+ "transparent": {
88
+ "hover": "rgba(96, 117, 133, 0.05)"
89
+ }
90
+ },
91
+ "border": {
92
+ "accent": {
93
+ "default": "#047a88"
94
+ }
95
+ },
96
+ "divider": {
97
+ "secondary": "rgba(163, 178, 189, 0.3)"
98
+ },
47
99
  "text": {
48
100
  "primary": {
49
101
  "default": "#5a7183"
@@ -57,6 +109,19 @@
57
109
  },
58
110
  "sub-navigation-practice": {
59
111
  "color": {
112
+ "background": {
113
+ "transparent": {
114
+ "hover": "rgba(96, 117, 133, 0.05)"
115
+ }
116
+ },
117
+ "border": {
118
+ "accent": {
119
+ "default": "#047a88"
120
+ }
121
+ },
122
+ "divider": {
123
+ "secondary": "rgba(163, 178, 189, 0.3)"
124
+ },
60
125
  "text": {
61
126
  "primary": {
62
127
  "default": "#5a7183"
@@ -70,6 +135,19 @@
70
135
  },
71
136
  "sub-navigation-teach": {
72
137
  "color": {
138
+ "background": {
139
+ "transparent": {
140
+ "hover": "rgba(96, 117, 133, 0.05)"
141
+ }
142
+ },
143
+ "border": {
144
+ "accent": {
145
+ "default": "#314554"
146
+ }
147
+ },
148
+ "divider": {
149
+ "secondary": "rgba(163, 178, 189, 0.3)"
150
+ },
73
151
  "text": {
74
152
  "primary": {
75
153
  "default": "#5a7183"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amboss/design-system",
3
- "version": "3.13.16",
3
+ "version": "3.13.18",
4
4
  "description": "the design system for AMBOSS products",
5
5
  "author": "AMBOSS",
6
6
  "license": "ISC",