@amboss/design-system 3.29.0 → 3.29.2

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}),Object.defineProperty(exports,"BaseTooltip",{enumerable:!0,get:function(){return BaseTooltip}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_TooltipContent=require("./TooltipContent");function BaseTooltip({placement="auto",content,children,externalTriggerRef,portalContainer,contentPadding,maxWidth,subTheme,"data-e2e-test-id":dataE2eTestId,onVisibilityChange}){let tooltipId=(0,_react.useMemo)(()=>`DSTooltip_${Math.floor(Date.now()*Math.random())}`,[]),[isVisible,setVisible]=(0,_react.useState)(!1),triggeredByEvent=(0,_react.useRef)(null),isTooltipHovered=(0,_react.useRef)(!1),isTriggerHovered=(0,_react.useRef)(!1),hideTooltipTimeoutId=(0,_react.useRef)(null),showTooltipTimeoutId=(0,_react.useRef)(null),internalTriggerRef=(0,_react.useRef)(null),triggerRef=externalTriggerRef||internalTriggerRef,toggleVisibility=(0,_react.useCallback)(status=>{setVisible(status),onVisibilityChange&&onVisibilityChange(status)},[onVisibilityChange]),handleTriggerPointerEnter=(0,_react.useCallback)(()=>{isTriggerHovered.current=!0,isTooltipHovered.current||(clearTimeout(showTooltipTimeoutId.current),showTooltipTimeoutId.current=setTimeout(()=>{isTriggerHovered.current&&(triggeredByEvent.current="hover",toggleVisibility(!0))},200))},[toggleVisibility]),handleTriggerPointerLeave=(0,_react.useCallback)(()=>{isTriggerHovered.current=!1,clearTimeout(hideTooltipTimeoutId.current),hideTooltipTimeoutId.current=setTimeout(()=>{isTooltipHovered.current||"hover"!==triggeredByEvent.current||isTriggerHovered.current||toggleVisibility(!1)},200)},[toggleVisibility]),handleTriggerFocus=(0,_react.useCallback)(()=>{triggeredByEvent.current="focus",toggleVisibility(!0)},[toggleVisibility]),handleTriggerBlur=(0,_react.useCallback)(()=>{"focus"===triggeredByEvent.current&&toggleVisibility(!1)},[toggleVisibility]),handleTriggerClick=(0,_react.useCallback)(()=>{toggleVisibility(!1)},[toggleVisibility]),handleTriggerKeyDown=(0,_react.useCallback)(evt=>{"Escape"===evt.key&&toggleVisibility(!1)},[toggleVisibility]);(0,_react.useEffect)(()=>()=>{clearTimeout(showTooltipTimeoutId.current),clearTimeout(hideTooltipTimeoutId.current)},[]),(0,_react.useEffect)(()=>{let trigger;if(externalTriggerRef?.current&&!children){let triggerTabIndex=(trigger=externalTriggerRef.current).getAttribute("tabindex");trigger.setAttribute("tabindex",triggerTabIndex??"0"),trigger.addEventListener("pointerenter",handleTriggerPointerEnter),trigger.addEventListener("pointerleave",handleTriggerPointerLeave),trigger.addEventListener("focus",handleTriggerFocus),trigger.addEventListener("blur",handleTriggerBlur),trigger.addEventListener("click",handleTriggerClick),trigger.addEventListener("keydown",handleTriggerKeyDown)}return()=>{trigger&&(trigger.removeEventListener("pointerenter",handleTriggerPointerEnter),trigger.removeEventListener("pointerleave",handleTriggerPointerLeave),trigger.removeEventListener("focus",handleTriggerFocus),trigger.removeEventListener("blur",handleTriggerBlur),trigger.removeEventListener("click",handleTriggerClick),trigger.removeEventListener("keydown",handleTriggerKeyDown))}},[externalTriggerRef,children,handleTriggerPointerEnter,handleTriggerPointerLeave,handleTriggerFocus,handleTriggerBlur,handleTriggerClick,handleTriggerKeyDown]),(0,_react.useEffect)(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current;isVisible?trigger.setAttribute("aria-describedby",tooltipId):trigger.removeAttribute("aria-describedby")}},[externalTriggerRef,children,tooltipId,isVisible]);let triggerElm=children?_react.default.cloneElement(children,{ref:triggerRef,...isVisible&&{"aria-describedby":tooltipId},tabIndex:children.props.tabIndex??0,onPointerEnter:handleTriggerPointerEnter,onPointerLeave:handleTriggerPointerLeave,onFocus:evt=>{handleTriggerFocus(),children.props.onFocus&&children.props.onFocus(evt)},onBlur:evt=>{handleTriggerBlur(),children.props.onBlur&&children.props.onBlur(evt)},onClick:evt=>{handleTriggerClick(),children.props.onClick&&children.props.onClick(evt)},onKeyDown:handleTriggerKeyDown}):null,tooltipElm=_react.default.createElement(_TooltipContent.TooltipContent,{dataDSId:"Tooltip",content:content,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,isVisible:isVisible,tooltipId:tooltipId,triggerRef:triggerRef,"aria-hidden":!0,role:"tooltip",contentPadding:contentPadding,maxWidth:maxWidth,subTheme:subTheme,onTooltipPointerEnter:()=>{isTooltipHovered.current=!0},onTooltipPointerLeave:()=>{isTooltipHovered.current=!1,"hover"===triggeredByEvent.current&&toggleVisibility(!1)}});return _react.default.createElement(_react.default.Fragment,null,triggerElm,tooltipElm)}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"BaseTooltip",{enumerable:!0,get:function(){return BaseTooltip}});const _react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_interactions=require("@react-aria/interactions"),_TooltipContent=require("./TooltipContent");function BaseTooltip({placement="auto",content,children,externalTriggerRef,portalContainer,contentPadding,maxWidth,subTheme,"data-e2e-test-id":dataE2eTestId,onVisibilityChange}){let tooltipId=(0,_react.useMemo)(()=>`DSTooltip_${Math.floor(Date.now()*Math.random())}`,[]),{isFocusVisible}=(0,_interactions.useFocusVisible)(),[isVisible,setVisible]=(0,_react.useState)(!1),triggeredByEvent=(0,_react.useRef)(null),isTooltipHovered=(0,_react.useRef)(!1),isTriggerHovered=(0,_react.useRef)(!1),hideTooltipTimeoutId=(0,_react.useRef)(null),showTooltipTimeoutId=(0,_react.useRef)(null),internalTriggerRef=(0,_react.useRef)(null),triggerRef=externalTriggerRef||internalTriggerRef,toggleVisibility=(0,_react.useCallback)(status=>{setVisible(status),onVisibilityChange&&onVisibilityChange(status)},[onVisibilityChange]),handleTriggerPointerEnter=(0,_react.useCallback)(()=>{isTriggerHovered.current=!0,isTooltipHovered.current||(clearTimeout(showTooltipTimeoutId.current),showTooltipTimeoutId.current=setTimeout(()=>{isTriggerHovered.current&&(triggeredByEvent.current="hover",toggleVisibility(!0))},200))},[toggleVisibility]),handleTriggerPointerLeave=(0,_react.useCallback)(()=>{isTriggerHovered.current=!1,clearTimeout(hideTooltipTimeoutId.current),hideTooltipTimeoutId.current=setTimeout(()=>{isTooltipHovered.current||"hover"!==triggeredByEvent.current||isTriggerHovered.current||toggleVisibility(!1)},200)},[toggleVisibility]),handleTriggerFocus=(0,_react.useCallback)(()=>{isFocusVisible&&(triggeredByEvent.current="focus",toggleVisibility(!0))},[isFocusVisible,toggleVisibility]),handleTriggerBlur=(0,_react.useCallback)(()=>{"focus"===triggeredByEvent.current&&toggleVisibility(!1)},[toggleVisibility]),handleTriggerClick=(0,_react.useCallback)(()=>{toggleVisibility(!1)},[toggleVisibility]),handleTriggerKeyDown=(0,_react.useCallback)(evt=>{"Escape"===evt.key&&toggleVisibility(!1)},[toggleVisibility]);(0,_react.useEffect)(()=>()=>{clearTimeout(showTooltipTimeoutId.current),clearTimeout(hideTooltipTimeoutId.current)},[]),(0,_react.useEffect)(()=>{let trigger;if(externalTriggerRef?.current&&!children){let triggerTabIndex=(trigger=externalTriggerRef.current).getAttribute("tabindex");trigger.setAttribute("tabindex",triggerTabIndex??"0"),trigger.addEventListener("pointerenter",handleTriggerPointerEnter),trigger.addEventListener("pointerleave",handleTriggerPointerLeave),trigger.addEventListener("focus",handleTriggerFocus),trigger.addEventListener("blur",handleTriggerBlur),trigger.addEventListener("click",handleTriggerClick),trigger.addEventListener("keydown",handleTriggerKeyDown)}return()=>{trigger&&(trigger.removeEventListener("pointerenter",handleTriggerPointerEnter),trigger.removeEventListener("pointerleave",handleTriggerPointerLeave),trigger.removeEventListener("focus",handleTriggerFocus),trigger.removeEventListener("blur",handleTriggerBlur),trigger.removeEventListener("click",handleTriggerClick),trigger.removeEventListener("keydown",handleTriggerKeyDown))}},[externalTriggerRef,children,handleTriggerPointerEnter,handleTriggerPointerLeave,handleTriggerFocus,handleTriggerBlur,handleTriggerClick,handleTriggerKeyDown]),(0,_react.useEffect)(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current;isVisible?trigger.setAttribute("aria-describedby",tooltipId):trigger.removeAttribute("aria-describedby")}},[externalTriggerRef,children,tooltipId,isVisible]);let triggerElm=children?_react.default.cloneElement(children,{ref:triggerRef,...isVisible&&{"aria-describedby":tooltipId},tabIndex:children.props.tabIndex??0,onPointerEnter:handleTriggerPointerEnter,onPointerLeave:handleTriggerPointerLeave,onFocus:evt=>{handleTriggerFocus(),children.props.onFocus&&children.props.onFocus(evt)},onBlur:evt=>{handleTriggerBlur(),children.props.onBlur&&children.props.onBlur(evt)},onClick:evt=>{handleTriggerClick(),children.props.onClick&&children.props.onClick(evt)},onKeyDown:handleTriggerKeyDown}):null,tooltipElm=_react.default.createElement(_TooltipContent.TooltipContent,{dataDSId:"Tooltip",content:content,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,isVisible:isVisible,tooltipId:tooltipId,triggerRef:triggerRef,"aria-hidden":!0,role:"tooltip",contentPadding:contentPadding,maxWidth:maxWidth,subTheme:subTheme,onTooltipPointerEnter:()=>{isTooltipHovered.current=!0},onTooltipPointerLeave:()=>{isTooltipHovered.current=!1,"hover"===triggeredByEvent.current&&toggleVisibility(!1)}});return _react.default.createElement(_react.default.Fragment,null,triggerElm,tooltipElm)}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"getInputTextPlaceholder",{enumerable:!0,get:function(){return getInputTextPlaceholder}});const getInputTextPlaceholder=({theme})=>({"&::placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default,opacity:theme.variables.opacity.visible},"&:-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},"&::-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"getInputTextPlaceholder",{enumerable:!0,get:function(){return getInputTextPlaceholder}});const getInputTextPlaceholder=({theme})=>({"&::placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default,opacity:theme.variables.opacity.visible,whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},"&:-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},"&::-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},"&:placeholder-shown":{textOverflow:"ellipsis"}});
@@ -1 +1 @@
1
- import{useState,useEffect}from"react";export const defaultSortCompareFn=(a,b,columnName,desiredSortDirection)=>a[columnName]<b[columnName]?"asc"===desiredSortDirection?-1:1:a[columnName]>b[columnName]?"asc"===desiredSortDirection?1:-1:0;export function useDataTableSort(initialColumns,initialRows,initialSortedByColumn,sortCompareFn=defaultSortCompareFn){let[columns,setColumns]=useState(initialColumns),[currentlySortedByColumn,setCurrentlySortedByColumn]=useState(initialSortedByColumn),[rows,setRows]=useState(initialRows);return useEffect(()=>{setRows(initialRows)},[initialRows]),useEffect(()=>{setColumns(initialColumns)},[initialColumns]),{columns,rows,currentlySortedByColumn,handleSort:(columnName,desiredSortDirection)=>{let newColumns=[...columns],newRows=[...rows],column=newColumns.find(item=>item.name===columnName);column&&(column.sortDirection=desiredSortDirection),newRows.sort((a,b)=>sortCompareFn(a,b,columnName,desiredSortDirection)),setRows(newRows),setColumns(newColumns),setCurrentlySortedByColumn(columnName)},setColumns,resetColumns:()=>{setColumns(initialColumns),setCurrentlySortedByColumn(initialSortedByColumn)},setRows,setCurrentlySortedByColumn}}
1
+ import{useState}from"react";export const defaultSortCompareFn=(a,b,columnName,desiredSortDirection)=>a[columnName]<b[columnName]?"asc"===desiredSortDirection?-1:1:a[columnName]>b[columnName]?"asc"===desiredSortDirection?1:-1:0;export function useDataTableSort(initialColumns,initialRows,initialSortedByColumn,sortCompareFn=defaultSortCompareFn){let[columns,setColumns]=useState(initialColumns),[currentlySortedByColumn,setCurrentlySortedByColumn]=useState(initialSortedByColumn),[rows,setRows]=useState(initialRows);return{columns,rows,currentlySortedByColumn,handleSort:(columnName,desiredSortDirection)=>{let newColumns=[...columns],newRows=[...rows],column=newColumns.find(item=>item.name===columnName);column&&(column.sortDirection=desiredSortDirection),newRows.sort((a,b)=>sortCompareFn(a,b,columnName,desiredSortDirection)),setRows(newRows),setColumns(newColumns),setCurrentlySortedByColumn(columnName)},setColumns,resetColumns:()=>{setColumns(initialColumns),setCurrentlySortedByColumn(initialSortedByColumn)},setRows,setCurrentlySortedByColumn}}
@@ -1 +1 @@
1
- import React,{useRef,useLayoutEffect,useState,useEffect,useCallback}from"react";import styled from"@emotion/styled";import{createPortal}from"react-dom";import{keyframes,Global}from"@emotion/react";import{FocusTrapWrapper}from"../../shared/FocusTrapWrapper";import{Container}from"../Container/Container";import{useDragDown}from"../../shared/useDragDown";import{StyledBackdrop}from"../Patterns/Modal/Modal";import{isWithinScrolledElement}from"../../shared/isWithinScrolledElement";export const SHEET_MAX_HEIGHT="80svh";let StyledContainer=styled("div",{target:"evpwto20",label:"StyledContainer"})(({theme,containerHeight,isClosing,isOpening,dragOffset=0})=>{let animation;if(containerHeight){let slideOut=keyframes({from:{transform:`translateY(${dragOffset}px)`},to:{transform:`translateY(${containerHeight}px)`}}),slideIn=keyframes({from:{transform:`translateY(${containerHeight}px)`},to:{transform:"translateY(0px)"}});animation=isClosing?`200ms ease-out forwards ${slideOut}`:isOpening?`300ms ease-out forwards ${slideIn}`:"none"}return{position:"fixed",left:0,bottom:0,width:"100vw",transformOrigin:"bottom",animation,boxSizing:"border-box",zIndex:theme.variables.zIndex.modal,"> div":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgb25DbG9zZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcmFnQ2FuY2VsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50ICYmIGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICB9XG4gICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IHNob3VsZEluaXRpYXRlRHJhZyA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAvLyBBbHdheXMgYWxsb3cgZHJhZyBmcm9tIGhhbmRsZSBjb250YWluZXIgYXJlYVxuICAgICAgaWYgKGhhbmRsZUNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiB0b3VjaCBpcyB3aXRoaW4gYW55IHNjcm9sbGFibGUgZWxlbWVudCB0aGF0IGhhcyBiZWVuIHNjcm9sbGVkXG4gICAgICBpZiAoaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQodGFyZ2V0LCBjb250YWluZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB1c2VyIGNhbiBzY3JvbGwgdG8gdGhlIHRvcCwgZG9uJ3QgYWxsb3cgdG8gZHJhZyB0byBjbG9zZSB0aGUgc2hlZXRcbiAgICAgIC8vIEFuZCBsZXQgdG8gc2Nyb2xsXG4gICAgICBpZiAoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmLCBoYW5kbGVDb250YWluZXJSZWZdXG4gICk7XG5cbiAgdXNlRHJhZ0Rvd24oe1xuICAgIHJlZjogY29udGFpbmVyUmVmLFxuICAgIGlzVmlzaWJsZSxcbiAgICBvbkRyYWdTdGFydDogaGFuZGxlRHJhZ1N0YXJ0LFxuICAgIG9uRHJhZzogaGFuZGxlRHJhZyxcbiAgICBvbkRyYWdFbmQ6IGhhbmRsZURyYWdFbmQsXG4gICAgb25EcmFnQ2FuY2VsOiBoYW5kbGVEcmFnQ2FuY2VsLFxuICAgIHNob3VsZEluaXRpYXRlRHJhZyxcbiAgfSk7XG5cbiAgY29uc3QgaGFuZGxlRXhpdEFuaW1hdGlvbkVuZCA9ICgpID0+IHtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBzZXRDbG9zaW5nKGZhbHNlKTtcbiAgICAgIHNldENvbnRhaW5lckhlaWdodCgwKTtcbiAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICBpZiAob25Vbm1vdW50KSB7XG4gICAgICAgIG9uVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICBzZXRPcGVuaW5nKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgIT09IDApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVBvc3REZWFjdGl2YXRlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG9uQ2xvc2UoKTtcbiAgfSwgW29uQ2xvc2VdKTtcblxuICBjb25zdCBzaG93U2hlZXQgPSAoaXNWaXNpYmxlIHx8IGlzQ2xvc2luZykgJiYgIShpc1Zpc2libGUgJiYgaXNDbG9zaW5nKTtcblxuICBpZiAoIXNob3dTaGVldCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZ2xvYmFsU3R5bGVzID0ge1xuICAgIGh0bWw6IHtcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGlkUHJvcCA9IGlkXG4gICAgPyB7XG4gICAgICAgIGlkLFxuICAgICAgfVxuICAgIDoge307XG5cbiAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtnbG9iYWxTdHlsZXN9IC8+XG4gICAgICA8Rm9jdXNUcmFwV3JhcHBlclxuICAgICAgICBhY3RpdmU9e2lzVmlzaWJsZX1cbiAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOlxuICAgICAgICAgICAgZGlzbWlzc09uT3V0c2lkZUNsaWNrICYmIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXNcbiAgICAgICAgICAgICAgPyBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgIDogZGlzbWlzc09uT3V0c2lkZUNsaWNrLFxuICAgICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiB0cnVlLFxuICAgICAgICAgIGVzY2FwZURlYWN0aXZhdGVzOiB0cnVlLCAvLyBkZS1hY3RpdmF0ZSBmb2N1cyB0cmFwIG9uIGVzY2FwZSBrZXlcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxGb2N1czogKCkgPT4gIWRpc2FibGVJbml0aWFsRm9jdXMsXG4gICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6ICFkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIsXG4gICAgICAgICAgZmFsbGJhY2tGb2N1czogYFtkYXRhLWRzLWlkPVwiU2hlZXRcIl1gLFxuICAgICAgICAgIG9uUG9zdERlYWN0aXZhdGU6IGhhbmRsZVBvc3REZWFjdGl2YXRlLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgey4uLmlkUHJvcH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2hlZXRcIlxuICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17Y29udGFpbmVySGVpZ2h0fVxuICAgICAgICAgIGlzQ2xvc2luZz17aXNDbG9zaW5nfVxuICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgIGRyYWdPZmZzZXQ9e2RyYWdPZmZzZXQuY3VycmVudH1cbiAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17aGFuZGxlRXhpdEFuaW1hdGlvbkVuZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICAgIDxTdHlsZWRIYW5kbGVDb250YWluZXJcbiAgICAgICAgICAgICAgcmVmPXtoYW5kbGVDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPXtpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEhhbmRsZSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRIYW5kbGVDb250YWluZXI+XG4gICAgICAgICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICAgICAgaXNPcGVuaW5nPXtpc09wZW5pbmd9XG4gICAgICAgICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgb25TY3JvbGw9e2hhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGx9XG4gICAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXsoZXZ0KSA9PiBldnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudENvbnRhaW5lcj5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICAgPC8+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlZFNoZWV0ID1cbiAgICBoYXNCYWNrZHJvcCAmJiAhaXNDbG9zaW5nID8gKFxuICAgICAgPFN0eWxlZEJhY2tkcm9wPntzaGVldEVsbX08L1N0eWxlZEJhY2tkcm9wPlxuICAgICkgOiAoXG4gICAgICBzaGVldEVsbVxuICAgICk7XG5cbiAgY29uc3QgY29udGFpbmVyID0gcG9ydGFsQ29udGFpbmVyIHx8ICghIWRvY3VtZW50ICYmIGRvY3VtZW50LmJvZHkpO1xuICByZXR1cm4gY29udGFpbmVyICYmIGNyZWF0ZVBvcnRhbCh3cmFwcGVkU2hlZXQsIGNvbnRhaW5lcik7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUV3QiJ9 */"),StyledContentContainer=styled("div",{target:"evpwto21",label:"StyledContentContainer"})(({theme,isClosing,isOpening})=>{let animation,fadeOut=keyframes({from:{opacity:theme.variables.opacity.visible},to:{opacity:theme.variables.opacity.hidden}}),fadeIn=keyframes({from:{opacity:theme.variables.opacity.hidden},to:{opacity:theme.variables.opacity.visible}}),opacity=theme.variables.opacity.hidden;return isClosing?animation=`50ms ease-out forwards ${fadeOut}`:isOpening?animation=`50ms ease-out 250ms forwards ${fadeIn}`:(animation="none",opacity=theme.variables.opacity.visible),{overflow:"auto",maxHeight:"80svh",boxSizing:"border-box",overscrollBehavior:"none",backgroundColor:theme.values.color.background.elevated.default,opacity,animation}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgb25DbG9zZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcmFnQ2FuY2VsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50ICYmIGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICB9XG4gICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IHNob3VsZEluaXRpYXRlRHJhZyA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAvLyBBbHdheXMgYWxsb3cgZHJhZyBmcm9tIGhhbmRsZSBjb250YWluZXIgYXJlYVxuICAgICAgaWYgKGhhbmRsZUNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiB0b3VjaCBpcyB3aXRoaW4gYW55IHNjcm9sbGFibGUgZWxlbWVudCB0aGF0IGhhcyBiZWVuIHNjcm9sbGVkXG4gICAgICBpZiAoaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQodGFyZ2V0LCBjb250YWluZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB1c2VyIGNhbiBzY3JvbGwgdG8gdGhlIHRvcCwgZG9uJ3QgYWxsb3cgdG8gZHJhZyB0byBjbG9zZSB0aGUgc2hlZXRcbiAgICAgIC8vIEFuZCBsZXQgdG8gc2Nyb2xsXG4gICAgICBpZiAoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmLCBoYW5kbGVDb250YWluZXJSZWZdXG4gICk7XG5cbiAgdXNlRHJhZ0Rvd24oe1xuICAgIHJlZjogY29udGFpbmVyUmVmLFxuICAgIGlzVmlzaWJsZSxcbiAgICBvbkRyYWdTdGFydDogaGFuZGxlRHJhZ1N0YXJ0LFxuICAgIG9uRHJhZzogaGFuZGxlRHJhZyxcbiAgICBvbkRyYWdFbmQ6IGhhbmRsZURyYWdFbmQsXG4gICAgb25EcmFnQ2FuY2VsOiBoYW5kbGVEcmFnQ2FuY2VsLFxuICAgIHNob3VsZEluaXRpYXRlRHJhZyxcbiAgfSk7XG5cbiAgY29uc3QgaGFuZGxlRXhpdEFuaW1hdGlvbkVuZCA9ICgpID0+IHtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBzZXRDbG9zaW5nKGZhbHNlKTtcbiAgICAgIHNldENvbnRhaW5lckhlaWdodCgwKTtcbiAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICBpZiAob25Vbm1vdW50KSB7XG4gICAgICAgIG9uVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICBzZXRPcGVuaW5nKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgIT09IDApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVBvc3REZWFjdGl2YXRlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG9uQ2xvc2UoKTtcbiAgfSwgW29uQ2xvc2VdKTtcblxuICBjb25zdCBzaG93U2hlZXQgPSAoaXNWaXNpYmxlIHx8IGlzQ2xvc2luZykgJiYgIShpc1Zpc2libGUgJiYgaXNDbG9zaW5nKTtcblxuICBpZiAoIXNob3dTaGVldCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZ2xvYmFsU3R5bGVzID0ge1xuICAgIGh0bWw6IHtcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGlkUHJvcCA9IGlkXG4gICAgPyB7XG4gICAgICAgIGlkLFxuICAgICAgfVxuICAgIDoge307XG5cbiAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtnbG9iYWxTdHlsZXN9IC8+XG4gICAgICA8Rm9jdXNUcmFwV3JhcHBlclxuICAgICAgICBhY3RpdmU9e2lzVmlzaWJsZX1cbiAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOlxuICAgICAgICAgICAgZGlzbWlzc09uT3V0c2lkZUNsaWNrICYmIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXNcbiAgICAgICAgICAgICAgPyBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgIDogZGlzbWlzc09uT3V0c2lkZUNsaWNrLFxuICAgICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiB0cnVlLFxuICAgICAgICAgIGVzY2FwZURlYWN0aXZhdGVzOiB0cnVlLCAvLyBkZS1hY3RpdmF0ZSBmb2N1cyB0cmFwIG9uIGVzY2FwZSBrZXlcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxGb2N1czogKCkgPT4gIWRpc2FibGVJbml0aWFsRm9jdXMsXG4gICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6ICFkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIsXG4gICAgICAgICAgZmFsbGJhY2tGb2N1czogYFtkYXRhLWRzLWlkPVwiU2hlZXRcIl1gLFxuICAgICAgICAgIG9uUG9zdERlYWN0aXZhdGU6IGhhbmRsZVBvc3REZWFjdGl2YXRlLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgey4uLmlkUHJvcH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2hlZXRcIlxuICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17Y29udGFpbmVySGVpZ2h0fVxuICAgICAgICAgIGlzQ2xvc2luZz17aXNDbG9zaW5nfVxuICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgIGRyYWdPZmZzZXQ9e2RyYWdPZmZzZXQuY3VycmVudH1cbiAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17aGFuZGxlRXhpdEFuaW1hdGlvbkVuZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICAgIDxTdHlsZWRIYW5kbGVDb250YWluZXJcbiAgICAgICAgICAgICAgcmVmPXtoYW5kbGVDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPXtpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEhhbmRsZSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRIYW5kbGVDb250YWluZXI+XG4gICAgICAgICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICAgICAgaXNPcGVuaW5nPXtpc09wZW5pbmd9XG4gICAgICAgICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgb25TY3JvbGw9e2hhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGx9XG4gICAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXsoZXZ0KSA9PiBldnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudENvbnRhaW5lcj5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICAgPC8+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlZFNoZWV0ID1cbiAgICBoYXNCYWNrZHJvcCAmJiAhaXNDbG9zaW5nID8gKFxuICAgICAgPFN0eWxlZEJhY2tkcm9wPntzaGVldEVsbX08L1N0eWxlZEJhY2tkcm9wPlxuICAgICkgOiAoXG4gICAgICBzaGVldEVsbVxuICAgICk7XG5cbiAgY29uc3QgY29udGFpbmVyID0gcG9ydGFsQ29udGFpbmVyIHx8ICghIWRvY3VtZW50ICYmIGRvY3VtZW50LmJvZHkpO1xuICByZXR1cm4gY29udGFpbmVyICYmIGNyZWF0ZVBvcnRhbCh3cmFwcGVkU2hlZXQsIGNvbnRhaW5lcik7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0grQiJ9 */"),StyledHandleContainer=styled("div",{target:"evpwto22",label:"StyledHandleContainer"})(({theme,isContentContainerScrolled})=>({padding:`${theme.variables.size.spacing.xs} 0`,display:"flex",justifyContent:"center",backgroundColor:theme.values.color.background.elevated.default,...isContentContainerScrolled&&{boxShadow:theme.values.elevation[1]}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgb25DbG9zZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcmFnQ2FuY2VsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50ICYmIGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICB9XG4gICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IHNob3VsZEluaXRpYXRlRHJhZyA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAvLyBBbHdheXMgYWxsb3cgZHJhZyBmcm9tIGhhbmRsZSBjb250YWluZXIgYXJlYVxuICAgICAgaWYgKGhhbmRsZUNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiB0b3VjaCBpcyB3aXRoaW4gYW55IHNjcm9sbGFibGUgZWxlbWVudCB0aGF0IGhhcyBiZWVuIHNjcm9sbGVkXG4gICAgICBpZiAoaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQodGFyZ2V0LCBjb250YWluZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB1c2VyIGNhbiBzY3JvbGwgdG8gdGhlIHRvcCwgZG9uJ3QgYWxsb3cgdG8gZHJhZyB0byBjbG9zZSB0aGUgc2hlZXRcbiAgICAgIC8vIEFuZCBsZXQgdG8gc2Nyb2xsXG4gICAgICBpZiAoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmLCBoYW5kbGVDb250YWluZXJSZWZdXG4gICk7XG5cbiAgdXNlRHJhZ0Rvd24oe1xuICAgIHJlZjogY29udGFpbmVyUmVmLFxuICAgIGlzVmlzaWJsZSxcbiAgICBvbkRyYWdTdGFydDogaGFuZGxlRHJhZ1N0YXJ0LFxuICAgIG9uRHJhZzogaGFuZGxlRHJhZyxcbiAgICBvbkRyYWdFbmQ6IGhhbmRsZURyYWdFbmQsXG4gICAgb25EcmFnQ2FuY2VsOiBoYW5kbGVEcmFnQ2FuY2VsLFxuICAgIHNob3VsZEluaXRpYXRlRHJhZyxcbiAgfSk7XG5cbiAgY29uc3QgaGFuZGxlRXhpdEFuaW1hdGlvbkVuZCA9ICgpID0+IHtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBzZXRDbG9zaW5nKGZhbHNlKTtcbiAgICAgIHNldENvbnRhaW5lckhlaWdodCgwKTtcbiAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICBpZiAob25Vbm1vdW50KSB7XG4gICAgICAgIG9uVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICBzZXRPcGVuaW5nKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgIT09IDApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVBvc3REZWFjdGl2YXRlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG9uQ2xvc2UoKTtcbiAgfSwgW29uQ2xvc2VdKTtcblxuICBjb25zdCBzaG93U2hlZXQgPSAoaXNWaXNpYmxlIHx8IGlzQ2xvc2luZykgJiYgIShpc1Zpc2libGUgJiYgaXNDbG9zaW5nKTtcblxuICBpZiAoIXNob3dTaGVldCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZ2xvYmFsU3R5bGVzID0ge1xuICAgIGh0bWw6IHtcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGlkUHJvcCA9IGlkXG4gICAgPyB7XG4gICAgICAgIGlkLFxuICAgICAgfVxuICAgIDoge307XG5cbiAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtnbG9iYWxTdHlsZXN9IC8+XG4gICAgICA8Rm9jdXNUcmFwV3JhcHBlclxuICAgICAgICBhY3RpdmU9e2lzVmlzaWJsZX1cbiAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOlxuICAgICAgICAgICAgZGlzbWlzc09uT3V0c2lkZUNsaWNrICYmIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXNcbiAgICAgICAgICAgICAgPyBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgIDogZGlzbWlzc09uT3V0c2lkZUNsaWNrLFxuICAgICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiB0cnVlLFxuICAgICAgICAgIGVzY2FwZURlYWN0aXZhdGVzOiB0cnVlLCAvLyBkZS1hY3RpdmF0ZSBmb2N1cyB0cmFwIG9uIGVzY2FwZSBrZXlcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxGb2N1czogKCkgPT4gIWRpc2FibGVJbml0aWFsRm9jdXMsXG4gICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6ICFkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIsXG4gICAgICAgICAgZmFsbGJhY2tGb2N1czogYFtkYXRhLWRzLWlkPVwiU2hlZXRcIl1gLFxuICAgICAgICAgIG9uUG9zdERlYWN0aXZhdGU6IGhhbmRsZVBvc3REZWFjdGl2YXRlLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgey4uLmlkUHJvcH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2hlZXRcIlxuICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17Y29udGFpbmVySGVpZ2h0fVxuICAgICAgICAgIGlzQ2xvc2luZz17aXNDbG9zaW5nfVxuICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgIGRyYWdPZmZzZXQ9e2RyYWdPZmZzZXQuY3VycmVudH1cbiAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17aGFuZGxlRXhpdEFuaW1hdGlvbkVuZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICAgIDxTdHlsZWRIYW5kbGVDb250YWluZXJcbiAgICAgICAgICAgICAgcmVmPXtoYW5kbGVDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPXtpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEhhbmRsZSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRIYW5kbGVDb250YWluZXI+XG4gICAgICAgICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICAgICAgaXNPcGVuaW5nPXtpc09wZW5pbmd9XG4gICAgICAgICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgb25TY3JvbGw9e2hhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGx9XG4gICAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXsoZXZ0KSA9PiBldnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudENvbnRhaW5lcj5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICAgPC8+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlZFNoZWV0ID1cbiAgICBoYXNCYWNrZHJvcCAmJiAhaXNDbG9zaW5nID8gKFxuICAgICAgPFN0eWxlZEJhY2tkcm9wPntzaGVldEVsbX08L1N0eWxlZEJhY2tkcm9wPlxuICAgICkgOiAoXG4gICAgICBzaGVldEVsbVxuICAgICk7XG5cbiAgY29uc3QgY29udGFpbmVyID0gcG9ydGFsQ29udGFpbmVyIHx8ICghIWRvY3VtZW50ICYmIGRvY3VtZW50LmJvZHkpO1xuICByZXR1cm4gY29udGFpbmVyICYmIGNyZWF0ZVBvcnRhbCh3cmFwcGVkU2hlZXQsIGNvbnRhaW5lcik7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0s4QiJ9 */"),StyledHandle=styled("div",{target:"evpwto23",label:"StyledHandle"})(({theme})=>({width:"80px",height:"4px",borderRadius:theme.variables.size.borderRadius.xs,backgroundColor:theme.values.color.divider.secondary}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgb25DbG9zZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcmFnQ2FuY2VsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50ICYmIGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICB9XG4gICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IHNob3VsZEluaXRpYXRlRHJhZyA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAvLyBBbHdheXMgYWxsb3cgZHJhZyBmcm9tIGhhbmRsZSBjb250YWluZXIgYXJlYVxuICAgICAgaWYgKGhhbmRsZUNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiB0b3VjaCBpcyB3aXRoaW4gYW55IHNjcm9sbGFibGUgZWxlbWVudCB0aGF0IGhhcyBiZWVuIHNjcm9sbGVkXG4gICAgICBpZiAoaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQodGFyZ2V0LCBjb250YWluZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB1c2VyIGNhbiBzY3JvbGwgdG8gdGhlIHRvcCwgZG9uJ3QgYWxsb3cgdG8gZHJhZyB0byBjbG9zZSB0aGUgc2hlZXRcbiAgICAgIC8vIEFuZCBsZXQgdG8gc2Nyb2xsXG4gICAgICBpZiAoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmLCBoYW5kbGVDb250YWluZXJSZWZdXG4gICk7XG5cbiAgdXNlRHJhZ0Rvd24oe1xuICAgIHJlZjogY29udGFpbmVyUmVmLFxuICAgIGlzVmlzaWJsZSxcbiAgICBvbkRyYWdTdGFydDogaGFuZGxlRHJhZ1N0YXJ0LFxuICAgIG9uRHJhZzogaGFuZGxlRHJhZyxcbiAgICBvbkRyYWdFbmQ6IGhhbmRsZURyYWdFbmQsXG4gICAgb25EcmFnQ2FuY2VsOiBoYW5kbGVEcmFnQ2FuY2VsLFxuICAgIHNob3VsZEluaXRpYXRlRHJhZyxcbiAgfSk7XG5cbiAgY29uc3QgaGFuZGxlRXhpdEFuaW1hdGlvbkVuZCA9ICgpID0+IHtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBzZXRDbG9zaW5nKGZhbHNlKTtcbiAgICAgIHNldENvbnRhaW5lckhlaWdodCgwKTtcbiAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICBpZiAob25Vbm1vdW50KSB7XG4gICAgICAgIG9uVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICBzZXRPcGVuaW5nKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgIT09IDApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVBvc3REZWFjdGl2YXRlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG9uQ2xvc2UoKTtcbiAgfSwgW29uQ2xvc2VdKTtcblxuICBjb25zdCBzaG93U2hlZXQgPSAoaXNWaXNpYmxlIHx8IGlzQ2xvc2luZykgJiYgIShpc1Zpc2libGUgJiYgaXNDbG9zaW5nKTtcblxuICBpZiAoIXNob3dTaGVldCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZ2xvYmFsU3R5bGVzID0ge1xuICAgIGh0bWw6IHtcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGlkUHJvcCA9IGlkXG4gICAgPyB7XG4gICAgICAgIGlkLFxuICAgICAgfVxuICAgIDoge307XG5cbiAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtnbG9iYWxTdHlsZXN9IC8+XG4gICAgICA8Rm9jdXNUcmFwV3JhcHBlclxuICAgICAgICBhY3RpdmU9e2lzVmlzaWJsZX1cbiAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOlxuICAgICAgICAgICAgZGlzbWlzc09uT3V0c2lkZUNsaWNrICYmIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXNcbiAgICAgICAgICAgICAgPyBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgIDogZGlzbWlzc09uT3V0c2lkZUNsaWNrLFxuICAgICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiB0cnVlLFxuICAgICAgICAgIGVzY2FwZURlYWN0aXZhdGVzOiB0cnVlLCAvLyBkZS1hY3RpdmF0ZSBmb2N1cyB0cmFwIG9uIGVzY2FwZSBrZXlcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxGb2N1czogKCkgPT4gIWRpc2FibGVJbml0aWFsRm9jdXMsXG4gICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6ICFkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIsXG4gICAgICAgICAgZmFsbGJhY2tGb2N1czogYFtkYXRhLWRzLWlkPVwiU2hlZXRcIl1gLFxuICAgICAgICAgIG9uUG9zdERlYWN0aXZhdGU6IGhhbmRsZVBvc3REZWFjdGl2YXRlLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgey4uLmlkUHJvcH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2hlZXRcIlxuICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17Y29udGFpbmVySGVpZ2h0fVxuICAgICAgICAgIGlzQ2xvc2luZz17aXNDbG9zaW5nfVxuICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgIGRyYWdPZmZzZXQ9e2RyYWdPZmZzZXQuY3VycmVudH1cbiAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17aGFuZGxlRXhpdEFuaW1hdGlvbkVuZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICAgIDxTdHlsZWRIYW5kbGVDb250YWluZXJcbiAgICAgICAgICAgICAgcmVmPXtoYW5kbGVDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPXtpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEhhbmRsZSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRIYW5kbGVDb250YWluZXI+XG4gICAgICAgICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICAgICAgaXNPcGVuaW5nPXtpc09wZW5pbmd9XG4gICAgICAgICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgb25TY3JvbGw9e2hhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGx9XG4gICAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXsoZXZ0KSA9PiBldnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudENvbnRhaW5lcj5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICAgPC8+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlZFNoZWV0ID1cbiAgICBoYXNCYWNrZHJvcCAmJiAhaXNDbG9zaW5nID8gKFxuICAgICAgPFN0eWxlZEJhY2tkcm9wPntzaGVldEVsbX08L1N0eWxlZEJhY2tkcm9wPlxuICAgICkgOiAoXG4gICAgICBzaGVldEVsbVxuICAgICk7XG5cbiAgY29uc3QgY29udGFpbmVyID0gcG9ydGFsQ29udGFpbmVyIHx8ICghIWRvY3VtZW50ICYmIGRvY3VtZW50LmJvZHkpO1xuICByZXR1cm4gY29udGFpbmVyICYmIGNyZWF0ZVBvcnRhbCh3cmFwcGVkU2hlZXQsIGNvbnRhaW5lcik7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUxxQiJ9 */");export function Sheet({id,children,hasBackdrop,isVisible,onClose,onUnmount,portalContainer,dismissOnOutsideClick=!0,disableInitialFocus,disableReturnFocusToTrigger,onClickOutsideDeactivates,"data-e2e-test-id":dataE2eTestId}){let[isClosing,setClosing]=useState(!1),[isOpening,setOpening]=useState(!1),[containerHeight,setContainerHeight]=useState(0),[isContentContainerScrolled,setContentContainerScrolled]=useState(!1),containerRef=useRef(null),contentContainerRef=useRef(null),handleContainerRef=useRef(null),prevVisibleState=useRef(!1),dragOffset=useRef(0),isDragStarted=useRef(!1);useLayoutEffect(()=>{isVisible&&setOpening(!0)},[isVisible]),useLayoutEffect(()=>{isVisible&&containerRef.current&&setContainerHeight(containerRef.current.getBoundingClientRect().height)},[isVisible,children]),useEffect(()=>{!isVisible&&prevVisibleState.current&&setClosing(!0),prevVisibleState.current=isVisible},[isVisible]),useEffect(()=>{isVisible&&isClosing&&onClose()},[isVisible,isClosing,onClose]);let handleDragStart=useCallback(()=>{requestAnimationFrame(()=>{contentContainerRef.current?.scrollTop===0&&containerRef.current&&(containerRef.current.style.animation="none",containerRef.current.style.transition="transform 0.1s ease",containerRef.current.style.transform="translateY(0px)",dragOffset.current=0,isDragStarted.current=!0)})},[containerRef,contentContainerRef]),handleDrag=useCallback((_,offsetFromStart)=>{let containerCurrentHeight=containerRef.current?.getBoundingClientRect()?.height??0;requestAnimationFrame(()=>{isDragStarted.current&&containerRef.current&&contentContainerRef.current?.scrollTop===0&&offsetFromStart<containerCurrentHeight&&(containerRef.current.style.transform=`translateY(${offsetFromStart}px)`,dragOffset.current=offsetFromStart)})},[containerRef,contentContainerRef]),handleDragEnd=useCallback((_,offsetFromStart)=>{let containerCurrentHeight=containerRef.current?.getBoundingClientRect()?.height??0,minDragDistance=containerCurrentHeight<300?containerCurrentHeight/4:150;requestAnimationFrame(()=>{isDragStarted.current&&(offsetFromStart>=minDragDistance&&0===contentContainerRef.current.scrollTop?onClose():containerRef.current&&(containerRef.current.style.transform="translateY(0px)",dragOffset.current=0)),isDragStarted.current=!1})},[containerRef,onClose]),handleDragCancel=useCallback(()=>{requestAnimationFrame(()=>{isDragStarted.current&&containerRef.current&&(containerRef.current.style.transform="translateY(0px)",dragOffset.current=0),isDragStarted.current=!1})},[containerRef]),shouldInitiateDrag=useCallback(event=>{let target=event.target;return!!handleContainerRef.current?.contains(target)||!(isWithinScrolledElement(target,containerRef.current)||contentContainerRef.current?.scrollTop>0)},[containerRef,contentContainerRef,handleContainerRef]);useDragDown({ref:containerRef,isVisible,onDragStart:handleDragStart,onDrag:handleDrag,onDragEnd:handleDragEnd,onDragCancel:handleDragCancel,shouldInitiateDrag});let handlePostDeactivate=useCallback(()=>{onClose()},[onClose]);if(!((isVisible||isClosing)&&!(isVisible&&isClosing)))return null;let sheetElm=React.createElement(React.Fragment,null,React.createElement(Global,{styles:[{html:{overflow:"hidden",overscrollBehavior:"none"}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50LnNjcm9sbFRvcCA9PT0gMFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgb25DbG9zZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVEcmFnQ2FuY2VsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50ICYmIGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9IFwidHJhbnNsYXRlWSgwcHgpXCI7XG4gICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICB9XG4gICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IHNob3VsZEluaXRpYXRlRHJhZyA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAvLyBBbHdheXMgYWxsb3cgZHJhZyBmcm9tIGhhbmRsZSBjb250YWluZXIgYXJlYVxuICAgICAgaWYgKGhhbmRsZUNvbnRhaW5lclJlZi5jdXJyZW50Py5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayBpZiB0b3VjaCBpcyB3aXRoaW4gYW55IHNjcm9sbGFibGUgZWxlbWVudCB0aGF0IGhhcyBiZWVuIHNjcm9sbGVkXG4gICAgICBpZiAoaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQodGFyZ2V0LCBjb250YWluZXJSZWYuY3VycmVudCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB1c2VyIGNhbiBzY3JvbGwgdG8gdGhlIHRvcCwgZG9uJ3QgYWxsb3cgdG8gZHJhZyB0byBjbG9zZSB0aGUgc2hlZXRcbiAgICAgIC8vIEFuZCBsZXQgdG8gc2Nyb2xsXG4gICAgICBpZiAoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPiAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmLCBoYW5kbGVDb250YWluZXJSZWZdXG4gICk7XG5cbiAgdXNlRHJhZ0Rvd24oe1xuICAgIHJlZjogY29udGFpbmVyUmVmLFxuICAgIGlzVmlzaWJsZSxcbiAgICBvbkRyYWdTdGFydDogaGFuZGxlRHJhZ1N0YXJ0LFxuICAgIG9uRHJhZzogaGFuZGxlRHJhZyxcbiAgICBvbkRyYWdFbmQ6IGhhbmRsZURyYWdFbmQsXG4gICAgb25EcmFnQ2FuY2VsOiBoYW5kbGVEcmFnQ2FuY2VsLFxuICAgIHNob3VsZEluaXRpYXRlRHJhZyxcbiAgfSk7XG5cbiAgY29uc3QgaGFuZGxlRXhpdEFuaW1hdGlvbkVuZCA9ICgpID0+IHtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBzZXRDbG9zaW5nKGZhbHNlKTtcbiAgICAgIHNldENvbnRhaW5lckhlaWdodCgwKTtcbiAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IDA7XG4gICAgICBpZiAob25Vbm1vdW50KSB7XG4gICAgICAgIG9uVW5tb3VudCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICBzZXRPcGVuaW5nKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29udGVudENvbnRhaW5lclNjcm9sbCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWQoY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgIT09IDApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVBvc3REZWFjdGl2YXRlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG9uQ2xvc2UoKTtcbiAgfSwgW29uQ2xvc2VdKTtcblxuICBjb25zdCBzaG93U2hlZXQgPSAoaXNWaXNpYmxlIHx8IGlzQ2xvc2luZykgJiYgIShpc1Zpc2libGUgJiYgaXNDbG9zaW5nKTtcblxuICBpZiAoIXNob3dTaGVldCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZ2xvYmFsU3R5bGVzID0ge1xuICAgIGh0bWw6IHtcbiAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yOiBcIm5vbmVcIixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGlkUHJvcCA9IGlkXG4gICAgPyB7XG4gICAgICAgIGlkLFxuICAgICAgfVxuICAgIDoge307XG5cbiAgY29uc3Qgc2hlZXRFbG0gPSAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWwgc3R5bGVzPXtnbG9iYWxTdHlsZXN9IC8+XG4gICAgICA8Rm9jdXNUcmFwV3JhcHBlclxuICAgICAgICBhY3RpdmU9e2lzVmlzaWJsZX1cbiAgICAgICAgZm9jdXNUcmFwT3B0aW9ucz17e1xuICAgICAgICAgIGNsaWNrT3V0c2lkZURlYWN0aXZhdGVzOlxuICAgICAgICAgICAgZGlzbWlzc09uT3V0c2lkZUNsaWNrICYmIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXNcbiAgICAgICAgICAgICAgPyBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgIDogZGlzbWlzc09uT3V0c2lkZUNsaWNrLFxuICAgICAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiB0cnVlLFxuICAgICAgICAgIGVzY2FwZURlYWN0aXZhdGVzOiB0cnVlLCAvLyBkZS1hY3RpdmF0ZSBmb2N1cyB0cmFwIG9uIGVzY2FwZSBrZXlcbiAgICAgICAgICBwcmV2ZW50U2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIGluaXRpYWxGb2N1czogKCkgPT4gIWRpc2FibGVJbml0aWFsRm9jdXMsXG4gICAgICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6ICFkaXNhYmxlUmV0dXJuRm9jdXNUb1RyaWdnZXIsXG4gICAgICAgICAgZmFsbGJhY2tGb2N1czogYFtkYXRhLWRzLWlkPVwiU2hlZXRcIl1gLFxuICAgICAgICAgIG9uUG9zdERlYWN0aXZhdGU6IGhhbmRsZVBvc3REZWFjdGl2YXRlLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQ29udGFpbmVyXG4gICAgICAgICAgey4uLmlkUHJvcH0gLy8gZXNsaW50LWRpc2FibGUtbGluZSByZWFjdC9qc3gtcHJvcHMtbm8tc3ByZWFkaW5nXG4gICAgICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgICAgICBkYXRhLWRzLWlkPVwiU2hlZXRcIlxuICAgICAgICAgIGNvbnRhaW5lckhlaWdodD17Y29udGFpbmVySGVpZ2h0fVxuICAgICAgICAgIGlzQ2xvc2luZz17aXNDbG9zaW5nfVxuICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgIHJlZj17Y29udGFpbmVyUmVmfVxuICAgICAgICAgIGRyYWdPZmZzZXQ9e2RyYWdPZmZzZXQuY3VycmVudH1cbiAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17aGFuZGxlRXhpdEFuaW1hdGlvbkVuZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxDb250YWluZXIgZWxldmF0aW9uPXs0fT5cbiAgICAgICAgICAgIDxTdHlsZWRIYW5kbGVDb250YWluZXJcbiAgICAgICAgICAgICAgcmVmPXtoYW5kbGVDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPXtpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0eWxlZEhhbmRsZSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRIYW5kbGVDb250YWluZXI+XG4gICAgICAgICAgICA8U3R5bGVkQ29udGVudENvbnRhaW5lclxuICAgICAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICAgICAgaXNPcGVuaW5nPXtpc09wZW5pbmd9XG4gICAgICAgICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgb25TY3JvbGw9e2hhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGx9XG4gICAgICAgICAgICAgIG9uQW5pbWF0aW9uRW5kPXsoZXZ0KSA9PiBldnQuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQ29udGVudENvbnRhaW5lcj5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9TdHlsZWRDb250YWluZXI+XG4gICAgICA8L0ZvY3VzVHJhcFdyYXBwZXI+XG4gICAgPC8+XG4gICk7XG5cbiAgY29uc3Qgd3JhcHBlZFNoZWV0ID1cbiAgICBoYXNCYWNrZHJvcCAmJiAhaXNDbG9zaW5nID8gKFxuICAgICAgPFN0eWxlZEJhY2tkcm9wPntzaGVldEVsbX08L1N0eWxlZEJhY2tkcm9wPlxuICAgICkgOiAoXG4gICAgICBzaGVldEVsbVxuICAgICk7XG5cbiAgY29uc3QgY29udGFpbmVyID0gcG9ydGFsQ29udGFpbmVyIHx8ICghIWRvY3VtZW50ICYmIGRvY3VtZW50LmJvZHkpO1xuICByZXR1cm4gY29udGFpbmVyICYmIGNyZWF0ZVBvcnRhbCh3cmFwcGVkU2hlZXQsIGNvbnRhaW5lcik7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc1lPIn0= */"]}),React.createElement(FocusTrapWrapper,{active:isVisible,focusTrapOptions:{clickOutsideDeactivates:dismissOnOutsideClick&&onClickOutsideDeactivates?onClickOutsideDeactivates:dismissOnOutsideClick,allowOutsideClick:!0,escapeDeactivates:!0,preventScroll:!0,initialFocus:()=>!disableInitialFocus,returnFocusOnDeactivate:!disableReturnFocusToTrigger,fallbackFocus:'[data-ds-id="Sheet"]',onPostDeactivate:handlePostDeactivate}},React.createElement(StyledContainer,{...id?{id}:{},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Sheet",containerHeight:containerHeight,isClosing:isClosing,isOpening:isOpening,ref:containerRef,dragOffset:dragOffset.current,onAnimationEnd:()=>{isClosing?(setClosing(!1),setContainerHeight(0),dragOffset.current=0,onUnmount&&onUnmount()):isOpening&&setOpening(!1)}},React.createElement(Container,{elevation:4},React.createElement(StyledHandleContainer,{ref:handleContainerRef,isContentContainerScrolled:isContentContainerScrolled},React.createElement(StyledHandle,null)),React.createElement(StyledContentContainer,{isClosing:isClosing,isOpening:isOpening,ref:contentContainerRef,onScroll:()=>{setContentContainerScrolled(contentContainerRef.current?.scrollTop!==0)},onAnimationEnd:evt=>evt.stopPropagation()},children))))),wrappedSheet=hasBackdrop&&!isClosing?React.createElement(StyledBackdrop,null,sheetElm):sheetElm,container=portalContainer||!!document&&document.body;return container&&createPortal(wrappedSheet,container)}
1
+ import React,{useRef,useLayoutEffect,useState,useEffect,useCallback}from"react";import styled from"@emotion/styled";import{createPortal}from"react-dom";import{keyframes,Global}from"@emotion/react";import{FocusTrapWrapper}from"../../shared/FocusTrapWrapper";import{Container}from"../Container/Container";import{useDragDown}from"../../shared/useDragDown";import{StyledBackdrop}from"../Patterns/Modal/Modal";import{isWithinScrolledElement}from"../../shared/isWithinScrolledElement";export const SHEET_MAX_HEIGHT="80svh";let StyledContainer=styled("div",{target:"e5rzyp80",label:"StyledContainer"})(({theme,containerHeight,isClosing,isOpening,dragOffset=0})=>{let animation;if(containerHeight){let slideOut=keyframes({from:{transform:`translateY(${dragOffset}px)`},to:{transform:`translateY(${containerHeight}px)`}}),slideIn=keyframes({from:{transform:`translateY(${containerHeight}px)`},to:{transform:"translateY(0px)"}});animation=isClosing?`200ms ease-out forwards ${slideOut}`:isOpening?`300ms ease-out forwards ${slideIn}`:"none"}return{position:"fixed",left:0,bottom:0,width:"100vw",transformOrigin:"bottom",animation,boxSizing:"border-box",zIndex:theme.variables.zIndex.modal,"> div":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIG9uQ2xvc2VdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0NhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWZdKTtcblxuICBjb25zdCBzaG91bGRJbml0aWF0ZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgLy8gQWx3YXlzIGFsbG93IGRyYWcgZnJvbSBoYW5kbGUgY29udGFpbmVyIGFyZWFcbiAgICAgIGlmIChoYW5kbGVDb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgdG91Y2ggaXMgd2l0aGluIGFueSBzY3JvbGxhYmxlIGVsZW1lbnQgdGhhdCBoYXMgYmVlbiBzY3JvbGxlZFxuICAgICAgaWYgKGlzV2l0aGluU2Nyb2xsZWRFbGVtZW50KHRhcmdldCwgY29udGFpbmVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgdXNlciBjYW4gc2Nyb2xsIHRvIHRoZSB0b3AsIGRvbid0IGFsbG93IHRvIGRyYWcgdG8gY2xvc2UgdGhlIHNoZWV0XG4gICAgICAvLyBBbmQgbGV0IHRvIHNjcm9sbFxuICAgICAgaWYgKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID4gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZiwgaGFuZGxlQ29udGFpbmVyUmVmXVxuICApO1xuXG4gIHVzZURyYWdEb3duKHtcbiAgICByZWY6IGNvbnRhaW5lclJlZixcbiAgICBpc1Zpc2libGUsXG4gICAgb25EcmFnU3RhcnQ6IGhhbmRsZURyYWdTdGFydCxcbiAgICBvbkRyYWc6IGhhbmRsZURyYWcsXG4gICAgb25EcmFnRW5kOiBoYW5kbGVEcmFnRW5kLFxuICAgIG9uRHJhZ0NhbmNlbDogaGFuZGxlRHJhZ0NhbmNlbCxcbiAgICBzaG91bGRJbml0aWF0ZURyYWcsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUV4aXRBbmltYXRpb25FbmQgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgc2V0Q2xvc2luZyhmYWxzZSk7XG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoMCk7XG4gICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgaWYgKG9uVW5tb3VudCkge1xuICAgICAgICBvblVubW91bnQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgc2V0T3BlbmluZyhmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGwgPSAoKSA9PiB7XG4gICAgc2V0Q29udGVudENvbnRhaW5lclNjcm9sbGVkKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wICE9PSAwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVQb3N0RGVhY3RpdmF0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkNsb3NlKCk7XG4gIH0sIFtvbkNsb3NlXSk7XG5cbiAgY29uc3Qgc2hvd1NoZWV0ID0gKGlzVmlzaWJsZSB8fCBpc0Nsb3NpbmcpICYmICEoaXNWaXNpYmxlICYmIGlzQ2xvc2luZyk7XG5cbiAgaWYgKCFzaG93U2hlZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGdsb2JhbFN0eWxlcyA9IHtcbiAgICBodG1sOiB7XG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBpZFByb3AgPSBpZFxuICAgID8ge1xuICAgICAgICBpZCxcbiAgICAgIH1cbiAgICA6IHt9O1xuXG4gIGNvbnN0IHNoZWV0RWxtID0gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Z2xvYmFsU3R5bGVzfSAvPlxuICAgICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgICAgYWN0aXZlPXtpc1Zpc2libGV9XG4gICAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlczpcbiAgICAgICAgICAgIGRpc21pc3NPbk91dHNpZGVDbGljayAmJiBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgID8gb25DbGlja091dHNpZGVEZWFjdGl2YXRlc1xuICAgICAgICAgICAgICA6IGRpc21pc3NPbk91dHNpZGVDbGljayxcbiAgICAgICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICAgIHJldHVybkZvY3VzT25EZWFjdGl2YXRlOiAhZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IGBbZGF0YS1kcy1pZD1cIlNoZWV0XCJdYCxcbiAgICAgICAgICBvblBvc3REZWFjdGl2YXRlOiBoYW5kbGVQb3N0RGVhY3RpdmF0ZSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgIHsuLi5pZFByb3B9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlNoZWV0XCJcbiAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2NvbnRhaW5lckhlaWdodH1cbiAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICBpc09wZW5pbmc9e2lzT3BlbmluZ31cbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBkcmFnT2Zmc2V0PXtkcmFnT2Zmc2V0LmN1cnJlbnR9XG4gICAgICAgICAgb25BbmltYXRpb25FbmQ9e2hhbmRsZUV4aXRBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8U3R5bGVkSGFuZGxlQ29udGFpbmVyXG4gICAgICAgICAgICAgIHJlZj17aGFuZGxlQ29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZD17aXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlQ29udGFpbmVyPlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgICAgICAgaXNDbG9zaW5nPXtpc0Nsb3Npbmd9XG4gICAgICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgICAgICByZWY9e2NvbnRlbnRDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIG9uU2Nyb2xsPXtoYW5kbGVDb250ZW50Q29udGFpbmVyU2Nyb2xsfVxuICAgICAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRDb250YWluZXI+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICAgPC9Gb2N1c1RyYXBXcmFwcGVyPlxuICAgIDwvPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZWRTaGVldCA9XG4gICAgaGFzQmFja2Ryb3AgJiYgIWlzQ2xvc2luZyA/IChcbiAgICAgIDxTdHlsZWRCYWNrZHJvcD57c2hlZXRFbG19PC9TdHlsZWRCYWNrZHJvcD5cbiAgICApIDogKFxuICAgICAgc2hlZXRFbG1cbiAgICApO1xuXG4gIGNvbnN0IGNvbnRhaW5lciA9IHBvcnRhbENvbnRhaW5lciB8fCAoISFkb2N1bWVudCAmJiBkb2N1bWVudC5ib2R5KTtcbiAgcmV0dXJuIGNvbnRhaW5lciAmJiBjcmVhdGVQb3J0YWwod3JhcHBlZFNoZWV0LCBjb250YWluZXIpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlFd0IifQ== */"),StyledContentContainer=styled("div",{target:"e5rzyp81",label:"StyledContentContainer"})(({theme,isClosing,isOpening})=>{let animation,fadeOut=keyframes({from:{opacity:theme.variables.opacity.visible},to:{opacity:theme.variables.opacity.hidden}}),fadeIn=keyframes({from:{opacity:theme.variables.opacity.hidden},to:{opacity:theme.variables.opacity.visible}}),opacity=theme.variables.opacity.hidden;return isClosing?animation=`50ms ease-out forwards ${fadeOut}`:isOpening?animation=`50ms ease-out 250ms forwards ${fadeIn}`:(animation="none",opacity=theme.variables.opacity.visible),{overflow:"auto",maxHeight:"80svh",boxSizing:"border-box",overscrollBehavior:"none",backgroundColor:theme.values.color.background.elevated.default,opacity,animation}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIG9uQ2xvc2VdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0NhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWZdKTtcblxuICBjb25zdCBzaG91bGRJbml0aWF0ZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgLy8gQWx3YXlzIGFsbG93IGRyYWcgZnJvbSBoYW5kbGUgY29udGFpbmVyIGFyZWFcbiAgICAgIGlmIChoYW5kbGVDb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgdG91Y2ggaXMgd2l0aGluIGFueSBzY3JvbGxhYmxlIGVsZW1lbnQgdGhhdCBoYXMgYmVlbiBzY3JvbGxlZFxuICAgICAgaWYgKGlzV2l0aGluU2Nyb2xsZWRFbGVtZW50KHRhcmdldCwgY29udGFpbmVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgdXNlciBjYW4gc2Nyb2xsIHRvIHRoZSB0b3AsIGRvbid0IGFsbG93IHRvIGRyYWcgdG8gY2xvc2UgdGhlIHNoZWV0XG4gICAgICAvLyBBbmQgbGV0IHRvIHNjcm9sbFxuICAgICAgaWYgKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID4gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZiwgaGFuZGxlQ29udGFpbmVyUmVmXVxuICApO1xuXG4gIHVzZURyYWdEb3duKHtcbiAgICByZWY6IGNvbnRhaW5lclJlZixcbiAgICBpc1Zpc2libGUsXG4gICAgb25EcmFnU3RhcnQ6IGhhbmRsZURyYWdTdGFydCxcbiAgICBvbkRyYWc6IGhhbmRsZURyYWcsXG4gICAgb25EcmFnRW5kOiBoYW5kbGVEcmFnRW5kLFxuICAgIG9uRHJhZ0NhbmNlbDogaGFuZGxlRHJhZ0NhbmNlbCxcbiAgICBzaG91bGRJbml0aWF0ZURyYWcsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUV4aXRBbmltYXRpb25FbmQgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgc2V0Q2xvc2luZyhmYWxzZSk7XG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoMCk7XG4gICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgaWYgKG9uVW5tb3VudCkge1xuICAgICAgICBvblVubW91bnQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgc2V0T3BlbmluZyhmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGwgPSAoKSA9PiB7XG4gICAgc2V0Q29udGVudENvbnRhaW5lclNjcm9sbGVkKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wICE9PSAwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVQb3N0RGVhY3RpdmF0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkNsb3NlKCk7XG4gIH0sIFtvbkNsb3NlXSk7XG5cbiAgY29uc3Qgc2hvd1NoZWV0ID0gKGlzVmlzaWJsZSB8fCBpc0Nsb3NpbmcpICYmICEoaXNWaXNpYmxlICYmIGlzQ2xvc2luZyk7XG5cbiAgaWYgKCFzaG93U2hlZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGdsb2JhbFN0eWxlcyA9IHtcbiAgICBodG1sOiB7XG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBpZFByb3AgPSBpZFxuICAgID8ge1xuICAgICAgICBpZCxcbiAgICAgIH1cbiAgICA6IHt9O1xuXG4gIGNvbnN0IHNoZWV0RWxtID0gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Z2xvYmFsU3R5bGVzfSAvPlxuICAgICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgICAgYWN0aXZlPXtpc1Zpc2libGV9XG4gICAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlczpcbiAgICAgICAgICAgIGRpc21pc3NPbk91dHNpZGVDbGljayAmJiBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgID8gb25DbGlja091dHNpZGVEZWFjdGl2YXRlc1xuICAgICAgICAgICAgICA6IGRpc21pc3NPbk91dHNpZGVDbGljayxcbiAgICAgICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICAgIHJldHVybkZvY3VzT25EZWFjdGl2YXRlOiAhZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IGBbZGF0YS1kcy1pZD1cIlNoZWV0XCJdYCxcbiAgICAgICAgICBvblBvc3REZWFjdGl2YXRlOiBoYW5kbGVQb3N0RGVhY3RpdmF0ZSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgIHsuLi5pZFByb3B9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlNoZWV0XCJcbiAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2NvbnRhaW5lckhlaWdodH1cbiAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICBpc09wZW5pbmc9e2lzT3BlbmluZ31cbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBkcmFnT2Zmc2V0PXtkcmFnT2Zmc2V0LmN1cnJlbnR9XG4gICAgICAgICAgb25BbmltYXRpb25FbmQ9e2hhbmRsZUV4aXRBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8U3R5bGVkSGFuZGxlQ29udGFpbmVyXG4gICAgICAgICAgICAgIHJlZj17aGFuZGxlQ29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZD17aXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlQ29udGFpbmVyPlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgICAgICAgaXNDbG9zaW5nPXtpc0Nsb3Npbmd9XG4gICAgICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgICAgICByZWY9e2NvbnRlbnRDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIG9uU2Nyb2xsPXtoYW5kbGVDb250ZW50Q29udGFpbmVyU2Nyb2xsfVxuICAgICAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRDb250YWluZXI+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICAgPC9Gb2N1c1RyYXBXcmFwcGVyPlxuICAgIDwvPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZWRTaGVldCA9XG4gICAgaGFzQmFja2Ryb3AgJiYgIWlzQ2xvc2luZyA/IChcbiAgICAgIDxTdHlsZWRCYWNrZHJvcD57c2hlZXRFbG19PC9TdHlsZWRCYWNrZHJvcD5cbiAgICApIDogKFxuICAgICAgc2hlZXRFbG1cbiAgICApO1xuXG4gIGNvbnN0IGNvbnRhaW5lciA9IHBvcnRhbENvbnRhaW5lciB8fCAoISFkb2N1bWVudCAmJiBkb2N1bWVudC5ib2R5KTtcbiAgcmV0dXJuIGNvbnRhaW5lciAmJiBjcmVhdGVQb3J0YWwod3JhcHBlZFNoZWV0LCBjb250YWluZXIpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdIK0IifQ== */"),StyledHandleContainer=styled("div",{target:"e5rzyp82",label:"StyledHandleContainer"})(({theme,isContentContainerScrolled})=>({padding:`${theme.variables.size.spacing.xs} 0`,display:"flex",justifyContent:"center",backgroundColor:theme.values.color.background.elevated.default,...isContentContainerScrolled&&{boxShadow:theme.values.elevation[1]}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIG9uQ2xvc2VdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0NhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWZdKTtcblxuICBjb25zdCBzaG91bGRJbml0aWF0ZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgLy8gQWx3YXlzIGFsbG93IGRyYWcgZnJvbSBoYW5kbGUgY29udGFpbmVyIGFyZWFcbiAgICAgIGlmIChoYW5kbGVDb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgdG91Y2ggaXMgd2l0aGluIGFueSBzY3JvbGxhYmxlIGVsZW1lbnQgdGhhdCBoYXMgYmVlbiBzY3JvbGxlZFxuICAgICAgaWYgKGlzV2l0aGluU2Nyb2xsZWRFbGVtZW50KHRhcmdldCwgY29udGFpbmVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgdXNlciBjYW4gc2Nyb2xsIHRvIHRoZSB0b3AsIGRvbid0IGFsbG93IHRvIGRyYWcgdG8gY2xvc2UgdGhlIHNoZWV0XG4gICAgICAvLyBBbmQgbGV0IHRvIHNjcm9sbFxuICAgICAgaWYgKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID4gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZiwgaGFuZGxlQ29udGFpbmVyUmVmXVxuICApO1xuXG4gIHVzZURyYWdEb3duKHtcbiAgICByZWY6IGNvbnRhaW5lclJlZixcbiAgICBpc1Zpc2libGUsXG4gICAgb25EcmFnU3RhcnQ6IGhhbmRsZURyYWdTdGFydCxcbiAgICBvbkRyYWc6IGhhbmRsZURyYWcsXG4gICAgb25EcmFnRW5kOiBoYW5kbGVEcmFnRW5kLFxuICAgIG9uRHJhZ0NhbmNlbDogaGFuZGxlRHJhZ0NhbmNlbCxcbiAgICBzaG91bGRJbml0aWF0ZURyYWcsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUV4aXRBbmltYXRpb25FbmQgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgc2V0Q2xvc2luZyhmYWxzZSk7XG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoMCk7XG4gICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgaWYgKG9uVW5tb3VudCkge1xuICAgICAgICBvblVubW91bnQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgc2V0T3BlbmluZyhmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGwgPSAoKSA9PiB7XG4gICAgc2V0Q29udGVudENvbnRhaW5lclNjcm9sbGVkKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wICE9PSAwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVQb3N0RGVhY3RpdmF0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkNsb3NlKCk7XG4gIH0sIFtvbkNsb3NlXSk7XG5cbiAgY29uc3Qgc2hvd1NoZWV0ID0gKGlzVmlzaWJsZSB8fCBpc0Nsb3NpbmcpICYmICEoaXNWaXNpYmxlICYmIGlzQ2xvc2luZyk7XG5cbiAgaWYgKCFzaG93U2hlZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGdsb2JhbFN0eWxlcyA9IHtcbiAgICBodG1sOiB7XG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBpZFByb3AgPSBpZFxuICAgID8ge1xuICAgICAgICBpZCxcbiAgICAgIH1cbiAgICA6IHt9O1xuXG4gIGNvbnN0IHNoZWV0RWxtID0gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Z2xvYmFsU3R5bGVzfSAvPlxuICAgICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgICAgYWN0aXZlPXtpc1Zpc2libGV9XG4gICAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlczpcbiAgICAgICAgICAgIGRpc21pc3NPbk91dHNpZGVDbGljayAmJiBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgID8gb25DbGlja091dHNpZGVEZWFjdGl2YXRlc1xuICAgICAgICAgICAgICA6IGRpc21pc3NPbk91dHNpZGVDbGljayxcbiAgICAgICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICAgIHJldHVybkZvY3VzT25EZWFjdGl2YXRlOiAhZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IGBbZGF0YS1kcy1pZD1cIlNoZWV0XCJdYCxcbiAgICAgICAgICBvblBvc3REZWFjdGl2YXRlOiBoYW5kbGVQb3N0RGVhY3RpdmF0ZSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgIHsuLi5pZFByb3B9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlNoZWV0XCJcbiAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2NvbnRhaW5lckhlaWdodH1cbiAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICBpc09wZW5pbmc9e2lzT3BlbmluZ31cbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBkcmFnT2Zmc2V0PXtkcmFnT2Zmc2V0LmN1cnJlbnR9XG4gICAgICAgICAgb25BbmltYXRpb25FbmQ9e2hhbmRsZUV4aXRBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8U3R5bGVkSGFuZGxlQ29udGFpbmVyXG4gICAgICAgICAgICAgIHJlZj17aGFuZGxlQ29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZD17aXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlQ29udGFpbmVyPlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgICAgICAgaXNDbG9zaW5nPXtpc0Nsb3Npbmd9XG4gICAgICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgICAgICByZWY9e2NvbnRlbnRDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIG9uU2Nyb2xsPXtoYW5kbGVDb250ZW50Q29udGFpbmVyU2Nyb2xsfVxuICAgICAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRDb250YWluZXI+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICAgPC9Gb2N1c1RyYXBXcmFwcGVyPlxuICAgIDwvPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZWRTaGVldCA9XG4gICAgaGFzQmFja2Ryb3AgJiYgIWlzQ2xvc2luZyA/IChcbiAgICAgIDxTdHlsZWRCYWNrZHJvcD57c2hlZXRFbG19PC9TdHlsZWRCYWNrZHJvcD5cbiAgICApIDogKFxuICAgICAgc2hlZXRFbG1cbiAgICApO1xuXG4gIGNvbnN0IGNvbnRhaW5lciA9IHBvcnRhbENvbnRhaW5lciB8fCAoISFkb2N1bWVudCAmJiBkb2N1bWVudC5ib2R5KTtcbiAgcmV0dXJuIGNvbnRhaW5lciAmJiBjcmVhdGVQb3J0YWwod3JhcHBlZFNoZWV0LCBjb250YWluZXIpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNLOEIifQ== */"),StyledHandle=styled("div",{target:"e5rzyp83",label:"StyledHandle"})(({theme})=>({width:"80px",height:"4px",borderRadius:theme.variables.size.borderRadius.xs,backgroundColor:theme.values.color.divider.secondary}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIG9uQ2xvc2VdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0NhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWZdKTtcblxuICBjb25zdCBzaG91bGRJbml0aWF0ZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgLy8gQWx3YXlzIGFsbG93IGRyYWcgZnJvbSBoYW5kbGUgY29udGFpbmVyIGFyZWFcbiAgICAgIGlmIChoYW5kbGVDb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgdG91Y2ggaXMgd2l0aGluIGFueSBzY3JvbGxhYmxlIGVsZW1lbnQgdGhhdCBoYXMgYmVlbiBzY3JvbGxlZFxuICAgICAgaWYgKGlzV2l0aGluU2Nyb2xsZWRFbGVtZW50KHRhcmdldCwgY29udGFpbmVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgdXNlciBjYW4gc2Nyb2xsIHRvIHRoZSB0b3AsIGRvbid0IGFsbG93IHRvIGRyYWcgdG8gY2xvc2UgdGhlIHNoZWV0XG4gICAgICAvLyBBbmQgbGV0IHRvIHNjcm9sbFxuICAgICAgaWYgKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID4gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZiwgaGFuZGxlQ29udGFpbmVyUmVmXVxuICApO1xuXG4gIHVzZURyYWdEb3duKHtcbiAgICByZWY6IGNvbnRhaW5lclJlZixcbiAgICBpc1Zpc2libGUsXG4gICAgb25EcmFnU3RhcnQ6IGhhbmRsZURyYWdTdGFydCxcbiAgICBvbkRyYWc6IGhhbmRsZURyYWcsXG4gICAgb25EcmFnRW5kOiBoYW5kbGVEcmFnRW5kLFxuICAgIG9uRHJhZ0NhbmNlbDogaGFuZGxlRHJhZ0NhbmNlbCxcbiAgICBzaG91bGRJbml0aWF0ZURyYWcsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUV4aXRBbmltYXRpb25FbmQgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgc2V0Q2xvc2luZyhmYWxzZSk7XG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoMCk7XG4gICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgaWYgKG9uVW5tb3VudCkge1xuICAgICAgICBvblVubW91bnQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgc2V0T3BlbmluZyhmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGwgPSAoKSA9PiB7XG4gICAgc2V0Q29udGVudENvbnRhaW5lclNjcm9sbGVkKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wICE9PSAwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVQb3N0RGVhY3RpdmF0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkNsb3NlKCk7XG4gIH0sIFtvbkNsb3NlXSk7XG5cbiAgY29uc3Qgc2hvd1NoZWV0ID0gKGlzVmlzaWJsZSB8fCBpc0Nsb3NpbmcpICYmICEoaXNWaXNpYmxlICYmIGlzQ2xvc2luZyk7XG5cbiAgaWYgKCFzaG93U2hlZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGdsb2JhbFN0eWxlcyA9IHtcbiAgICBodG1sOiB7XG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBpZFByb3AgPSBpZFxuICAgID8ge1xuICAgICAgICBpZCxcbiAgICAgIH1cbiAgICA6IHt9O1xuXG4gIGNvbnN0IHNoZWV0RWxtID0gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Z2xvYmFsU3R5bGVzfSAvPlxuICAgICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgICAgYWN0aXZlPXtpc1Zpc2libGV9XG4gICAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlczpcbiAgICAgICAgICAgIGRpc21pc3NPbk91dHNpZGVDbGljayAmJiBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgID8gb25DbGlja091dHNpZGVEZWFjdGl2YXRlc1xuICAgICAgICAgICAgICA6IGRpc21pc3NPbk91dHNpZGVDbGljayxcbiAgICAgICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICAgIHJldHVybkZvY3VzT25EZWFjdGl2YXRlOiAhZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IGBbZGF0YS1kcy1pZD1cIlNoZWV0XCJdYCxcbiAgICAgICAgICBvblBvc3REZWFjdGl2YXRlOiBoYW5kbGVQb3N0RGVhY3RpdmF0ZSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgIHsuLi5pZFByb3B9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlNoZWV0XCJcbiAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2NvbnRhaW5lckhlaWdodH1cbiAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICBpc09wZW5pbmc9e2lzT3BlbmluZ31cbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBkcmFnT2Zmc2V0PXtkcmFnT2Zmc2V0LmN1cnJlbnR9XG4gICAgICAgICAgb25BbmltYXRpb25FbmQ9e2hhbmRsZUV4aXRBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8U3R5bGVkSGFuZGxlQ29udGFpbmVyXG4gICAgICAgICAgICAgIHJlZj17aGFuZGxlQ29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZD17aXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlQ29udGFpbmVyPlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgICAgICAgaXNDbG9zaW5nPXtpc0Nsb3Npbmd9XG4gICAgICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgICAgICByZWY9e2NvbnRlbnRDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIG9uU2Nyb2xsPXtoYW5kbGVDb250ZW50Q29udGFpbmVyU2Nyb2xsfVxuICAgICAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRDb250YWluZXI+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICAgPC9Gb2N1c1RyYXBXcmFwcGVyPlxuICAgIDwvPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZWRTaGVldCA9XG4gICAgaGFzQmFja2Ryb3AgJiYgIWlzQ2xvc2luZyA/IChcbiAgICAgIDxTdHlsZWRCYWNrZHJvcD57c2hlZXRFbG19PC9TdHlsZWRCYWNrZHJvcD5cbiAgICApIDogKFxuICAgICAgc2hlZXRFbG1cbiAgICApO1xuXG4gIGNvbnN0IGNvbnRhaW5lciA9IHBvcnRhbENvbnRhaW5lciB8fCAoISFkb2N1bWVudCAmJiBkb2N1bWVudC5ib2R5KTtcbiAgcmV0dXJuIGNvbnRhaW5lciAmJiBjcmVhdGVQb3J0YWwod3JhcHBlZFNoZWV0LCBjb250YWluZXIpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1McUIifQ== */");export function Sheet({id,children,hasBackdrop,isVisible,onClose,onUnmount,portalContainer,dismissOnOutsideClick=!0,disableInitialFocus,disableReturnFocusToTrigger,onClickOutsideDeactivates,"data-e2e-test-id":dataE2eTestId}){let[isClosing,setClosing]=useState(!1),[isOpening,setOpening]=useState(!1),[containerHeight,setContainerHeight]=useState(0),[isContentContainerScrolled,setContentContainerScrolled]=useState(!1),containerRef=useRef(null),contentContainerRef=useRef(null),handleContainerRef=useRef(null),prevVisibleState=useRef(!1),dragOffset=useRef(0),isDragStarted=useRef(!1);useLayoutEffect(()=>{isVisible&&setOpening(!0)},[isVisible]),useLayoutEffect(()=>{isVisible&&containerRef.current&&setContainerHeight(containerRef.current.getBoundingClientRect().height)},[isVisible,children]),useEffect(()=>{!isVisible&&prevVisibleState.current&&setClosing(!0),prevVisibleState.current=isVisible},[isVisible]),useEffect(()=>{isVisible&&isClosing&&onClose()},[isVisible,isClosing,onClose]);let handleDragStart=useCallback(()=>{requestAnimationFrame(()=>{contentContainerRef.current?.scrollTop===0&&containerRef.current&&(containerRef.current.style.animation="none",containerRef.current.style.transition="transform 0.1s ease",containerRef.current.style.transform="translateY(0px)",dragOffset.current=0,isDragStarted.current=!0)})},[containerRef,contentContainerRef]),handleDrag=useCallback((_,offsetFromStart)=>{let containerCurrentHeight=containerRef.current?.getBoundingClientRect()?.height??0;requestAnimationFrame(()=>{isDragStarted.current&&containerRef.current&&contentContainerRef.current?.scrollTop===0&&offsetFromStart<containerCurrentHeight&&(containerRef.current.style.transform=`translateY(${offsetFromStart}px)`,dragOffset.current=offsetFromStart)})},[containerRef,contentContainerRef]),handleDragEnd=useCallback((_,offsetFromStart)=>{let containerCurrentHeight=containerRef.current?.getBoundingClientRect()?.height??0,minDragDistance=containerCurrentHeight<300?containerCurrentHeight/4:150;requestAnimationFrame(()=>{isDragStarted.current&&(offsetFromStart>=minDragDistance&&contentContainerRef.current?.scrollTop===0?onClose():containerRef.current&&(containerRef.current.style.transform="translateY(0px)",dragOffset.current=0)),isDragStarted.current=!1})},[containerRef,onClose]),handleDragCancel=useCallback(()=>{requestAnimationFrame(()=>{isDragStarted.current&&containerRef.current&&(containerRef.current.style.transform="translateY(0px)",dragOffset.current=0),isDragStarted.current=!1})},[containerRef]),shouldInitiateDrag=useCallback(event=>{let target=event.target;return!!handleContainerRef.current?.contains(target)||!(isWithinScrolledElement(target,containerRef.current)||contentContainerRef.current?.scrollTop>0)},[containerRef,contentContainerRef,handleContainerRef]);useDragDown({ref:containerRef,isVisible,onDragStart:handleDragStart,onDrag:handleDrag,onDragEnd:handleDragEnd,onDragCancel:handleDragCancel,shouldInitiateDrag});let handlePostDeactivate=useCallback(()=>{onClose()},[onClose]);if(!((isVisible||isClosing)&&!(isVisible&&isClosing)))return null;let sheetElm=React.createElement(React.Fragment,null,React.createElement(Global,{styles:[{html:{overflow:"hidden",overscrollBehavior:"none"}},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvU2hlZXQvU2hlZXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9TaGVldC9TaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VDYWxsYmFjayxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IGtleWZyYW1lcywgR2xvYmFsIH0gZnJvbSBcIkBlbW90aW9uL3JlYWN0XCI7XG5pbXBvcnQgeyBGb2N1c1RyYXBXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9Gb2N1c1RyYXBXcmFwcGVyXCI7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tIFwiLi4vQ29udGFpbmVyL0NvbnRhaW5lclwiO1xuaW1wb3J0IHsgdXNlRHJhZ0Rvd24gfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZURyYWdEb3duXCI7XG5pbXBvcnQgeyBTdHlsZWRCYWNrZHJvcCB9IGZyb20gXCIuLi9QYXR0ZXJucy9Nb2RhbC9Nb2RhbFwiO1xuaW1wb3J0IHsgaXNXaXRoaW5TY3JvbGxlZEVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2lzV2l0aGluU2Nyb2xsZWRFbGVtZW50XCI7XG5cbmV4cG9ydCB0eXBlIFNoZWV0UHJvcHMgPSB7XG4gIC8qIElkIHRvIGFzc29jaWF0ZSB3aXRoIGEgdHJpZ2dlciAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIGNvbnRlbnRzICovXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qIE9wdGlvbiB0byBzaG93IGJhY2tkcm9wICovXG4gIGhhc0JhY2tkcm9wPzogYm9vbGVhbjtcbiAgLyogQ3VzdG9tIHBvcnRhbCBjb250YWluZXIgdG8gcmVuZGVyIHNoZWV0IGludG8gKi9cbiAgcG9ydGFsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG4gIC8qIHVzZWQgdG8gc2hvdyAvIGhpZGUgc2hlZXQgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyogQ2FsbGVkIHdoZW4gc2hlZXQgbmVlZHMgdG8gY2xvc2UsIG9uIGVzY2FwZSwgb3V0c2lkZSBjbGljaywgc3dpcGUgZG93biwgZXRjLiAqL1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICAvKiBDYWxsZWQgd2hlbiBzaGVldCBpcyByZW1vdmVkIGZyb20gRE9NIGFmdGVyIGV4aXQgYW5pbWF0aW9uLiAqL1xuICBvblVubW91bnQ/OiAoKSA9PiB2b2lkO1xuICAvKiBDb250cm9scyB3aGV0aGVyIFNoZWV0IGNsb3NlcyBvbiBvdXRzaWRlIGNsaWNrICovXG4gIGRpc21pc3NPbk91dHNpZGVDbGljaz86IGJvb2xlYW47XG4gIC8qIE9wdGlvbiBmb3IgZm9jdXMtdHJhcCwgY29udHJvbHMgd2hldGhlciB0aGUgZmlyc3QgZm9jdWFibGUgaXRlbSByZWNpZXZlcyBmb2N1cyAqL1xuICBkaXNhYmxlSW5pdGlhbEZvY3VzPzogYm9vbGVhbjtcbiAgLyogT3B0aW9uIGZvciBmb2N1cy10cmFwLCBjb250cm9scyB3aGV0aGVyIHRoZSB0cmlnZ2VyIHNob3VsZCByZWNlaXZlIGJhY2sgdGhlIGZvY3VzIG9uIHBvcG92ZXIgY2xvc2UgKi9cbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyPzogYm9vbGVhbjtcbiAgLyogQ2FsbGJhY2sgZm9yIHdoZXRoZXIgb3V0c2lkZSBjbGljayBzaG91bGQgZGVhY3RpdmF0ZS4gTmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBvdXRzaWRlIGNsaWNrIGlzIG9uIHRoZSB0cmlnZ2VyICovXG4gIG9uQ2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXM/OiAoZXZ0OiBNb3VzZUV2ZW50KSA9PiBib29sZWFuO1xufTtcblxuLy8gRHVyYXRpb24gb2Ygc2xpZGVpbiBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRU5UUlkgPSAzMDA7XG4vLyBEdXJhdGlvbiBvZiBzbGlkZW91dCBhbmltYXRpb24gb2Ygc2hlZXQgY29udGFpbmVyXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fRVhJVCA9IDIwMDsgLy8gZHVyYXRpb25cbi8vIER1cmF0aW9uIG9mIGZhZGUgaW4vb3V0IGFuaW1hdGlvbiBvZiBjb250ZW50IGNvbnRhaW5lclxuY29uc3QgQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlQgPSA1MDtcbi8vIE1heCBoZWlnaHQgb2Ygc2hlZXQgY29udGVudCByZWxhdGl2ZSB0byB2aWV3cG9ydCBoZWlnaHRcbmNvbnN0IE1BWF9IRUlHSFRfUEVSQ0VOVCA9IDgwO1xuLy8gTWluIGRyYWcgZGlzdGFuY2UgdG8gY2xvc2Ugc2hlZXRcbmNvbnN0IE1JTl9EUkFHX0RJU1RBTkNFID0gMTUwO1xuXG4vLyBUT0RPOiBTaGVldCBzaG91bGQgaGFuZGxlIG1heCBoZWlnaHQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHJlcXVpcmluZyBjb25zdW1lcnMgdG8gbWFudWFsbHkgc2V0IGl0XG4vLyBDdXJyZW50bHkgY29uc3VtZXJzIG5lZWQgdG8gdXNlIFNIRUVUX01BWF9IRUlHSFQgb24gdGhlaXIgcm9vdCBlbGVtZW50IGluc2lkZSBTaGVldCBjaGlsZHJlblxuLy8gVGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBTaGVldCBjb21wb25lbnQgaXRzZWxmLCBlbGltaW5hdGluZyB0aGUgbmVlZCB0byBleHBvcnQgdGhpcyBjb25zdGFudFxuZXhwb3J0IGNvbnN0IFNIRUVUX01BWF9IRUlHSFQgPSBgJHtNQVhfSEVJR0hUX1BFUkNFTlR9c3ZoYDtcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgY29udGFpbmVySGVpZ2h0PzogbnVtYmVyO1xuICBpc0Nsb3Npbmc/OiBib29sZWFuO1xuICBpc09wZW5pbmc/OiBib29sZWFuO1xuICBkcmFnT2Zmc2V0PzogbnVtYmVyO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBjb250YWluZXJIZWlnaHQsIGlzQ2xvc2luZywgaXNPcGVuaW5nLCBkcmFnT2Zmc2V0ID0gMCB9KSA9PiB7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBpZiAoY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICBjb25zdCBzbGlkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7ZHJhZ09mZnNldH1weClgLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtjb250YWluZXJIZWlnaHR9cHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgc2xpZGVJbiA9IGtleWZyYW1lcyh7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IGB0cmFuc2xhdGVZKCR7Y29udGFpbmVySGVpZ2h0fXB4KWAsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgwcHgpYCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICAgIGFuaW1hdGlvbiA9IGAke0FOSU1BVElPTl9EVVJBVElPTl9FWElUfW1zIGVhc2Utb3V0IGZvcndhcmRzICR7c2xpZGVPdXR9YDtcbiAgICAgIH0gZWxzZSBpZiAoaXNPcGVuaW5nKSB7XG4gICAgICAgIC8vIHNldCBlbnRyeSBhbmltYXRpb24gb25seSBmb3IgdGhlIGZpcnN0IHRpbWUgYWZ0ZXIgc2hlZXQgaXMgdmlzaWJsZVxuICAgICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fRU5UUll9bXMgZWFzZS1vdXQgZm9yd2FyZHMgJHtzbGlkZUlufWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgIGxlZnQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcImJvdHRvbVwiLFxuICAgICAgYW5pbWF0aW9uLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIHpJbmRleDogdGhlbWUudmFyaWFibGVzLnpJbmRleC5tb2RhbCxcblxuICAgICAgLy8gUmVtb3ZlIGJvdHRvbSBib3JkZXIgcmFkaXVzIG9mIERTIENvbnRhaW5lclxuICAgICAgXCI+IGRpdlwiOiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUxlZnRSYWRpdXM6IDAsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4pO1xuXG50eXBlIFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcyA9IHtcbiAgaXNDbG9zaW5nPzogYm9vbGVhbjtcbiAgaXNPcGVuaW5nPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRlbnRDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZENvbnRlbnRDb250YWluZXJQcm9wcz4oXG4gICh7IHRoZW1lLCBpc0Nsb3NpbmcsIGlzT3BlbmluZyB9KSA9PiB7XG4gICAgY29uc3QgZmFkZU91dCA9IGtleWZyYW1lcyh7XG4gICAgICBmcm9tOiB7XG4gICAgICAgIG9wYWNpdHk6IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LnZpc2libGUsXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkuaGlkZGVuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBmYWRlSW4gPSBrZXlmcmFtZXMoe1xuICAgICAgZnJvbToge1xuICAgICAgICBvcGFjaXR5OiB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS5oaWRkZW4sXG4gICAgICB9LFxuICAgICAgdG86IHtcbiAgICAgICAgb3BhY2l0eTogdGhlbWUudmFyaWFibGVzLm9wYWNpdHkudmlzaWJsZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFuaW1hdGlvbjtcbiAgICBsZXQgb3BhY2l0eSA9IHRoZW1lLnZhcmlhYmxlcy5vcGFjaXR5LmhpZGRlbjtcbiAgICBpZiAoaXNDbG9zaW5nKSB7XG4gICAgICBhbmltYXRpb24gPSBgJHtBTklNQVRJT05fRFVSQVRJT05fQ09OVEVOVH1tcyBlYXNlLW91dCBmb3J3YXJkcyAke2ZhZGVPdXR9YDtcbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgYW5pbWF0aW9uID0gYCR7QU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlR9bXMgZWFzZS1vdXQgJHtcbiAgICAgICAgQU5JTUFUSU9OX0RVUkFUSU9OX0VOVFJZIC0gQU5JTUFUSU9OX0RVUkFUSU9OX0NPTlRFTlRcbiAgICAgIH1tcyBmb3J3YXJkcyAke2ZhZGVJbn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSBcIm5vbmVcIjtcbiAgICAgIG9wYWNpdHkgPSB0aGVtZS52YXJpYWJsZXMub3BhY2l0eS52aXNpYmxlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVyZmxvdzogXCJhdXRvXCIsXG4gICAgICBtYXhIZWlnaHQ6IGAke01BWF9IRUlHSFRfUEVSQ0VOVH1zdmhgLFxuICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWNrZ3JvdW5kLmVsZXZhdGVkLmRlZmF1bHQsXG4gICAgICBvcGFjaXR5LFxuICAgICAgYW5pbWF0aW9uLFxuICAgIH07XG4gIH1cbik7XG5cbnR5cGUgU3R5bGVkSGFuZGxlQ29udGFpbmVyUHJvcHMgPSB7XG4gIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkPzogYm9vbGVhbjtcbn07XG5jb25zdCBTdHlsZWRIYW5kbGVDb250YWluZXIgPSBzdHlsZWQuZGl2PFN0eWxlZEhhbmRsZUNvbnRhaW5lclByb3BzPihcbiAgKHsgdGhlbWUsIGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkIH0pID0+ICh7XG4gICAgcGFkZGluZzogYCR7dGhlbWUudmFyaWFibGVzLnNpemUuc3BhY2luZy54c30gMGAsXG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFja2dyb3VuZC5lbGV2YXRlZC5kZWZhdWx0LFxuXG4gICAgLi4uKGlzQ29udGVudENvbnRhaW5lclNjcm9sbGVkICYmIHtcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLmVsZXZhdGlvblsxXSxcbiAgICB9KSxcbiAgfSlcbik7XG5cbmNvbnN0IFN0eWxlZEhhbmRsZSA9IHN0eWxlZC5kaXYoKHsgdGhlbWUgfSkgPT4gKHtcbiAgd2lkdGg6IFwiODBweFwiLFxuICBoZWlnaHQ6IFwiNHB4XCIsXG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLnhzLFxuICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5kaXZpZGVyLnNlY29uZGFyeSxcbn0pKTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNoZWV0KHtcbiAgaWQsXG4gIGNoaWxkcmVuLFxuICBoYXNCYWNrZHJvcCxcbiAgaXNWaXNpYmxlLFxuICBvbkNsb3NlLFxuICBvblVubW91bnQsXG4gIHBvcnRhbENvbnRhaW5lcixcbiAgZGlzbWlzc09uT3V0c2lkZUNsaWNrID0gdHJ1ZSxcbiAgZGlzYWJsZUluaXRpYWxGb2N1cyxcbiAgZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzLFxuICBcImRhdGEtZTJlLXRlc3QtaWRcIjogZGF0YUUyZVRlc3RJZCxcbn06IFNoZWV0UHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCBbaXNDbG9zaW5nLCBzZXRDbG9zaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzT3BlbmluZywgc2V0T3BlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjb250YWluZXJIZWlnaHQsIHNldENvbnRhaW5lckhlaWdodF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lzQ29udGVudENvbnRhaW5lclNjcm9sbGVkLCBzZXRDb250ZW50Q29udGFpbmVyU2Nyb2xsZWRdID1cbiAgICB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhbmRsZUNvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBwcmV2VmlzaWJsZVN0YXRlID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgZHJhZ09mZnNldCA9IHVzZVJlZigwKTtcbiAgY29uc3QgaXNEcmFnU3RhcnRlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgICBzZXRPcGVuaW5nKHRydWUpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyUmVjdC5oZWlnaHQpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgY2hpbGRyZW5dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFN0YXJ0IGNsb3Npbmcgc2hlZXQgaWYgcHJldmlvdXNseSBvcGVuZWRcbiAgICBpZiAoIWlzVmlzaWJsZSAmJiBwcmV2VmlzaWJsZVN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIHNldENsb3NpbmcodHJ1ZSk7XG4gICAgfVxuICAgIHByZXZWaXNpYmxlU3RhdGUuY3VycmVudCA9IGlzVmlzaWJsZTtcbiAgfSwgW2lzVmlzaWJsZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzVmlzaWJsZSAmJiBpc0Nsb3NpbmcpIHtcbiAgICAgIC8vIFNvbWV0aW1lcywgcGFyZW50IGNvbXBvbmVudCBjYW4gcmUtb3BlbiBzaGVldCB3aGlsZSBpdCBpcyBzdGlsbCBjbG9zaW5nLiBUbyBwcmV2ZW50IHRoaXMsIHdlIGNhbGwgb25DbG9zZSBhZ2FpblxuICAgICAgb25DbG9zZSgpO1xuICAgIH1cbiAgfSwgW2lzVmlzaWJsZSwgaXNDbG9zaW5nLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ1N0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGFuaW1hdGlvbiwgb3RoZXJ3aXNlIHRyYW5zZm9ybSBkb2Vzbid0IHdvcmtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUuYW5pbWF0aW9uID0gXCJub25lXCI7XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zaXRpb24gPSBcInRyYW5zZm9ybSAwLjFzIGVhc2VcIjtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQuc3R5bGUudHJhbnNmb3JtID0gXCJ0cmFuc2xhdGVZKDBweClcIjtcbiAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZl0pO1xuXG4gIGNvbnN0IGhhbmRsZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0RyYWdTdGFydGVkLmN1cnJlbnQgJiZcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCAmJlxuICAgICAgICAgIGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID09PSAwICYmXG4gICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0IDwgY29udGFpbmVyQ3VycmVudEhlaWdodFxuICAgICAgICApIHtcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke29mZnNldEZyb21TdGFydH1weClgO1xuICAgICAgICAgIGRyYWdPZmZzZXQuY3VycmVudCA9IG9mZnNldEZyb21TdGFydDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbY29udGFpbmVyUmVmLCBjb250ZW50Q29udGFpbmVyUmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayhcbiAgICAoXzogbnVtYmVyLCBvZmZzZXRGcm9tU3RhcnQ6IG51bWJlcikgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyQ3VycmVudEhlaWdodCA9XG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0ID8/IDA7XG4gICAgICAvLyBDbG9zZSBzaGVldCBvbmx5IHdoZW4gZHJhZyBkaXN0YW5jZSBpcyBhIHF1YXJ0ZXIgb2YgY29udGFpbmVyIGhlaWdodFxuICAgICAgY29uc3QgbWluRHJhZ0Rpc3RhbmNlID1cbiAgICAgICAgY29udGFpbmVyQ3VycmVudEhlaWdodCA8IE1JTl9EUkFHX0RJU1RBTkNFICogMlxuICAgICAgICAgID8gY29udGFpbmVyQ3VycmVudEhlaWdodCAvIDRcbiAgICAgICAgICA6IE1JTl9EUkFHX0RJU1RBTkNFO1xuXG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICBpZiAoaXNEcmFnU3RhcnRlZC5jdXJyZW50KSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgb2Zmc2V0RnJvbVN0YXJ0ID49IG1pbkRyYWdEaXN0YW5jZSAmJlxuICAgICAgICAgICAgY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50Py5zY3JvbGxUb3AgPT09IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9uQ2xvc2UoKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICAgICAgZHJhZ09mZnNldC5jdXJyZW50ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtjb250YWluZXJSZWYsIG9uQ2xvc2VdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0NhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKGlzRHJhZ1N0YXJ0ZWQuY3VycmVudCAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudC5zdHlsZS50cmFuc2Zvcm0gPSBcInRyYW5zbGF0ZVkoMHB4KVwiO1xuICAgICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgfVxuICAgICAgaXNEcmFnU3RhcnRlZC5jdXJyZW50ID0gZmFsc2U7XG4gICAgfSk7XG4gIH0sIFtjb250YWluZXJSZWZdKTtcblxuICBjb25zdCBzaG91bGRJbml0aWF0ZURyYWcgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgLy8gQWx3YXlzIGFsbG93IGRyYWcgZnJvbSBoYW5kbGUgY29udGFpbmVyIGFyZWFcbiAgICAgIGlmIChoYW5kbGVDb250YWluZXJSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgdG91Y2ggaXMgd2l0aGluIGFueSBzY3JvbGxhYmxlIGVsZW1lbnQgdGhhdCBoYXMgYmVlbiBzY3JvbGxlZFxuICAgICAgaWYgKGlzV2l0aGluU2Nyb2xsZWRFbGVtZW50KHRhcmdldCwgY29udGFpbmVyUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgdXNlciBjYW4gc2Nyb2xsIHRvIHRoZSB0b3AsIGRvbid0IGFsbG93IHRvIGRyYWcgdG8gY2xvc2UgdGhlIHNoZWV0XG4gICAgICAvLyBBbmQgbGV0IHRvIHNjcm9sbFxuICAgICAgaWYgKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wID4gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgW2NvbnRhaW5lclJlZiwgY29udGVudENvbnRhaW5lclJlZiwgaGFuZGxlQ29udGFpbmVyUmVmXVxuICApO1xuXG4gIHVzZURyYWdEb3duKHtcbiAgICByZWY6IGNvbnRhaW5lclJlZixcbiAgICBpc1Zpc2libGUsXG4gICAgb25EcmFnU3RhcnQ6IGhhbmRsZURyYWdTdGFydCxcbiAgICBvbkRyYWc6IGhhbmRsZURyYWcsXG4gICAgb25EcmFnRW5kOiBoYW5kbGVEcmFnRW5kLFxuICAgIG9uRHJhZ0NhbmNlbDogaGFuZGxlRHJhZ0NhbmNlbCxcbiAgICBzaG91bGRJbml0aWF0ZURyYWcsXG4gIH0pO1xuXG4gIGNvbnN0IGhhbmRsZUV4aXRBbmltYXRpb25FbmQgPSAoKSA9PiB7XG4gICAgaWYgKGlzQ2xvc2luZykge1xuICAgICAgc2V0Q2xvc2luZyhmYWxzZSk7XG4gICAgICBzZXRDb250YWluZXJIZWlnaHQoMCk7XG4gICAgICBkcmFnT2Zmc2V0LmN1cnJlbnQgPSAwO1xuICAgICAgaWYgKG9uVW5tb3VudCkge1xuICAgICAgICBvblVubW91bnQoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzT3BlbmluZykge1xuICAgICAgc2V0T3BlbmluZyhmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvbnRlbnRDb250YWluZXJTY3JvbGwgPSAoKSA9PiB7XG4gICAgc2V0Q29udGVudENvbnRhaW5lclNjcm9sbGVkKGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudD8uc2Nyb2xsVG9wICE9PSAwKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVQb3N0RGVhY3RpdmF0ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkNsb3NlKCk7XG4gIH0sIFtvbkNsb3NlXSk7XG5cbiAgY29uc3Qgc2hvd1NoZWV0ID0gKGlzVmlzaWJsZSB8fCBpc0Nsb3NpbmcpICYmICEoaXNWaXNpYmxlICYmIGlzQ2xvc2luZyk7XG5cbiAgaWYgKCFzaG93U2hlZXQpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGdsb2JhbFN0eWxlcyA9IHtcbiAgICBodG1sOiB7XG4gICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogXCJub25lXCIsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBpZFByb3AgPSBpZFxuICAgID8ge1xuICAgICAgICBpZCxcbiAgICAgIH1cbiAgICA6IHt9O1xuXG4gIGNvbnN0IHNoZWV0RWxtID0gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsIHN0eWxlcz17Z2xvYmFsU3R5bGVzfSAvPlxuICAgICAgPEZvY3VzVHJhcFdyYXBwZXJcbiAgICAgICAgYWN0aXZlPXtpc1Zpc2libGV9XG4gICAgICAgIGZvY3VzVHJhcE9wdGlvbnM9e3tcbiAgICAgICAgICBjbGlja091dHNpZGVEZWFjdGl2YXRlczpcbiAgICAgICAgICAgIGRpc21pc3NPbk91dHNpZGVDbGljayAmJiBvbkNsaWNrT3V0c2lkZURlYWN0aXZhdGVzXG4gICAgICAgICAgICAgID8gb25DbGlja091dHNpZGVEZWFjdGl2YXRlc1xuICAgICAgICAgICAgICA6IGRpc21pc3NPbk91dHNpZGVDbGljayxcbiAgICAgICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSwgLy8gZGUtYWN0aXZhdGUgZm9jdXMgdHJhcCBvbiBlc2NhcGUga2V5XG4gICAgICAgICAgcHJldmVudFNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICBpbml0aWFsRm9jdXM6ICgpID0+ICFkaXNhYmxlSW5pdGlhbEZvY3VzLFxuICAgICAgICAgIHJldHVybkZvY3VzT25EZWFjdGl2YXRlOiAhZGlzYWJsZVJldHVybkZvY3VzVG9UcmlnZ2VyLFxuICAgICAgICAgIGZhbGxiYWNrRm9jdXM6IGBbZGF0YS1kcy1pZD1cIlNoZWV0XCJdYCxcbiAgICAgICAgICBvblBvc3REZWFjdGl2YXRlOiBoYW5kbGVQb3N0RGVhY3RpdmF0ZSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZENvbnRhaW5lclxuICAgICAgICAgIHsuLi5pZFByb3B9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LXByb3BzLW5vLXNwcmVhZGluZ1xuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlNoZWV0XCJcbiAgICAgICAgICBjb250YWluZXJIZWlnaHQ9e2NvbnRhaW5lckhlaWdodH1cbiAgICAgICAgICBpc0Nsb3Npbmc9e2lzQ2xvc2luZ31cbiAgICAgICAgICBpc09wZW5pbmc9e2lzT3BlbmluZ31cbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICBkcmFnT2Zmc2V0PXtkcmFnT2Zmc2V0LmN1cnJlbnR9XG4gICAgICAgICAgb25BbmltYXRpb25FbmQ9e2hhbmRsZUV4aXRBbmltYXRpb25FbmR9XG4gICAgICAgID5cbiAgICAgICAgICA8Q29udGFpbmVyIGVsZXZhdGlvbj17NH0+XG4gICAgICAgICAgICA8U3R5bGVkSGFuZGxlQ29udGFpbmVyXG4gICAgICAgICAgICAgIHJlZj17aGFuZGxlQ29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBpc0NvbnRlbnRDb250YWluZXJTY3JvbGxlZD17aXNDb250ZW50Q29udGFpbmVyU2Nyb2xsZWR9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdHlsZWRIYW5kbGUgLz5cbiAgICAgICAgICAgIDwvU3R5bGVkSGFuZGxlQ29udGFpbmVyPlxuICAgICAgICAgICAgPFN0eWxlZENvbnRlbnRDb250YWluZXJcbiAgICAgICAgICAgICAgaXNDbG9zaW5nPXtpc0Nsb3Npbmd9XG4gICAgICAgICAgICAgIGlzT3BlbmluZz17aXNPcGVuaW5nfVxuICAgICAgICAgICAgICByZWY9e2NvbnRlbnRDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIG9uU2Nyb2xsPXtoYW5kbGVDb250ZW50Q29udGFpbmVyU2Nyb2xsfVxuICAgICAgICAgICAgICBvbkFuaW1hdGlvbkVuZD17KGV2dCkgPT4gZXZ0LnN0b3BQcm9wYWdhdGlvbigpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1N0eWxlZENvbnRlbnRDb250YWluZXI+XG4gICAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICAgICAgPC9Gb2N1c1RyYXBXcmFwcGVyPlxuICAgIDwvPlxuICApO1xuXG4gIGNvbnN0IHdyYXBwZWRTaGVldCA9XG4gICAgaGFzQmFja2Ryb3AgJiYgIWlzQ2xvc2luZyA/IChcbiAgICAgIDxTdHlsZWRCYWNrZHJvcD57c2hlZXRFbG19PC9TdHlsZWRCYWNrZHJvcD5cbiAgICApIDogKFxuICAgICAgc2hlZXRFbG1cbiAgICApO1xuXG4gIGNvbnN0IGNvbnRhaW5lciA9IHBvcnRhbENvbnRhaW5lciB8fCAoISFkb2N1bWVudCAmJiBkb2N1bWVudC5ib2R5KTtcbiAgcmV0dXJuIGNvbnRhaW5lciAmJiBjcmVhdGVQb3J0YWwod3JhcHBlZFNoZWV0LCBjb250YWluZXIpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNZTyJ9 */"]}),React.createElement(FocusTrapWrapper,{active:isVisible,focusTrapOptions:{clickOutsideDeactivates:dismissOnOutsideClick&&onClickOutsideDeactivates?onClickOutsideDeactivates:dismissOnOutsideClick,allowOutsideClick:!0,escapeDeactivates:!0,preventScroll:!0,initialFocus:()=>!disableInitialFocus,returnFocusOnDeactivate:!disableReturnFocusToTrigger,fallbackFocus:'[data-ds-id="Sheet"]',onPostDeactivate:handlePostDeactivate}},React.createElement(StyledContainer,{...id?{id}:{},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Sheet",containerHeight:containerHeight,isClosing:isClosing,isOpening:isOpening,ref:containerRef,dragOffset:dragOffset.current,onAnimationEnd:()=>{isClosing?(setClosing(!1),setContainerHeight(0),dragOffset.current=0,onUnmount&&onUnmount()):isOpening&&setOpening(!1)}},React.createElement(Container,{elevation:4},React.createElement(StyledHandleContainer,{ref:handleContainerRef,isContentContainerScrolled:isContentContainerScrolled},React.createElement(StyledHandle,null)),React.createElement(StyledContentContainer,{isClosing:isClosing,isOpening:isOpening,ref:contentContainerRef,onScroll:()=>{setContentContainerScrolled(contentContainerRef.current?.scrollTop!==0)},onAnimationEnd:evt=>evt.stopPropagation()},children))))),wrappedSheet=hasBackdrop&&!isClosing?React.createElement(StyledBackdrop,null,sheetElm):sheetElm,container=portalContainer||!!document&&document.body;return container&&createPortal(wrappedSheet,container)}