{"version":3,"sources":["webpack:///node_modules/semantic-ui-react/dist/es/lib/htmlPropsUtils.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/numberToWord.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/isBrowser.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Card/Card.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Message/Message.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Rating/Rating.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Popup/lib/positions.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Popup/lib/createReferenceProxy.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Popup/Popup.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/List/ListHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/List/ListDescription.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Table/TableCell.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Grid/GridColumn.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Table/TableRow.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/ModernAutoControlledComponent.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Image/Image.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/List/ListContent.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Menu/MenuItem.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Table/TableHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/doesNodeContainClick.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Message/MessageItem.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/List/ListIcon.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Card/CardHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Card/CardMeta.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Card/CardDescription.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Step/StepTitle.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Step/StepDescription.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Accordion/AccordionPanel.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Accordion/AccordionTitle.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Accordion/AccordionContent.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Item/ItemHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Item/ItemMeta.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Item/ItemDescription.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Item/ItemExtra.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dimmer/DimmerInner.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Card/CardContent.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/eventStack/index.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/classNameBuilders.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/List/List.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/Portal/PortalInner.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Label/LabelDetail.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dropdown/DropdownText.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dropdown/DropdownSearchInput.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dropdown/DropdownItem.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dropdown/DropdownMenu.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dropdown/DropdownHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Popup/PopupHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Popup/PopupContent.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Message/MessageContent.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Message/MessageHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Message/MessageList.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Modal/ModalHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Modal/ModalContent.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Modal/ModalActions.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Modal/ModalDimmer.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/List/ListItem.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Header/HeaderSubheader.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Header/HeaderContent.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Rating/RatingIcon.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Table/TableBody.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Table/TableFooter.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Step/StepContent.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Accordion/AccordionAccordion.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Tab/TabPane.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Item/ItemImage.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Item/ItemContent.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Statistic/StatisticValue.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Statistic/StatisticLabel.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Icon/IconGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dimmer/DimmerDimmable.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Image/ImageGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Label/LabelGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/FormButton.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Button/ButtonContent.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Button/ButtonGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Button/ButtonOr.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/FormCheckbox.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/FormDropdown.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dropdown/DropdownDivider.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/FormGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/FormInput.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/FormRadio.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/FormSelect.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/FormTextArea.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Modal/ModalDescription.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/List/ListList.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Segment/SegmentGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Segment/SegmentInline.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Grid/GridRow.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Card/CardGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Menu/MenuHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Menu/MenuMenu.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Table/TableHeaderCell.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Placeholder/PlaceholderHeader.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Placeholder/PlaceholderImage.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Placeholder/PlaceholderLine.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Placeholder/PlaceholderParagraph.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Step/StepGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Sidebar/SidebarPushable.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Sidebar/SidebarPusher.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Item/ItemGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Statistic/StatisticGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Transition/utils/childMapping.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Transition/utils/wrapChild.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Transition/TransitionGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/normalizeTransitionDuration.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/hooks/useIsomorphicLayoutEffect.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/hooks/useClassNamesOnNode.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Segment/Segment.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Checkbox/Checkbox.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/normalizeOffset.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Accordion/Accordion.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Grid/Grid.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Menu/Menu.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Transition/Transition.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/factories.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Step/Step.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Item/Item.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Statistic/Statistic.js","webpack:///node_modules/semantic-ui-react/dist/commonjs/lib/SUI.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/Radio/Radio.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Modal/utils/index.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Modal/Modal.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/MountNode/MountNode.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/Pagination/PaginationItem.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/Pagination/Pagination.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/TransitionablePortal/TransitionablePortal.js","webpack:///node_modules/semantic-ui-react/dist/es/behaviors/Visibility/Visibility.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Breadcrumb/BreadcrumbDivider.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Breadcrumb/BreadcrumbSection.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Breadcrumb/Breadcrumb.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Rail/Rail.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Reveal/RevealContent.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Reveal/Reveal.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Embed/Embed.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Search/SearchCategoryLayout.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Search/SearchCategory.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Search/SearchResult.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Search/SearchResults.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Search/Search.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Advertisement/Advertisement.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Comment/CommentAction.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Comment/CommentActions.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Comment/CommentAuthor.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Comment/CommentAvatar.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Comment/CommentContent.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Comment/CommentGroup.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Comment/CommentMetadata.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Comment/CommentText.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Comment/Comment.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/FeedDate.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/FeedExtra.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/FeedLike.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/FeedMeta.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/FeedUser.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/FeedSummary.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/FeedContent.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/FeedLabel.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/FeedEvent.js","webpack:///node_modules/semantic-ui-react/dist/es/views/Feed/Feed.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Button/Button.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/childrenUtils.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/SUI.js","webpack:///node_modules/semantic-ui-react/dist/commonjs/lib/numberToWord.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dimmer/Dimmer.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/Portal/Portal.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Flag/Flag.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Input/Input.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/Select/Select.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/TextArea/TextArea.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Sticky/Sticky.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Loader/Loader.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Progress/Progress.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Header/Header.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/Confirm/Confirm.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Table/Table.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Container/Container.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Placeholder/Placeholder.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Sidebar/Sidebar.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Tab/Tab.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/itemFactories.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/suffixFactories.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/rangeFactories.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/createPaginationItems.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/createPaginationItems/paginationUtils.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/Responsive/lib/isVisible.js","webpack:///node_modules/semantic-ui-react/dist/es/addons/Responsive/Responsive.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dropdown/utils/getMenuOptions.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dropdown/utils/getSelectedIndex.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Dropdown/Dropdown.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Label/Label.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/getUnhandledProps.js","webpack:///node_modules/semantic-ui-react/dist/es/modules/Transition/utils/computeStatuses.js","webpack:///node_modules/semantic-ui-react/dist/es/lib/getElementType.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/FormField.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Divider/Divider.js","webpack:///node_modules/semantic-ui-react/dist/es/elements/Icon/Icon.js","webpack:///node_modules/semantic-ui-react/dist/es/collections/Form/Form.js"],"names":["htmlInputAttrs","htmlInputProps","concat","htmlImageProps","partitionHTMLProps","props","options","_options","_options$htmlProps","htmlProps","_options$includeAria","includeAria","inputProps","rest","val","prop","possibleAria","test","numberToWordMap","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","numberToWord","value","type","hasDocument","document","hasWindow","window","self","isBrowser","override","Card","_Component","_this","_len","arguments","length","args","Array","_key","call","apply","this","handleClick","e","onClick","prototype","render","_this$props","centered","children","className","color","content","description","extra","fluid","header","href","image","link","meta","raised","classes","ElementType","isNil","createElement","create","autoGenerateKey","defaultProps","ui","wrapped","handledProps","propTypes","Content","Description","Group","Header","Meta","Message","handleDismiss","onDismiss","attached","compact","error","floating","hidden","icon","info","list","negative","positive","size","success","visible","warning","dismissIcon","name","List","Item","Rating","_args","handleIconClick","_ref","index","clearable","disabled","maxRating","onRate","rating","state","newRating","setState","isSelecting","handleIconMouseEnter","_ref2","selectedIndex","handleMouseLeave","_len2","_key2","_this2","_this$props2","_this$state","role","onMouseLeave","tabIndex","i","active","key","onMouseEnter","selected","autoControlledProps","Icon","positionsMapping","placementMapping","ReferenceProxy","refObject","ref","getBoundingClientRect","current","get","width","height","parentNode","undefined","reference","Popup","open","triggerRef","getPortalProps","portalProps","on","hoverable","normalizedOn","closeOnPortalMouseLeave","mouseLeaveDelay","openOnTriggerClick","closeOnTriggerClick","openOnTriggerMouseEnter","closeOnTriggerMouseLeave","mouseEnterDelay","closeOnDocumentClick","openOnTriggerFocus","closeOnTriggerBlur","hideOnScroll","closed","eventStack","unsub","target","timeoutId","setTimeout","handleClose","handleOpen","handlePortalMount","handlePortalUnmount","positionUpdate","renderContent","popperPlacement","placement","popperRef","scheduleUpdate","popperStyle","style","basic","flowing","inverted","wide","contentRestProps","getElementType","styles","left","right","Ref","innerRef","Fragment","PopupHeader","PopupContent","getDerivedStateFromProps","unhandledProps","getUnhandledProps","acc","Portal","portalRestProps","_proto","componentDidUpdate","prevProps","popperDependencies","handleUpdate","componentWillUnmount","clearTimeout","_this$props3","context","eventsEnabled","offset","pinned","popperModifiers","position","positionFixed","trigger","modifiers","arrow","enabled","flip","keepTogether","referenceElement","mergedPortalProps","onClose","onMount","onOpen","onUnmount","Popper","ListHeader","ListDescription","TableCell","collapsing","selectable","singleLine","textAlign","verticalAlign","as","GridColumn","computer","floated","largeScreen","mobile","only","stretched","tablet","widescreen","TableRow","cellAs","cells","cell","getAutoControlledStateValue","propName","includeDefaults","propValue","defaultProp","toUpperCase","slice","initialState","multiple","ModernAutoControlledComponent","_React$Component","_this$constructor","constructor","getAutoControlledStateFromProps","initialAutoControlledState","reduce","newStateFromProps","computedState","Component","Image","avatar","bordered","circular","dimmer","inline","label","rounded","spaced","_partitionHTMLProps","imgTagProps","rootProps","src","ListContent","MenuItem","fitted","TableHeader","fullWidth","node","querySelector","contains","clientX","clientY","clientRects","getClientRects","offsetWidth","offsetHeight","_first2","top","bottom","MessageItem","ListIcon","CardHeader","CardMeta","CardDescription","StepTitle","StepDescription","AccordionPanel","handleTitleOverrides","predefinedProps","titleProps","title","overrideProps","AccordionTitle","iconValue","AccordionContent","ItemHeader","ItemMeta","ItemDescription","ItemExtra","DimmerInner","containerRef","contentRef","componentDidMount","toggleStyles","currentActive","setProperty","removeProperty","page","simple","childrenContent","CardContent","useKeyOnly","useValueAndKey","useKeyOrValueAndKey","useMultipleProp","replace","split","map","join","useTextAlignProp","useVerticalAlignProp","useWidthProp","widthClass","canEqual","valType","handleItemOverrides","itemProps","animated","bulleted","celled","divided","horizontal","items","ordered","relaxed","selection","item","PortalInner","handleRef","c","_this$props$mountNode","mountNode","body","LabelDetail","DropdownText","DropdownSearchInput","handleChange","autoComplete","onChange","DropdownItem","flag","text","iconName","someByType","ariaOptions","flagElement","iconElement","imageElement","labelElement","descriptionElement","textElement","opts","DropdownMenu","direction","scrolling","DropdownHeader","MessageContent","MessageHeader","MessageList","ModalHeader","ModalContent","ModalActions","handleButtonOverrides","buttonProps","actions","action","ModalDimmer","blurring","useRef","bodyClasses","useEffect","ListItem","valueProp","headerElement","HeaderSubheader","HeaderContent","RatingIcon","handleKeyUp","getCode","Enter","Spacebar","preventDefault","handleMouseEnter","onKeyUp","TableBody","TableFooter","StepContent","AccordionAccordion","computeNewIndex","exclusive","activeIndex","handleTitleClick","isIndexActive","getInitialAutoControlledState","panels","panel","onTitleClick","TabPane","loading","calculatedDefaultProps","ItemImage","ItemContent","StatisticValue","StatisticLabel","IconGroup","DimmerDimmable","dimmed","ImageGroup","LabelGroup","tag","FormButton","control","ButtonContent","ButtonGroup","buttons","labeled","primary","secondary","toggle","vertical","widths","button","ButtonOr","FormCheckbox","FormDropdown","DropdownDivider","FormGroup","grouped","unstackable","FormInput","FormRadio","FormSelect","FormTextArea","ModalDescription","ListList","SegmentGroup","piled","stacked","SegmentInline","GridRow","columns","reversed","CardGroup","doubling","itemsPerRow","stackable","itemsJSX","MenuHeader","MenuMenu","TableHeaderCell","sorted","PlaceholderHeader","PlaceholderImage","square","rectangular","PlaceholderLine","PlaceholderParagraph","StepGroup","SidebarPushable","SidebarPusher","ItemGroup","childKey","finalKey","StatisticGroup","toArray","prev","next","childMapping","_getPendingKeys","nextKeysPending","pendingKeys","prevKey","push","nextKey","pendingKey","wrapChild","child","onHide","animation","directional","duration","_options$transitionOn","transitionOnMount","_options$visible","Transition","reactKey","TransitionGroup","handleOnHide","nothing","childProps","prevMapping","nextMapping","hasPrev","hasNext","prevChild","isLeaving","_prevChild$props","cloneElement","useLayoutEffect","CLASS_NAME_DELITIMITER","prevClassNames","Map","handleClassNamesChange","classNameRefs","currentClassNames","classNames","forEach","classNameRef","filter","array","indexOf","computeClassNames","_computeClassNamesDif","computeClassNamesDifference","forAdd","forRemoval","classList","add","remove","set","nodeRegistry","nodes","has","Set","del","delete","emit","callback","useClassNamesOnNode","isMounted","element","Segment","clearing","placeholder","padded","tertiary","Inline","Checkbox","inputRef","labelRef","canToggle","radio","readOnly","checked","computeTabIndex","id","indeterminate","isInputClick","isLabelClick","isRootClick","hasId","isClickFromMouse","stopPropagation","handleMouseDown","_this$state2","defaultPrevented","handleMouseUp","_this$state3","setIndeterminate","slider","_this$state4","unhandled","htmlFor","onMouseDown","onMouseUp","Accordion","styled","Panel","Title","Grid","container","Column","Row","Menu","renderItems","parseInt","borderless","fixed","pagination","pointing","tabular","_TRANSITION_CALLBACK_","_TRANSITION_STYLE_TYP","TRANSITION_CALLBACK_TYPE","TRANSITION_STYLE_TYPE","status","handleStart","nextStatus","durationType","durationValue","updateStatus","prevState","animating","computeClasses","childClasses","DIRECTIONAL_TRANSITIONS","computeStyle","childStyle","animationDuration","mountOnShow","unmountOnHide","INITIAL","ENTERED","ENTERING","EXITED","EXITING","UNMOUNTED","createShorthand","mapValueToProps","Error","valIsString","valIsNumber","valIsFunction","valIsReactElement","valIsPropsObject","valIsPrimitiveValue","_options$defaultProps","usersProps","_options2$overridePro","mergedClassesNames","_options3$autoGenerat","createShorthandFactory","createHTMLDivision","createHTMLIframe","createHTMLImage","createHTMLInput","createHTMLLabel","createHTMLParagraph","Step","computeElementType","completed","Extra","Statistic","Label","Value","_interopRequireDefault","exports","__esModule","ALL_ICONS_IN_ALL_CONTEXTS","COMPONENT_CONTEXT_SPECIFIC_ICONS","ICONS_AND_ALIASES","ICON_ALIASES","ICONS","BRANDS","WRITING","VEHICLES","USERS_PEOPLE","STATUS","SPORTS","SPINNERS","SHAPES","PAYMENTS_SHOPPING","OBJECTS","MEDICAL","MAPS","LOGISTICS","INTERFACES","IMAGES","HEALTH","HANDS_GESTURES","GENDERS","FILES","EDITORS","DESIGN","DATE_TIME","CURRENCY","COMPUTERS","COMMUNICATION","CODE","CHESS","BUSINESS","AUDIO_VIDEO","ARROWS","ACCESSIBILITY","TRANSITIONS","STATIC_TRANSITIONS","WIDTHS","VISIBILITY","VERTICAL_ALIGNMENTS","TEXT_ALIGNMENTS","SIZES","FLOATS","COLORS","_uniq2","_values2","_keys2","_numberToWord","default","Number","Radio","canFit","modalRect","scrollHeight","contextHeight","innerHeight","getLegacyStyles","isFitted","marginTop","marginLeft","isLegacy","ActiveXObject","Modal","legacy","dimmerRef","latestDocumentMouseDownEvent","getMountNode","handleActionsOverrides","onActionClick","actionProps","handleDocumentMouseDown","handleDocumentClick","closeOnDimmerClick","currentDocumentMouseDownEvent","doesNodeContainClick","handleIconOverrides","eventPool","setPositionAndClassNames","sub","pool","cancelAnimationFrame","animationRequestId","newState","rect","legacyStyles","requestAnimationFrame","closeIcon","closeIconName","closeIconJSX","portalPropNames","Actions","Dimmer","MountNode","PaginationItem","handleKeyDown","handleOverrides","onKeyDown","Pagination","handleItemClick","nextActivePage","activePage","ariaLabel","boundaryRange","ellipsisItem","siblingRange","totalPages","createPaginationItems","hideEllipsis","firstItem","lastItem","nextItem","pageItem","prevItem","TransitionablePortal","handlePortalClose","portalOpen","handlePortalOpen","handleTransitionHide","data","transitionVisible","handleTransitionStart","transition","onStart","Visibility","calculations","bottomPassed","bottomVisible","fits","passing","offScreen","onScreen","topPassed","topVisible","firedCallbacks","fire","reverse","continuous","once","matchesDirection","executionPossible","oldCalculations","execute","ticking","frameId","update","mounted","computeCalculations","pageYOffset","getPageYOffset","onBottomPassed","onBottomPassedReverse","onBottomVisible","onBottomVisibleReverse","onPassing","onPassingReverse","onTopPassed","onTopPassedReverse","onTopVisible","onTopVisibleReverse","onOffScreen","onOnScreen","updateOn","forward","fireOnPassed","fireOnMount","attachHandlers","unattachHandlers","_this$calculations","percentagePassed","pixelsPassed","onPassed","passed","pixelsValue","matchPercentage","match","percentageValue","_this$ref$current$get","_normalizeOffset","normalizeOffset","topOffset","bottomOffset","Math","max","scrollTop","BreadcrumbDivider","BreadcrumbSection","Breadcrumb","divider","sections","childElements","section","breadcrumbElement","Divider","Section","Rail","close","dividing","internal","RevealContent","Reveal","instant","Embed","getSrc","_this$props$autoplay","autoplay","_this$props$brandedUI","brandedUI","_this$props$color","_this$props$hd","hd","source","url","encodeURIComponent","aspectRatio","iconShorthand","renderEmbed","iframe","allowFullScreen","frameBorder","SearchCategoryLayout","categoryContent","resultsContent","SearchCategory","layoutRenderer","renderer","price","SearchResult","SearchResults","input","Search","handleResultSelect","result","handleSelectionChange","getSelectedResult","closeOnEscape","Escape","moveSelectionOnKeyDown","ArrowDown","moveSelectionBy","ArrowUp","selectItemOnEnter","setValue","isMouseDown","handleDocumentMouseUp","handleInputClick","nativeEvent","stopImmediatePropagation","tryOpen","handleItemMouseDown","handleFocus","focus","handleBlur","handleSearchChange","minCharacters","newQuery","getFlattenedResults","category","results","memo","categoryData","selectFirstResult","lastIndex","nextIndex","scrollSelectedItemIntoView","menu","isOutOfUpperView","offsetTop","isOutOfLowerView","clientHeight","currentValue","renderSearchInput","Input","renderNoResults","noResultsDescription","noResultsMessage","renderResult","_array","resultRenderer","offsetIndex","renderResults","renderCategories","_this$props4","categoryLayoutRenderer","categoryRenderer","categories","count","_ref3","categoryProps","renderFn","renderMenuContent","_this$props5","showNoResults","renderResultsMenu","resultsClasses","menuContent","prevValue","shouldComponentUpdate","nextProps","nextState","searchClasses","_this$props6","aligned","onBlur","onFocus","Category","Result","Results","Advertisement","unit","CommentAction","CommentActions","CommentAuthor","CommentAvatar","imageProps","CommentContent","CommentGroup","collapsed","minimal","threaded","CommentMetadata","CommentText","Comment","Author","Action","Avatar","Metadata","Text","FeedDate","FeedExtra","images","imageElements","FeedLike","FeedMeta","like","FeedUser","FeedSummary","date","user","FeedContent","extraImages","extraText","summary","FeedLabel","FeedEvent","hasContentProp","contentProps","Feed","events","eventElements","eventProps","eventData","Date","Event","Like","Summary","User","Button","hasIconClass","labelPosition","computeButtonAriaRole","baseClasses","labeledClasses","wrapperClasses","buttonClasses","containerClasses","hasChildren","Or","isArray","Dimmable","Inner","createRef","currentMouseDownEvent","handleEscape","handlePortalMouseLeave","mouseLeaveTimer","closeWithTimeout","handlePortalMouseEnter","handleTriggerBlur","relatedTarget","activeElement","didFocusPortal","handleTriggerClick","_len3","_key3","handleTriggerFocus","_len4","_key4","handleTriggerMouseLeave","mouseEnterTimer","_len5","_key5","handleTriggerMouseEnter","_len6","_key6","openWithTimeout","delay","eventClone","handleMount","handleUnmount","handleTriggerRef","_this$props7","Flag","_PureComponent","computeIcon","select","handleChildOverrides","partitionProps","actionPosition","iconPosition","transparent","_this$partitionProps","actionElement","Select","TextArea","handleInput","rows","onInput","Sticky","sticky","stickyRef","addListeners","scrollContext","scrollContextNode","removeListeners","pushing","assignRects","didReachStartingPoint","stickToContextTop","didTouchScreenBottom","stickToScreenBottom","stickToContextBottom","isOversized","contextRect","didTouchScreenTop","didReachContextBottom","stickToScreenTop","contextNode","triggerRect","stickyRect","stick","bound","unstick","styleElement","elementClasses","triggerStyles","Loader","Progress","calculatePercent","percent","total","computeValueText","progress","getPercent","precision","isAutoSuccess","autoSuccess","renderLabel","renderProgress","indicating","floor","block","subheader","subheaderElement","Subheader","Confirm","handleCancel","handleCancelOverrides","handleConfirmOverrides","cancelButton","confirmButton","openProp","Table","definition","footerRow","headerRow","headerRows","renderBodyRow","sortable","striped","structured","tableData","headerShorthandOptions","Body","Cell","Footer","HeaderCell","Container","Placeholder","Line","Paragraph","Sidebar","handleAnimationStart","animationTimer","handleAnimationEnd","skipNextCallback","animationTick","tickIncrement","targetProp","targetRef","listener","Pushable","Pusher","Tab","panes","renderActiveOnly","pane","renderMenu","menuPosition","onItemClick","renderVertical","grid","paneWidth","tabWidth","gridProps","Pane","createEllipsisItem","pageNumber","createPrevItem","createNextItem","min","createLastItem","firstGroupEnd","innerGroupStart","pageFactory","prefixPage","innerGroupEnd","lastGroupStart","suffixPage","start","end","rawOptions","createPageFactory","innerRange","ellipsisSize","firstGroup","lastGroup","innerGroup","Boolean","maxWidth","minWidth","Responsive","handleResize","nextVisible","getWidth","innerWidth","onlyMobile","onlyTablet","onlyComputer","onlyLargeScreen","onlyWidescreen","getMenuOptions","config","additionLabel","additionPosition","allowAdditions","deburr","search","searchQuery","filteredOptions","opt","strippedQuery","re","RegExp","addItem","isValidElement","unshift","getSelectedIndex","newSelectedIndex","menuOptions","enabledIndexes","firstIndex","option","renderItemContent","Dropdown","searchRef","sizerRef","closeOnChange","_moves","selectOnNavigation","move","getSelectedIndexAfterMove","makeSelectedItemActive","openOnSpace","_e$target","_e$target2","_e$target3","shouldHandleEvent","shouldPreventDefault","tagName","isContentEditable","openOnArrow","code","getSelectedItem","selectedValue","newValue","optionSize","nextValue","clearSearchQuery","removeItemOnBackspace","Backspace","closeOnBlur","addEventListener","removeEventListener","_this$state5","hasValue","clearValue","isAdditionItem","currentTarget","selectOnBlur","getItemByValue","getDropdownAriaOptions","handleLabelClick","labelProps","selectedLabel","handleLabelRemove","startIndex","wrapSelection","computeSearchInputTabIndex","_this$props8","computeSearchInputWidth","display","textContent","searchWidth","ceil","_this$props9","handleSearchInputOverrides","setOpenDirection","dropdownRect","menuHeight","spaceAtTheBottom","documentElement","spaceAtTheTop","upward","triggerSetState","_this$props10","hasSearchFocus","blur","hasDropdownFocus","hasFocus","renderText","selectedItem","_this$props11","_this$state6","_text","_this$props12","searchInput","renderSearchSizer","_this$props13","renderLabels","_this$props14","_this$state7","selectedItems","onRemove","renderOptions","_this$props15","lazyLoad","_this$state8","isActive","optValue","pointerEvents","_this$props16","getDropdownMenuAriaOptions","menuChild","derivedState","__options","__value","_this$props17","openOnFocus","openable","_this$props18","_this$props19","_this$state9","SearchInput","corner","detail","empty","prompt","removeIcon","ribbon","pointingClass","removeIconShorthand","Detail","_Component$handledPro","Object","keys","TRANSITION_STATUS_INITIAL","TRANSITION_STATUS_ENTERED","TRANSITION_STATUS_ENTERING","TRANSITION_STATUS_EXITED","TRANSITION_STATUS_EXITING","TRANSITION_STATUS_UNMOUNTED","computeStatuses","getDefault","_Component$defaultPro","computedDefault","FormField","required","errorPointing","errorLabel","errorLabelBefore","errorLabelAfter","ariaAttrs","controlProps","getIconAriaOptions","ariaHidden","flipped","rotated","Form","handleSubmit","reply","onSubmit","Field"],"mappings":"qFAAA,8IAEWA,EAAiB,CAC5B,WAAY,eAAgB,iBAC5B,SAAU,iBAAkB,eAAgB,cAAe,YAAa,UAAW,WAAY,OAAQ,KAAM,YAAa,OAAQ,OAAQ,MAAO,YAAa,MAAO,YAAa,WAAY,OAAQ,UAAW,cAAe,WAAY,WAAY,OAAQ,QAAS,OAAQ,SAStQC,EAAiB,GAAGC,OAAOF,EART,CAE7B,YAAa,aAAc,UAC3B,UAAW,SACX,WAAY,UACZ,UAAW,gBAAiB,SAAU,YAAa,cAAe,aAAc,cAAe,aAAc,cAAe,SAAU,cAAe,eAAgB,eAAgB,cAAe,aAAc,cAAe,YACjO,WACA,gBAAiB,aAAc,cAAe,iBAEnCG,EAAiB,CAAC,MAAO,SAAU,MAAO,SAAU,SAUpDC,EAAqB,SAA4BC,EAAOC,QACjD,IAAZA,IACFA,EAAU,IAGZ,IAAIC,EAAWD,EACXE,EAAqBD,EAASE,UAC9BA,OAAmC,IAAvBD,EAAgCP,EAAiBO,EAC7DE,EAAuBH,EAASI,YAChCA,OAAuC,IAAzBD,GAAyCA,EACvDE,EAAa,GACbC,EAAO,GAQX,OANA,IAASR,GAAO,SAAUS,EAAKC,GAC7B,IAAIC,EAAeL,IAAgB,YAAYM,KAAKF,IAAkB,SAATA,IAChD,IAAUN,EAAWM,IAASC,EAAeJ,EAAaC,GAChEE,GAAQD,KAGV,CAACF,EAAYC,K,kCC3CtB,oEAAO,IAAIK,EAAkB,CAC3BC,EAAG,MACHC,EAAG,MACHC,EAAG,QACHC,EAAG,OACHC,EAAG,OACHC,EAAG,MACHC,EAAG,QACHC,EAAG,QACHC,EAAG,OACHC,GAAI,MACJC,GAAI,SACJC,GAAI,SACJC,GAAI,WACJC,GAAI,WACJC,GAAI,UACJC,GAAI,WAUC,SAASC,EAAaC,GAC3B,IAAIC,SAAcD,EAElB,MAAa,WAATC,GAA8B,WAATA,EAChBnB,EAAgBkB,IAAUA,EAG5B,K,kCCjCT,sBACIE,EAAkC,iBAAbC,UAAsC,OAAbA,SAC9CC,EAA8B,iBAAXC,QAAkC,OAAXA,QAAmBA,OAAOC,OAASD,OAMlE,IAJC,SAASE,IACvB,OAAQ,IAAOA,EAAUC,UAAiCN,GAAeE,EAApCG,EAAUC,W,kCCLjD,gLAgBIC,EAAoB,SAAUC,GAGhC,SAASD,IAGP,IAFA,IAAIE,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAUzB,OAPAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GAC5B,IAAIC,EAAUZ,EAAM1C,MAAMsD,QACtBA,GAASA,EAAQD,EAAGX,EAAM1C,QAGzB0C,EA+DT,OA/EA,YAAeF,EAAMC,GAmBRD,EAAKe,UAEXC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnB0D,EAAWD,EAAYC,SACvBC,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBC,EAAQJ,EAAYI,MACpBC,EAAUL,EAAYK,QACtBC,EAAcN,EAAYM,YAC1BC,EAAQP,EAAYO,MACpBC,EAAQR,EAAYQ,MACpBC,EAAST,EAAYS,OACrBC,EAAOV,EAAYU,KACnBC,EAAQX,EAAYW,MACpBC,EAAOZ,EAAYY,KACnBC,EAAOb,EAAYa,KACnBhB,EAAUG,EAAYH,QACtBiB,EAASd,EAAYc,OACrBC,EAAU,YAAG,KAAMX,EAAO,YAAWH,EAAU,YAAa,YAAWO,EAAO,SAAU,YAAWI,EAAM,QAAS,YAAWE,EAAQ,UAAW,OAAQX,GACxJpD,EAAO,YAAkBgC,EAAMW,KAAKnD,OACpCyE,EAAc,YAAejC,EAAMW,KAAKnD,OAAO,WACjD,GAAIsD,EAAS,MAAO,OAGtB,OAAK,IAAcoB,MAAMf,GAQpB,IAAce,MAAMZ,GAQL,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXL,KAAMA,EACNb,QAASH,KAAKC,cACZ,IAAMwB,OAAOR,EAAO,CACtBS,iBAAiB,EACjBC,aAAc,CACZC,IAAI,EACJC,SAAS,MAERjB,GAAeG,GAAUI,IAAsB,IAAMK,cAAc,IAAa,CACnFZ,YAAaA,EACbG,OAAQA,EACRI,KAAMA,IACJN,GAAsB,IAAMW,cAAc,IAAa,CACzDX,OAAO,GACNA,IAvBmB,IAAMW,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXL,KAAMA,EACNb,QAASH,KAAKC,cACZU,GAZgB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXL,KAAMA,EACNb,QAASH,KAAKC,cACZO,IA8BDnB,EAhFe,CAiFtB,aAEFA,EAAKyC,aAAe,CAAC,KAAM,WAAY,WAAY,YAAa,QAAS,UAAW,cAAe,QAAS,QAAS,SAAU,OAAQ,QAAS,OAAQ,OAAQ,UAAW,UAE3KzC,EAAK0C,UAsDD,GACJ1C,EAAK2C,QAAU,IACf3C,EAAK4C,YAAc,IACnB5C,EAAK6C,MAAQ,IACb7C,EAAK8C,OAAS,IACd9C,EAAK+C,KAAO,K,kCChKZ,uMAkBIC,EAAuB,SAAU/C,GAGnC,SAAS+C,IAGP,IAFA,IAAI9C,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAUzB,OAPAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DsC,cAAgB,SAAUpC,GAC9B,IAAIqC,EAAYhD,EAAM1C,MAAM0F,UACxBA,GAAWA,EAAUrC,EAAGX,EAAM1C,QAG7B0C,EAsDT,OAtEA,YAAe8C,EAAS/C,GAmBX+C,EAAQjC,UAEdC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnB2F,EAAWlC,EAAYkC,SACvBhC,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBC,EAAQJ,EAAYI,MACpB+B,EAAUnC,EAAYmC,QACtB9B,EAAUL,EAAYK,QACtB+B,EAAQpC,EAAYoC,MACpBC,EAAWrC,EAAYqC,SACvB5B,EAAST,EAAYS,OACrB6B,EAAStC,EAAYsC,OACrBC,EAAOvC,EAAYuC,KACnBC,EAAOxC,EAAYwC,KACnBC,EAAOzC,EAAYyC,KACnBC,EAAW1C,EAAY0C,SACvBT,EAAYjC,EAAYiC,UACxBU,EAAW3C,EAAY2C,SACvBC,EAAO5C,EAAY4C,KACnBC,EAAU7C,EAAY6C,QACtBC,EAAU9C,EAAY8C,QACtBC,EAAU/C,EAAY+C,QACtBhC,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAWT,EAAS,WAAY,YAAWC,EAAO,SAAU,YAAWC,EAAU,YAAa,YAAWC,EAAQ,UAAW,YAAWC,EAAM,QAAS,YAAWC,EAAM,QAAS,YAAWE,EAAU,YAAa,YAAWC,EAAU,YAAa,YAAWE,EAAS,WAAY,YAAWC,EAAS,WAAY,YAAWC,EAAS,WAAY,YAAoBb,EAAU,YAAa,UAAW/B,GAC1a6C,EAAcf,GAA0B,IAAMf,cAAc,IAAM,CACpE+B,KAAM,QACNpD,QAASH,KAAKsC,gBAEZjF,EAAO,YAAkBgF,EAASrC,KAAKnD,OACvCyE,EAAc,YAAee,EAASrC,KAAKnD,OAE/C,OAAK,IAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTiC,EAAa,IAAK7B,OAAOoB,EAAM,CACjCnB,iBAAiB,MACb,IAAOX,KAAY,IAAOJ,KAAa,IAAOoC,KAAuB,IAAMvB,cAAc,IAAgB,KAAM,IAAcC,OAAOV,EAAQ,CAChJW,iBAAiB,IACf,IAAYD,OAAOsB,EAAM,CAC3BrB,iBAAiB,IACf,YAAoBf,EAAS,CAC/Be,iBAAiB,MAdG,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTiC,EAAa9C,IAgBd6B,EAvEkB,CAwEzB,aAEFA,EAAQP,aAAe,CAAC,KAAM,WAAY,WAAY,YAAa,QAAS,UAAW,UAAW,QAAS,WAAY,SAAU,SAAU,OAAQ,OAAQ,OAAQ,WAAY,YAAa,WAAY,OAAQ,UAAW,UAAW,WAEtOO,EAAQN,UAqEJ,GACJM,EAAQL,QAAU,IAClBK,EAAQF,OAAS,IACjBE,EAAQmB,KAAO,IACfnB,EAAQoB,KAAO,K,kCCvKf,2KAcIC,EAAsB,SAAUpE,GAGlC,SAASoE,IAGP,IAFA,IAAInE,EAEKC,EAAOC,UAAUC,OAAQiE,EAAQ,IAAI/D,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAChF8D,EAAM9D,GAAQJ,UAAUI,GA6D1B,OA1DAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiH,KAAW3D,MAE7D4D,gBAAkB,SAAU1D,EAAG2D,GACnC,IAAIC,EAAQD,EAAKC,MACbxD,EAAcf,EAAM1C,MACpBkH,EAAYzD,EAAYyD,UACxBC,EAAW1D,EAAY0D,SACvBC,EAAY3D,EAAY2D,UACxBC,EAAS5D,EAAY4D,OACrBC,EAAS5E,EAAM6E,MAAMD,OACzB,IAAIH,EAAJ,CAIA,IAAIK,EAAYP,EAAQ,EAEN,SAAdC,GAAsC,IAAdE,EAC1BI,IAAcF,GACS,IAAdJ,GAAsBM,IAAcF,IAC7CE,EAAY,GAId9E,EAAM+E,SAAS,CACbH,OAAQE,EACRE,aAAa,IAGXL,GAAQA,EAAOhE,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC9CsH,OAAQE,OAIZ9E,EAAMiF,qBAAuB,SAAUtE,EAAGuE,GACxC,IAAIX,EAAQW,EAAMX,MACdvE,EAAM1C,MAAMmH,UAEhBzE,EAAM+E,SAAS,CACbI,cAAeZ,EACfS,aAAa,KAIjBhF,EAAMoF,iBAAmB,WACvB,IAAK,IAAIC,EAAQnF,UAAUC,OAAQC,EAAO,IAAIC,MAAMgF,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFlF,EAAKkF,GAASpF,UAAUoF,GAG1B,IAAQ9E,WAAM,EAAQ,CAACR,EAAM1C,MAAO,gBAAgBH,OAAOiD,IAEvDJ,EAAM1C,MAAMmH,UAEhBzE,EAAM+E,SAAS,CACbI,eAAgB,EAChBH,aAAa,KAIVhF,EA0CT,OA7GA,YAAemE,EAAQpE,GAsEVoE,EAAOtD,UAEbC,OAAS,WACd,IAAIyE,EAAS9E,KAET+E,EAAe/E,KAAKnD,MACpB4D,EAAYsE,EAAatE,UACzBuD,EAAWe,EAAaf,SACxBnB,EAAOkC,EAAalC,KACpBoB,EAAYc,EAAad,UACzBf,EAAO6B,EAAa7B,KACpB8B,EAAchF,KAAKoE,MACnBD,EAASa,EAAYb,OACrBO,EAAgBM,EAAYN,cAC5BH,EAAcS,EAAYT,YAC1BlD,EAAU,YAAG,KAAMwB,EAAMK,EAAM,YAAWc,EAAU,YAAa,YAAWO,IAAgBP,GAAYU,GAAiB,EAAG,YAAa,SAAUjE,GACnJpD,EAAO,YAAkBqG,EAAQ1D,KAAKnD,OACtCyE,EAAc,YAAeoC,EAAQ1D,KAAKnD,OAC9C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACX4D,KAAM,aACNC,aAAclF,KAAK2E,iBACnBQ,SAAUnB,EAAW,GAAK,IACxB,IAAOC,GAAW,SAAUmB,GAC9B,OAAoB,IAAM5D,cAAc,IAAY,CAClD2D,SAAUnB,GAAY,EAAI,EAC1BqB,OAAQlB,GAAUiB,EAAI,EACtB,eAAgBjB,IAAWiB,EAAI,EAC/B,gBAAiBA,EAAI,EACrB,eAAgBnB,EAChBH,MAAOsB,EACPE,IAAKF,EACLjF,QAAS2E,EAAOlB,gBAChB2B,aAAcT,EAAON,qBACrBgB,SAAUd,GAAiBU,GAAKb,SAK/Bb,EA9GiB,CA+GxB,KAEFA,EAAO5B,aAAe,CAAC,KAAM,YAAa,YAAa,gBAAiB,WAAY,OAAQ,YAAa,SAAU,SAAU,QAE7H4B,EAAO3B,UAuCH,GACJ2B,EAAO+B,oBAAsB,CAAC,UAC9B/B,EAAO/B,aAAe,CACpBoC,UAAW,OACXE,UAAW,GAEbP,EAAOgC,KAAO,K,+XC5KHC,EAAmB,CAC5B,aAAc,MACd,WAAY,YACZ,YAAa,UACb,gBAAiB,SACjB,cAAe,eACf,eAAgB,aAChB,eAAgB,QAChB,cAAe,QAGNC,G,MADY,GAAMD,GACC,IAAQA,I,mCCRlC,EAA8B,WAChC,SAASE,EAAeC,GACtB9F,KAAK+F,IAAMD,EA0Bb,OAvBaD,EAAezF,UAErB4F,sBAAwB,WAC7B,OAAO,IAAQhG,KAAK+F,IAAIE,QAAS,0BAA4B,IAG/D,YAAaJ,EAAgB,CAAC,CAC5BP,IAAK,cACLY,IAAK,WACH,OAAOlG,KAAKgG,wBAAwBG,QAErC,CACDb,IAAK,eACLY,IAAK,WACH,OAAOlG,KAAKgG,wBAAwBI,SAErC,CACDd,IAAK,aACLY,IAAK,WACH,OAAOlG,KAAK+F,IAAIE,QAAUjG,KAAK+F,IAAIE,QAAQI,gBAAaC,MAIrDT,EA5ByB,GA6CnB,EANY,KAAS,SAAUU,GAC5C,OAAO,IAAI,EAAe,YAAYA,GAAaA,EAAY,CAC7DN,QAASM,O,oBCnBT,EAAqB,SAAUjH,GAGjC,SAASkH,IAGP,IAFA,IAAIjH,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GA2HzB,OAxHAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DoE,MAAQ,GACd7E,EAAMkH,MAAO,EACblH,EAAMmH,WAA0B,sBAEhCnH,EAAMoH,eAAiB,WACrB,IAAIC,EAAc,GACdtG,EAAcf,EAAM1C,MACpBgK,EAAKvG,EAAYuG,GACjBC,EAAYxG,EAAYwG,UACxBC,EAAe,IAASF,GAAMA,EAAK,CAACA,GA4BxC,OA1BIC,IACFF,EAAYI,yBAA0B,EACtCJ,EAAYK,gBAAkB,KAG5B,IAAUF,EAAc,WAC1BH,EAAYM,oBAAqB,EACjCN,EAAYO,qBAAsB,EAClCP,EAAYQ,yBAA0B,EACtCR,EAAYS,0BAA2B,EAEvCT,EAAYK,gBAAkB,GAC9BL,EAAYU,gBAAkB,IAG5B,IAAUP,EAAc,WAC1BH,EAAYM,oBAAqB,EACjCN,EAAYO,qBAAsB,EAClCP,EAAYW,sBAAuB,GAGjC,IAAUR,EAAc,WAC1BH,EAAYY,oBAAqB,EACjCZ,EAAYa,oBAAqB,GAG5Bb,GAGTrH,EAAMmI,aAAe,SAAUxH,GAC7BX,EAAM+E,SAAS,CACbqD,QAAQ,IAGVC,EAAA,EAAWC,MAAM,SAAUtI,EAAMmI,aAAc,CAC7CI,OAAQ7I,SAEVM,EAAMwI,UAAYC,YAAW,WAC3BzI,EAAM+E,SAAS,CACbqD,QAAQ,MAET,IAEHpI,EAAM0I,YAAY/H,IAGpBX,EAAM0I,YAAc,SAAU/H,GAC5B,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG3C0C,EAAM2I,WAAa,SAAUhI,GAC3B,IAAQX,EAAM1C,MAAO,SAAUqD,EAAGX,EAAM1C,QAG1C0C,EAAM4I,kBAAoB,SAAUjI,GAClC,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG3C0C,EAAM6I,oBAAsB,SAAUlI,GACpCX,EAAM8I,eAAiB,KAEvB,IAAQ9I,EAAM1C,MAAO,YAAaqD,EAAGX,EAAM1C,QAG7C0C,EAAM+I,cAAgB,SAAUzE,GAC9B,IAAI0E,EAAkB1E,EAAK2E,UACvBC,EAAY5E,EAAKkC,IACjB2C,EAAiB7E,EAAK6E,eACtBC,EAAc9E,EAAK+E,MACnB7D,EAAexF,EAAM1C,MACrBgM,EAAQ9D,EAAa8D,MACrBrI,EAAWuE,EAAavE,SACxBC,EAAYsE,EAAatE,UACzBE,EAAUoE,EAAapE,QACvB+G,EAAe3C,EAAa2C,aAC5BoB,EAAU/D,EAAa+D,QACvB/H,EAASgE,EAAahE,OACtBgI,EAAWhE,EAAagE,SACxB7F,EAAO6B,EAAa7B,KACpB0F,EAAQ7D,EAAa6D,MACrBI,EAAOjE,EAAaiE,KACpBC,EAAmB1J,EAAM6E,MAAM6E,iBACnC1J,EAAM8I,eAAiBK,EACvB,IAAIrH,EAAU,YAAG,KAAMuE,EAAiB2C,GAAkBrF,EAAM,YAAoB8F,EAAM,QAAS,YAAWH,EAAO,SAAU,YAAWC,EAAS,WAAY,YAAWC,EAAU,YAAa,2BAA4BtI,GACzNa,EAAc,OAAA4H,EAAA,GAAe1C,EAAOjH,EAAM1C,OAE1CsM,EAAS,YAAS,CAEpBC,KAAM,OACNC,MAAO,QACNV,EAAaC,GAEhB,OAAoB,IAAMpH,cAAc8H,EAAA,EAAK,CAC3CC,SAAUd,GACI,IAAMjH,cAAcF,EAAa,YAAS,GAAI2H,EAAkB,CAC9ExI,UAAWY,EACXuH,MAAOO,IACL,IAAc5H,MAAMf,GAAyB,IAAMgB,cAAc,IAAMgI,SAAU,KAAMC,EAAA,EAAYhI,OAAOV,EAAQ,CACpHW,iBAAiB,IACfgI,EAAA,EAAajI,OAAOd,EAAS,CAC/Be,iBAAiB,KACblB,EAAUkH,GAA6B,IAAMlG,cAAc,IAAY,CAC3EqF,GAAItH,EAAMmI,aACVnE,KAAM,SACNuE,OAAQ,cAILvI,EAjIT,YAAeiH,EAAOlH,GAoItBkH,EAAMmD,yBAA2B,SAAkC9M,EAAOuH,GACxE,GAAIA,EAAMuD,QAAUvD,EAAMJ,SAAU,MAAO,GAC3C,IAAI4F,EAAiB,OAAAC,EAAA,GAAkBrD,EAAO3J,GAS9C,MAAO,CACLoM,iBARqB,IAAQW,GAAgB,SAAUE,EAAKxM,EAAKgI,GAEjE,OADK,IAAUyE,EAAA,EAAOjI,aAAcwD,KAAMwE,EAAIxE,GAAOhI,GAC9CwM,IACN,IAMDE,gBAJoB,IAAMJ,EAAgBG,EAAA,EAAOjI,gBAQrD,IAAImI,EAASzD,EAAMpG,UA0EnB,OAxEA6J,EAAOC,mBAAqB,SAA4BC,GACtC,IAAanK,KAAKnD,MAAMuN,mBAAoBD,EAAUC,qBAGpEpK,KAAKqK,gBAITJ,EAAOK,qBAAuB,WAC5BC,aAAavK,KAAK+H,YAGpBkC,EAAOI,aAAe,WAChBrK,KAAKqI,gBAAgBrI,KAAKqI,kBAGhC4B,EAAO5J,OAAS,WACd,IAAImK,EAAexK,KAAKnD,MACpB4N,EAAUD,EAAaC,QACvBzG,EAAWwG,EAAaxG,SACxB0G,EAAgBF,EAAaE,cAC7BC,EAASH,EAAaG,OACtBC,EAASJ,EAAaI,OACtBC,EAAkBL,EAAaK,gBAC/BC,EAAWN,EAAaM,SACxBC,EAAgBP,EAAaO,cAC7BC,EAAUR,EAAaQ,QACvBhG,EAAchF,KAAKoE,MACnBuD,EAAS3C,EAAY2C,OACrBqC,EAAkBhF,EAAYgF,gBAElC,GAAIrC,GAAU3D,EACZ,OAAOgH,EAGT,IAAIC,EAAY,IAAO,CACrBC,MAAO,CACLC,SAAS,GAEXC,KAAM,CACJD,SAAUP,GAIZS,aAAc,CACZF,UAAWR,GAEbA,OAAQ,CACNA,OAAQA,IAETE,GAECS,EAAmB,EAAqB,IAAOb,GAAWzK,KAAK0G,WAAa+D,GAE5Ec,EAAoB,YAAS,GAAIvL,KAAK2G,iBAAkBqD,GAE5D,OAAoB,IAAMxI,cAAcuI,EAAA,EAAQ,YAAS,GAAIwB,EAAmB,CAC9EC,QAASxL,KAAKiI,YACdwD,QAASzL,KAAKmI,kBACduD,OAAQ1L,KAAKkI,WACbyD,UAAW3L,KAAKoI,oBAChB4C,QAASA,EACTtE,WAAY1G,KAAK0G,aACF,IAAMlF,cAAcoK,EAAA,EAAQ,CAC3ClB,cAAeA,EACfO,UAAWA,EACXzC,UAAW7C,EAAiBmF,GAC5BC,cAAeA,EACfO,iBAAkBA,GACjBtL,KAAKsI,iBAGH9B,EAhOgB,CAiOvB,aAEF,EAAM1E,aAAe,CAAC,KAAM,QAAS,WAAY,YAAa,UAAW,UAAW,WAAY,gBAAiB,UAAW,SAAU,eAAgB,YAAa,WAAY,SAAU,KAAM,UAAW,UAAW,SAAU,YAAa,SAAU,qBAAsB,kBAAmB,WAAY,gBAAiB,OAAQ,QAAS,UAAW,QAExV,EAAMC,UAkHF,GACJ,EAAMJ,aAAe,CACnBqC,UAAU,EACV0G,eAAe,EACfC,OAAQ,EACR9D,GAAI,CAAC,QAAS,SACd+D,QAAQ,EACRE,SAAU,YAEZ,EAAM9I,QAAU0H,EAAA,EAChB,EAAMvH,OAASsH,EAAA,G,kCC5Xf,2EASA,SAASoC,EAAWhP,GAClB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkBwO,EAAYhP,GACrCyE,EAAc,YAAeuK,EAAYhP,GAC7C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDqL,EAAW/J,aAAe,CAAC,KAAM,WAAY,YAAa,WAC1D+J,EAAW9J,UAYP,GACJ8J,EAAWpK,OAAS,YAAuBoK,GAAY,SAAUlL,GAC/D,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,2EASA,SAASmL,EAAgBjP,GACvB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAGZ,EAAW,eACxBpD,EAAO,YAAkByO,EAAiBjP,GAC1CyE,EAAc,YAAewK,EAAiBjP,GAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDsL,EAAgBhK,aAAe,CAAC,KAAM,WAAY,YAAa,WAC/DgK,EAAgB/J,UAYZ,GACJ+J,EAAgBrK,OAAS,YAAuBqK,GAAiB,SAAUnL,GACzE,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,mGAWA,SAASoL,EAAUlP,GACjB,IAAIwI,EAASxI,EAAMwI,OACf7E,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBuL,EAAanP,EAAMmP,WACnBrL,EAAU9D,EAAM8D,QAChBqD,EAAWnH,EAAMmH,SACjBtB,EAAQ7F,EAAM6F,MACdG,EAAOhG,EAAMgG,KACbG,EAAWnG,EAAMmG,SACjBC,EAAWpG,EAAMoG,SACjBgJ,EAAapP,EAAMoP,WACnBC,EAAarP,EAAMqP,WACnBC,EAAYtP,EAAMsP,UAClBC,EAAgBvP,EAAMuP,cACtB/I,EAAUxG,EAAMwG,QAChB8C,EAAQtJ,EAAMsJ,MACd9E,EAAU,YAAG,YAAWgE,EAAQ,UAAW,YAAW2G,EAAY,cAAe,YAAWhI,EAAU,YAAa,YAAWtB,EAAO,SAAU,YAAWM,EAAU,YAAa,YAAWC,EAAU,YAAa,YAAWgJ,EAAY,cAAe,YAAWC,EAAY,eAAgB,YAAW7I,EAAS,WAAY,YAAiB8I,GAAY,YAAqBC,GAAgB,YAAajG,EAAO,QAAS1F,GAC/ZpD,EAAO,YAAkB0O,EAAWlP,GACpCyE,EAAc,YAAeyK,EAAWlP,GAE5C,OAAK,IAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAKI,OAAOoB,GAAOlC,GAPD,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAQRuL,EAAUjK,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,aAAc,UAAW,WAAY,QAAS,OAAQ,WAAY,WAAY,aAAc,aAAc,YAAa,gBAAiB,UAAW,SACtNiK,EAAUpK,aAAe,CACvB0K,GAAI,MAENN,EAAUhK,UAmDN,GACJgK,EAAUtK,OAAS,YAAuBsK,GAAW,SAAUpL,GAC7D,MAAO,CACLA,QAASA,MAGE,O,kCCxGf,2EASA,SAAS2L,EAAWzP,GAClB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClB8L,EAAW1P,EAAM0P,SACjB7L,EAAQ7D,EAAM6D,MACd8L,EAAU3P,EAAM2P,QAChBC,EAAc5P,EAAM4P,YACpBC,EAAS7P,EAAM6P,OACfC,EAAO9P,EAAM8P,KACbC,EAAY/P,EAAM+P,UAClBC,EAAShQ,EAAMgQ,OACfV,EAAYtP,EAAMsP,UAClBC,EAAgBvP,EAAMuP,cACtBU,EAAajQ,EAAMiQ,WACnB3G,EAAQtJ,EAAMsJ,MACd9E,EAAU,YAAGX,EAAO,YAAWkM,EAAW,aAAc,YAAgBD,EAAM,QAAS,YAAiBR,GAAY,YAAeK,EAAS,WAAY,YAAqBJ,GAAgB,YAAaG,EAAU,iBAAkB,YAAaE,EAAa,qBAAsB,YAAaC,EAAQ,eAAgB,YAAaG,EAAQ,eAAgB,YAAaC,EAAY,mBAAoB,YAAa3G,EAAO,QAAS,SAAU1F,GACpbpD,EAAO,YAAkBiP,EAAYzP,GACrCyE,EAAc,YAAegL,EAAYzP,GAC7C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGN8L,EAAWxK,aAAe,CAAC,KAAM,WAAY,YAAa,QAAS,WAAY,UAAW,cAAe,SAAU,OAAQ,YAAa,SAAU,YAAa,gBAAiB,aAAc,SAC9LwK,EAAWvK,UA6CP,GACJuK,EAAW7K,OAAS,YAAuB6K,GAAY,SAAU9L,GAC/D,MAAO,CACLA,SAAUA,MAGC,O,kCCpFf,uHAYA,SAASuM,EAASlQ,GAChB,IAAIwI,EAASxI,EAAMwI,OACf2H,EAASnQ,EAAMmQ,OACfC,EAAQpQ,EAAMoQ,MACdzM,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBuD,EAAWnH,EAAMmH,SACjBtB,EAAQ7F,EAAM6F,MACdM,EAAWnG,EAAMmG,SACjBC,EAAWpG,EAAMoG,SACjBkJ,EAAYtP,EAAMsP,UAClBC,EAAgBvP,EAAMuP,cACtB/I,EAAUxG,EAAMwG,QAChBhC,EAAU,YAAG,YAAWgE,EAAQ,UAAW,YAAWrB,EAAU,YAAa,YAAWtB,EAAO,SAAU,YAAWM,EAAU,YAAa,YAAWC,EAAU,YAAa,YAAWI,EAAS,WAAY,YAAiB8I,GAAY,YAAqBC,GAAgB3L,GAC/QpD,EAAO,YAAkB0P,EAAUlQ,GACnCyE,EAAc,YAAeyL,EAAUlQ,GAE3C,OAAK,IAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAK4L,GAAO,SAAUC,GACxB,OAAO,IAAUzL,OAAOyL,EAAM,CAC5BvL,aAAc,CACZ0K,GAAIW,SAVY,IAAMxL,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAcRuM,EAASjL,aAAe,CAAC,SAAU,KAAM,SAAU,QAAS,WAAY,YAAa,WAAY,QAAS,WAAY,WAAY,YAAa,gBAAiB,WAChKiL,EAASpL,aAAe,CACtB0K,GAAI,KACJW,OAAQ,MAEVD,EAAShL,UAuCL,GACJgL,EAAStL,OAAS,YAAuBsL,GAAU,SAAUE,GAC3D,MAAO,CACLA,MAAOA,MAGI,O,kCChGf,yJAiCIE,EAA8B,SAAqCC,EAAUvQ,EAAOuH,EAAOiJ,QACrE,IAApBA,IACFA,GAAkB,GAIpB,IAzBmD9P,EAyB/C+P,EAAYzQ,EAAMuQ,GACtB,QAAkB9G,IAAdgH,EAAyB,OAAOA,EAEpC,GAAID,EAAiB,CAEnB,IAAIE,EAAc1Q,GA9B+BU,EA8BN6P,EA7BtC,WAAa7P,EAAK,GAAGiQ,cAAgBjQ,EAAKkQ,MAAM,MA8BrD,QAAoBnH,IAAhBiH,EAA2B,OAAOA,EAEtC,GAAInJ,EAAO,CACT,IAAIsJ,EAAetJ,EAAMgJ,GACzB,QAAqB9G,IAAjBoH,EAA4B,OAAOA,GAM3C,MAAiB,YAAbN,IACa,UAAbA,EAA6BvQ,EAAM8Q,SAAW,GAAK,QAAvD,IAGEC,EAA6C,SAAUC,GAGzD,SAASD,IAGP,IAFA,IAAIrO,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAIzB,IAAIiO,GADJvO,EAAQsO,EAAiB/N,KAAKC,MAAM8N,EAAkB,CAAC7N,MAAMtD,OAAOiD,KAAUK,MAChD+N,YAC1BtI,EAAsBqI,EAAkBrI,oBACxCuI,EAAkCF,EAAkBE,gCACpD5J,EAAQ,IAAQ,YAAuB7E,GAAQ,gCAAiCA,EAAM1C,QAAU,GA6DhGoR,EAA6BxI,EAAoByI,QAAO,SAAUpE,EAAKvM,GAYzE,OAXAuM,EAAIvM,GAAQ4P,EAA4B5P,EAAMgC,EAAM1C,MAAOuH,GAAO,GAW3D0F,IACN,IAKH,OAJAvK,EAAM6E,MAAQ,YAAS,GAAIA,EAAO6J,EAA4B,CAC5DxI,oBAAqBA,EACrBuI,gCAAiCA,IAE5BzO,EAgCT,OA5HA,YAAeqO,EAA+BC,GA+F9CD,EAA8BjE,yBAA2B,SAAkC9M,EAAOuH,GAChG,IAAIqB,EAAsBrB,EAAMqB,oBAC5BuI,EAAkC5J,EAAM4J,gCAExCG,EAAoB1I,EAAoByI,QAAO,SAAUpE,EAAKvM,GAIhE,OAHqB,IAAaV,EAAMU,MAErBuM,EAAIvM,GAAQV,EAAMU,IAC9BuM,IACN,IAGH,GAAIkE,EAAiC,CACnC,IAAII,EAAgBJ,EAAgCnR,EAAO,YAAS,GAAIuH,EAAO+J,GAAoB/J,GAEnG,OAAO,YAAS,GAAI+J,EAAmBC,GAGzC,OAAOD,GAOTP,EAA8BI,gCAAkC,WAC9D,OAAO,MAGFJ,EA7HwC,CA3DjD,OAyLE,EAAMS,Y,kCCzLR,4IAcA,SAASC,EAAMzR,GACb,IAAI0R,EAAS1R,EAAM0R,OACfC,EAAW3R,EAAM2R,SACjBjO,EAAW1D,EAAM0D,SACjBC,EAAW3D,EAAM2D,SACjBiO,EAAW5R,EAAM4R,SACjBhO,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChB+N,EAAS7R,EAAM6R,OACf1K,EAAWnH,EAAMmH,SACjBwI,EAAU3P,EAAM2P,QAChB1L,EAAQjE,EAAMiE,MACd8B,EAAS/F,EAAM+F,OACf5B,EAAOnE,EAAMmE,KACb2N,EAAS9R,EAAM8R,OACfC,EAAQ/R,EAAM+R,MACdC,EAAUhS,EAAMgS,QAChB3L,EAAOrG,EAAMqG,KACb4L,EAASjS,EAAMiS,OACf1C,EAAgBvP,EAAMuP,cACtBvK,EAAUhF,EAAMgF,QAChBD,EAAK/E,EAAM+E,GACXP,EAAU,YAAG,YAAWO,EAAI,MAAOsB,EAAM,YAAWqL,EAAQ,UAAW,YAAWC,EAAU,YAAa,YAAWC,EAAU,YAAa,YAAWlO,EAAU,YAAa,YAAWyD,EAAU,YAAa,YAAWlD,EAAO,SAAU,YAAW8B,EAAQ,UAAW,YAAW+L,EAAQ,UAAW,YAAWE,EAAS,WAAY,YAAoBC,EAAQ,UAAW,YAAetC,EAAS,WAAY,YAAqBJ,EAAe,WAAY,QAAS3L,GAC3cpD,EAAO,YAAkBiR,EAAOzR,GAEhCkS,EAAsB,YAAmB1R,EAAM,CACjDJ,UAAW,MAET+R,EAAcD,EAAoB,GAClCE,EAAYF,EAAoB,GAEhCzN,EAAc,YAAegN,EAAOzR,GAAO,WAC7C,KAAK,IAAO6R,IAAY,IAAOE,IAAW,IAAO/M,IAAa,IAAcN,MAAMf,IAChF,MAAO,SAIX,OAAK,IAAce,MAAMf,GAMpB,IAAce,MAAMZ,GAML,QAAhBW,EACkB,IAAME,cAAcF,EAAa,YAAS,GAAI2N,EAAWD,EAAa,CACxFvO,UAAWY,KAIK,IAAMG,cAAcF,EAAa,YAAS,GAAI2N,EAAW,CAC3ExO,UAAWY,EACXL,KAAMA,IACJ,IAAOS,OAAOiN,EAAQ,CACxBhN,iBAAiB,IACf,IAAMD,OAAOmN,EAAO,CACtBlN,iBAAiB,IACF,IAAMF,cAAc,MAAOwN,IAlBtB,IAAMxN,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GARgB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAyBR8N,EAAMxM,aAAe,CAAC,KAAM,SAAU,WAAY,WAAY,WAAY,WAAY,YAAa,UAAW,SAAU,WAAY,UAAW,QAAS,SAAU,OAAQ,SAAU,QAAS,UAAW,OAAQ,SAAU,KAAM,gBAAiB,WACjPwM,EAAMpM,MAAQ,IACdoM,EAAMvM,UAkEF,GACJuM,EAAM3M,aAAe,CACnB0K,GAAI,MACJzK,IAAI,GAEN0M,EAAM7M,OAAS,YAAuB6M,GAAO,SAAU1P,GACrD,MAAO,CACLsQ,IAAKtQ,MAGM,O,kCC7Jf,uGAWA,SAASuQ,EAAYtS,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBC,EAAc/D,EAAM+D,YACpB4L,EAAU3P,EAAM2P,QAChBzL,EAASlE,EAAMkE,OACfqL,EAAgBvP,EAAMuP,cACtB/K,EAAU,YAAG,YAAemL,EAAS,WAAY,YAAqBJ,GAAgB,UAAW3L,GACjGpD,EAAO,YAAkB8R,EAAatS,GACtCyE,EAAc,YAAe6N,EAAatS,GAE9C,OAAK,IAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAWI,OAAOV,GAAS,IAAgBU,OAAOb,GAAcD,GAP9C,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAQR2O,EAAYrN,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,cAAe,UAAW,SAAU,iBAC1GqN,EAAYpN,UAwBR,GACJoN,EAAY1N,OAAS,YAAuB0N,GAAa,SAAUxO,GACjE,MAAO,CACLA,QAASA,MAGE,O,kCCjEf,yKAaIyO,EAAwB,SAAU9P,GAGpC,SAAS8P,IAGP,IAFA,IAAI7P,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAUzB,OAPAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GACbX,EAAM1C,MAAMmH,UACZ,IAAQzE,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAGnD0C,EAyCT,OAzDA,YAAe6P,EAAU9P,GAmBZ8P,EAAShP,UAEfC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB7E,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBC,EAAQJ,EAAYI,MACpBC,EAAUL,EAAYK,QACtBqD,EAAW1D,EAAY0D,SACvBqL,EAAS/O,EAAY+O,OACrBtO,EAAST,EAAYS,OACrB8B,EAAOvC,EAAYuC,KACnB3B,EAAOZ,EAAYY,KACnBqC,EAAOjD,EAAYiD,KACnBpD,EAAUG,EAAYH,QACtB2K,EAAWxK,EAAYwK,SACvBzJ,EAAU,YAAGX,EAAOoK,EAAU,YAAWzF,EAAQ,UAAW,YAAWrB,EAAU,YAAa,aAAoB,IAATnB,GAAiBA,KAAUU,GAAQ5C,GAAU,QAAS,YAAWI,EAAQ,UAAW,YAAWG,EAAM,QAAS,YAAoBmO,EAAQ,UAAW,OAAQ5O,GACtQa,EAAc,YAAe8N,EAAUpP,KAAKnD,OAAO,WACrD,GAAIsD,EAAS,MAAO,OAElB9C,EAAO,YAAkB+R,EAAUpP,KAAKnD,OAE5C,OAAK,IAAc0E,MAAMf,GAOL,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXlB,QAASH,KAAKC,cACZ,IAAKwB,OAAOoB,EAAM,CACpBnB,iBAAiB,IACf,IAAcH,MAAMZ,GAAW,IAAW4C,GAAQ5C,GAXhC,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXlB,QAASH,KAAKC,cACZO,IAWD4O,EA1DmB,CA2D1B,aAEFA,EAAStN,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,QAAS,UAAW,WAAY,SAAU,SAAU,OAAQ,QAAS,OAAQ,OAAQ,UAAW,YAElKsN,EAASrN,UAmDL,GACJqN,EAAS3N,OAAS,YAAuB2N,GAAU,SAAU9R,GAC3D,MAAO,CACLqD,QAASrD,EACTiG,KAAMjG,O,kCCnIV,0EASA,SAASgS,EAAYzS,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChB4O,EAAY1S,EAAM0S,UAClBlO,EAAU,YAAG,YAAWkO,EAAW,cAAe9O,GAClDpD,EAAO,YAAkBiS,EAAazS,GACtCyE,EAAc,YAAegO,EAAazS,GAC9C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD8O,EAAYxN,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,aACtEwN,EAAY3N,aAAe,CACzB0K,GAAI,SAENiD,EAAYvN,UAeR,GACW,O,kCC1Cf,6FAuDe,IAxCY,SAA8ByN,EAAMtP,GAC7D,GAAI,IAAM,CAACA,EAAGsP,GAAO,KAAS,OAAO,EAErC,GAAItP,EAAE4H,SACJ,IAAQ5H,EAAE4H,OAAQ,eAAgB,0BAA0B,GAExD/I,SAAS0Q,cAAc,kCAGzB,OAFA,IAAQvP,EAAE4H,OAAQ,kBAAmB,0BAE9B0H,EAAKE,SAASxP,EAAE4H,QAS3B,IAAI6H,EAAUzP,EAAEyP,QACZC,EAAU1P,EAAE0P,QAChB,GAAI,IAAM,CAACD,EAASC,GAAU,KAAS,OAAO,EAE9C,IAAIC,EAAcL,EAAKM,iBAIvB,KAAKN,EAAKO,aAAgBP,EAAKQ,cAAiBH,GAAgBA,EAAYnQ,QAAQ,OAAO,EAE3F,IAAIuQ,EAAU,IAAOJ,GACjBK,EAAMD,EAAQC,IACdC,EAASF,EAAQE,OACjB/G,EAAO6G,EAAQ7G,KACfC,EAAQ4G,EAAQ5G,MAEpB,OAAI,IAAM,CAAC6G,EAAKC,EAAQ/G,EAAMC,GAAQ,OAG/B,IAASuG,EAASM,EAAKC,EAAS,OAAU,IAASR,EAASvG,EAAMC,EAAQ,S,kCCpDnF,2EASA,SAAS+G,EAAYvT,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,YAAkB+S,EAAavT,GACtCyE,EAAc,YAAe8O,EAAavT,GAC9C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD4P,EAAYtO,aAAe,CAAC,KAAM,WAAY,YAAa,WAC3DsO,EAAYrO,UAYR,GACJqO,EAAYzO,aAAe,CACzB0K,GAAI,MAEN+D,EAAY3O,OAAS,YAAuB2O,GAAa,SAAUzP,GACjE,MAAO,CACLA,QAASA,MAGE,O,kCC3Cf,2EAUA,SAAS0P,EAASxT,GAChB,IAAI4D,EAAY5D,EAAM4D,UAClB2L,EAAgBvP,EAAMuP,cACtB/K,EAAU,YAAG,YAAqB+K,GAAgB3L,GAClDpD,EAAO,YAAkBgT,EAAUxT,GACvC,OAAoB,IAAM2E,cAAc,IAAM,YAAS,GAAInE,EAAM,CAC/DoD,UAAWY,KAIfgP,EAASvO,aAAe,CAAC,YAAa,iBACtCuO,EAAStO,UAML,GACJsO,EAAS5O,OAAS,YAAuB4O,GAAU,SAAU9M,GAC3D,MAAO,CACLA,KAAMA,MAGK,O,kCCjCf,kFAUA,SAAS+M,EAAWzT,GAClB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBwL,EAAYtP,EAAMsP,UAClB9K,EAAU,YAAG,YAAiB8K,GAAY,SAAU1L,GACpDpD,EAAO,YAAkBiT,EAAYzT,GACrCyE,EAAc,YAAegP,EAAYzT,GAC7C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD8P,EAAWxO,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,aACrEwO,EAAWvO,UAeP,GACW,O,kCCxCf,kFAUA,SAASwO,EAAS1T,GAChB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBwL,EAAYtP,EAAMsP,UAClB9K,EAAU,YAAG,YAAiB8K,GAAY,OAAQ1L,GAClDpD,EAAO,YAAkBkT,EAAU1T,GACnCyE,EAAc,YAAeiP,EAAU1T,GAC3C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD+P,EAASzO,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,aACnEyO,EAASxO,UAeL,GACW,O,kCCxCf,kFAUA,SAASyO,EAAgB3T,GACvB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBwL,EAAYtP,EAAMsP,UAClB9K,EAAU,YAAG,YAAiB8K,GAAY,cAAe1L,GACzDpD,EAAO,YAAkBmT,EAAiB3T,GAC1CyE,EAAc,YAAekP,EAAiB3T,GAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDgQ,EAAgB1O,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,aAC1E0O,EAAgBzO,UAeZ,GACW,O,kCCxCf,2EASA,SAAS0O,EAAU5T,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,QAASZ,GACtBpD,EAAO,YAAkBoT,EAAW5T,GACpCyE,EAAc,YAAemP,EAAW5T,GAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDiQ,EAAU3O,aAAe,CAAC,KAAM,WAAY,YAAa,WACzD2O,EAAU1O,UAYN,GACJ0O,EAAUhP,OAAS,YAAuBgP,GAAW,SAAU9P,GAC7D,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,2EAMA,SAAS+P,EAAgB7T,GACvB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,cAAeZ,GAC5BpD,EAAO,YAAkBqT,EAAiB7T,GAC1CyE,EAAc,YAAeoP,EAAiB7T,GAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDkQ,EAAgB5O,aAAe,CAAC,KAAM,WAAY,YAAa,WAC/D4O,EAAgB3O,UAYZ,GACJ2O,EAAgBjP,OAAS,YAAuBiP,GAAiB,SAAU/P,GACzE,MAAO,CACLA,QAASA,MAGE,O,kCCrCf,iFAWIgQ,EAA8B,SAAUrR,GAG1C,SAASqR,IAGP,IAFA,IAAIpR,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAezB,OAZAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5D4Q,qBAAuB,SAAUC,GACrC,MAAO,CACL1Q,QAAS,SAAiBD,EAAG4Q,GAC3B,IAAQD,EAAiB,UAAW3Q,EAAG4Q,GAEvC,IAAQvR,EAAM1C,MAAO,eAAgBqD,EAAG4Q,MAKvCvR,EA0BT,OA/CA,YAAeoR,EAAgBrR,GAwBlBqR,EAAevQ,UAErBC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB1E,EAAUL,EAAYK,QACtBmD,EAAQxD,EAAYwD,MACpBiN,EAAQzQ,EAAYyQ,MACxB,OAAoB,IAAMvP,cAAc,IAAMgI,SAAU,KAAM,IAAe/H,OAAOsP,EAAO,CACzFrP,iBAAiB,EACjBC,aAAc,CACZ0D,OAAQA,EACRvB,MAAOA,GAETkN,cAAehR,KAAK4Q,uBAClB,IAAiBnP,OAAOd,EAAS,CACnCe,iBAAiB,EACjBC,aAAc,CACZ0D,OAAQA,OAKPsL,EAhDyB,CAiDhC,aAEFA,EAAe7O,aAAe,CAAC,SAAU,UAAW,QAAS,eAAgB,SAC7E6O,EAAe5O,UAoBX,GACJ4O,EAAelP,OAAS,YAAuBkP,EAAgB,MAChD,O,kCCrFf,wKAaIM,EAA8B,SAAU3R,GAG1C,SAAS2R,IAGP,IAFA,IAAI1R,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GASzB,OANAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GAC5B,OAAO,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG3C0C,EAgCT,OA/CA,YAAe0R,EAAgB3R,GAkBlB2R,EAAe7Q,UAErBC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB7E,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBE,EAAUL,EAAYK,QACtBkC,EAAOvC,EAAYuC,KACnBxB,EAAU,YAAG,YAAWgE,EAAQ,UAAW,QAAS5E,GACpDpD,EAAO,YAAkB4T,EAAgBjR,KAAKnD,OAC9CyE,EAAc,YAAe2P,EAAgBjR,KAAKnD,OAClDqU,EAAY,IAAOrO,GAAQ,WAAaA,EAE5C,OAAK,IAActB,MAAMf,GAOL,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXlB,QAASH,KAAKC,cACZ,IAAKwB,OAAOyP,EAAW,CACzBxP,iBAAiB,IACff,GAXkB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXlB,QAASH,KAAKC,cACZO,IAWDyQ,EAhDyB,CAiDhC,aAEFA,EAAenP,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,UAAW,OAAQ,QAAS,WAEpGmP,EAAelP,UA6BX,GACJkP,EAAexP,OAAS,YAAuBwP,GAAgB,SAAUtQ,GACvE,MAAO,CACLA,QAASA,O,kCClGb,mFASA,SAASwQ,EAAiBtU,GACxB,IAAIwI,EAASxI,EAAMwI,OACf7E,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,UAAW,YAAWgE,EAAQ,UAAW5E,GACtDpD,EAAO,YAAkB8T,EAAkBtU,GAC3CyE,EAAc,YAAe6P,EAAkBtU,GACnD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD2Q,EAAiBrP,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,WAC1EqP,EAAiBpP,UAeb,GACJoP,EAAiB1P,OAAS,YAAuB0P,GAAkB,SAAUxQ,GAC3E,MAAO,CACLA,QAASA,MAGE,O,kCC5Cf,2EASA,SAASyQ,EAAWvU,GAClB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkB+T,EAAYvU,GACrCyE,EAAc,YAAe8P,EAAYvU,GAC7C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD4Q,EAAWtP,aAAe,CAAC,KAAM,WAAY,YAAa,WAC1DsP,EAAWrP,UAYP,GACJqP,EAAW3P,OAAS,YAAuB2P,GAAY,SAAUzQ,GAC/D,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,2EASA,SAAS0Q,EAASxU,GAChB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,OAAQZ,GACrBpD,EAAO,YAAkBgU,EAAUxU,GACnCyE,EAAc,YAAe+P,EAAUxU,GAC3C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD6Q,EAASvP,aAAe,CAAC,KAAM,WAAY,YAAa,WACxDuP,EAAStP,UAYL,GACJsP,EAAS5P,OAAS,YAAuB4P,GAAU,SAAU1Q,GAC3D,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,2EASA,SAAS2Q,EAAgBzU,GACvB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,cAAeZ,GAC5BpD,EAAO,YAAkBiU,EAAiBzU,GAC1CyE,EAAc,YAAegQ,EAAiBzU,GAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD8Q,EAAgBxP,aAAe,CAAC,KAAM,WAAY,YAAa,WAC/DwP,EAAgBvP,UAYZ,GACJuP,EAAgB7P,OAAS,YAAuB6P,GAAiB,SAAU3Q,GACzE,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,2EASA,SAAS4Q,EAAU1U,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,QAASZ,GACtBpD,EAAO,YAAkBkU,EAAW1U,GACpCyE,EAAc,YAAeiQ,EAAW1U,GAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD+Q,EAAUzP,aAAe,CAAC,KAAM,WAAY,YAAa,WACzDyP,EAAUxP,UAYN,GACJwP,EAAU9P,OAAS,YAAuB8P,GAAW,SAAU5Q,GAC7D,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,wJAYI6Q,EAA2B,SAAUlS,GAGvC,SAASkS,IAGP,IAFA,IAAIjS,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAmBzB,OAhBAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DyR,aAA4B,sBAClClS,EAAMmS,WAA0B,sBAEhCnS,EAAMU,YAAc,SAAUC,GAC5B,IAAIwR,EAAanS,EAAMmS,WAAWzL,QAElC,IAAQ1G,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,OAErC6U,GAAcA,IAAexR,EAAE4H,QAAU,YAAqB4J,EAAYxR,IAI9E,IAAQX,EAAM1C,MAAO,iBAAkBqD,EAAGX,EAAM1C,QAG3C0C,EAzBT,YAAeiS,EAAalS,GA4B5B,IAAI2K,EAASuH,EAAYpR,UAkDzB,OAhDA6J,EAAO0H,kBAAoB,WACzB,IAAItM,EAASrF,KAAKnD,MAAMwI,OACxBrF,KAAK4R,aAAavM,IAGpB4E,EAAOC,mBAAqB,SAA4BC,GACtD,IAAI0H,EAAgB7R,KAAKnD,MAAMwI,OACd8E,EAAU9E,SACRwM,GAAe7R,KAAK4R,aAAaC,IAGtD5H,EAAO2H,aAAe,SAAsBvM,GAC1C,IAAIoM,EAAezR,KAAKyR,aAAaxL,QAChCwL,GAAiBA,EAAa7I,QAE/BvD,EACFoM,EAAa7I,MAAMkJ,YAAY,UAAW,OAAQ,aAElDL,EAAa7I,MAAMmJ,eAAe,aAItC9H,EAAO5J,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB7E,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBE,EAAUL,EAAYK,QACtBqD,EAAW1D,EAAY0D,SACvB+E,EAAWzI,EAAYyI,SACvBiJ,EAAO1R,EAAY0R,KACnBC,EAAS3R,EAAY2R,OACrB7F,EAAgB9L,EAAY8L,cAC5B/K,EAAU,YAAG,KAAM,YAAWgE,EAAQ,6BAA8B,YAAWrB,EAAU,YAAa,YAAW+E,EAAU,YAAa,YAAWiJ,EAAM,QAAS,YAAWC,EAAQ,UAAW,YAAqB7F,GAAgB,SAAU3L,GAC/OpD,EAAO,YAAkBmU,EAAaxR,KAAKnD,OAC3CyE,EAAc,YAAekQ,EAAaxR,KAAKnD,OAC/CqV,EAAkB,IAAc3Q,MAAMf,GAAYG,EAAUH,EAChE,OAAoB,IAAMgB,cAAc,IAAK,CAC3C+H,SAAUvJ,KAAKyR,cACD,IAAMjQ,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CAClEoD,UAAWY,EACXlB,QAASH,KAAKC,cACZiS,GAAgC,IAAM1Q,cAAc,MAAO,CAC7Df,UAAW,UACXsF,IAAK/F,KAAK0R,YACTQ,MAGEV,EA/EsB,CAgF7B,aAEFA,EAAY1P,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,UAAW,WAAY,WAAY,UAAW,iBAAkB,OAAQ,SAAU,iBAEvJ0P,EAAYzP,UA8CR,I,kCC9IJ,yHAaA,SAASoQ,EAAYtV,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBC,EAAc/D,EAAM+D,YACpBC,EAAQhE,EAAMgE,MACdE,EAASlE,EAAMkE,OACfI,EAAOtE,EAAMsE,KACbgL,EAAYtP,EAAMsP,UAClB9K,EAAU,YAAG,YAAWR,EAAO,SAAU,YAAiBsL,GAAY,UAAW1L,GACjFpD,EAAO,YAAkB8U,EAAatV,GACtCyE,EAAc,YAAe6Q,EAAatV,GAE9C,OAAK,IAAc0E,MAAMf,GAMpB,IAAce,MAAMZ,GAML,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,YAAgB,KAAY,SAAU/D,GACxC,MAAO,CACLqD,QAASrD,KAEVyD,EAAQ,CACTW,iBAAiB,IACf,YAAgB,KAAU,SAAUpE,GACtC,MAAO,CACLqD,QAASrD,KAEV6D,EAAM,CACPO,iBAAiB,IACf,YAAgB,KAAiB,SAAUpE,GAC7C,MAAO,CACLqD,QAASrD,KAEVsD,EAAa,CACdc,iBAAiB,KAxBG,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GARgB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAgCR2R,EAAYrQ,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,cAAe,QAAS,SAAU,OAAQ,aAChHqQ,EAAYpQ,UA2BR,GACW,O,kCC1Ff,aACe,MAAQ,U,gCCDvB,4PAqBWqQ,EAAa,SAAoB9U,EAAKgI,GAC/C,OAAOhI,GAAOgI,GAYL+M,EAAiB,SAAwB/U,EAAKgI,GACvD,OAAOhI,IAAe,IAARA,GAAgBA,EAAM,IAAMgI,GAgBjCgN,EAAsB,SAA6BhV,EAAKgI,GACjE,OAAOhI,KAAgB,IAARA,EAAegI,EAAMhI,EAAM,IAAMgI,IAkBvCiN,EAAkB,SAAyBjV,EAAKgI,GACzD,OAAKhI,IAAe,IAARA,EACLA,EAAIkV,QAAQ,eAAgB,gBAAgBA,QAAQ,eAAgB,eAAeC,MAAM,KAAKC,KAAI,SAAUnV,GACjH,OAAOA,EAAKiV,QAAQ,IAAK,KAAO,IAAMlN,KACrCqN,KAAK,KAHyB,MAmBxBC,EAAmB,SAA0BtV,GACtD,MAAe,cAARA,EAAsB,YAAc+U,EAAe/U,EAAK,YAYtDuV,EAAuB,SAA8BvV,GAC9D,OAAO+U,EAAe/U,EAAK,YAwBlBwV,EAAe,SAAsBxV,EAAKyV,EAAYC,GAS/D,QARmB,IAAfD,IACFA,EAAa,SAGE,IAAbC,IACFA,GAAW,GAGTA,GAAoB,UAAR1V,EACd,MAAO,cAGT,IAAI2V,SAAiB3V,EAErB,MAAiB,WAAZ2V,GAAoC,WAAZA,IAAyBF,EAI/C,YAAazV,GAHX,YAAaA,GAAO,IAAMyV,I,iCChJrC,iLAkBIvP,EAAoB,SAAUlE,GAGhC,SAASkE,IAGP,IAFA,IAAIjE,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAezB,OAZAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DkT,oBAAsB,SAAUrC,GACpC,MAAO,CACL1Q,QAAS,SAAiBD,EAAGiT,GAC3B,IAAQtC,EAAiB,UAAW3Q,EAAGiT,GAEvC,IAAQ5T,EAAM1C,MAAO,cAAeqD,EAAGiT,MAKtC5T,EAsDT,OA3EA,YAAeiE,EAAMlE,GAwBRkE,EAAKpD,UAEXC,OAAS,WACd,IAAIyE,EAAS9E,KAETM,EAAcN,KAAKnD,MACnBuW,EAAW9S,EAAY8S,SACvBC,EAAW/S,EAAY+S,SACvBC,EAAShT,EAAYgT,OACrB9S,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBE,EAAUL,EAAYK,QACtB4S,EAAUjT,EAAYiT,QACtB/G,EAAUlM,EAAYkM,QACtBgH,EAAalT,EAAYkT,WACzBzK,EAAWzI,EAAYyI,SACvB0K,EAAQnT,EAAYmT,MACpBvS,EAAOZ,EAAYY,KACnBwS,EAAUpT,EAAYoT,QACtBC,EAAUrT,EAAYqT,QACtBC,EAAYtT,EAAYsT,UACxB1Q,EAAO5C,EAAY4C,KACnBkJ,EAAgB9L,EAAY8L,cAC5B/K,EAAU,YAAG,KAAM6B,EAAM,YAAWkQ,EAAU,YAAa,YAAWC,EAAU,YAAa,YAAWC,EAAQ,UAAW,YAAWC,EAAS,WAAY,YAAWC,EAAY,cAAe,YAAWzK,EAAU,YAAa,YAAW7H,EAAM,QAAS,YAAWwS,EAAS,WAAY,YAAWE,EAAW,aAAc,YAAoBD,EAAS,WAAY,YAAenH,EAAS,WAAY,YAAqBJ,GAAgB,OAAQ3L,GAC3bpD,EAAO,YAAkBmG,EAAMxD,KAAKnD,OACpCyE,EAAc,YAAekC,EAAMxD,KAAKnD,OAE5C,OAAK,IAAc0E,MAAMf,GAOpB,IAAce,MAAMZ,GAOL,IAAMa,cAAcF,EAAa,YAAS,CAC5D2D,KAAM,OACNxE,UAAWY,GACVhE,GAAO,IAAKoW,GAAO,SAAUI,GAC9B,OAAO,IAASpS,OAAOoS,EAAM,CAC3B7C,cAAelM,EAAOoO,0BAXJ,IAAM1R,cAAcF,EAAa,YAAS,CAC5D2D,KAAM,OACNxE,UAAWY,GACVhE,GAAOsD,GAVU,IAAMa,cAAcF,EAAa,YAAS,CAC5D2D,KAAM,OACNxE,UAAWY,GACVhE,GAAOmD,IAoBPgD,EA5Ee,CA6EtB,aAEFA,EAAK1B,aAAe,CAAC,WAAY,KAAM,WAAY,SAAU,WAAY,YAAa,UAAW,UAAW,UAAW,aAAc,WAAY,QAAS,OAAQ,cAAe,UAAW,UAAW,YAAa,OAAQ,iBAC5N0B,EAAKzB,UA8DD,GACJyB,EAAKxB,QAAU,IACfwB,EAAKvB,YAAc,IACnBuB,EAAKrB,OAAS,IACdqB,EAAKkC,KAAO,IACZlC,EAAKC,KAAO,IACZD,EAAKA,KAAO,IACG,O,kCCvKf,uFAWIsQ,EAA2B,SAAUxU,GAGvC,SAASwU,IAGP,IAFA,IAAIvU,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GASzB,OANAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5D+T,UAAY,SAAUC,GAC1B,YAAUzU,EAAM1C,MAAM0M,SAAUyK,IAG3BzU,EAfT,YAAeuU,EAAaxU,GAkB5B,IAAI2K,EAAS6J,EAAY1T,UAqBzB,OAnBA6J,EAAO0H,kBAAoB,WACzB,IAAQ3R,KAAKnD,MAAO,UAAW,KAAMmD,KAAKnD,QAG5CoN,EAAOK,qBAAuB,WAC5B,IAAQtK,KAAKnD,MAAO,YAAa,KAAMmD,KAAKnD,QAG9CoN,EAAO5J,OAAS,WACd,IAAK,cAAa,OAAO,KACzB,IAAIC,EAAcN,KAAKnD,MACnB2D,EAAWF,EAAYE,SACvByT,EAAwB3T,EAAY4T,UACpCA,OAAsC,IAA1BD,EAAmClV,SAASoV,KAAOF,EACnE,OAAoB,uBAA2B,IAAMzS,cAAc,IAAK,CACtE+H,SAAUvJ,KAAK+T,WACdvT,GAAW0T,IAGTJ,EAxCsB,CAyC7B,aAEFA,EAAYhS,aAAe,CAAC,WAAY,WAAY,YAAa,UAAW,aAC5EgS,EAAY/R,UAyBR,GACW,O,kCCjFf,2EAMA,SAASqS,EAAYvX,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkB+W,EAAavX,GACtCyE,EAAc,YAAe8S,EAAavX,GAC9C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD4T,EAAYtS,aAAe,CAAC,KAAM,WAAY,YAAa,WAC3DsS,EAAYrS,UAYR,GACJqS,EAAY3S,OAAS,YAAuB2S,GAAa,SAAU9W,GACjE,MAAO,CACLqD,QAASrD,MAGE,O,kCCrCf,2EASA,SAAS+W,EAAaxX,GACpB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,YAAkBgX,EAAcxX,GACvCyE,EAAc,YAAe+S,EAAcxX,GAC/C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,CAC5D,eAAe,EACf,YAAa,SACb2D,KAAM,SACL5H,EAAM,CACPoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD6T,EAAavS,aAAe,CAAC,KAAM,WAAY,YAAa,WAC5DuS,EAAatS,UAYT,GACJsS,EAAa5S,OAAS,YAAuB4S,GAAc,SAAU/W,GACnE,MAAO,CACLqD,QAASrD,MAGE,O,kCC5Cf,qGAYIgX,EAAmC,SAAUhV,GAG/C,SAASgV,IAGP,IAFA,IAAI/U,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAazB,OAVAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DuU,aAAe,SAAUrU,GAC7B,IAAItB,EAAQ,IAAKsB,EAAG,gBAEpB,IAAQX,EAAM1C,MAAO,WAAYqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC5D+B,MAAOA,MAIJW,EAyBT,OA5CA,YAAe+U,EAAqBhV,GAsBvBgV,EAAoBlU,UAE1BC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnB2X,EAAelU,EAAYkU,aAC3B/T,EAAYH,EAAYG,UACxB0E,EAAW7E,EAAY6E,SACvBtG,EAAOyB,EAAYzB,KACnBD,EAAQ0B,EAAY1B,MACpByC,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkBiX,EAAqBtU,KAAKnD,OACvD,OAAoB,IAAM2E,cAAc,QAAS,YAAS,GAAInE,EAAM,CAClE,oBAAqB,OACrBmX,aAAcA,EACd/T,UAAWY,EACXoT,SAAUzU,KAAKuU,aACfpP,SAAUA,EACVtG,KAAMA,EACND,MAAOA,MAIJ0V,EA7C8B,CA8CrC,aAEFA,EAAoBxS,aAAe,CAAC,KAAM,eAAgB,YAAa,WAAY,OAAQ,SAC3FwS,EAAoBvS,UAkBhB,GACJuS,EAAoB3S,aAAe,CACjC6S,aAAc,MACd3V,KAAM,QAERyV,EAAoB7S,OAAS,YAAuB6S,GAAqB,SAAUzV,GACjF,MAAO,CACLA,KAAMA,MAGK,O,kCCzFf,mKAgBI6V,EAA4B,SAAUpV,GAGxC,SAASoV,IAGP,IAFA,IAAInV,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GASzB,OANAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GAC5B,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAGpC0C,EA4ET,OA3FA,YAAemV,EAAcpV,GAkBhBoV,EAAatU,UAEnBC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB7E,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBE,EAAUL,EAAYK,QACtBqD,EAAW1D,EAAY0D,SACvBpD,EAAcN,EAAYM,YAC1B+T,EAAOrU,EAAYqU,KACnB9R,EAAOvC,EAAYuC,KACnB5B,EAAQX,EAAYW,MACpB2N,EAAQtO,EAAYsO,MACpBpJ,EAAWlF,EAAYkF,SACvBoP,EAAOtU,EAAYsU,KACnBvT,EAAU,YAAG,YAAWgE,EAAQ,UAAW,YAAWrB,EAAU,YAAa,YAAWwB,EAAU,YAAa,OAAQ/E,GAEvHoU,EAAW,IAAOhS,GAAQ,IAAciS,WAAWtU,EAAU,iBAAmB,WAAaqC,EAC7FxF,EAAO,YAAkBqX,EAAc1U,KAAKnD,OAC5CyE,EAAc,YAAeoT,EAAc1U,KAAKnD,OAChDkY,EAAc,CAChB9P,KAAM,SACN,gBAAiBjB,EACjB,eAAgBqB,EAChB,gBAAiBG,GAGnB,IAAK,IAAcjE,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM0X,EAAa,CACnFtU,UAAWY,EACXlB,QAASH,KAAKC,cACZO,GAGN,IAAIwU,EAAc,IAAKvT,OAAOkT,EAAM,CAClCjT,iBAAiB,IAEfuT,EAAc,IAAKxT,OAAOoT,EAAU,CACtCnT,iBAAiB,IAEfwT,EAAe,IAAMzT,OAAOR,EAAO,CACrCS,iBAAiB,IAEfyT,EAAe,IAAM1T,OAAOmN,EAAO,CACrClN,iBAAiB,IAEf0T,EAAqB,YAAgB,QAAQ,SAAU9X,GACzD,MAAO,CACLkD,SAAUlD,KAEXsD,EAAa,CACde,aAAc,CACZlB,UAAW,eAEbiB,iBAAiB,IAEf2T,EAAc,YAAgB,QAAQ,SAAU/X,GAClD,MAAO,CACLkD,SAAUlD,KAEX,IAAciE,MAAMZ,GAAWiU,EAAOjU,EAAS,CAChDgB,aAAc,CACZlB,UAAW,QAEbiB,iBAAiB,IAEnB,OAAoB,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM0X,EAAa,CACnFtU,UAAWY,EACXlB,QAASH,KAAKC,cACZiV,EAAcD,EAAaD,EAAaG,EAAcC,EAAoBC,IAGzEX,EA5FuB,CA6F9B,aAEFA,EAAa5S,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,UAAW,cAAe,WAAY,OAAQ,OAAQ,QAAS,QAAS,UAAW,WAAY,OAAQ,SAC7K4S,EAAa3S,UAqDT,GACJ2S,EAAajT,OAAS,YAAuBiT,GAAc,SAAUY,GACnE,OAAOA,KAEM,O,kCCzKf,0EASA,SAASC,EAAa1Y,GACpB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChB6U,EAAY3Y,EAAM2Y,UAClB/O,EAAO5J,EAAM4J,KACbgP,EAAY5Y,EAAM4Y,UAClBpU,EAAU,YAAGmU,EAAW,YAAW/O,EAAM,WAAY,YAAWgP,EAAW,aAAc,kBAAmBhV,GAC5GpD,EAAO,YAAkBkY,EAAc1Y,GACvCyE,EAAc,YAAeiU,EAAc1Y,GAC/C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD+U,EAAazT,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,YAAa,OAAQ,aAC5FyT,EAAaxT,UAqBT,GACW,O,kCC/Cf,mFAUA,SAAS2T,EAAe7Y,GACtB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBkC,EAAOhG,EAAMgG,KACbxB,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkBqY,EAAgB7Y,GACzCyE,EAAc,YAAeoU,EAAgB7Y,GAEjD,OAAK,IAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAKI,OAAOoB,EAAM,CACpBnB,iBAAiB,IACff,GATkB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAURkV,EAAe5T,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QACzE4T,EAAe3T,UAeX,GACJ2T,EAAejU,OAAS,YAAuBiU,GAAgB,SAAU/U,GACvE,MAAO,CACLA,QAASA,MAGE,O,kCCtDf,6GASe,SAAS8I,EAAY5M,GAClC,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkBoM,EAAa5M,GACtCyE,EAAc,YAAemI,EAAa5M,GAC9C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAEhDiJ,EAAY3H,aAAe,CAAC,KAAM,WAAY,YAAa,WAC3D2H,EAAY1H,UAYR,GACJ0H,EAAYhI,OAAS,YAAuBgI,GAAa,SAAUjJ,GACjE,MAAO,CACLA,SAAUA,O,kCCpCd,6GASe,SAASkJ,EAAa7M,GACnC,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,YAAkBqM,EAAc7M,GACvCyE,EAAc,YAAeoI,EAAc7M,GAC/C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAEhDkJ,EAAa5H,aAAe,CAAC,KAAM,WAAY,YAAa,WAC5D4H,EAAa3H,UAYT,GACJ2H,EAAajI,OAAS,YAAuBiI,GAAc,SAAUlJ,GACnE,MAAO,CACLA,SAAUA,O,kCCpCd,kEASA,SAASmV,EAAe9Y,GACtB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,YAAkBsY,EAAgB9Y,GACzCyE,EAAc,YAAeqU,EAAgB9Y,GACjD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDmV,EAAe7T,aAAe,CAAC,KAAM,WAAY,YAAa,WAC9D6T,EAAe5T,UAYX,GACW,O,kCCnCf,2EASA,SAAS6T,EAAc/Y,GACrB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkBuY,EAAe/Y,GACxCyE,EAAc,YAAesU,EAAe/Y,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDoV,EAAc9T,aAAe,CAAC,KAAM,WAAY,YAAa,WAC7D8T,EAAc7T,UAYV,GACJ6T,EAAcnU,OAAS,YAAuBmU,GAAe,SAAUtY,GACrE,MAAO,CACLqD,QAASrD,MAGE,O,kCCxCf,uGAWA,SAASuY,EAAYhZ,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBgT,EAAQ5W,EAAM4W,MACdpS,EAAU,YAAG,OAAQZ,GACrBpD,EAAO,YAAkBwY,EAAahZ,GACtCyE,EAAc,YAAeuU,EAAahZ,GAC9C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAY,IAAKiT,EAAO,IAAYhS,QAAUjB,GAGxEqV,EAAY/T,aAAe,CAAC,KAAM,WAAY,YAAa,SAC3D+T,EAAY9T,UAYR,GACJ8T,EAAYlU,aAAe,CACzB0K,GAAI,MAENwJ,EAAYpU,OAAS,YAAuBoU,GAAa,SAAUvY,GACjE,MAAO,CACLmW,MAAOnW,MAGI,O,kCC7Cf,2EASA,SAASwY,EAAYjZ,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkByY,EAAajZ,GACtCyE,EAAc,YAAewU,EAAajZ,GAC9C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDsV,EAAYhU,aAAe,CAAC,KAAM,WAAY,YAAa,WAC3DgU,EAAY/T,UAYR,GACJ+T,EAAYrU,OAAS,YAAuBqU,GAAa,SAAUnV,GACjE,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,mFASA,SAASoV,EAAalZ,GACpB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBM,EAAQpE,EAAMoE,MACdwU,EAAY5Y,EAAM4Y,UAClBpU,EAAU,YAAGZ,EAAW,YAAWQ,EAAO,SAAU,YAAWwU,EAAW,aAAc,WACxFpY,EAAO,YAAkB0Y,EAAclZ,GACvCyE,EAAc,YAAeyU,EAAclZ,GAC/C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDuV,EAAajU,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QAAS,aAChFiU,EAAahU,UAkBT,GACJgU,EAAatU,OAAS,YAAuBsU,GAAc,SAAUpV,GACnE,MAAO,CACLA,QAASA,MAGE,O,kCChDf,iKAaIqV,EAA4B,SAAU1W,GAGxC,SAAS0W,IAGP,IAFA,IAAIzW,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAezB,OAZAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DiW,sBAAwB,SAAUpF,GACtC,MAAO,CACL1Q,QAAS,SAAiBD,EAAGgW,GAC3B,IAAQrF,EAAiB,UAAW3Q,EAAGgW,GAEvC,IAAQ3W,EAAM1C,MAAO,gBAAiBqD,EAAGgW,MAKxC3W,EAsCT,OA3DA,YAAeyW,EAAc1W,GAwBhB0W,EAAa5V,UAEnBC,OAAS,WACd,IAAIyE,EAAS9E,KAETM,EAAcN,KAAKnD,MACnBsZ,EAAU7V,EAAY6V,QACtB3V,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBE,EAAUL,EAAYK,QACtBU,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,YAAkB2Y,EAAchW,KAAKnD,OAC5CyE,EAAc,YAAe0U,EAAchW,KAAKnD,OAEpD,OAAK,IAAc0E,MAAMf,GAMpB,IAAce,MAAMZ,GAML,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAK8U,GAAS,SAAUC,GAC1B,OAAO,IAAO3U,OAAO2U,EAAQ,CAC3BpF,cAAelM,EAAOmR,4BATJ,IAAMzU,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GARgB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,IAkBDwV,EA5DuB,CA6D9B,aAEFA,EAAalU,aAAe,CAAC,UAAW,KAAM,WAAY,YAAa,UAAW,iBAElFkU,EAAajU,UAuBT,GACJiU,EAAavU,OAAS,YAAuBuU,GAAc,SAAUG,GACnE,MAAO,CACLA,QAASA,O,kCCxGb,sGAUA,SAASE,EAAYxZ,GACnB,IAAIyZ,EAAWzZ,EAAMyZ,SACjB9V,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBF,EAAW1D,EAAM0D,SACjBI,EAAU9D,EAAM8D,QAChBoI,EAAWlM,EAAMkM,SACjBmL,EAAYrX,EAAMqX,UAClBuB,EAAY5Y,EAAM4Y,UAClB1P,EAAM,IAAMwQ,SACZlV,EAAU,YAAG,KAAM,YAAW0H,EAAU,YAAa,aAAYxI,EAAU,eAAgB,+CAAgDE,GAC3I+V,EAAc,YAAG,kBAAmB,YAAWF,EAAU,YAAa,YAAWb,EAAW,cAC5FpY,EAAO,YAAkBgZ,EAAaxZ,GACtCyE,EAAc,YAAe+U,EAAaxZ,GAO9C,OANA,YAAoBqX,EAAWsC,GAC/B,IAAMC,WAAU,WACV1Q,EAAIE,SAAWF,EAAIE,QAAQ2C,OAC7B7C,EAAIE,QAAQ2C,MAAMkJ,YAAY,UAAW,OAAQ,eAElD,IACiB,IAAMtQ,cAAc,IAAK,CAC3C+H,SAAUxD,GACI,IAAMvE,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CAClEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,IAGhD6V,EAAYvU,aAAe,CAAC,KAAM,WAAY,WAAY,WAAY,YAAa,UAAW,WAAY,YAAa,aACvHuU,EAAYtU,UA2BR,GACJsU,EAAY5U,OAAS,YAAuB4U,GAAa,SAAU1V,GACjE,MAAO,CACLA,QAASA,MAGE,O,kCCvEf,+KAiBI+V,EAAwB,SAAUpX,GAGpC,SAASoX,IAGP,IAFA,IAAInX,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAUzB,OAPAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GACbX,EAAM1C,MAAMmH,UACZ,IAAQzE,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAGnD0C,EA6ET,OA7FA,YAAemX,EAAUpX,GAmBZoX,EAAStW,UAEfC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB7E,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBE,EAAUL,EAAYK,QACtBC,EAAcN,EAAYM,YAC1BoD,EAAW1D,EAAY0D,SACvBjD,EAAST,EAAYS,OACrB8B,EAAOvC,EAAYuC,KACnB5B,EAAQX,EAAYW,MACpBrC,EAAQ0B,EAAY1B,MACpB0C,EAAc,YAAeoV,EAAU1W,KAAKnD,OAC5CwE,EAAU,YAAG,YAAWgE,EAAQ,UAAW,YAAWrB,EAAU,YAAa,YAA2B,OAAhB1C,EAAsB,QAASb,GACvHpD,EAAO,YAAkBqZ,EAAU1W,KAAKnD,OACxC8Z,EAA4B,OAAhBrV,EAAuB,CACrC1C,MAAOA,GACL,CACF,aAAcA,GAGhB,IAAK,IAAc2C,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIqV,EAAW,CAC3E1R,KAAM,WACNxE,UAAWY,EACXlB,QAASH,KAAKC,aACb5C,GAAOmD,GAGZ,IAAIyU,EAAc,IAASxT,OAAOoB,EAAM,CACtCnB,iBAAiB,IAEfwT,EAAe,IAAMzT,OAAOR,EAAO,CACrCS,iBAAiB,IAGnB,IAAmB,yBAAef,IAAY,IAAeA,GAC3D,OAAoB,IAAMa,cAAcF,EAAa,YAAS,GAAIqV,EAAW,CAC3E1R,KAAM,WACNxE,UAAWY,EACXlB,QAASH,KAAKC,aACb5C,GAAO4X,GAAeC,EAAc,IAAYzT,OAAOd,EAAS,CACjEe,iBAAiB,EACjBC,aAAc,CACZZ,OAAQA,EACRH,YAAaA,MAKnB,IAAIgW,EAAgB,IAAWnV,OAAOV,EAAQ,CAC5CW,iBAAiB,IAEf0T,EAAqB,IAAgB3T,OAAOb,EAAa,CAC3Dc,iBAAiB,IAGnB,OAAIuT,GAAeC,EACG,IAAM1T,cAAcF,EAAa,YAAS,GAAIqV,EAAW,CAC3E1R,KAAM,WACNxE,UAAWY,EACXlB,QAASH,KAAKC,aACb5C,GAAO4X,GAAeC,GAAevU,GAAWiW,GAAiBxB,IAAoC,IAAM5T,cAAc,IAAa,KAAMoV,EAAexB,EAAoBzU,IAGhK,IAAMa,cAAcF,EAAa,YAAS,GAAIqV,EAAW,CAC3E1R,KAAM,WACNxE,UAAWY,EACXlB,QAASH,KAAKC,aACb5C,GAAOuZ,EAAexB,EAAoBzU,IAGxC+V,EA9FmB,CA+F1B,aAEFA,EAAS5U,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,UAAW,cAAe,WAAY,SAAU,OAAQ,QAAS,UAAW,SAC9I4U,EAAS3U,UAkDL,GACJ2U,EAASjV,OAAS,YAAuBiV,GAAU,SAAU/V,GAC3D,MAAO,CACLA,QAASA,MAGE,O,kCC3Kf,2EASA,SAASkW,EAAgBha,GACvB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,aAAcZ,GAC3BpD,EAAO,YAAkBwZ,EAAiBha,GAC1CyE,EAAc,YAAeuV,EAAiBha,GAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDqW,EAAgB/U,aAAe,CAAC,KAAM,WAAY,YAAa,WAC/D+U,EAAgB9U,UAYZ,GACJ8U,EAAgBpV,OAAS,YAAuBoV,GAAiB,SAAUlW,GACzE,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,kEASA,SAASmW,EAAcja,GACrB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,YAAkByZ,EAAeja,GACxCyE,EAAc,YAAewV,EAAeja,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDsW,EAAchV,aAAe,CAAC,KAAM,WAAY,YAAa,WAC7DgV,EAAc/U,UAYV,GACW,O,kCCnCf,+IAYIgV,EAA0B,SAAUzX,GAGtC,SAASyX,IAGP,IAFA,IAAIxX,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GA6BzB,OA1BAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GAC5B,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG3C0C,EAAMyX,YAAc,SAAU9W,GAG5B,OAFA,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,OAEjC,IAAYoa,QAAQ/W,IAC1B,KAAK,IAAYgX,MACjB,KAAK,IAAYC,SACfjX,EAAEkX,iBAEF,IAAQ7X,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,SAQ/C0C,EAAM8X,iBAAmB,SAAUnX,GACjC,IAAQX,EAAM1C,MAAO,eAAgBqD,EAAGX,EAAM1C,QAGzC0C,EAsBT,OAzDA,YAAewX,EAAYzX,GAsCdyX,EAAW3W,UAEjBC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB5E,EAAYH,EAAYG,UACxB+E,EAAWlF,EAAYkF,SACvBnE,EAAU,YAAG,YAAWgE,EAAQ,UAAW,YAAWG,EAAU,YAAa,OAAQ/E,GACrFpD,EAAO,YAAkB0Z,EAAY/W,KAAKnD,OAC1CyE,EAAc,YAAeyV,EAAY/W,KAAKnD,OAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXlB,QAASH,KAAKC,YACdqX,QAAStX,KAAKgX,YACdzR,aAAcvF,KAAKqX,iBACnBpS,KAAM,YAIH8R,EA1DqB,CA2D5B,aAEFA,EAAWjV,aAAe,CAAC,SAAU,KAAM,YAAa,QAAS,UAAW,UAAW,eAAgB,YAEvGiV,EAAWhV,UAuCP,GACJgV,EAAWpV,aAAe,CACxB0K,GAAI,M,kCCpHN,0DAMA,SAASkL,EAAU1a,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBY,EAAU,YAAGZ,GACbpD,EAAO,YAAkBka,EAAW1a,GACpCyE,EAAc,YAAeiW,EAAW1a,GAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGN+W,EAAUzV,aAAe,CAAC,KAAM,WAAY,aAC5CyV,EAAU5V,aAAe,CACvB0K,GAAI,SAENkL,EAAUxV,UASN,GACW,O,kCC/Bf,oDASA,SAASyV,EAAY3a,GACnB,IAAIwP,EAAKxP,EAAMwP,GACXhP,EAAO,YAAkBma,EAAa3a,GAC1C,OAAoB,IAAM2E,cAAc,IAAa,YAAS,GAAInE,EAAM,CACtEgP,GAAIA,KAIRmL,EAAY1V,aAAe,CAAC,MAC5B0V,EAAYzV,UAGR,GACJyV,EAAY7V,aAAe,CACzB0K,GAAI,SAES,O,kCCzBf,+FAWA,SAASoL,EAAY5a,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBC,EAAc/D,EAAM+D,YACpBmQ,EAAQlU,EAAMkU,MACd1P,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,YAAkBoa,EAAa5a,GACtCyE,EAAc,YAAemW,EAAa5a,GAE9C,OAAK,IAAc0E,MAAMf,GAMpB,IAAce,MAAMZ,GAML,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAUI,OAAOsP,EAAO,CAC1BrP,iBAAiB,IACf,IAAgBD,OAAOb,EAAa,CACtCc,iBAAiB,KAVG,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GARgB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAkBRiX,EAAY3V,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,cAAe,SACrF2V,EAAY1V,UAkBR,GACJ0V,EAAYhW,OAAS,YAAuBgW,GAAa,SAAU9W,GACjE,MAAO,CACLA,QAASA,MAGE,O,kCCnEf,uNA+BI+W,EAAkC,SAAUpY,GAG9C,SAASoY,IAGP,IAFA,IAAInY,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GA6BzB,OA1BAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5D2X,gBAAkB,SAAU7T,GAChC,IAAI8T,EAAYrY,EAAM1C,MAAM+a,UACxBC,EAActY,EAAM6E,MAAMyT,YAC9B,OAAID,EAAkB9T,IAAU+T,GAAe,EAAI/T,EAE5C,IAAU+T,EAAa/T,GAAS,IAAS+T,EAAa/T,GAAS,GAAGpH,OAAOmb,EAAa,CAAC/T,KAGhGvE,EAAMuY,iBAAmB,SAAU5X,EAAG4Q,GACpC,IAAIhN,EAAQgN,EAAWhN,MAEvBvE,EAAM+E,SAAS,CACbuT,YAAatY,EAAMoY,gBAAgB7T,KAGrC,IAAQvE,EAAM1C,MAAO,eAAgBqD,EAAG4Q,IAG1CvR,EAAMwY,cAAgB,SAAUjU,GAC9B,IAAI8T,EAAYrY,EAAM1C,MAAM+a,UACxBC,EAActY,EAAM6E,MAAMyT,YAC9B,OAAOD,EAAYC,IAAgB/T,EAAQ,IAAU+T,EAAa/T,IAG7DvE,EAnCT,YAAemY,EAAoBpY,GAsCnC,IAAI2K,EAASyN,EAAmBtX,UA4ChC,OA1CA6J,EAAO+N,8BAAgC,SAAuCnU,GAE5E,MAAO,CACLgU,YAFchU,EAAK+T,WAEO,EAAI,KAIlC3N,EAAO0H,kBAAoB,WACrB,GAKN1H,EAAOC,mBAAqB,WACtB,GAKND,EAAO5J,OAAS,WACd,IAAIyE,EAAS9E,KAETM,EAAcN,KAAKnD,MACnB4D,EAAYH,EAAYG,UACxBD,EAAWF,EAAYE,SACvByX,EAAS3X,EAAY2X,OACrB5W,EAAU,YAAG,YAAaZ,GAC1BpD,EAAO,YAAkBqa,EAAoB1X,KAAKnD,OAClDyE,EAAc,YAAeoW,EAAoB1X,KAAKnD,OAC1D,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAY,IAAKyX,GAAQ,SAAUC,EAAOpU,GAChE,OAAO,IAAerC,OAAOyW,EAAO,CAClCvW,aAAc,CACZ0D,OAAQP,EAAOiT,cAAcjU,GAC7BA,MAAOA,EACPqU,aAAcrT,EAAOgT,uBAGtBtX,IAGAkX,EAnF6B,CAoFpC,KAEFA,EAAmB5V,aAAe,CAAC,cAAe,KAAM,WAAY,YAAa,qBAAsB,YAAa,eAAgB,UAEpI4V,EAAmB3V,UAgCf,GACJ2V,EAAmB/V,aAAe,CAChCiW,WAAW,GAEbF,EAAmBjS,oBAAsB,CAAC,eAC1CiS,EAAmBjW,OAAS,YAAuBiW,GAAoB,SAAU/W,GAC/E,MAAO,CACLA,QAASA,O,kCC9Jb,6FAUA,SAASyX,EAAQvb,GACf,IAAIwI,EAASxI,EAAMwI,OACf7E,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChB0X,EAAUxb,EAAMwb,QAChBhX,EAAU,YAAG,YAAWgE,EAAQ,UAAW,YAAWgT,EAAS,WAAY,MAAO5X,GAClFpD,EAAO,YAAkB+a,EAASvb,GAClCyE,EAAc,YAAe8W,EAASvb,GACtCyb,EAAyB,GAM7B,OAJIhX,IAAgB,MAClBgX,EAAuB9V,SAAW,UAGhB,IAAMhB,cAAcF,EAAa,YAAS,GAAIgX,EAAwBjb,EAAM,CAC9FoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD4X,EAAQtW,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,UAAW,WAC5EsW,EAAQzW,aAAe,CACrB0K,GAAI,IACJhH,QAAQ,GAEV+S,EAAQrW,UAkBJ,GACJqW,EAAQ3W,OAAS,YAAuB2W,GAAS,SAAUzX,GACzD,MAAO,CACLA,QAASA,MAGE,O,kCC3Df,sDAQA,SAAS4X,EAAU1b,GACjB,IAAIqG,EAAOrG,EAAMqG,KACb7F,EAAO,YAAkBkb,EAAW1b,GACxC,OAAoB,IAAM2E,cAAc,IAAO,YAAS,GAAInE,EAAM,CAChE6F,KAAMA,EACNtB,KAAMsB,EACNrB,SAAS,KAIb0W,EAAUzW,aAAe,CAAC,QAC1ByW,EAAUxW,UAGN,GACJwW,EAAU9W,OAAS,YAAuB8W,GAAW,SAAUrJ,GAC7D,MAAO,CACLA,IAAKA,MAGM,O,kCC5Bf,kHAaA,SAASsJ,EAAY3b,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBC,EAAc/D,EAAM+D,YACpBC,EAAQhE,EAAMgE,MACdE,EAASlE,EAAMkE,OACfI,EAAOtE,EAAMsE,KACbiL,EAAgBvP,EAAMuP,cACtB/K,EAAU,YAAG,YAAqB+K,GAAgB,UAAW3L,GAC7DpD,EAAO,YAAkBmb,EAAa3b,GACtCyE,EAAc,YAAekX,EAAa3b,GAE9C,OAAK,IAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAWI,OAAOV,EAAQ,CAC5BW,iBAAiB,IACf,IAASD,OAAON,EAAM,CACxBO,iBAAiB,IACf,IAAgBD,OAAOb,EAAa,CACtCc,iBAAiB,IACf,IAAUD,OAAOZ,EAAO,CAC1Ba,iBAAiB,IACff,GAfkB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAgBRgY,EAAY1W,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,cAAe,QAAS,SAAU,OAAQ,iBAChH0W,EAAYzW,UA2BR,GACW,O,kCC1Ef,mFASA,SAAS0W,EAAe5b,GACtB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBiU,EAAO/X,EAAM+X,KACbvT,EAAU,YAAG,YAAWuT,EAAM,QAAS,QAASnU,GAChDpD,EAAO,YAAkBob,EAAgB5b,GACzCyE,EAAc,YAAemX,EAAgB5b,GACjD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDiY,EAAe3W,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QACzE2W,EAAe1W,UAeX,GACJ0W,EAAehX,OAAS,YAAuBgX,GAAgB,SAAU9X,GACvE,MAAO,CACLA,QAASA,MAGE,O,kCC5Cf,2EASA,SAAS+X,EAAe7b,GACtB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,QAASZ,GACtBpD,EAAO,YAAkBqb,EAAgB7b,GACzCyE,EAAc,YAAeoX,EAAgB7b,GACjD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDkY,EAAe5W,aAAe,CAAC,KAAM,WAAY,YAAa,WAC9D4W,EAAe3W,UAYX,GACJ2W,EAAejX,OAAS,YAAuBiX,GAAgB,SAAU/X,GACvE,MAAO,CACLA,QAASA,MAGE,O,kCCxCf,0EAUA,SAASgY,EAAU9b,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBuC,EAAOrG,EAAMqG,KACb7B,EAAU,YAAG6B,EAAM,QAASzC,GAC5BpD,EAAO,YAAkBsb,EAAW9b,GACpCyE,EAAc,YAAeqX,EAAW9b,GAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDmY,EAAU7W,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QACpE6W,EAAU5W,UAeN,GACJ4W,EAAUhX,aAAe,CACvB0K,GAAI,KAES,O,kCC3Cf,0EASA,SAASuM,EAAe/b,GACtB,IAAIyZ,EAAWzZ,EAAMyZ,SACjB7V,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjBG,EAAU9D,EAAM8D,QAChBkY,EAAShc,EAAMgc,OACfxX,EAAU,YAAG,YAAWiV,EAAU,YAAa,YAAWuC,EAAQ,UAAW,WAAYpY,GACzFpD,EAAO,YAAkBub,EAAgB/b,GACzCyE,EAAc,YAAesX,EAAgB/b,GACjD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDoY,EAAe9W,aAAe,CAAC,KAAM,WAAY,WAAY,YAAa,UAAW,UACrF8W,EAAe7W,UAkBX,GACW,O,kCC3Cf,kEASA,SAAS+W,EAAWjc,GAClB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBuC,EAAOrG,EAAMqG,KACb7B,EAAU,YAAG,KAAM6B,EAAMzC,EAAW,UACpCpD,EAAO,YAAkByb,EAAYjc,GACrCyE,EAAc,YAAewX,EAAYjc,GAC7C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDsY,EAAWhX,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QACrEgX,EAAW/W,UAeP,GACW,O,kCCvCf,0EASA,SAASgX,EAAWlc,GAClB,IAAI2D,EAAW3D,EAAM2D,SACjBiO,EAAW5R,EAAM4R,SACjBhO,EAAY5D,EAAM4D,UAClBC,EAAQ7D,EAAM6D,MACdC,EAAU9D,EAAM8D,QAChBuC,EAAOrG,EAAMqG,KACb8V,EAAMnc,EAAMmc,IACZ3X,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAWuL,EAAU,YAAa,YAAWuK,EAAK,OAAQ,SAAUvY,GACpGpD,EAAO,YAAkB0b,EAAYlc,GACrCyE,EAAc,YAAeyX,EAAYlc,GAC7C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDuY,EAAWjX,aAAe,CAAC,KAAM,WAAY,WAAY,YAAa,QAAS,UAAW,OAAQ,OAClGiX,EAAWhX,UAwBP,GACW,O,kCCnDf,oEAYA,SAASkX,EAAWpc,GAClB,IAAIqc,EAAUrc,EAAMqc,QAChB7b,EAAO,YAAkB4b,EAAYpc,GACrCyE,EAAc,YAAe2X,EAAYpc,GAC7C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtE6b,QAASA,KAIbD,EAAWnX,aAAe,CAAC,KAAM,WACjCmX,EAAWlX,UAMP,GACJkX,EAAWtX,aAAe,CACxB0K,GAAI,IACJ6M,QAAS,KAEI,O,kCCjCf,0EASA,SAASC,EAActc,GACrB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBiC,EAAS/F,EAAM+F,OACfQ,EAAUvG,EAAMuG,QAChB/B,EAAU,YAAG,YAAW+B,EAAS,WAAY,YAAWR,EAAQ,UAAW,UAAWnC,GACtFpD,EAAO,YAAkB8b,EAAetc,GACxCyE,EAAc,YAAe6X,EAAetc,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD2Y,EAAcrX,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,SAAU,WAClFqX,EAAcpX,UAkBV,GACW,O,kCC3Cf,uHAYA,SAASqX,EAAYvc,GACnB,IAAI2F,EAAW3F,EAAM2F,SACjBqG,EAAQhM,EAAMgM,MACdwQ,EAAUxc,EAAMwc,QAChB7Y,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBC,EAAQ7D,EAAM6D,MACd+B,EAAU5F,EAAM4F,QAChB9B,EAAU9D,EAAM8D,QAChB6L,EAAU3P,EAAM2P,QAChB1L,EAAQjE,EAAMiE,MACd+B,EAAOhG,EAAMgG,KACbkG,EAAWlM,EAAMkM,SACjBuQ,EAAUzc,EAAMyc,QAChBtW,EAAWnG,EAAMmG,SACjBC,EAAWpG,EAAMoG,SACjBsW,EAAU1c,EAAM0c,QAChBC,EAAY3c,EAAM2c,UAClBtW,EAAOrG,EAAMqG,KACbuW,EAAS5c,EAAM4c,OACfC,EAAW7c,EAAM6c,SACjBC,EAAS9c,EAAM8c,OACftY,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAW2F,EAAO,SAAU,YAAWpG,EAAS,WAAY,YAAW3B,EAAO,SAAU,YAAW+B,EAAM,QAAS,YAAWkG,EAAU,YAAa,YAAWuQ,EAAS,WAAY,YAAWtW,EAAU,YAAa,YAAWC,EAAU,YAAa,YAAWsW,EAAS,WAAY,YAAWC,EAAW,aAAc,YAAWC,EAAQ,UAAW,YAAWC,EAAU,YAAa,YAAoBlX,EAAU,YAAa,YAAegK,EAAS,WAAY,YAAamN,GAAS,UAAWlZ,GAC5gBpD,EAAO,YAAkB+b,EAAavc,GACtCyE,EAAc,YAAe8X,EAAavc,GAE9C,OAAI,IAAOwc,GACW,IAAM7X,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAG5B,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAKgY,GAAS,SAAUO,GAC1B,OAAO,IAAOnY,OAAOmY,OAIzBR,EAAYtX,aAAe,CAAC,KAAM,WAAY,QAAS,UAAW,WAAY,YAAa,QAAS,UAAW,UAAW,UAAW,QAAS,OAAQ,WAAY,UAAW,WAAY,WAAY,UAAW,YAAa,OAAQ,SAAU,WAAY,UAC3PsX,EAAYrX,UAkER,GACW,O,kCCvHf,0DASA,SAAS8X,EAAShd,GAChB,IAAI4D,EAAY5D,EAAM4D,UAClBmU,EAAO/X,EAAM+X,KACbvT,EAAU,YAAG,KAAMZ,GACnBpD,EAAO,YAAkBwc,EAAUhd,GACnCyE,EAAc,YAAeuY,EAAUhd,GAC3C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACX,YAAauT,KAIjBiF,EAAS/X,aAAe,CAAC,KAAM,YAAa,QAC5C+X,EAAS9X,UASL,GACW,O,kCChCf,qEAYA,SAAS+X,EAAajd,GACpB,IAAIqc,EAAUrc,EAAMqc,QAChB7b,EAAO,YAAkByc,EAAcjd,GACvCyE,EAAc,YAAewY,EAAcjd,GAC/C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtE6b,QAASA,KAIbY,EAAahY,aAAe,CAAC,KAAM,WACnCgY,EAAa/X,UAMT,GACJ+X,EAAanY,aAAe,CAC1B0K,GAAI,IACJ6M,QAAS,KAEI,O,kCCjCf,oEAYA,SAASa,EAAald,GACpB,IAAIqc,EAAUrc,EAAMqc,QAChB7b,EAAO,YAAkB0c,EAAcld,GACvCyE,EAAc,YAAeyY,EAAcld,GAC/C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtE6b,QAASA,KAIba,EAAajY,aAAe,CAAC,KAAM,WACnCiY,EAAahY,UAMT,GACJgY,EAAapY,aAAe,CAC1B0K,GAAI,IACJ6M,QAAS,KAEI,O,kCCjCf,0DASA,SAASc,EAAgBnd,GACvB,IAAI4D,EAAY5D,EAAM4D,UAClBY,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,YAAkB2c,EAAiBnd,GAC1CyE,EAAc,YAAe0Y,EAAiBnd,GAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,KAIf2Y,EAAgBlY,aAAe,CAAC,KAAM,aACtCkY,EAAgBjY,UAMZ,GACW,O,kCC3Bf,kEAUA,SAASkY,EAAUpd,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClByZ,EAAUrd,EAAMqd,QAChBvL,EAAS9R,EAAM8R,OACfwL,EAActd,EAAMsd,YACpBR,EAAS9c,EAAM8c,OACftY,EAAU,YAAG,YAAW6Y,EAAS,WAAY,YAAWvL,EAAQ,UAAW,YAAWwL,EAAa,eAAgB,YAAaR,EAAQ,MAAM,GAAO,SAAUlZ,GAC/JpD,EAAO,YAAkB4c,EAAWpd,GACpCyE,EAAc,YAAe2Y,EAAWpd,GAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGNyZ,EAAUnY,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,SAAU,cAAe,UAC7FmY,EAAUlY,UAqBN,GACW,O,kCChDf,qEAYA,SAASqY,EAAUvd,GACjB,IAAIqc,EAAUrc,EAAMqc,QAChB7b,EAAO,YAAkB+c,EAAWvd,GACpCyE,EAAc,YAAe8Y,EAAWvd,GAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtE6b,QAASA,KAIbkB,EAAUtY,aAAe,CAAC,KAAM,WAChCsY,EAAUrY,UAMN,GACJqY,EAAUzY,aAAe,CACvB0K,GAAI,IACJ6M,QAAS,KAEI,O,kCCjCf,qEAYA,SAASmB,EAAUxd,GACjB,IAAIqc,EAAUrc,EAAMqc,QAChB7b,EAAO,YAAkBgd,EAAWxd,GACpCyE,EAAc,YAAe+Y,EAAWxd,GAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtE6b,QAASA,KAIbmB,EAAUvY,aAAe,CAAC,KAAM,WAChCuY,EAAUtY,UAMN,GACJsY,EAAU1Y,aAAe,CACvB0K,GAAI,IACJ6M,QAAS,KAEI,O,kCCjCf,qEAaA,SAASoB,EAAWzd,GAClB,IAAIqc,EAAUrc,EAAMqc,QAChBpc,EAAUD,EAAMC,QAChBO,EAAO,YAAkBid,EAAYzd,GACrCyE,EAAc,YAAegZ,EAAYzd,GAC7C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtE6b,QAASA,EACTpc,QAASA,KAIbwd,EAAWxY,aAAe,CAAC,KAAM,UAAW,WAC5CwY,EAAWvY,UASP,GACJuY,EAAW3Y,aAAe,CACxB0K,GAAI,IACJ6M,QAAS,KAEI,O,kCCvCf,qEAYA,SAASqB,EAAa1d,GACpB,IAAIqc,EAAUrc,EAAMqc,QAChB7b,EAAO,YAAkBkd,EAAc1d,GACvCyE,EAAc,YAAeiZ,EAAc1d,GAC/C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtE6b,QAASA,KAIbqB,EAAazY,aAAe,CAAC,KAAM,WACnCyY,EAAaxY,UAMT,GACJwY,EAAa5Y,aAAe,CAC1B0K,GAAI,IACJ6M,QAAS,KAEI,O,kCCjCf,kEASA,SAASsB,EAAiB3d,GACxB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,cAAeZ,GAC5BpD,EAAO,YAAkBmd,EAAkB3d,GAC3CyE,EAAc,YAAekZ,EAAkB3d,GACnD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDga,EAAiB1Y,aAAe,CAAC,KAAM,WAAY,YAAa,WAChE0Y,EAAiBzY,UAYb,GACW,O,kCCnCf,0EASA,SAAS0Y,EAAS5d,GAChB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBtD,EAAO,YAAkBod,EAAU5d,GACnCyE,EAAc,YAAemZ,EAAU5d,GACvCwE,EAAU,YAAG,YAA2B,OAAhBC,GAAwC,OAAhBA,EAAsB,QAASb,GACnF,OAAoB,IAAMe,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDia,EAAS3Y,aAAe,CAAC,KAAM,WAAY,YAAa,WACxD2Y,EAAS1Y,UAYL,GACW,O,kCCnCf,kFAUA,SAAS2Y,EAAa7d,GACpB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBgC,EAAU5F,EAAM4F,QAChB9B,EAAU9D,EAAM8D,QAChB6S,EAAa3W,EAAM2W,WACnBmH,EAAQ9d,EAAM8d,MACdvZ,EAASvE,EAAMuE,OACf8B,EAAOrG,EAAMqG,KACb0X,EAAU/d,EAAM+d,QAChBvZ,EAAU,YAAG,KAAM6B,EAAM,YAAWT,EAAS,WAAY,YAAW+Q,EAAY,cAAe,YAAWmH,EAAO,SAAU,YAAWvZ,EAAQ,UAAW,YAAWwZ,EAAS,WAAY,WAAYna,GACrMpD,EAAO,YAAkBqd,EAAc7d,GACvCyE,EAAc,YAAeoZ,EAAc7d,GAC/C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDka,EAAa5Y,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,UAAW,aAAc,QAAS,SAAU,OAAQ,WAC3H4Y,EAAa3Y,UA8BT,GACW,O,kCC5Df,kEASA,SAAS8Y,EAAche,GACrB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkBwd,EAAehe,GACxCyE,EAAc,YAAeuZ,EAAehe,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDqa,EAAc/Y,aAAe,CAAC,KAAM,WAAY,YAAa,WAC7D+Y,EAAc9Y,UAYV,GACW,O,kCCnCf,kEASA,SAAS+Y,EAAQje,GACf,IAAI0D,EAAW1D,EAAM0D,SACjBC,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBC,EAAQ7D,EAAM6D,MACdqa,EAAUle,EAAMke,QAChBxH,EAAU1W,EAAM0W,QAChB5G,EAAO9P,EAAM8P,KACbqO,EAAWne,EAAMme,SACjBpO,EAAY/P,EAAM+P,UAClBT,EAAYtP,EAAMsP,UAClBC,EAAgBvP,EAAMuP,cACtB/K,EAAU,YAAGX,EAAO,YAAWH,EAAU,YAAa,YAAWgT,EAAS,WAAY,YAAW3G,EAAW,aAAc,YAAgBD,EAAM,QAAS,YAAgBqO,EAAU,YAAa,YAAiB7O,GAAY,YAAqBC,GAAgB,YAAa2O,EAAS,UAAU,GAAO,MAAOta,GAChTpD,EAAO,YAAkByd,EAASje,GAClCyE,EAAc,YAAewZ,EAASje,GAC1C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGNsa,EAAQhZ,aAAe,CAAC,KAAM,WAAY,WAAY,YAAa,QAAS,UAAW,UAAW,OAAQ,WAAY,YAAa,YAAa,iBAChJgZ,EAAQ/Y,UAoCJ,GACW,O,kCCnEf,8GAYA,SAASkZ,EAAUpe,GACjB,IAAI0D,EAAW1D,EAAM0D,SACjBC,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBua,EAAWre,EAAMqe,SACjBzH,EAAQ5W,EAAM4W,MACd0H,EAActe,EAAMse,YACpBC,EAAYve,EAAMue,UAClBjP,EAAYtP,EAAMsP,UAClB9K,EAAU,YAAG,KAAM,YAAWd,EAAU,YAAa,YAAW2a,EAAU,YAAa,YAAWE,EAAW,aAAc,YAAiBjP,GAAY,YAAagP,GAAc,QAAS1a,GAC5LpD,EAAO,YAAkB4d,EAAWpe,GACpCyE,EAAc,YAAe2Z,EAAWpe,GAE5C,IAAK,IAAc0E,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGN,IAAK,IAAce,MAAMZ,GACvB,OAAoB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GAGN,IAAI0a,EAAW,IAAK5H,GAAO,SAAUI,GACnC,IAAIvO,EAAMuO,EAAKvO,KAAO,CAACuO,EAAK9S,OAAQ8S,EAAKjT,aAAa+R,KAAK,KAC3D,OAAoB,IAAMnR,cAAc,IAAM,YAAS,CACrD8D,IAAKA,GACJuO,OAGL,OAAoB,IAAMrS,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTga,GAGNJ,EAAUnZ,aAAe,CAAC,KAAM,WAAY,WAAY,YAAa,UAAW,WAAY,QAAS,cAAe,YAAa,aACjImZ,EAAUlZ,UA8BN,GACW,O,kCClFf,kEASA,SAASuZ,EAAWze,GAClB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,YAAkBie,EAAYze,GACrCyE,EAAc,YAAega,EAAYze,GAC7C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD8a,EAAWxZ,aAAe,CAAC,KAAM,WAAY,YAAa,WAC1DwZ,EAAWvZ,UAYP,GACW,O,kCCnCf,kEASA,SAASwZ,EAAS1e,GAChB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBmK,EAAWjO,EAAMiO,SACjBzJ,EAAU,YAAGyJ,EAAU,OAAQrK,GAC/BpD,EAAO,YAAkBke,EAAU1e,GACnCyE,EAAc,YAAeia,EAAU1e,GAC3C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD+a,EAASzZ,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,YACnEyZ,EAASxZ,UAeL,GACW,O,kCCvCf,oEAUA,SAASyZ,EAAgB3e,GACvB,IAAIwP,EAAKxP,EAAMwP,GACX5L,EAAY5D,EAAM4D,UAClBgb,EAAS5e,EAAM4e,OACfpa,EAAU,YAAG,YAAeoa,EAAQ,UAAWhb,GAC/CpD,EAAO,YAAkBme,EAAiB3e,GAC9C,OAAoB,IAAM2E,cAAc,IAAW,YAAS,GAAInE,EAAM,CACpEgP,GAAIA,EACJ5L,UAAWY,KAIfma,EAAgB1Z,aAAe,CAAC,KAAM,YAAa,UACnD0Z,EAAgBzZ,UASZ,GACJyZ,EAAgB7Z,aAAe,CAC7B0K,GAAI,MAES,O,kCCpCf,0EASA,SAASqP,EAAkB7e,GACzB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBM,EAAQpE,EAAMoE,MACdI,EAAU,YAAG,YAAWJ,EAAO,SAAU,SAAUR,GACnDpD,EAAO,YAAkBqe,EAAmB7e,GAC5CyE,EAAc,YAAeoa,EAAmB7e,GACpD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDkb,EAAkB5Z,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,SAC5E4Z,EAAkB3Z,UAed,GACW,O,kCCvCf,kEASA,SAAS4Z,EAAiB9e,GACxB,IAAI4D,EAAY5D,EAAM4D,UAClBmb,EAAS/e,EAAM+e,OACfC,EAAchf,EAAMgf,YACpBxa,EAAU,YAAG,YAAWua,EAAQ,UAAW,YAAWC,EAAa,eAAgB,QAASpb,GAC5FpD,EAAO,YAAkBse,EAAkB9e,GAC3CyE,EAAc,YAAeqa,EAAkB9e,GACnD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,KAIfsa,EAAiB7Z,aAAe,CAAC,KAAM,YAAa,cAAe,UACnE6Z,EAAiB5Z,UAYb,GACW,O,kCCnCf,0DASA,SAAS+Z,EAAgBjf,GACvB,IAAI4D,EAAY5D,EAAM4D,UAClBf,EAAS7C,EAAM6C,OACf2B,EAAU,YAAG,OAAQ3B,EAAQe,GAC7BpD,EAAO,YAAkBye,EAAiBjf,GAC1CyE,EAAc,YAAewa,EAAiBjf,GAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,KAIfya,EAAgBha,aAAe,CAAC,KAAM,YAAa,UACnDga,EAAgB/Z,UASZ,GACW,O,kCC/Bf,kEASA,SAASga,EAAqBlf,GAC5B,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,YAAaZ,GAC1BpD,EAAO,YAAkB0e,EAAsBlf,GAC/CyE,EAAc,YAAeya,EAAsBlf,GACvD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDub,EAAqBja,aAAe,CAAC,KAAM,WAAY,YAAa,WACpEia,EAAqBha,UAYjB,GACW,O,kCCnCf,qIAkBA,SAASia,EAAUnf,GACjB,IAAI2F,EAAW3F,EAAM2F,SACjBhC,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBG,EAAQjE,EAAMiE,MACd2S,EAAQ5W,EAAM4W,MACdC,EAAU7W,EAAM6W,QAChBxQ,EAAOrG,EAAMqG,KACbkY,EAAYve,EAAMue,UAClBjB,EAActd,EAAMsd,YACpBT,EAAW7c,EAAM6c,SACjBC,EAAS9c,EAAM8c,OACftY,EAAU,YAAG,KAAM6B,EAAM,YAAWpC,EAAO,SAAU,YAAW4S,EAAS,WAAY,YAAWyG,EAAa,eAAgB,YAAWT,EAAU,YAAa,YAAoBlX,EAAU,YAAa,YAAe4Y,EAAW,aAAc,YAAazB,GAAS,QAASlZ,GACjRpD,EAAO,YAAkB2e,EAAWnf,GACpCyE,EAAc,YAAe0a,EAAWnf,GAE5C,OAAK,IAAc0E,MAAMf,GAMpB,IAAce,MAAMZ,GAML,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAKoS,GAAO,SAAUI,GACxB,OAAO,IAAKpS,OAAOoS,OARC,IAAMrS,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GARgB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAgBRwb,EAAUla,aAAe,CAAC,KAAM,WAAY,WAAY,YAAa,UAAW,QAAS,QAAS,UAAW,OAAQ,YAAa,cAAe,WAAY,UAC7Jka,EAAUja,UAuCN,GACW,O,kCC/Ff,kEASA,SAASka,EAAgBpf,GACvB,IAAI4D,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjBG,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,WAAYZ,GACzBpD,EAAO,YAAkB4e,EAAiBpf,GAC1CyE,EAAc,YAAe2a,EAAiBpf,GAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDyb,EAAgBna,aAAe,CAAC,KAAM,WAAY,YAAa,WAC/Dma,EAAgBla,UAYZ,GACW,O,kCCnCf,0EASA,SAASma,EAAcrf,GACrB,IAAI4D,EAAY5D,EAAM4D,UAClBoY,EAAShc,EAAMgc,OACfrY,EAAW3D,EAAM2D,SACjBG,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAU,YAAWwX,EAAQ,UAAWpY,GACrDpD,EAAO,YAAkB6e,EAAerf,GACxCyE,EAAc,YAAe4a,EAAerf,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD0b,EAAcpa,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,UACxEoa,EAAcna,UAeV,GACW,O,kCCvCf,8GAYA,SAASoa,EAAUtf,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChB4S,EAAU1W,EAAM0W,QAChBE,EAAQ5W,EAAM4W,MACdvS,EAAOrE,EAAMqE,KACbyS,EAAU9W,EAAM8W,QAChBwG,EAActd,EAAMsd,YACpB9Y,EAAU,YAAG,KAAM,YAAWkS,EAAS,WAAY,YAAWrS,EAAM,QAAS,YAAWiZ,EAAa,eAAgB,YAAoBxG,EAAS,WAAY,QAASlT,GACvKpD,EAAO,YAAkB8e,EAAWtf,GACpCyE,EAAc,YAAe6a,EAAWtf,GAE5C,IAAK,IAAc0E,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGN,IAAK,IAAce,MAAMZ,GACvB,OAAoB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GAGN,IAAI0a,EAAW,IAAK5H,GAAO,SAAUI,GACnC,IAAIuI,EAAWvI,EAAKuI,SAChBjJ,EAAY,YAA8BU,EAAM,CAAC,aAEjDwI,EAAWD,GAAY,CAACjJ,EAAUxS,QAASwS,EAAUvS,YAAauS,EAAUpS,OAAQoS,EAAUhS,MAAMwR,KAAK,KAC7G,OAAoB,IAAMnR,cAAc,IAAM,YAAS,GAAI2R,EAAW,CACpE7N,IAAK+W,QAIT,OAAoB,IAAM7a,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTga,GAGNc,EAAUra,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,UAAW,QAAS,OAAQ,UAAW,eAC3Gqa,EAAUpa,UA2BN,GACW,O,kCCjFf,8GAYA,SAASua,EAAezf,GACtB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBC,EAAQ7D,EAAM6D,MACdC,EAAU9D,EAAM8D,QAChB6S,EAAa3W,EAAM2W,WACnBzK,EAAWlM,EAAMkM,SACjB0K,EAAQ5W,EAAM4W,MACdvQ,EAAOrG,EAAMqG,KACbyW,EAAS9c,EAAM8c,OACftY,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAWsQ,EAAY,cAAe,YAAWzK,EAAU,YAAa,YAAa4Q,GAAS,aAAclZ,GAC5IpD,EAAO,YAAkBif,EAAgBzf,GACzCyE,EAAc,YAAegb,EAAgBzf,GAEjD,OAAK,IAAc0E,MAAMf,GAMpB,IAAce,MAAMZ,GAML,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAKoS,GAAO,SAAUI,GACxB,OAAO,IAAUpS,OAAOoS,OARJ,IAAMrS,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GARgB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAgBR8b,EAAexa,aAAe,CAAC,KAAM,WAAY,YAAa,QAAS,UAAW,aAAc,WAAY,QAAS,OAAQ,UAC7Hwa,EAAeva,UA8BX,GACW,O,6QChEJ,EAAkB,SAAyBvB,GACpD,OAAO,IAAO,IAAQ,WAAS+b,QAAQ/b,GAAW,kBAAiB,QAsBjE,EAAW,SAAkB8E,EAAKkX,EAAMC,GAC1C,OAAO,IAAKA,EAAMnX,GAAOmX,EAAKnX,GAAOkX,EAAKlX,IAajC,EAAqB,SAA4BkX,EAAMC,QACnD,IAATD,IACFA,EAAO,SAGI,IAATC,IACFA,EAAO,IAGT,IAAIC,EAAe,GAEfC,EA5Ce,SAAwBH,EAAMC,GACjD,IAAIG,EAAkB,GAClBC,EAAc,GAclB,OAZA,IAAS,IAAML,IAAO,SAAUM,GACzB,IAAKL,EAAMK,GAKZD,EAAYnd,SACdkd,EAAgBE,GAAWD,EAC3BA,EAAc,IANdA,EAAYE,KAAKD,MAUd,CAACF,EAAiBC,GA4BH,CAAeL,EAAMC,GACvCG,EAAkBD,EAAgB,GAClCE,EAAcF,EAAgB,GAgBlC,OAdA,IAAS,IAAMF,IAAO,SAAUO,GAC1B,IAAKJ,EAAiBI,IACxB,IAASJ,EAAgBI,IAAU,SAAUC,GAC3CP,EAAaO,GAAc,EAASA,EAAYT,EAAMC,MAI1DC,EAAaM,GAAW,EAASA,EAASR,EAAMC,MAGlD,IAASI,GAAa,SAAUI,GAC9BP,EAAaO,GAAc,EAASA,EAAYT,EAAMC,MAGjDC,G,UChEM,SAASQ,EAAUC,EAAOC,EAAQtgB,QAC/B,IAAZA,IACFA,EAAU,IAGZ,IAAIwI,EAAM6X,EAAM7X,IACZvI,EAAWD,EACXugB,EAAYtgB,EAASsgB,UACrBC,EAAcvgB,EAASugB,YACvBC,EAAWxgB,EAASwgB,SACpBC,EAAwBzgB,EAAS0gB,kBACjCA,OAA8C,IAA1BD,GAA2CA,EAC/DE,EAAmB3gB,EAASqG,QAC5BA,OAA+B,IAArBsa,GAAqCA,EACnD,OAAoB,IAAMlc,cAAcmc,EAAA,EAAY,CAClDN,UAAWA,EACXC,YAAaA,EACbC,SAAUA,EACVjY,IAAKA,EACL8X,OAAQA,EACRQ,SAAUtY,EACVmY,kBAAmBA,EACnBra,QAASA,GACR+Z,GAELD,EAAUpb,aAAe,GCxBzB,IAAI,EAA+B,SAAU+L,GAG3C,SAASgQ,IAGP,IAFA,IAAIte,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAmBzB,OAhBAN,EAAQsO,EAAiB/N,KAAKC,MAAM8N,EAAkB,CAAC7N,MAAMtD,OAAOiD,KAAUK,MACxEoE,MAAQ,CAEZ0Z,aAAc,SAAsBC,EAASC,GAC3C,IAAIJ,EAAWI,EAAWJ,SAE1Bre,EAAM+E,UAAS,SAAUF,GACvB,IAAI5D,EAAW,YAAS,GAAI4D,EAAM5D,UAGlC,cADOA,EAASod,GACT,CACLpd,SAAUA,QAKXjB,EAkFT,OA3GA,YAAese,EAAiBhQ,GA4BhCgQ,EAAgBlU,yBAA2B,SAAkC9M,EAAOuH,GAClF,IAAIiZ,EAAYxgB,EAAMwgB,UAClBE,EAAW1gB,EAAM0gB,SACjBD,EAAczgB,EAAMygB,YACpBW,EAAc7Z,EAAM5D,SAExB,QAA2B,IAAhByd,EACT,MAAO,CACLzd,SAAU,IAAW,EAAgB3D,EAAM2D,WAAW,SAAU2c,GAC9D,OAAOD,EAAUC,EAAO/Y,EAAM0Z,aAAc,CAC1CT,UAAWA,EACXE,SAAUA,EACVD,YAAaA,QAMrB,IAAIY,EAAc,EAAgBrhB,EAAM2D,UACpCA,EAAW,EAAmByd,EAAaC,GA8C/C,OA5CA,IAAS1d,GAAU,SAAU2c,EAAO7X,GAClC,IAAI6Y,EAAU,IAAKF,EAAa3Y,GAE5B8Y,EAAU,IAAKF,EAAa5Y,GAE5B+Y,EAAYJ,EAAY3Y,GACxBgZ,GAAa,IAAKD,EAAW,iBAGjC,IAAID,GAAaD,IAAWG,EAa5B,GAAKF,IAAWD,GAAYG,EAA5B,CAUA,IAAIC,EAAmBF,EAAUxhB,MAC7BuG,EAAUmb,EAAiBnb,QAC3Bqa,EAAoBc,EAAiBd,kBACzCjd,EAAS8E,GAAO4X,EAAUC,EAAO/Y,EAAM0Z,aAAc,CACnDT,UAAWA,EACXE,SAAUA,EACVD,YAAaA,EACbG,kBAAmBA,EACnBra,QAASA,SAjBT5C,EAAS8E,GAAoB,IAAMkZ,aAAaH,EAAW,CACzDjb,SAAS,SAdX5C,EAAS8E,GAAO4X,EAAUC,EAAO/Y,EAAM0Z,aAAc,CACnDT,UAAWA,EACXE,SAAUA,EACVD,YAAaA,EACbG,mBAAmB,OA8BlB,CACLjd,SAAUA,IAIDqd,EAAgBzd,UAEtBC,OAAS,WACd,IAAIG,EAAWR,KAAKoE,MAAM5D,SACtBc,EAAc,OAAA4H,EAAA,GAAe2U,EAAiB7d,KAAKnD,OACnDQ,EAAO,OAAAwM,EAAA,GAAkBgU,EAAiB7d,KAAKnD,OACnD,OAAoB,IAAM2E,cAAcF,EAAajE,EAAM,IAAQmD,KAG9Dqd,EA5G0B,CA6GjC,IAAMxP,WAER,EAAgBvM,aAAe,CAAC,YAAa,KAAM,WAAY,cAAe,YAE9E,EAAgBC,UAkBZ,GACJ,EAAgBJ,aAAe,CAC7B0K,GAAI,IAAM7C,SACV6T,UAAW,OACXE,SAAU,M,kCCjJI,kBACd,MAA2B,iBAAbA,GAA6C,iBAAbA,EAAwBA,EAAWA,EAAS1e,K,0GCF7E,EADiB,OAAAM,EAAA,KAAiD,IAAMsf,gBAAkB,IAAMhI,UCD3GiI,EAAyB,MA0C7B,IAAIC,EAAiB,IAAIC,IAMdC,EAAyB,SAAgCrP,EAAMsP,GACxE,IAAIC,EAxCC,SAA2BD,GAChC,IAAIE,EAAa,GAEjB,OAAIF,GACFA,EAAcG,SAAQ,SAAUC,GACM,iBAAzBA,EAAajZ,SACCiZ,EAAajZ,QAAQwM,MAAMiM,GACjCO,SAAQ,SAAUxe,GACjCue,EAAWjC,KAAKtc,SAIfue,EAAWG,QAAO,SAAU1e,EAAW2E,EAAGga,GAC/C,OAAO3e,EAAUf,OAAS,GAAK0f,EAAMC,QAAQ5e,KAAe2E,MAIzD,GAuBiBka,CAAkBR,GAEtCS,EAhBC,SAAqCZ,EAAgBI,GAC1D,MAAO,CAACA,EAAkBI,QAAO,SAAU1e,GACzC,OAA8C,IAAvCke,EAAeU,QAAQ5e,MAC5Bke,EAAeQ,QAAO,SAAU1e,GAClC,OAAiD,IAA1Cse,EAAkBM,QAAQ5e,OAYP+e,CAA4Bb,EAAezY,IAAIsJ,IAAS,GAAIuP,GACpFU,EAASF,EAAsB,GAC/BG,EAAaH,EAAsB,GAEnC/P,IACFiQ,EAAOR,SAAQ,SAAUxe,GACvB,OAAO+O,EAAKmQ,UAAUC,IAAInf,MAE5Bif,EAAWT,SAAQ,SAAUxe,GAC3B,OAAO+O,EAAKmQ,UAAUE,OAAOpf,OAIjCke,EAAemB,IAAItQ,EAAMuP,IA2CvBgB,EAAe,IAzCO,WACxB,IAAIxgB,EAAQS,KAEZA,KAAK4f,IAAM,SAAUpQ,EAAM0P,GACzB,GAAI3f,EAAMygB,MAAMC,IAAIzQ,GAApB,CACajQ,EAAMygB,MAAM9Z,IAAIsJ,GAEtBoQ,IAAIV,OAHX,CASA,IAAIY,EAAM,IAAII,IACdJ,EAAIF,IAAIV,GAER3f,EAAMygB,MAAMF,IAAItQ,EAAMsQ,KAGxB9f,KAAKmgB,IAAM,SAAU3Q,EAAM0P,GACzB,GAAK3f,EAAMygB,MAAMC,IAAIzQ,GAArB,CAIA,IAAIsQ,EAAMvgB,EAAMygB,MAAM9Z,IAAIsJ,GAET,IAAbsQ,EAAI5c,KAMR4c,EAAIM,OAAOlB,GALT3f,EAAMygB,MAAMI,OAAO5Q,KAQvBxP,KAAKqgB,KAAO,SAAU7Q,EAAM8Q,GAC1BA,EAAS9Q,EAAMjQ,EAAMygB,MAAM9Z,IAAIsJ,KAGjCxP,KAAKggB,MAAQ,IAAIpB,KAWJ,SAAS2B,EAAoB/Q,EAAM/O,GAChD,IAAIye,EAAe,IAAM3I,SACrBiK,EAAY,IAAMjK,QAAO,GAC7B,GAA0B,WAGxB,GAFA2I,EAAajZ,QAAUxF,EAEnB+f,EAAUva,QAAS,CACrB,IAAIwa,EAAU,YAAYjR,GAAQA,EAAKvJ,QAAUuJ,EACjDuQ,EAAaM,KAAKI,EAAS5B,GAG7B2B,EAAUva,SAAU,IACnB,CAACxF,IACJ,GAA0B,WACxB,IAAIggB,EAAU,YAAYjR,GAAQA,EAAKvJ,QAAUuJ,EAGjD,OAFAuQ,EAAaH,IAAIa,EAASvB,GAC1Ba,EAAaM,KAAKI,EAAS5B,GACpB,WACLkB,EAAaI,IAAIM,EAASvB,GAC1Ba,EAAaM,KAAKI,EAAS5B,MAE5B,CAACrP,M,kCC5IN,sGAYA,SAASkR,EAAQ7jB,GACf,IAAI2F,EAAW3F,EAAM2F,SACjBqG,EAAQhM,EAAMgM,MACdrI,EAAW3D,EAAM2D,SACjBiO,EAAW5R,EAAM4R,SACjBhO,EAAY5D,EAAM4D,UAClBkgB,EAAW9jB,EAAM8jB,SACjBjgB,EAAQ7D,EAAM6D,MACd+B,EAAU5F,EAAM4F,QAChB9B,EAAU9D,EAAM8D,QAChBqD,EAAWnH,EAAMmH,SACjBwI,EAAU3P,EAAM2P,QAChBzD,EAAWlM,EAAMkM,SACjBsP,EAAUxb,EAAMwb,QAChBuI,EAAc/jB,EAAM+jB,YACpBC,EAAShkB,EAAMgkB,OACflG,EAAQ9d,EAAM8d,MACdvZ,EAASvE,EAAMuE,OACfoY,EAAY3c,EAAM2c,UAClBtW,EAAOrG,EAAMqG,KACb0X,EAAU/d,EAAM+d,QAChBkG,EAAWjkB,EAAMikB,SACjB3U,EAAYtP,EAAMsP,UAClBuN,EAAW7c,EAAM6c,SACjBrY,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAW2F,EAAO,SAAU,YAAW4F,EAAU,YAAa,YAAWkS,EAAU,YAAa,YAAWle,EAAS,WAAY,YAAWuB,EAAU,YAAa,YAAW+E,EAAU,YAAa,YAAWsP,EAAS,WAAY,YAAWuI,EAAa,eAAgB,YAAWjG,EAAO,SAAU,YAAWvZ,EAAQ,UAAW,YAAWoY,EAAW,aAAc,YAAWoB,EAAS,WAAY,YAAWkG,EAAU,YAAa,YAAWpH,EAAU,YAAa,YAAoBlX,EAAU,YAAa,YAAoBqe,EAAQ,UAAW,YAAiB1U,GAAY,YAAeK,EAAS,WAAY,UAAW/L,GAC5oBpD,EAAO,YAAkBqjB,EAAS7jB,GAClCyE,EAAc,YAAeof,EAAS7jB,GAC1C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDkgB,EAAQ5e,aAAe,CAAC,KAAM,WAAY,QAAS,WAAY,WAAY,YAAa,WAAY,QAAS,UAAW,UAAW,WAAY,UAAW,WAAY,UAAW,SAAU,QAAS,cAAe,SAAU,YAAa,OAAQ,UAAW,WAAY,YAAa,YACtR4e,EAAQxe,MAAQ,IAChBwe,EAAQK,OAAS,IACjBL,EAAQ3e,UAwEJ,GACW,O,kCCxHf,qMAiBIif,EAAwB,SAAU1hB,GAGpC,SAAS0hB,IAGP,IAFA,IAAIzhB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAqHzB,OAlHAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DihB,SAAwB,sBAC9B1hB,EAAM2hB,SAAwB,sBAE9B3hB,EAAM4hB,UAAY,WAChB,IAAI7gB,EAAcf,EAAM1C,MACpBmH,EAAW1D,EAAY0D,SACvBod,EAAQ9gB,EAAY8gB,MACpBC,EAAW/gB,EAAY+gB,SACvBC,EAAU/hB,EAAM6E,MAAMkd,QAC1B,QAAQtd,GAAaqd,GAAcD,GAASE,IAG9C/hB,EAAMgiB,gBAAkB,WACtB,IAAIxc,EAAexF,EAAM1C,MACrBmH,EAAWe,EAAaf,SACxBmB,EAAWJ,EAAaI,SAC5B,OAAK,IAAOA,GACLnB,GAAY,EAAI,EADOmB,GAIhC5F,EAAMU,YAAc,SAAUC,GAC5B,IAAIshB,EAAKjiB,EAAM1C,MAAM2kB,GACjBxc,EAAczF,EAAM6E,MACpBkd,EAAUtc,EAAYsc,QACtBG,EAAgBzc,EAAYyc,cAE5BC,EAAe,IAAQniB,EAAM0hB,SAAShb,QAAS,WAAY/F,EAAE4H,QAE7D6Z,EAAe,IAAQpiB,EAAM2hB,SAASjb,QAAS,WAAY/F,EAAE4H,QAE7D8Z,GAAeD,IAAiBD,EAChCG,GAAS,IAAOL,GACkBG,GAAgBE,GAGpD,IAAQtiB,EAAM1C,MAAO,UAAWqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC3DykB,SAAUA,EACVG,gBAAiBA,KAIjBliB,EAAMuiB,mBACRviB,EAAMuiB,kBAAmB,EAErBH,IAAiBE,GACnBtiB,EAAMgV,aAAarU,GAIjB0hB,GACFriB,EAAMgV,aAAarU,GAGjByhB,GAAgBE,GAGlB3hB,EAAE6hB,oBAKRxiB,EAAMgV,aAAe,SAAUrU,GAC7B,IAAIohB,EAAU/hB,EAAM6E,MAAMkd,QACrB/hB,EAAM4hB,cAEX,IAAQ5hB,EAAM1C,MAAO,WAAYqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC5DykB,SAAUA,EACVG,eAAe,KAGjBliB,EAAM+E,SAAS,CACbgd,SAAUA,EACVG,eAAe,MAInBliB,EAAMyiB,gBAAkB,SAAU9hB,GAChC,IAAI+hB,EAAe1iB,EAAM6E,MACrBkd,EAAUW,EAAaX,QACvBG,EAAgBQ,EAAaR,cAEjC,IAAQliB,EAAM1C,MAAO,cAAeqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC/DykB,UAAWA,EACXG,gBAAiBA,KAGdvhB,EAAEgiB,kBACL,IAAQ3iB,EAAM0hB,SAAShb,QAAS,SAKlC/F,EAAEkX,kBAGJ7X,EAAM4iB,cAAgB,SAAUjiB,GAC9B,IAAIkiB,EAAe7iB,EAAM6E,MACrBkd,EAAUc,EAAad,QACvBG,EAAgBW,EAAaX,cACjCliB,EAAMuiB,kBAAmB,EAEzB,IAAQviB,EAAM1C,MAAO,YAAaqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC7DykB,UAAWA,EACXG,gBAAiBA,MAIrBliB,EAAM8iB,iBAAmB,WACvB,IAAIZ,EAAgBliB,EAAM6E,MAAMqd,cAEhC,IAAKliB,EAAM0hB,SAAU,0BAA2BQ,IAG3CliB,EA3HT,YAAeyhB,EAAU1hB,GA8HzB,IAAI2K,EAAS+W,EAAS5gB,UAuEtB,OArEA6J,EAAO0H,kBAAoB,WACzB3R,KAAKqiB,oBAGPpY,EAAOC,mBAAqB,WAC1BlK,KAAKqiB,oBAGPpY,EAAO5J,OAAS,WACd,IAAImK,EAAexK,KAAKnD,MACpB4D,EAAY+J,EAAa/J,UACzBuD,EAAWwG,EAAaxG,SACxB4K,EAAQpE,EAAaoE,MACrB4S,EAAKhX,EAAagX,GAClBje,EAAOiH,EAAajH,KACpB6d,EAAQ5W,EAAa4W,MACrBC,EAAW7W,EAAa6W,SACxBiB,EAAS9X,EAAa8X,OACtB7I,EAASjP,EAAaiP,OACtB5a,EAAO2L,EAAa3L,KACpBD,EAAQ4L,EAAa5L,MACrB2jB,EAAeviB,KAAKoE,MACpBkd,EAAUiB,EAAajB,QACvBG,EAAgBc,EAAad,cAC7BpgB,EAAU,YAAG,KAAM,YAAWigB,EAAS,WAAY,YAAWtd,EAAU,YAAa,YAAWyd,EAAe,iBAEnH,YAAW,IAAO7S,GAAQ,UAAW,YAAWwS,EAAO,SAAU,YAAWC,EAAU,aAAc,YAAWiB,EAAQ,UAAW,YAAW7I,EAAQ,UAAW,WAAYhZ,GACxK+hB,EAAY,YAAkBxB,EAAUhhB,KAAKnD,OAC7CyE,EAAc,YAAe0f,EAAUhhB,KAAKnD,OAE5CkS,EAAsB,YAAmByT,EAAW,CACtDvlB,UAAW,MAETR,EAAiBsS,EAAoB,GACrC1R,EAAO0R,EAAoB,GAI3BoG,EAAe,YAAgBvG,EAAO,CACxCjN,aAAc,CACZ8gB,QAASjB,GAEX9f,iBAAiB,KACA,IAAMF,cAAc,QAAS,CAC9CihB,QAASjB,IAEX,OAAoB,IAAMhgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXlB,QAASH,KAAKC,YACdwU,SAAUzU,KAAKuU,aACfmO,YAAa1iB,KAAKgiB,gBAClBW,UAAW3iB,KAAKmiB,gBACD,IAAM3gB,cAAc,IAAK,CACxC+H,SAAUvJ,KAAKihB,UACD,IAAMzf,cAAc,QAAS,YAAS,GAAI/E,EAAgB,CACxE6kB,QAASA,EACT7gB,UAAW,SACXuD,SAAUA,EACVwd,GAAIA,EACJje,KAAMA,EACN8d,UAAU,EACVlc,SAAUnF,KAAKuhB,kBACf1iB,KAAMA,EACND,MAAOA,MACU,IAAM4C,cAAc,IAAK,CAC1C+H,SAAUvJ,KAAKkhB,UACd/L,KAGE6L,EAtMmB,CAjB5B,QAwNE,GAEFA,EAASlf,aAAe,CAAC,KAAM,UAAW,YAAa,iBAAkB,uBAAwB,WAAY,SAAU,KAAM,gBAAiB,QAAS,OAAQ,WAAY,UAAW,cAAe,YAAa,QAAS,WAAY,SAAU,WAAY,SAAU,OAAQ,SAE/Qkf,EAASjf,UAsFL,GACJif,EAASrf,aAAe,CACtB9C,KAAM,YAERmiB,EAASvb,oBAAsB,CAAC,UAAW,kB,kCCjT3B,gBACd,MAAwB,iBAAV7G,GAAuC,iBAAVA,EAAqB,CAACA,EAAOA,GAASA,I,kCCNnF,kGAaA,SAASgkB,EAAU/lB,GACjB,IAAI4D,EAAY5D,EAAM4D,UAClBK,EAAQjE,EAAMiE,MACdiI,EAAWlM,EAAMkM,SACjB8Z,EAAShmB,EAAMgmB,OACfxhB,EAAU,YAAG,KAAM,YAAWP,EAAO,SAAU,YAAWiI,EAAU,YAAa,YAAW8Z,EAAQ,UAAWpiB,GAC/GpD,EAAO,YAAkBulB,EAAW/lB,GACxC,OAAoB,IAAM2E,cAAc,IAAoB,YAAS,GAAInE,EAAM,CAC7EoD,UAAWY,KAIfuhB,EAAU9gB,aAAe,CAAC,YAAa,QAAS,WAAY,UAC5D8gB,EAAU7gB,UAYN,GACJ6gB,EAAUA,UAAY,IACtBA,EAAU5gB,QAAU,IACpB4gB,EAAUE,MAAQ,IAClBF,EAAUG,MAAQ,IACH,O,yDC3Cf,sFAWA,SAASC,EAAKnmB,GACZ,IAAIyW,EAASzW,EAAMyW,OACf/S,EAAW1D,EAAM0D,SACjBC,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBsa,EAAUle,EAAMke,QAChBkI,EAAYpmB,EAAMomB,UAClB1P,EAAU1W,EAAM0W,QAChB2H,EAAWre,EAAMqe,SACjBnS,EAAWlM,EAAMkM,SACjB8X,EAAShkB,EAAMgkB,OACflN,EAAU9W,EAAM8W,QAChBqH,EAAWne,EAAMme,SACjBI,EAAYve,EAAMue,UAClBxO,EAAY/P,EAAM+P,UAClBT,EAAYtP,EAAMsP,UAClBC,EAAgBvP,EAAMuP,cACtB/K,EAAU,YAAG,KAAM,YAAWd,EAAU,YAAa,YAAW0iB,EAAW,aAAc,YAAW/H,EAAU,YAAa,YAAWnS,EAAU,YAAa,YAAWqS,EAAW,aAAc,YAAWxO,EAAW,aAAc,YAAoB0G,EAAQ,UAAW,YAAoBC,EAAS,WAAY,YAAoBsN,EAAQ,UAAW,YAAoBlN,EAAS,WAAY,YAAgBqH,EAAU,YAAa,YAAiB7O,GAAY,YAAqBC,GAAgB,YAAa2O,EAAS,UAAU,GAAO,OAAQta,GAC7hBpD,EAAO,YAAkB2lB,EAAMnmB,GAC/ByE,EAAc,YAAe0hB,EAAMnmB,GACvC,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGNwiB,EAAKlhB,aAAe,CAAC,KAAM,SAAU,WAAY,WAAY,YAAa,UAAW,YAAa,UAAW,WAAY,WAAY,SAAU,UAAW,WAAY,YAAa,YAAa,YAAa,iBAC7MkhB,EAAKE,OAAS,IACdF,EAAKG,IAAM,IACXH,EAAKjhB,UAmDD,GACW,O,kCC3Ff,8KAiBIqhB,EAAoB,SAAU9jB,GAGhC,SAAS8jB,IAGP,IAFA,IAAI7jB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAqBzB,OAlBAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DkT,oBAAsB,SAAUrC,GACpC,MAAO,CACL1Q,QAAS,SAAiBD,EAAGiT,GAC3B,IAAIrP,EAAQqP,EAAUrP,MAEtBvE,EAAM+E,SAAS,CACbuT,YAAa/T,IAGf,IAAQ+M,EAAiB,UAAW3Q,EAAGiT,GAEvC,IAAQ5T,EAAM1C,MAAO,cAAeqD,EAAGiT,MAKtC5T,EA3BT,YAAe6jB,EAAM9jB,GA8BrB,IAAI2K,EAASmZ,EAAKhjB,UAgDlB,OA9CA6J,EAAOoZ,YAAc,WACnB,IAAIve,EAAS9E,KAETyT,EAAQzT,KAAKnD,MAAM4W,MACnBoE,EAAc7X,KAAKoE,MAAMyT,YAC7B,OAAO,IAAKpE,GAAO,SAAUI,EAAM/P,GACjC,OAAO,IAASrC,OAAOoS,EAAM,CAC3BlS,aAAc,CACZ0D,OAAQie,SAASzL,EAAa,MAAQ/T,EACtCA,MAAOA,GAETkN,cAAelM,EAAOoO,0BAK5BjJ,EAAO5J,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnB2F,EAAWlC,EAAYkC,SACvB+gB,EAAajjB,EAAYijB,WACzB/iB,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBC,EAAQJ,EAAYI,MACpB+B,EAAUnC,EAAYmC,QACtB+gB,EAAQljB,EAAYkjB,MACpBhX,EAAUlM,EAAYkM,QACtB1L,EAAQR,EAAYQ,MACpB+B,EAAOvC,EAAYuC,KACnBkG,EAAWzI,EAAYyI,SACvB0a,EAAanjB,EAAYmjB,WACzBC,EAAWpjB,EAAYojB,SACvBlK,EAAYlZ,EAAYkZ,UACxBtW,EAAO5C,EAAY4C,KACnBkY,EAAY9a,EAAY8a,UACxBuI,EAAUrjB,EAAYqjB,QACtB/O,EAAOtU,EAAYsU,KACnB8E,EAAWpZ,EAAYoZ,SACvBC,EAASrZ,EAAYqZ,OACrBtY,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAWqgB,EAAY,cAAe,YAAW9gB,EAAS,WAAY,YAAW3B,EAAO,SAAU,YAAWiI,EAAU,YAAa,YAAW0a,EAAY,cAAe,YAAWC,EAAU,YAAa,YAAWlK,EAAW,aAAc,YAAW4B,EAAW,aAAc,YAAWxG,EAAM,QAAS,YAAW8E,EAAU,YAAa,YAAoBlX,EAAU,YAAa,YAAoBgK,EAAS,WAAY,YAAoB3J,EAAM,QAAS,YAAoB8gB,EAAS,WAAY,YAAeH,EAAO,SAAU,YAAa7J,EAAQ,QAASlZ,EAAW,QACzlBpD,EAAO,YAAkB+lB,EAAMpjB,KAAKnD,OACpCyE,EAAc,YAAe8hB,EAAMpjB,KAAKnD,OAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYR,KAAKqjB,cAAgB7iB,IAGpD4iB,EA/Ee,CAgFtB,KAEFA,EAAKthB,aAAe,CAAC,cAAe,KAAM,WAAY,aAAc,WAAY,YAAa,QAAS,UAAW,qBAAsB,QAAS,UAAW,QAAS,OAAQ,WAAY,QAAS,cAAe,aAAc,WAAY,YAAa,OAAQ,YAAa,UAAW,OAAQ,WAAY,UAC3SshB,EAAKrhB,UAgFD,GACJqhB,EAAK3d,oBAAsB,CAAC,eAC5B2d,EAAKjhB,OAAS,IACdihB,EAAK3f,KAAO,IACZ2f,EAAKA,KAAO,IACZA,EAAK3hB,OAAS,YAAuB2hB,GAAM,SAAU3P,GACnD,MAAO,CACLA,MAAOA,MAGI,O,kCC9Lf,sCAOImQ,EAAuBC,EAP3B,wJAeIC,IAA4BF,EAAwB,IAA0B,KAA6B,OAAQA,EAAsB,KAA4B,OAAQA,GAC7KG,IAAyBF,EAAwB,IAA0B,KAA8B,OAAQA,EAAsB,KAA6B,OAAQA,GAK5KlG,EAA0B,SAAUre,GAGtC,SAASqe,IAGP,IAFA,IAAIpe,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAiFzB,OA9EAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DoE,MAAQ,CACZ4f,OAAQ,KAGVzkB,EAAM0kB,YAAc,SAAUC,GAC5B,IAAI3G,EAAWhe,EAAM1C,MAAM0gB,SACvB4G,EAAeL,EAAyBI,GACxCE,EAAgB,YAA4B7G,EAAU4G,GAC1D5Z,aAAahL,EAAMwI,WACnBxI,EAAMwI,UAAYC,YAAW,WAC3B,OAAOzI,EAAM+E,UAAS,SAAUF,GAC9B,MAAO,CACL4f,OAAQ5f,EAAM8f,iBAGjBE,IAGL7kB,EAAM8kB,aAAe,SAAUC,GAW7B,GAVI/kB,EAAM6E,MAAM4f,SAAWzkB,EAAM6E,MAAM8f,YAAc3kB,EAAM6E,MAAM8f,YAC/D3kB,EAAM0kB,YAAY1kB,EAAM6E,MAAM8f,aAG3BI,EAAUC,WAAahlB,EAAM6E,MAAMmgB,WACtC,IAAQhlB,EAAM1C,MAAO,UAAW,KAAM,YAAS,GAAI0C,EAAM1C,MAAO,CAC9DmnB,OAAQzkB,EAAM6E,MAAM4f,UAIpBM,EAAUC,YAAchlB,EAAM6E,MAAMmgB,UAAW,CACjD,IAAIjE,EAAW/gB,EAAM6E,MAAM4f,SAAW,IAA4B,SAAW,SAE7E,IAAQzkB,EAAM1C,MAAO,aAAc,KAAM,YAAS,GAAI0C,EAAM1C,MAAO,CACjEmnB,OAAQzkB,EAAM6E,MAAM4f,UAGtB,IAAQzkB,EAAM1C,MAAOyjB,EAAU,KAAM,YAAS,GAAI/gB,EAAM1C,MAAO,CAC7DmnB,OAAQzkB,EAAM6E,MAAM4f,YAK1BzkB,EAAMilB,eAAiB,WACrB,IAAIlkB,EAAcf,EAAM1C,MACpBwgB,EAAY/c,EAAY+c,UACxBC,EAAchd,EAAYgd,YAC1B9c,EAAWF,EAAYE,SACvBwE,EAAczF,EAAM6E,MACpBmgB,EAAYvf,EAAYuf,UACxBP,EAAShf,EAAYgf,OAErBS,EAAe,IAAKjkB,EAAU,mBAIlC,OAFoB,IAAO8c,GAAe,IAAU,IAAIoH,wBAAyBrH,GAAaC,GAGrF,YAAGD,EAAWoH,EAAc,YAAWF,EAAW,aAAc,YAAWP,IAAW,IAA4B,MAAO,YAAWA,IAAW,IAA2B,OAAQ,YAAWA,IAAW,IAA0B,UAAW,YAAWA,IAAW,IAA0B,WAAY,cAG3S,YAAG3G,EAAWoH,EAAc,YAAWF,EAAW,0BAG3DhlB,EAAMolB,aAAe,WACnB,IAAI5f,EAAexF,EAAM1C,MACrB2D,EAAWuE,EAAavE,SACxB+c,EAAWxY,EAAawY,SACxByG,EAASzkB,EAAM6E,MAAM4f,OAErBY,EAAa,IAAKpkB,EAAU,eAE5B3B,EAAOklB,EAAsBC,GAC7Ba,EAAoBhmB,GAAQ,YAA4B0e,EAAU1e,GAAQ,KAC9E,OAAO,YAAS,GAAI+lB,EAAY,CAC9BC,kBAAmBA,KAIhBtlB,EAvFT,YAAeoe,EAAYre,GA6F3Bqe,EAAWhU,yBAA2B,SAAkC9M,EAAOuH,GAQ7E,OAPmB,YAAgB,CACjC0gB,YAAajoB,EAAMioB,YACnBd,OAAQ5f,EAAM4f,OACdvG,kBAAmB5gB,EAAM4gB,kBACzBra,QAASvG,EAAMuG,QACf2hB,cAAeloB,EAAMkoB,iBAKzB,IAAI9a,EAAS0T,EAAWvd,UAkCxB,OAhCA6J,EAAO0H,kBAAoB,WACzB3R,KAAKqkB,aAAa,KAGpBpa,EAAOC,mBAAqB,SAA4BC,EAAWma,GACjEtkB,KAAKqkB,aAAaC,IAGpBra,EAAOK,qBAAuB,WAC5BC,aAAavK,KAAK+H,YASpBkC,EAAO5J,OAAS,WACd,IAAIG,EAAWR,KAAKnD,MAAM2D,SAG1B,OAFaR,KAAKoE,MAAM4f,SAET,IACN,KAGW,uBAAaxjB,EAAU,CACzCC,UAAWT,KAAKwkB,iBAChB5b,MAAO5I,KAAK2kB,kBAIThH,EA3IqB,CA4I5B,aAEFA,EAAWqH,QAAU,IACrBrH,EAAWsH,QAAU,IACrBtH,EAAWuH,SAAW,IACtBvH,EAAWwH,OAAS,IACpBxH,EAAWyH,QAAU,IACrBzH,EAAW0H,UAAY,IACvB1H,EAAWzb,MAAQ,IACnByb,EAAW7b,aAAe,CAAC,YAAa,WAAY,cAAe,WAAY,cAAe,aAAc,SAAU,SAAU,UAAW,WAAY,oBAAqB,gBAAiB,WAE7L6b,EAAW5b,UA8DP,GACJ4b,EAAWhc,aAAe,CACxB0b,UAAW,OACXE,SAAU,IACVna,SAAS,EACT0hB,aAAa,EACbrH,mBAAmB,EACnBsH,eAAe,I,iCCjPjB,ubA2BO,SAASO,EAAgBjX,EAAWkX,EAAiBjoB,EAAKR,GAK/D,QAJgB,IAAZA,IACFA,EAAU,IAGa,mBAAduR,GAAiD,iBAAdA,EAC5C,MAAM,IAAImX,MAAM,6DAIlB,GAAI,IAAOloB,IAAQ,IAAWA,GAAM,OAAO,KAE3C,IAAImoB,EAAc,IAAUnoB,GAExBooB,EAAc,IAAUpoB,GAExBqoB,EAAgB,IAAYroB,GAE5BsoB,EAAiC,iBAAqBtoB,GAEtDuoB,EAAmB,IAAevoB,GAElCwoB,EAAsBL,GAAeC,GAAe,IAASpoB,GAKjE,KAAKqoB,GAAkBC,GAAsBC,GAAqBC,GAKhE,OAAO,KAQT,IACIC,EADWjpB,EACsB6E,aACjCA,OAAyC,IAA1BokB,EAAmC,GAAKA,EAEvDC,EAAaJ,GAAqBtoB,EAAIT,OAASgpB,GAAoBvoB,GAAOwoB,GAAuBP,EAAgBjoB,GAGjH2oB,EADYnpB,EACsBkU,cAClCA,OAA0C,IAA1BiV,EAAmC,GAAKA,EAC5DjV,EAAgB,IAAYA,GAAiBA,EAAc,YAAS,GAAIrP,EAAcqkB,IAAehV,EAIrG,IAAInU,EAAQ,YAAS,GAAI8E,EAAcqkB,EAAYhV,GAGnD,GAAIrP,EAAalB,WAAauQ,EAAcvQ,WAAaulB,EAAWvlB,UAAW,CAC7E,IAAIylB,EAAqB,YAAGvkB,EAAalB,UAAWuQ,EAAcvQ,UAAWulB,EAAWvlB,WACxF5D,EAAM4D,UAAY,IAAMylB,EAAmBzT,MAAM,MAAME,KAAK,KAY9D,IARIhR,EAAaiH,OAASoI,EAAcpI,OAASod,EAAWpd,SAC1D/L,EAAM+L,MAAQ,YAAS,GAAIjH,EAAaiH,MAAOod,EAAWpd,MAAOoI,EAAcpI,QAO7E,IAAO/L,EAAMyI,KAAM,CACrB,IAAI8W,EAAWvf,EAAMuf,SAEjB+J,EADYrpB,EACsB4E,gBAClCA,OAA4C,IAA1BykB,GAA0CA,EAE3D,IAAO/J,GAID1a,IAAoB+jB,GAAeC,KAE5C7oB,EAAMyI,IAAMhI,IAJZT,EAAMyI,IAA0B,mBAAb8W,EAA0BA,EAASvf,GAASuf,SACxDvf,EAAMuf,UAWjB,OAAIwJ,EAAuC,eAAmBtoB,EAAKT,GAE/DipB,GAAuBD,EACL,gBAAoBxX,EAAWxR,GAIjD8oB,EAAsBroB,EAAI+Q,EAAWxR,EAAOA,EAAM2D,eAAtD,EAcK,SAAS4lB,EAAuB/X,EAAWkX,GAChD,GAAyB,mBAAdlX,GAAiD,iBAAdA,EAC5C,MAAM,IAAImX,MAAM,oEAGlB,OAAO,SAAUloB,EAAKR,GACpB,OAAOwoB,EAAgBjX,EAAWkX,EAAiBjoB,EAAKR,IAMrD,IAAIupB,EAAoCD,EAAuB,OAAO,SAAU9oB,GACrF,MAAO,CACLkD,SAAUlD,MAGHgpB,EAAkCF,EAAuB,UAAU,SAAUlX,GACtF,MAAO,CACLA,IAAKA,MAGEqX,EAAiCH,EAAuB,OAAO,SAAU9oB,GAClF,MAAO,CACL4R,IAAK5R,MAGEkpB,EAAiCJ,EAAuB,SAAS,SAAU9oB,GACpF,MAAO,CACLuB,KAAMvB,MAGCmpB,EAAiCL,EAAuB,SAAS,SAAU9oB,GACpF,MAAO,CACLkD,SAAUlD,MAGHopB,EAAqCN,EAAuB,KAAK,SAAU9oB,GACpF,MAAO,CACLkD,SAAUlD,O,kCCjLd,4JAgBIqpB,EAAoB,SAAUrnB,GAGhC,SAASqnB,IAGP,IAFA,IAAIpnB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAezB,OAZAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5D4mB,mBAAqB,WAEzB,GADcrnB,EAAM1C,MAAMsD,QACb,MAAO,KAGtBZ,EAAMU,YAAc,SAAUC,GACbX,EAAM1C,MAAMmH,UACZ,IAAQzE,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAGnD0C,EAoDT,OAzEA,YAAeonB,EAAMrnB,GAwBRqnB,EAAKvmB,UAEXC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB7E,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBomB,EAAYvmB,EAAYumB,UACxBlmB,EAAUL,EAAYK,QACtBC,EAAcN,EAAYM,YAC1BoD,EAAW1D,EAAY0D,SACvBhD,EAAOV,EAAYU,KACnB6B,EAAOvC,EAAYuC,KACnB3B,EAAOZ,EAAYY,KACnB6P,EAAQzQ,EAAYyQ,MACpB1P,EAAU,YAAG,YAAWgE,EAAQ,UAAW,YAAWwhB,EAAW,aAAc,YAAW7iB,EAAU,YAAa,YAAW9C,EAAM,QAAS,OAAQT,GACnJpD,EAAO,YAAkBspB,EAAM3mB,KAAKnD,OACpCyE,EAAc,YAAeqlB,EAAM3mB,KAAKnD,MAAOmD,KAAK4mB,oBAExD,OAAK,IAAcrlB,MAAMf,GAQpB,IAAce,MAAMZ,GAQL,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXL,KAAMA,EACNb,QAASH,KAAKC,cACZ,IAAKwB,OAAOoB,EAAM,CACpBnB,iBAAiB,IACf,IAAYD,OAAO,CACrBb,YAAaA,EACbmQ,MAAOA,GACN,CACDrP,iBAAiB,KAjBG,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXL,KAAMA,EACNb,QAASH,KAAKC,cACZU,GAZgB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXL,KAAMA,EACNb,QAASH,KAAKC,cACZO,IAyBDmmB,EA1Ee,CA2EtB,aAEFA,EAAK7kB,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,YAAa,UAAW,cAAe,WAAY,OAAQ,OAAQ,OAAQ,UAAW,UAAW,SAC/J6kB,EAAK5kB,UAgDD,GACJ4kB,EAAK3kB,QAAU,IACf2kB,EAAK1kB,YAAc,IACnB0kB,EAAKzkB,MAAQ,IACbykB,EAAK5D,MAAQ,IACb4D,EAAKllB,OAAS,YAAuBklB,GAAM,SAAUhmB,GACnD,MAAO,CACLA,QAASA,MAGE,O,kCCxJf,wIAgBA,SAAS8C,EAAK5G,GACZ,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBC,EAAc/D,EAAM+D,YACpBC,EAAQhE,EAAMgE,MACdE,EAASlE,EAAMkE,OACfE,EAAQpE,EAAMoE,MACdE,EAAOtE,EAAMsE,KACbE,EAAU,YAAG,OAAQZ,GACrBpD,EAAO,YAAkBoG,EAAM5G,GAC/ByE,EAAc,YAAemC,EAAM5G,GAEvC,OAAK,IAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAUI,OAAOR,EAAO,CAC1BS,iBAAiB,IACF,IAAMF,cAAc,IAAa,CAChDb,QAASA,EACTC,YAAaA,EACbC,MAAOA,EACPE,OAAQA,EACRI,KAAMA,KAdc,IAAMK,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAgBRiD,EAAK3B,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,cAAe,QAAS,SAAU,QAAS,QAC1G2B,EAAKzB,QAAU,IACfyB,EAAKxB,YAAc,IACnBwB,EAAKqjB,MAAQ,IACbrjB,EAAKvB,MAAQ,IACbuB,EAAKtB,OAAS,IACdsB,EAAK6K,MAAQ,IACb7K,EAAKrB,KAAO,IACZqB,EAAK1B,UA2BD,GACW,O,kCCpFf,yHAaA,SAASglB,EAAUlqB,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBC,EAAQ7D,EAAM6D,MACdC,EAAU9D,EAAM8D,QAChB6L,EAAU3P,EAAM2P,QAChBgH,EAAa3W,EAAM2W,WACnBzK,EAAWlM,EAAMkM,SACjB6F,EAAQ/R,EAAM+R,MACd1L,EAAOrG,EAAMqG,KACb0R,EAAO/X,EAAM+X,KACbhW,EAAQ/B,EAAM+B,MACdyC,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAesJ,EAAS,WAAY,YAAWgH,EAAY,cAAe,YAAWzK,EAAU,YAAa,YAAatI,GACzJpD,EAAO,YAAkB0pB,EAAWlqB,GACpCyE,EAAc,YAAeylB,EAAWlqB,GAE5C,OAAK,IAAc0E,MAAMf,GAMpB,IAAce,MAAMZ,GAML,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAeI,OAAO7C,EAAO,CAC/B+C,aAAc,CACZiT,KAAMA,GAERlT,iBAAiB,IACf,IAAeD,OAAOmN,EAAO,CAC/BlN,iBAAiB,KAbG,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GARgB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAqBRumB,EAAUjlB,aAAe,CAAC,KAAM,WAAY,YAAa,QAAS,UAAW,UAAW,aAAc,WAAY,QAAS,OAAQ,OAAQ,SAC3IilB,EAAUhlB,UAoCN,GACJglB,EAAU7kB,MAAQ,IAClB6kB,EAAUC,MAAQ,IAClBD,EAAUE,MAAQ,IAClBF,EAAUtlB,OAAS,YAAuBslB,GAAW,SAAUpmB,GAC7D,MAAO,CACLA,QAASA,MAGE,O,kCCjGf,IAAIumB,EAAyB,EAAQ,KAErCC,EAAQC,YAAa,EACrBD,EAAQE,0BAA4BF,EAAQG,iCAAmCH,EAAQI,kBAAoBJ,EAAQK,aAAeL,EAAQM,MAAQN,EAAQO,OAASP,EAAQQ,QAAUR,EAAQS,SAAWT,EAAQU,aAAeV,EAAQW,OAASX,EAAQY,OAASZ,EAAQa,SAAWb,EAAQc,OAASd,EAAQe,kBAAoBf,EAAQgB,QAAUhB,EAAQiB,QAAUjB,EAAQkB,KAAOlB,EAAQmB,UAAYnB,EAAQoB,WAAapB,EAAQqB,OAASrB,EAAQsB,OAAStB,EAAQuB,eAAiBvB,EAAQwB,QAAUxB,EAAQyB,MAAQzB,EAAQ0B,QAAU1B,EAAQ2B,OAAS3B,EAAQ4B,UAAY5B,EAAQ6B,SAAW7B,EAAQ8B,UAAY9B,EAAQ+B,cAAgB/B,EAAQgC,KAAOhC,EAAQiC,MAAQjC,EAAQkC,SAAWlC,EAAQmC,YAAcnC,EAAQoC,OAASpC,EAAQqC,cAAgBrC,EAAQsC,YAActC,EAAQuC,mBAAqBvC,EAAQzC,wBAA0ByC,EAAQwC,OAASxC,EAAQyC,WAAazC,EAAQ0C,oBAAsB1C,EAAQ2C,gBAAkB3C,EAAQ4C,MAAQ5C,EAAQ6C,OAAS7C,EAAQ8C,YAAS,EAEt8B,IAAIC,EAAShD,EAAuB,EAAQ,MAExCiD,EAAWjD,EAAuB,EAAQ,MAE1CkD,EAASlD,EAAuB,EAAQ,KAExCmD,EAAgB,EAAQ,MAG5BlD,EAAQ8C,OADK,CAAC,MAAO,SAAU,SAAU,QAAS,QAAS,OAAQ,OAAQ,SAAU,SAAU,OAAQ,QAAS,OAAQ,SAGxH9C,EAAQ6C,OADK,CAAC,OAAQ,SAGtB7C,EAAQ4C,MADI,CAAC,OAAQ,OAAQ,QAAS,SAAU,QAAS,MAAO,OAAQ,WAGxE5C,EAAQ2C,gBADc,CAAC,OAAQ,SAAU,QAAS,aAGlD3C,EAAQ0C,oBADkB,CAAC,SAAU,SAAU,OAG/C1C,EAAQyC,WADS,CAAC,SAAU,SAAU,WAAY,eAAgB,cAElE,IAAID,EAAS,GAAGjtB,QAAO,EAAI0tB,EAAOE,SAASD,EAAc3sB,kBAAkB,EAAI0sB,EAAOE,SAASD,EAAc3sB,iBAAiBgV,IAAI6X,SAAS,EAAIJ,EAASG,SAASD,EAAc3sB,kBAC/KypB,EAAQwC,OAASA,EACjB,IAAIjF,EAA0B,CAAC,SAAU,eAAgB,OAAQ,OAAQ,UAAW,YAAa,YAAa,aAAc,SAAU,WAAY,WAAY,YAAa,kBAAmB,gBAAiB,QAAS,WAAY,aAAc,aAAc,cAAe,WAAY,aAAc,aAAc,cAAe,QACtUyC,EAAQzC,wBAA0BA,EAClC,IAAIgF,EAAqB,CAAC,SAAU,QAAS,QAAS,QAAS,OAAQ,SAAU,QACjFvC,EAAQuC,mBAAqBA,EAC7B,IAAID,EAAc,GAAG/sB,OAAOgoB,EAAyBgF,GAGrDvC,EAAQsC,YAAcA,EACtB,IAAID,EAAgB,CAAC,sCAAuC,8BAA+B,oBAAqB,QAAS,UAAW,oBAAqB,4BAA6B,OAAQ,aAAc,eAAgB,kBAAmB,0BAA2B,gBAAiB,MAAO,mBAAoB,cACtTrC,EAAQqC,cAAgBA,EACxB,IAAID,EAAS,CAAC,oBAAqB,oBAAqB,qBAAsB,kBAAmB,aAAc,aAAc,cAAe,WAAY,8BAA+B,sCAAuC,8BAA+B,sCAAuC,+BAAgC,uCAAwC,4BAA6B,oCAAqC,oBAAqB,oBAAqB,qBAAsB,kBAAmB,aAAc,aAAc,cAAe,WAAY,mBAAoB,8BAA+B,4BAA6B,aAAc,aAAc,cAAe,oBAAqB,4BAA6B,oBAAqB,4BAA6B,qBAAsB,6BAA8B,kBAAmB,0BAA2B,WAAY,kBAAmB,aAAc,sBAAuB,sBAAuB,uBAAwB,oBAAqB,eAAgB,eAAgB,gBAAiB,aAAc,iBAAkB,eAAgB,WAAY,WAAY,0BAA2B,qBAAsB,4BAA6B,kBAAmB,0BAA2B,kBAAmB,0BAA2B,mBAAoB,2BAA4B,gBAAiB,wBAAyB,eAAgB,uBAAwB,UAAW,uBAAwB,qBAAsB,iBAAkB,4BAA6B,4BAA6B,6BAA8B,0BAA2B,gBAAiB,OAAQ,SAAU,UAAW,OAAQ,iBAAkB,QAAS,YAAa,UAAW,QAAS,eAAgB,uBAAwB,UAAW,WAAY,oBAAqB,qBAAsB,OAAQ,qBAAsB,mBAAoB,mBAAoB,iBAAkB,YAAa,oBAAqB,kBAAmB,UAAW,OAAQ,iBAAkB,cAAe,aAAc,OAAQ,iBAAkB,SAAU,UAAW,YAC9jEpC,EAAQoC,OAASA,EACjB,IAAID,EAAc,CAAC,oBAAqB,WAAY,SAAU,iBAAkB,oBAAqB,4BAA6B,WAAY,QAAS,SAAU,0BAA2B,gBAAiB,eAAgB,aAAc,qBAAsB,aAAc,qBAAsB,OAAQ,UAAW,aAAc,aAAc,mBAAoB,QAAS,QAAS,eAAgB,uBAAwB,eAAgB,OAAQ,cAAe,sBAAuB,UAAW,SAAU,OAAQ,iBAAkB,MAAO,aAAc,gBAAiB,eAAgB,OAAQ,cAAe,sBAAuB,OAAQ,iBAAkB,OAAQ,iBAAkB,QAAS,cAAe,aAAc,aAC7sBnC,EAAQmC,YAAcA,EACtB,IAAID,EAAW,CAAC,eAAgB,uBAAwB,eAAgB,uBAAwB,UAAW,gBAAiB,gBAAiB,OAAQ,YAAa,WAAY,mBAAoB,WAAY,WAAY,aAAc,WAAY,mBAAoB,qBAAsB,6BAA8B,cAAe,aAAc,YAAa,oBAAqB,aAAc,YAAa,YAAa,oBAAqB,SAAU,UAAW,UAAW,kBAAmB,OAAQ,eAAgB,YAAa,oBAAqB,MAAO,OAAQ,eAAgB,WAAY,mBAAoB,gBAAiB,wBAAyB,kBAAmB,SAAU,MAAO,OAAQ,eAAgB,iBAAkB,yBAA0B,SAAU,iBAAkB,cAAe,sBAAuB,QAAS,WAAY,YAAa,QAAS,aAAc,mBAAoB,UAAW,QAAS,eAAgB,eAAgB,aAAc,qBAAsB,OAAQ,eAAgB,UAAW,cAAe,sBAAuB,WAAY,QAAS,MAAO,OAAQ,QAAS,YAAa,aAChmClC,EAAQkC,SAAWA,EACnB,IAAID,EAAQ,CAAC,QAAS,eAAgB,cAAe,aAAc,eAAgB,aAAc,cAAe,aAAc,eAC9HjC,EAAQiC,MAAQA,EAChB,IAAID,EAAO,CAAC,UAAW,UAAW,OAAQ,MAAO,OAAQ,cAAe,SAAU,OAAQ,eAAgB,iBAAkB,yBAA0B,YAAa,oBAAqB,SAAU,oBAAqB,SAAU,iBAAkB,cAAe,sBAAuB,WAAY,mBAAoB,YAAa,SAAU,mBAAoB,UAAW,WAAY,cAAe,eAAgB,uBAAwB,kBAAmB,0BAA2B,kBAAmB,0BAA2B,iBAAkB,0BAChiBhC,EAAQgC,KAAOA,EACf,IAAID,EAAgB,CAAC,eAAgB,uBAAwB,eAAgB,uBAAwB,sCAAuC,8BAA+B,KAAM,OAAQ,eAAgB,aAAc,qBAAsB,WAAY,UAAW,kBAAmB,oBAAqB,4BAA6B,WAAY,mBAAoB,WAAY,mBAAoB,gBAAiB,wBAAyB,kBAAmB,MAAO,QAAS,WAAY,aAAc,mBAAoB,SAAU,mBAAoB,cAAe,sBAAuB,QAAS,eAAgB,eAAgB,MAAO,aAAc,MAAO,QAC7oB/B,EAAQ+B,cAAgBA,EACxB,IAAID,EAAY,CAAC,UAAW,WAAY,MAAO,cAAe,aAAc,WAAY,mBAAoB,SAAU,YAAa,SAAU,mBAAoB,OAAQ,YAAa,QAAS,OAAQ,eAAgB,SAAU,SAAU,mBAAoB,KAAM,UACrQ9B,EAAQ8B,UAAYA,EACpB,IAAID,EAAW,CAAC,cAAe,YAAa,YAAa,uBAAwB,+BAAgC,aAAc,aAAc,aAAc,cAAe,WAAY,YACtL7B,EAAQ6B,SAAWA,EACnB,IAAID,EAAY,CAAC,OAAQ,eAAgB,aAAc,qBAAsB,WAAY,mBAAoB,qBAAsB,6BAA8B,iBAAkB,yBAA0B,iBAAkB,yBAA0B,gBAAiB,wBAAyB,iBAAkB,yBAA0B,QAAS,gBAAiB,YAAa,oBAAqB,gBAAiB,iBAAkB,kBAAmB,aACjc5B,EAAQ4B,UAAYA,EACpB,IAAID,EAAS,CAAC,SAAU,QAAS,gBAAiB,OAAQ,eAAgB,OAAQ,aAAc,MAAO,OAAQ,eAAgB,SAAU,MAAO,cAAe,YAAa,oBAAqB,eAAgB,uBAAwB,iBAAkB,yBAA0B,cAAe,QAAS,mBAAoB,OAAQ,eAAgB,QACzV3B,EAAQ2B,OAASA,EACjB,IAAID,EAAU,CAAC,eAAgB,gBAAiB,aAAc,cAAe,OAAQ,YAAa,oBAAqB,QAAS,gBAAiB,UAAW,OAAQ,eAAgB,MAAO,OAAQ,eAAgB,SAAU,OAAQ,eAAgB,iBAAkB,yBAA0B,OAAQ,UAAW,WAAY,SAAU,SAAU,UAAW,OAAQ,iBAAkB,yBAA0B,UAAW,UAAW,UAAW,cAAe,sBAAuB,YAAa,YAAa,QAAS,mBAAoB,QAAS,aAAc,cAAe,OAAQ,iBAAkB,QAAS,YAAa,QAAS,gBAAiB,YAAa,cAAe,OAAQ,iBAAkB,QAAS,QAAS,cAAe,aAAc,KAAM,WAAY,UAAW,QAAS,kBAAmB,0BAA2B,YAAa,OAAQ,iBAAkB,UACj2B1B,EAAQ0B,QAAUA,EAClB,IAAID,EAAQ,CAAC,UAAW,QAAS,gBAAiB,OAAQ,eAAgB,MAAO,OAAQ,eAAgB,iBAAkB,yBAA0B,eAAgB,uBAAwB,aAAc,qBAAsB,YAAa,oBAAqB,aAAc,qBAAsB,aAAc,qBAAsB,WAAY,mBAAoB,kBAAmB,0BAA2B,aAAc,qBAAsB,YAAa,oBAAqB,SAAU,iBAAkB,cAAe,sBAAuB,QAAS,OAAQ,eAAgB,cAAe,uBACjlBzB,EAAQyB,MAAQA,EAChB,IAAID,EAAU,CAAC,aAAc,OAAQ,cAAe,cAAe,yBAA0B,uBAAwB,UAAW,SAAU,cAAe,wBAAyB,QAAS,eAAgB,cAC3MxB,EAAQwB,QAAUA,EAClB,IAAID,EAAiB,CAAC,cAAe,sBAAuB,aAAc,qBAAsB,aAAc,qBAAsB,kBAAmB,0BAA2B,kBAAmB,0BAA2B,mBAAoB,2BAA4B,gBAAiB,wBAAyB,eAAgB,uBAAwB,YAAa,oBAAqB,gBAAiB,wBAAyB,aAAc,qBAAsB,YAAa,oBAAqB,cAAe,sBAAuB,YAAa,qBACviBvB,EAAQuB,eAAiBA,EACzB,IAAID,EAAS,CAAC,YAAa,WAAY,QAAS,gBAAiB,YAAa,WAAY,mBAAoB,SAAU,cAAe,sBAAuB,cAAe,UAAW,cACxLtB,EAAQsB,OAASA,EACjB,IAAID,EAAS,CAAC,SAAU,OAAQ,SAAU,eAAgB,QAAS,gBAAiB,WAAY,SAAU,MAAO,cAAe,YAAa,oBAAqB,aAAc,qBAAsB,OAAQ,WAAY,mBAAoB,UAAW,kBAAmB,QAAS,gBAAiB,SAAU,iBAAkB,qBAAsB,QACxVrB,EAAQqB,OAASA,EACjB,IAAID,EAAa,CAAC,MAAO,UAAW,OAAQ,OAAQ,OAAQ,eAAgB,aAAc,qBAAsB,MAAO,WAAY,WAAY,aAAc,WAAY,mBAAoB,qBAAsB,6BAA8B,iBAAkB,yBAA0B,iBAAkB,yBAA0B,gBAAiB,wBAAyB,iBAAkB,yBAA0B,cAAe,QAAS,eAAgB,uBAAwB,eAAgB,uBAAwB,SAAU,iBAAkB,YAAa,oBAAqB,QAAS,gBAAiB,QAAS,iBAAkB,eAAgB,SAAU,MAAO,OAAQ,OAAQ,eAAgB,MAAO,WAAY,aAAc,qBAAsB,WAAY,OAAQ,eAAgB,sBAAuB,oBAAqB,WAAY,mBAAoB,gBAAiB,wBAAyB,SAAU,cAAe,qBAAsB,uBAAwB,qBAAsB,4BAA6B,MAAO,YAAa,oBAAqB,OAAQ,eAAgB,iBAAkB,yBAA0B,SAAU,OAAQ,eAAgB,iBAAkB,SAAU,iBAAkB,cAAe,sBAAuB,QAAS,gBAAiB,UAAW,QAAS,gBAAiB,UAAW,OAAQ,WAAY,OAAQ,cAAe,WAAY,QAAS,MAAO,cAAe,aAAc,mBAAoB,QAAS,eAAgB,eAAgB,uBAAwB,QAAS,mBAAoB,OAAQ,cAAe,cAAe,sBAAuB,SAAU,WAAY,kBAAmB,0BAA2B,aAAc,cAAe,OAAQ,iBAAkB,QAAS,YAAa,MAAO,aAAc,OAAQ,eAAgB,SAAU,eAAgB,cAAe,QAAS,kBAAmB,yBAA0B,eAAgB,uBAAwB,mBAAoB,UAAW,WAAY,SAAU,UAAW,qBAAsB,QAAS,gBAAiB,OAAQ,qBAAsB,mBAAoB,mBAAoB,iBAAkB,YAAa,oBAAqB,kBAAmB,UAAW,OAAQ,eAAgB,YAAa,oBAAqB,OAAQ,iBAAkB,cAAe,sBAAuB,YAAa,oBAAqB,QAAS,eAAgB,uBAAwB,aAAc,YAAa,QAAS,kBAAmB,0BAA2B,SAAU,OAAQ,iBAAkB,SAAU,OAAQ,eAAgB,cAAe,sBAAuB,QAC9hFpB,EAAQoB,WAAaA,EACrB,IAAID,EAAY,CAAC,MAAO,QAAS,kBAAmB,iBAAkB,QAAS,gBAAiB,SAAU,gBAAiB,QAAS,aACpInB,EAAQmB,UAAYA,EACpB,IAAID,EAAO,CAAC,YAAa,SAAU,gBAAiB,OAAQ,MAAO,OAAQ,OAAQ,eAAgB,aAAc,qBAAsB,UAAW,aAAc,gBAAiB,QAAS,OAAQ,OAAQ,WAAY,mBAAoB,YAAa,WAAY,mBAAoB,MAAO,SAAU,aAAc,cAAe,MAAO,YAAa,oBAAqB,cAAe,OAAQ,oBAAqB,OAAQ,eAAgB,iBAAkB,QAAS,UAAW,QAAS,OAAQ,gBAAiB,QAAS,iBAAkB,WAAY,QAAS,gBAAiB,YAAa,OAAQ,WAAY,mBAAoB,QAAS,gBAAiB,SAAU,iBAAkB,WAAY,OAAQ,cAAe,MAAO,OAAQ,QAAS,gBAAiB,YAAa,oBAAqB,YAAa,oBAAqB,iBAAkB,aAAc,SAAU,OAAQ,MAAO,cAAe,aAAc,uBAAwB,UAAW,YAAa,SAAU,uBAAwB,+BAAgC,aAAc,QAAS,YAAa,oBAAqB,MAAO,QAAS,eAAgB,eAAgB,QAAS,OAAQ,OAAQ,cAAe,sBAAuB,QAAS,UAAW,OAAQ,SAAU,SAAU,eAAgB,cAAe,OAAQ,eAAgB,kBAAmB,gBAAiB,SAAU,cAAe,SAAU,WAAY,MAAO,OAAQ,OAAQ,YAAa,mBAAoB,OAAQ,QAAS,OAAQ,SAAU,QAAS,MAAO,WAAY,aAAc,gBAAiB,WAAY,aAAc,OAAQ,UACxhDlB,EAAQkB,KAAOA,EACf,IAAID,EAAU,CAAC,YAAa,WAAY,MAAO,YAAa,QAAS,gBAAiB,YAAa,WAAY,mBAAoB,kBAAmB,QAAS,OAAQ,cAAe,UAAW,cAAe,UAAW,UAC3NjB,EAAQiB,QAAUA,EAClB,IAAID,EAAU,CAAC,YAAa,SAAU,UAAW,gBAAiB,OAAQ,MAAO,OAAQ,OAAQ,eAAgB,UAAW,aAAc,gBAAiB,OAAQ,OAAQ,WAAY,mBAAoB,YAAa,MAAO,WAAY,mBAAoB,WAAY,WAAY,MAAO,aAAc,WAAY,mBAAoB,qBAAsB,6BAA8B,SAAU,eAAgB,MAAO,YAAa,oBAAqB,QAAS,SAAU,MAAO,OAAQ,UAAW,kBAAmB,OAAQ,eAAgB,OAAQ,QAAS,MAAO,WAAY,mBAAoB,gBAAiB,wBAAyB,SAAU,MAAO,cAAe,MAAO,cAAe,OAAQ,eAAgB,iBAAkB,yBAA0B,OAAQ,OAAQ,oBAAqB,OAAQ,eAAgB,iBAAkB,QAAS,SAAU,iBAAkB,UAAW,QAAS,MAAO,cAAe,OAAQ,gBAAiB,QAAS,iBAAkB,MAAO,cAAe,aAAc,QAAS,gBAAiB,OAAQ,WAAY,mBAAoB,YAAa,oBAAqB,QAAS,gBAAiB,SAAU,iBAAkB,WAAY,MAAO,WAAY,mBAAoB,SAAU,OAAQ,QAAS,gBAAiB,YAAa,oBAAqB,YAAa,oBAAqB,OAAQ,YAAa,QAAS,SAAU,MAAO,cAAe,aAAc,uBAAwB,UAAW,YAAa,SAAU,YAAa,aAAc,SAAU,mBAAoB,uBAAwB,+BAAgC,OAAQ,eAAgB,aAAc,YAAa,oBAAqB,cAAe,cAAe,sBAAuB,YAAa,QAAS,MAAO,mBAAoB,QAAS,QAAS,OAAQ,QAAS,eAAgB,OAAQ,SAAU,OAAQ,eAAgB,SAAU,mBAAoB,eAAgB,kBAAmB,gBAAiB,SAAU,YAAa,oBAAqB,gBAAiB,OAAQ,eAAgB,cAAe,sBAAuB,YAAa,SAAU,WAAY,MAAO,cAAe,SAAU,mBAAoB,uBAAwB,MAAO,OAAQ,OAAQ,YAAa,mBAAoB,QAAS,QAAS,kBAAmB,0BAA2B,OAAQ,SAAU,QAAS,KAAM,WAAY,aAAc,SAAU,mBAAoB,gBAAiB,WAAY,aAAc,UACp2EhB,EAAQgB,QAAUA,EAClB,IAAID,EAAoB,CAAC,OAAQ,eAAgB,WAAY,mBAAoB,WAAY,SAAU,eAAgB,kBAAmB,YAAa,cAAe,cAAe,sBAAuB,MAAO,cAAe,OAAQ,YAAa,oBAAqB,QAAS,gBAAiB,MAAO,eAAgB,kBAAmB,gBAAiB,OAAQ,eAAgB,MAAO,OAAQ,cAAe,sBAAuB,YAAa,oBAAqB,UAChdf,EAAQe,kBAAoBA,EAC5B,IAAID,EAAS,CAAC,WAAY,mBAAoB,WAAY,mBAAoB,cAAe,SAAU,iBAAkB,QAAS,UAAW,kBAAmB,OAAQ,eAAgB,SAAU,iBAAkB,QAAS,gBAAiB,aAAc,OAAQ,SAAU,iBAAkB,OAAQ,gBACxSd,EAAQc,OAASA,EACjB,IAAID,EAAW,CAAC,WAAY,cAAe,eAAgB,MAAO,UAAW,kBAAmB,aAAc,YAAa,oBAAqB,YAAa,oBAAqB,UAAW,MAAO,cAAe,QACnNb,EAAQa,SAAWA,EACnB,IAAID,EAAS,CAAC,gBAAiB,kBAAmB,eAAgB,gBAAiB,SAAU,iBAAkB,YAAa,cAAe,YAAa,eAAgB,mBACxKZ,EAAQY,OAASA,EACjB,IAAID,EAAS,CAAC,MAAO,gBAAiB,eAAgB,eAAgB,kBAAmB,yBAA0B,OAAQ,eAAgB,aAAc,qBAAsB,WAAY,mBAAoB,qBAAsB,6BAA8B,iBAAkB,yBAA0B,iBAAkB,yBAA0B,gBAAiB,wBAAyB,iBAAkB,yBAA0B,kBAAmB,YAAa,cAAe,qBAAsB,uBAAwB,MAAO,YAAa,oBAAqB,OAAQ,eAAgB,iBAAkB,yBAA0B,SAAU,iBAAkB,cAAe,sBAAuB,OAAQ,cAAe,OAAQ,YAAa,QAAS,eAAgB,eAAgB,uBAAwB,OAAQ,cAAe,cAAe,sBAAuB,WAAY,kBAAmB,0BAA2B,mBAAoB,gBAAiB,oBAAqB,qBAAsB,oBAAqB,mBAAoB,mBAAoB,sBAAuB,6BAA8B,cAAe,sBAAuB,YAAa,oBAAqB,aAAc,YAAa,SAAU,oBAChtCX,EAAQW,OAASA,EACjB,IAAID,EAAe,CAAC,eAAgB,uBAAwB,eAAgB,uBAAwB,MAAO,QAAS,QAAS,SAAU,QAAS,gBAAiB,WAAY,mBAAoB,UAAW,kBAAmB,OAAQ,MAAO,cAAe,YAAa,QAAS,gBAAiB,cAAe,OAAQ,eAAgB,cAAe,sBAAuB,UAAW,YAAa,cAAe,aAAc,QAAS,cAC/aV,EAAQU,aAAeA,EACvB,IAAID,EAAW,CAAC,YAAa,UAAW,MAAO,MAAO,cAAe,aAAc,cAAe,sBAAuB,QAAS,SAAU,OAAQ,gBAAiB,gBAAiB,SAAU,OAAQ,QAAS,QAAS,cAC1NT,EAAQS,SAAWA,EACnB,IAAID,EAAU,CAAC,UAAW,OAAQ,WAAY,mBAAoB,OAAQ,eAAgB,WAAY,mBAAoB,gBAAiB,wBAAyB,SAAU,OAAQ,eAAgB,iBAAkB,yBAA0B,SAAU,iBAAkB,cAAe,sBAAuB,WAAY,mBAAoB,YAAa,oBAAqB,cAAe,sBAAuB,YAAa,YAAa,aAAc,mBAAoB,aAAc,cAAe,cAAe,sBAAuB,aAC3hBR,EAAQQ,QAAUA,EAClB,IAAID,EAAS,CAAC,QAAS,aAAc,WAAY,MAAO,WAAY,iBAAkB,UAAW,SAAU,aAAc,SAAU,UAAW,YAAa,gBAAiB,UAAW,YAAa,gBAAiB,QAAS,QAAS,YAAa,aAAc,UAAW,eAAgB,UAAW,SAAU,MAAO,WAAY,UAAW,iBAAkB,YAAa,YAAa,UAAW,OAAQ,YAAa,aAAc,UAAW,YAAa,YAAa,cAAe,MAAO,mBAAoB,aAAc,gBAAiB,UAAW,eAAgB,iBAAkB,cAAe,SAAU,gBAAiB,YAAa,YAAa,UAAW,aAAc,SAAU,aAAc,aAAc,eAAgB,UAAW,WAAY,iBAAkB,SAAU,SAAU,mBAAoB,OAAQ,iBAAkB,aAAc,UAAW,WAAY,YAAa,YAAa,UAAW,aAAc,OAAQ,gBAAiB,UAAW,YAAa,SAAU,SAAU,gBAAiB,WAAY,kBAAmB,UAAW,SAAU,SAAU,aAAc,OAAQ,YAAa,QAAS,SAAU,SAAU,SAAU,WAAY,OAAQ,eAAgB,WAAY,aAAc,qBAAsB,kBAAmB,UAAW,cAAe,aAAc,SAAU,YAAa,MAAO,eAAgB,yBAA0B,oBAAqB,YAAa,eAAgB,eAAgB,yBAA0B,WAAY,aAAc,iBAAkB,UAAW,aAAc,KAAM,YAAa,MAAO,aAAc,SAAU,mBAAoB,gBAAiB,YAAa,SAAU,SAAU,QAAS,UAAW,SAAU,YAAa,cAAe,SAAU,eAAgB,cAAe,cAAe,gBAAiB,qBAAsB,gBAAiB,WAAY,OAAQ,WAAY,QAAS,OAAQ,cAAe,qBAAsB,OAAQ,gBAAiB,QAAS,SAAU,QAAS,QAAS,UAAW,OAAQ,YAAa,oBAAqB,UAAW,SAAU,cAAe,UAAW,QAAS,SAAU,KAAM,YAAa,WAAY,SAAU,cAAe,gBAAiB,SAAU,UAAW,SAAU,gBAAiB,UAAW,OAAQ,WAAY,WAAY,qBAAsB,SAAU,QAAS,OAAQ,UAAW,SAAU,UAAW,SAAU,WAAY,QAAS,SAAU,YAAa,MAAO,WAAY,SAAU,OAAQ,SAAU,UAAW,kBAAmB,OAAQ,UAAW,MAAO,MAAO,cAAe,gBAAiB,uBAAwB,WAAY,SAAU,QAAS,gBAAiB,MAAO,QAAS,YAAa,SAAU,UAAW,SAAU,YAAa,cAAe,oBAAqB,MAAO,aAAc,uBAAwB,gBAAiB,YAAa,cAAe,mBAAoB,cAAe,eAAgB,SAAU,SAAU,KAAM,YAAa,QAAS,UAAW,QAAS,QAAS,WAAY,SAAU,eAAgB,gBAAiB,UAAW,SAAU,SAAU,YAAa,aAAc,UAAW,SAAU,OAAQ,SAAU,SAAU,cAAe,WAAY,SAAU,eAAgB,eAAgB,cAAe,UAAW,WAAY,QAAS,QAAS,aAAc,aAAc,WAAY,iBAAkB,kBAAmB,aAAc,UAAW,UAAW,iBAAkB,iBAAkB,aAAc,QAAS,eAAgB,eAAgB,eAAgB,SAAU,SAAU,WAAY,eAAgB,cAAe,qBAAsB,cAAe,SAAU,WAAY,iBAAkB,gBAAiB,YAAa,SAAU,cAAe,SAAU,gBAAiB,SAAU,UAAW,iBAAkB,QAAS,OAAQ,QAAS,cAAe,UAAW,MAAO,WAAY,SAAU,UAAW,SAAU,gBAAiB,QAAS,QAAS,eAAgB,UAAW,OAAQ,KAAM,MAAO,QAAS,SAAU,QAAS,SAAU,WAAY,kBAAmB,QAAS,cAAe,UAAW,YAAa,mBAAoB,aAAc,aAAc,UAAW,OAAQ,OAAQ,cAAe,eAAgB,QAAS,SAAU,uBAAwB,OAAQ,QAAS,UAAW,kBACrkIP,EAAQO,OAASA,EACjB,IAAID,GAAQ,EAAIyC,EAAOI,SAAS,GAAG5tB,OAAO8sB,EAAeD,EAAQD,EAAaD,EAAUD,EAAOD,EAAMD,EAAeD,EAAWD,EAAUD,EAAWD,EAAQD,EAASD,EAAOD,EAASD,EAAgBD,EAAQD,EAAQD,EAAYD,EAAWD,EAAMD,EAASD,EAASD,EAAmBD,EAAQD,EAAUD,EAAQD,EAAQD,EAAcD,EAAUD,EAASD,IAC1VP,EAAQM,MAAQA,EAChB,IAAID,EAAe,CAAC,aAAc,eAAgB,iBAAkB,cAAe,SAAU,SAAU,aAAc,aAAc,kBAAmB,cAAe,WAAY,MAAO,aAAc,QAAS,MAAO,MAAO,eAAgB,aAAc,aAAc,kBAAmB,UAAW,mBAAoB,MAAO,8BAA+B,SAAU,YAAa,UAAW,MAAO,UAAW,eAAgB,eAAgB,cAAe,cAAe,gBAAiB,cAAe,eAAgB,WAAY,eAAgB,wBAAyB,eAAgB,UAAW,cAAe,OAAQ,SAAU,OAAQ,KAAM,QAAS,OAAQ,mBAAoB,YAAa,iBAAkB,QAAS,MAAO,WAAY,aAAc,WAAY,YAAa,UAAW,WAAY,kBAAmB,SAAU,YAAa,cAAe,SAAU,SAAU,OAAQ,kBAAmB,WAAY,YAAa,iBAAkB,QAAS,MAAO,OAAQ,aAAc,UAAW,WAAY,OAAQ,oBAAqB,YAAa,oBAAqB,OAAQ,YAAa,OAAQ,OAAQ,MAAO,MAAO,qBAAsB,uBAAwB,OAAQ,aAAc,cAAe,QAAS,IAAK,eAAgB,WAAY,kBAAmB,SAAU,cAAe,OAAQ,eAAgB,OAAQ,QAAS,iBAAkB,iBAAkB,gBAAiB,kBAAmB,gBAAiB,OAAQ,MAAO,UAAW,MAAO,cAAe,WAAY,MAAO,MAAO,MAAO,MAAO,QAAS,UAAW,YAAa,OAAQ,aAAc,kBAAmB,UAAW,OAAQ,cAAe,UAAW,eAAgB,eAAgB,cAAe,OAAQ,kBAAmB,MAAO,SAAU,iBAAkB,kBAAmB,gBAAiB,iBAAkB,WAAY,UAAW,OAAQ,iBAAkB,yBAA0B,gBAAiB,UAAW,0BAA2B,wBAAyB,eAAgB,UAAW,cAAe,gBAAiB,QAAS,UAAW,YAAa,YAAa,iBAAkB,MAAO,YAAa,QAAS,gBAAiB,gBAAiB,iBAAkB,cAAe,QAAS,aAAc,QAAS,UAAW,WAAY,OAAQ,SAAU,UAAW,gBAAiB,uBAAwB,cAAe,SAAU,SAAU,MAAO,SAAU,MAAO,QAAS,QAAS,MAAO,iBAAkB,OAAQ,UAAW,WAAY,SAAU,SAAU,WAAY,OAAQ,UAAW,WAAY,UAAW,UAAW,SAAU,UAAW,SAAU,0BAA2B,2BAA4B,iBAAkB,yBAA0B,0BAA2B,kBAAmB,yBAA0B,0BAA2B,QAAS,MAAO,cAAe,UAAW,OAAQ,SAAU,WAAY,aAAc,cAAe,iBAAkB,QAAS,cAAe,aAAc,OAAQ,KAAM,cAAe,cAAe,eAAgB,YAAa,YAAa,SAAU,YAAa,gBAAiB,gBAAiB,iBAAkB,cAAe,MAAO,SAAU,YAAa,SAAU,MAAO,cAAe,aAAc,cAAe,SAAU,QAAS,eAAgB,aAAc,uBAAwB,OAAQ,iBAAkB,eAAgB,UAAW,QAAS,SAAU,SAAU,QAAS,MAAO,qBAAsB,kBAAmB,QAAS,eAAgB,IAAK,MAAO,MAAO,UAAW,WAAY,OAAQ,mBAAoB,gBAAiB,cAAe,iBAAkB,eAAgB,UAAW,eAAgB,0BAA2B,WAAY,YAAa,UAAW,OAAQ,WAAY,iBAAkB,kBAAmB,WAAY,oBAAqB,OAAQ,iBAAkB,aAAc,WAAY,UAAW,WAAY,QAAS,OAAQ,SAAU,UAAW,QAAS,kBAAmB,oBAAqB,kBAAmB,UAAW,WAAY,QAAS,kBAAmB,iBAAkB,SAAU,kBAAmB,QAAS,gBACl6HL,EAAQK,aAAeA,EACvB,IAAID,GAAoB,EAAI2C,EAAOI,SAAS,GAAG5tB,OAAO+qB,EAAOD,IAK7DL,EAAQI,kBAAoBA,EAC5B,IAAID,EAAmC,CAAC,iBAExCH,EAAQG,iCAAmCA,EAC3C,IAAID,GAA4B,EAAI6C,EAAOI,SAAS,GAAG5tB,OAAO6qB,EAAmBD,IACjFH,EAAQE,0BAA4BA,G,kCCjHpC,6CAWA,SAASmD,EAAM3tB,GACb,IAAIylB,EAASzlB,EAAMylB,OACf7I,EAAS5c,EAAM4c,OACf5a,EAAOhC,EAAMgC,KACbxB,EAAO,YAAkBmtB,EAAO3tB,GAIhCukB,IAAUkB,GAAU7I,SAAWnT,EACnC,OAAoB,IAAM9E,cAAc,IAAU,YAAS,GAAInE,EAAM,CACnEwB,KAAMA,EACNuiB,MAAOA,EACPkB,OAAQA,EACR7I,OAAQA,KAIZ+Q,EAAM1oB,aAAe,CAAC,SAAU,SAAU,QAC1C0oB,EAAMzoB,UASF,GACJyoB,EAAM7oB,aAAe,CACnB9C,KAAM,SAEO,O,mWC9BJ4rB,EAAS,SAAgBC,GAIlC,IAAIC,EAAeD,EAAUtkB,OAflB,EAiBPA,EAASskB,EAAUtkB,OAjBZ,EAmBPwkB,EAAgB3rB,OAAO4rB,YAU3B,OATqBD,EAAgB,GACnBxkB,EAAS,EAQJukB,EA3BX,GA2B0CC,GAY7CE,EAAkB,SAAyBC,EAAUxqB,EAAUmqB,GACxE,IAAIM,EAAYzqB,GAAYwqB,GAAaL,EAAUtkB,OAAS,EAAK,EAEjE,MAAO,CACL6kB,YAFiBP,EAAUvkB,MAAQ,EAGnC6kB,UAAWA,IAMJE,EAAW,WACpB,OAAQjsB,OAAOksB,eAAiB,kBAAmBlsB,QC1BjD,EAAqB,SAAUK,GAGjC,SAAS8rB,IAGP,IAFA,IAAI7rB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAoKzB,OAjKAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DqrB,OAAS,OAAAlsB,EAAA,MAAe+rB,IAC9B3rB,EAAMwG,IAAmB,sBACzBxG,EAAM+rB,UAAyB,sBAC/B/rB,EAAMgsB,6BAA+B,KAErChsB,EAAMisB,aAAe,WACnB,OAAO,OAAArsB,EAAA,KAAcI,EAAM1C,MAAMqX,WAAanV,SAASoV,KAAO,MAGhE5U,EAAMksB,uBAAyB,SAAU5a,GACvC,MAAO,CACL6a,cAAe,SAAuBxrB,EAAGyrB,GACvC,IAAQ9a,EAAiB,gBAAiB3Q,EAAGyrB,GAE7C,IAAQpsB,EAAM1C,MAAO,gBAAiBqD,EAAGX,EAAM1C,OAE/C0C,EAAM0I,YAAY/H,MAKxBX,EAAM0I,YAAc,SAAU/H,GAC5B,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,OAEzC0C,EAAM+E,SAAS,CACbmC,MAAM,KAIVlH,EAAMqsB,wBAA0B,SAAU1rB,GACxCX,EAAMgsB,6BAA+BrrB,GAGvCX,EAAMssB,oBAAsB,SAAU3rB,GACpC,IAAI4rB,EAAqBvsB,EAAM1C,MAAMivB,mBACjCC,EAAgCxsB,EAAMgsB,6BAC1ChsB,EAAMgsB,6BAA+B,MAChCO,GAAsB,OAAAE,EAAA,GAAqBzsB,EAAMwG,IAAIE,QAAS8lB,IAAkC,OAAAC,EAAA,GAAqBzsB,EAAMwG,IAAIE,QAAS/F,KAE7I,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,OAEzC0C,EAAM+E,SAAS,CACbmC,MAAM,MAIVlH,EAAM0sB,oBAAsB,SAAUpb,GACpC,MAAO,CACL1Q,QAAS,SAAiBD,GACxB,IAAQ2Q,EAAiB,UAAW3Q,GAEpCX,EAAM0I,YAAY/H,MAKxBX,EAAM2I,WAAa,SAAUhI,GAC3B,IAAQX,EAAM1C,MAAO,SAAUqD,EAAGX,EAAM1C,OAExC0C,EAAM+E,SAAS,CACbmC,MAAM,KAIVlH,EAAM4I,kBAAoB,SAAUjI,GAClC,IAAIgsB,EAAY3sB,EAAM1C,MAAMqvB,UAE5B3sB,EAAM+E,SAAS,CACbmR,WAAW,IAGblW,EAAM4sB,2BAENvkB,EAAA,EAAWwkB,IAAI,YAAa7sB,EAAMqsB,wBAAyB,CACzDS,KAAMH,EACNpkB,OAAQvI,EAAM+rB,UAAUrlB,UAE1B2B,EAAA,EAAWwkB,IAAI,QAAS7sB,EAAMssB,oBAAqB,CACjDQ,KAAMH,EACNpkB,OAAQvI,EAAM+rB,UAAUrlB,UAG1B,IAAQ1G,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG3C0C,EAAM6I,oBAAsB,SAAUlI,GACpC,IAAIgsB,EAAY3sB,EAAM1C,MAAMqvB,UAC5BI,qBAAqB/sB,EAAMgtB,oBAC3B3kB,EAAA,EAAWC,MAAM,YAAatI,EAAMqsB,wBAAyB,CAC3DS,KAAMH,EACNpkB,OAAQvI,EAAM+rB,UAAUrlB,UAE1B2B,EAAA,EAAWC,MAAM,QAAStI,EAAMssB,oBAAqB,CACnDQ,KAAMH,EACNpkB,OAAQvI,EAAM+rB,UAAUrlB,UAG1B,IAAQ1G,EAAM1C,MAAO,YAAaqD,EAAGX,EAAM1C,QAG7C0C,EAAM4sB,yBAA2B,WAC/B,IACI1W,EADAlV,EAAWhB,EAAM1C,MAAM0D,SAEvBisB,EAAW,GAEf,GAAIjtB,EAAMwG,IAAIE,QAAS,CACrB,IAAIwmB,EAAOltB,EAAMwG,IAAIE,QAAQD,wBAEzB+kB,EAAWN,EAAOgC,GACtBhX,GAAasV,EAEb,IAAI2B,EAAentB,EAAM8rB,OAASP,EAAgBC,EAAUxqB,EAAUksB,GAAQ,GAEzE,IAAaltB,EAAM6E,MAAMsoB,aAAcA,KAC1CF,EAASE,aAAeA,GAGtBntB,EAAM6E,MAAMqR,YAAcA,IAC5B+W,EAAS/W,UAAYA,GAIpB,IAAS+W,IAAWjtB,EAAM+E,SAASkoB,GACxCjtB,EAAMgtB,mBAAqBI,sBAAsBptB,EAAM4sB,2BAGzD5sB,EAAM+I,cAAgB,SAAUjL,GAC9B,IAAIiD,EAAcf,EAAM1C,MACpBsZ,EAAU7V,EAAY6V,QACtBtN,EAAQvI,EAAYuI,MACpBrI,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBmsB,EAAYtsB,EAAYssB,UACxBjsB,EAAUL,EAAYK,QACtBI,EAAST,EAAYS,OACrBmC,EAAO5C,EAAY4C,KACnB0F,EAAQtI,EAAYsI,MACpB5D,EAAczF,EAAM6E,MACpBsoB,EAAe1nB,EAAY0nB,aAC3BjX,EAAYzQ,EAAYyQ,UACxBpU,EAAU,YAAG,KAAM6B,EAAM,YAAW2F,EAAO,SAAU,YAAWtJ,EAAM8rB,OAAQ,UAAW,YAAW5V,EAAW,aAAc,kCAAmChV,GAChKa,EAAc,OAAA4H,EAAA,GAAekiB,EAAO7rB,EAAM1C,OAC1CgwB,GAA8B,IAAdD,EAAqB,QAAUA,EAC/CE,EAAepnB,EAAA,EAAKjE,OAAOorB,EAAe,CAC5C7b,cAAezR,EAAM0sB,sBAEvB,OAAoB,IAAMzqB,cAAc8H,EAAA,EAAK,CAC3CC,SAAUhK,EAAMwG,KACF,IAAMvE,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CAClEoD,UAAWY,EACXuH,MAAO,YAAS,GAAI8jB,EAAc9jB,KAChCkkB,EAAc,IAAcvrB,MAAMf,GAAyB,IAAMgB,cAAc,IAAMgI,SAAU,KAAMsM,EAAA,EAAYrU,OAAOV,EAAQ,CAClIW,iBAAiB,IACfqU,EAAA,EAAatU,OAAOd,EAAS,CAC/Be,iBAAiB,IACfsU,EAAA,EAAavU,OAAO0U,EAAS,CAC/BnF,cAAezR,EAAMksB,0BACjBjrB,KAGDjB,EA1KT,YAAe6rB,EAAO9rB,GA6KtB,IAAI2K,EAASmhB,EAAMhrB,UAuEnB,OArEA6J,EAAOK,qBAAuB,WAC5BtK,KAAKoI,uBAIP6B,EAAO5J,OAAS,WACd,IAAI0E,EAAe/E,KAAKnD,MACpB0D,EAAWwE,EAAaxE,SACxBgH,EAAuBxC,EAAawC,qBACpCmH,EAAS3J,EAAa2J,OACtBwd,EAAYnnB,EAAamnB,UACzBlhB,EAAUjG,EAAaiG,QACvBiX,EAAejiB,KAAKoE,MACpBqC,EAAOwb,EAAaxb,KACpBgP,EAAYwM,EAAaxM,UACzBvB,EAAYlU,KAAKwrB,eAErB,IAAK,OAAArsB,EAAA,KACH,OAAoB,yBAAe6L,GAAWA,EAAU,KAG1D,IAAIwX,EAAY,OAAA3Y,EAAA,GAAkBuhB,EAAOprB,KAAKnD,OAC1CkwB,EAAkBhjB,EAAA,EAAOjI,aAEzBzE,EAAO,IAAQmlB,GAAW,SAAU1Y,EAAKxM,EAAKgI,GAEhD,OADK,IAAUynB,EAAiBznB,KAAMwE,EAAIxE,GAAOhI,GAC1CwM,IACN,IAEClD,EAAc,IAAM4b,EAAWuK,GAYnC,OAAoB,IAAMvrB,cAAcuI,EAAA,EAAQ,YAAS,CACvDxC,qBAAsBA,GACrBX,EAAa,CACdoE,QAASA,EACTkhB,UAAWA,EACXhY,UAAWA,EACXzN,KAAMA,EACN+E,QAASxL,KAAKiI,YACdwD,QAASzL,KAAKmI,kBACduD,OAAQ1L,KAAKkI,WACbyD,UAAW3L,KAAKoI,sBACD,IAAM5G,cAAc8H,EAAA,EAAK,CACxCC,SAAUvJ,KAAKsrB,WACdjV,EAAA,EAAY5U,OAAO,IAAeiN,GAAUA,EAAS,GAAI,CAC1DhN,iBAAiB,EACjBC,aAAc,CACZ2U,SAAqB,aAAX5H,EACV3F,SAAqB,aAAX2F,GAEZsC,cAAe,CACbxQ,SAAUR,KAAKsI,cAAcjL,GAC7BkD,SAAUA,EACV2T,UAAWA,EACXuB,UAAWA,QAKV2V,EArPgB,CAsPvB,KAEF,EAAMtpB,aAAe,CAAC,UAAW,KAAM,QAAS,WAAY,WAAY,YAAa,YAAa,qBAAsB,uBAAwB,UAAW,cAAe,SAAU,YAAa,SAAU,YAAa,gBAAiB,UAAW,UAAW,SAAU,YAAa,OAAQ,OAAQ,QAAS,WAC/S,EAAMC,UAsGF,GACJ,EAAMJ,aAAe,CACnBpB,UAAU,EACVmO,QAAQ,EACRod,oBAAoB,EACpBvkB,sBAAsB,EACtB2kB,UAAW,SAEb,EAAMzmB,oBAAsB,CAAC,QAC7B,EAAMunB,QAAUhX,EAAA,EAChB,EAAMhU,QAAU+T,EAAA,EAChB,EAAM9T,YAAcuY,EAAA,EACpB,EAAMyS,OAAS5W,EAAA,EACf,EAAMlU,OAAS2T,EAAA,EACA,O,4+OChYf,SAASoX,EAAUrwB,GASjB,OARA,OAAA0jB,EAAA,GAAoB1jB,EAAM2S,KAAM3S,EAAM4D,WAQ/B,KAGTysB,EAAUprB,aAAe,CAAC,YAAa,QACvCorB,EAAUnrB,UAMN,GACW,Q,+IClBX,EAA8B,SAAUzC,GAG1C,SAAS6tB,IAGP,IAFA,IAAI5tB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAsBzB,OAnBAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GAC5B,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG3C0C,EAAM6tB,cAAgB,SAAUltB,GAC9B,IAAQX,EAAM1C,MAAO,YAAaqD,EAAGX,EAAM1C,OAEvC,IAAYoa,QAAQ/W,KAAO,IAAYgX,OAAO,IAAQ3X,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG7F0C,EAAM8tB,gBAAkB,WACtB,MAAO,CACLltB,QAASZ,EAAMU,YACfqtB,UAAW/tB,EAAM6tB,gBAId7tB,EAwBT,OApDA,YAAe4tB,EAAgB7tB,GA+BlB6tB,EAAe/sB,UAErBC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrBxG,EAAOyB,EAAYzB,KACnBmF,EAAWhE,KAAKnD,MAAMmH,UAAqB,iBAATnF,EACtC,OAAOuQ,EAAA,EAAS3N,OAAOzB,KAAKnD,MAAO,CACjC8E,aAAc,CACZ0D,OAAQA,EACR,eAAgBA,EAChB,gBAAiBrB,EACjBA,SAAUA,EACV7D,QAASH,KAAKC,YACdqtB,UAAWttB,KAAKotB,cAChBjoB,SAAUnB,GAAY,EAAI,GAE5BgN,cAAehR,KAAKqtB,mBAIjBF,EArDyB,CAsDhC,aAEF,EAAerrB,aAAe,CAAC,SAAU,WAAY,UAAW,YAAa,QAC7E,EAAeC,UAyBX,GACJ,EAAeN,OAAS,YAAuB,GAAgB,SAAUd,GACvE,MAAO,CACLA,QAASA,MAGE,QCrFX,EAA0B,SAAUrB,GAGtC,SAASiuB,IAGP,IAFA,IAAIhuB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAmCzB,OAhCAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DwtB,gBAAkB,SAAUttB,EAAG2D,GACnC,IAAI4pB,EAAiB5pB,EAAKjF,OACLW,EAAM6E,MAAMspB,aAERD,IAEzBluB,EAAM+E,SAAS,CACbopB,WAAYD,IAGd,IAAQluB,EAAM1C,MAAO,eAAgBqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAChE6wB,WAAYD,OAIhBluB,EAAM2T,oBAAsB,SAAU7N,EAAQxG,EAAMD,GAClD,OAAO,SAAUiS,GACf,MAAO,CACLxL,OAAQA,EACRxG,KAAMA,EACNyG,IAAKzG,EAAO,IAAMD,EAClBuB,QAAS,SAAiBD,EAAGiT,GAC3B,IAAQtC,EAAiB,UAAW3Q,EAAGiT,GAEhB,iBAAnBA,EAAUtU,MAAyBU,EAAMiuB,gBAAgBttB,EAAGiT,OAMjE5T,EAzCT,YAAeguB,EAAYjuB,GA4C3B,IAAI2K,EAASsjB,EAAWntB,UA8CxB,OA5CA6J,EAAO+N,8BAAgC,WACrC,MAAO,CACL0V,WAAY,IAIhBzjB,EAAO5J,OAAS,WACd,IAAIyE,EAAS9E,KAETM,EAAcN,KAAKnD,MACnB8wB,EAAYrtB,EAAY,cACxBstB,EAAgBttB,EAAYstB,cAC5B5pB,EAAW1D,EAAY0D,SACvB6pB,EAAevtB,EAAYutB,aAC3BC,EAAextB,EAAYwtB,aAC3BC,EAAaztB,EAAYytB,WACzBL,EAAa1tB,KAAKoE,MAAMspB,WACxBja,EAAQ,OAAAua,EAAA,GAAsB,CAChCN,WAAYA,EACZE,cAAeA,EACfK,aAAc,IAAOJ,GACrBC,aAAcA,EACdC,WAAYA,IAEV1wB,EAAO,OAAAwM,EAAA,GAAkB0jB,EAAYvtB,KAAKnD,OAC9C,OAAoB,IAAM2E,cAAc4hB,EAAA,EAAM,YAAS,GAAI/lB,EAAM,CAC/D,aAAcswB,EACdlK,YAAY,EACZxe,KAAM,eACJ,IAAKwO,GAAO,SAAUhP,GACxB,IAAIY,EAASZ,EAAMY,OACfxG,EAAO4F,EAAM5F,KACbD,EAAQ6F,EAAM7F,MAClB,OAAO,EAAe6C,OAAOqD,EAAOjI,MAAMgC,GAAO,CAC/C8C,aAAc,CACZhB,QAAS/B,EACToF,SAAUA,EACVpF,MAAOA,GAEToS,cAAelM,EAAOoO,oBAAoB7N,EAAQxG,EAAMD,UAKvD2uB,EA3FqB,CA4F5B,KAEF,EAAWzrB,aAAe,CAAC,aAAc,aAAc,gBAAiB,oBAAqB,WAAY,eAAgB,YAAa,WAAY,WAAY,eAAgB,WAAY,WAAY,eAAgB,cAEtN,EAAWC,UA+CP,GACJ,EAAW0D,oBAAsB,CAAC,cAClC,EAAW9D,aAAe,CACxB,aAAc,wBACdisB,cAAe,EACfC,aAAc,MACdK,UAAW,CACT,aAAc,aACdvtB,QAAS,KAEXwtB,SAAU,CACR,aAAc,YACdxtB,QAAS,KAEXytB,SAAU,CACR,aAAc,YACdztB,QAAS,KAEX0tB,SAAU,GACVC,SAAU,CACR,aAAc,gBACd3tB,QAAS,KAEXmtB,aAAc,GAEhB,EAAWrqB,KAAO,E,qGCtKd,EAAoC,SAAUnE,GAGhD,SAASivB,IAGP,IAFA,IAAIhvB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GA2DzB,OAxDAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DoE,MAAQ,GAEd7E,EAAMivB,kBAAoB,WACxBjvB,EAAM+E,SAAS,CACbmqB,YAAa,KAIjBlvB,EAAMmvB,iBAAmB,WACvBnvB,EAAM+E,SAAS,CACbmqB,YAAY,KAIhBlvB,EAAMovB,qBAAuB,SAAU5Q,EAAS6Q,GAC9C,IAAIH,EAAalvB,EAAM6E,MAAMqqB,WAE7BlvB,EAAM+E,SAAS,CACbuqB,mBAAmB,IAGrB,IAAQtvB,EAAM1C,MAAO,UAAW,KAAM,YAAS,GAAI+xB,EAAM,CACvDH,YAAY,EACZI,mBAAmB,KAGrB,IAAQtvB,EAAM1C,MAAO,SAAU,KAAM,YAAS,GAAI+xB,EAAM,CACtDH,WAAYA,EACZI,mBAAmB,MAIvBtvB,EAAMuvB,sBAAwB,SAAU/Q,EAAS6Q,GAC/C,IAAIH,EAAalvB,EAAM6E,MAAMqqB,WAEzBI,EADSD,EAAK5K,SACiB,IAEnC,IAAQzkB,EAAM1C,MAAO,UAAW,KAAM,YAAS,GAAI+xB,EAAM,CACvDH,WAAYA,EACZI,kBAAmBA,KAIhBA,IAELtvB,EAAM+E,SAAS,CACbuqB,kBAAmBA,IAGrB,IAAQtvB,EAAM1C,MAAO,SAAU,KAAM,YAAS,GAAI+xB,EAAM,CACtDC,kBAAmBA,EACnBJ,YAAY,OAITlvB,EAyDT,OA1HA,YAAegvB,EAAsBjvB,GAuErCivB,EAAqB5kB,yBAA2B,SAAkC9M,EAAOuH,GAOvF,OAA0B,IAAtBA,EAAMqqB,WACD,CACLA,YAAY,GAIZ,IAAa5xB,EAAM4J,MACd,KAGF,CACLgoB,WAAY5xB,EAAM4J,OAOT8nB,EAAqBnuB,UAK3BC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnB2D,EAAWF,EAAYE,SACvBuuB,EAAazuB,EAAYyuB,WACzB/pB,EAAchF,KAAKoE,MACnBqqB,EAAazpB,EAAYypB,WACzBI,EAAoB7pB,EAAY6pB,kBAChCpoB,EAAOgoB,GAAcI,EACrBxxB,EAAO,OAAAwM,EAAA,GAAkB0kB,EAAsBvuB,KAAKnD,OACxD,OAAoB,IAAM2E,cAAcuI,EAAA,EAAQ,YAAS,GAAI1M,EAAM,CACjEoJ,KAAMA,EACNiF,OAAQ1L,KAAK0uB,iBACbljB,QAASxL,KAAKwuB,oBACC,IAAMhtB,cAAcmc,EAAA,EAAY,YAAS,GAAIoR,EAAY,CACxEtR,mBAAmB,EACnBuR,QAAShvB,KAAK8uB,sBACd1R,OAAQpd,KAAK2uB,qBACbvrB,QAASqrB,IACPjuB,KAGC+tB,EA3H+B,CA4HtC,aAEF,EAAqBzsB,aAAe,CAAC,WAAY,UAAW,SAAU,SAAU,UAAW,OAAQ,cAEnG,EAAqBC,UAyCjB,GACJ,EAAqBJ,aAAe,CAClCotB,WAAY,CACV1R,UAAW,QACXE,SAAU,M,+FC/KV,EAA0B,SAAUje,GAGtC,SAAS2vB,IAGP,IAFA,IAAI1vB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAuIzB,OApIAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DkvB,aAAe,CACnBC,cAAc,EACdC,eAAe,EACfC,MAAM,EACNC,SAAS,EACTC,WAAW,EACXC,UAAU,EACVC,WAAW,EACXC,YAAY,GAEdnwB,EAAMowB,eAAiB,GACvBpwB,EAAMwG,IAAmB,sBAEzBxG,EAAMqwB,KAAO,SAAU/rB,EAAMjF,EAAOixB,GAClC,IAAIvP,EAAWzc,EAAKyc,SAChB/c,EAAOM,EAAKN,UAEA,IAAZssB,IACFA,GAAU,GAGZ,IAAIvvB,EAAcf,EAAM1C,MACpBizB,EAAaxvB,EAAYwvB,WACzBC,EAAOzvB,EAAYyvB,KAInBC,EAAmBzwB,EAAM2vB,aAAatwB,KAAWixB,EACjDI,EAAoBH,GAAcvwB,EAAM2vB,aAAatwB,KAAWW,EAAM2wB,gBAAgBtxB,GACtFoxB,GAAoBC,GAAmB1wB,EAAM4wB,QAAQ7P,EAAU/c,GAE9DwsB,IAAMxwB,EAAMowB,eAAiB,IAASpwB,EAAMowB,eAAgBpsB,KAGnEhE,EAAM8K,aAAe,WACf9K,EAAM6wB,UACV7wB,EAAM6wB,SAAU,EAChB7wB,EAAM8wB,QAAU1D,sBAAsBptB,EAAM+wB,UAG9C/wB,EAAM+wB,OAAS,WACb,GAAK/wB,EAAMgxB,QAAX,CACAhxB,EAAM6wB,SAAU,EAChB7wB,EAAM2wB,gBAAkB3wB,EAAM2vB,aAC9B3vB,EAAM2vB,aAAe3vB,EAAMixB,sBAC3BjxB,EAAMkxB,YAAclxB,EAAMmxB,iBAC1B,IAAI3rB,EAAexF,EAAM1C,MACrB8zB,EAAiB5rB,EAAa4rB,eAC9BC,EAAwB7rB,EAAa6rB,sBACrCC,EAAkB9rB,EAAa8rB,gBAC/BC,EAAyB/rB,EAAa+rB,uBACtCC,EAAYhsB,EAAagsB,UACzBC,EAAmBjsB,EAAaisB,iBAChCC,EAAclsB,EAAaksB,YAC3BC,EAAqBnsB,EAAamsB,mBAClCC,EAAepsB,EAAaosB,aAC5BC,EAAsBrsB,EAAaqsB,oBACnCC,EAActsB,EAAassB,YAC3BC,EAAavsB,EAAausB,WAC1BC,EAAWxsB,EAAawsB,SACxBC,EAAU,CACZrC,aAAc,CACZ7O,SAAUqQ,EACVptB,KAAM,kBAER6rB,cAAe,CACb9O,SAAUuQ,EACVttB,KAAM,mBAER+rB,QAAS,CACPhP,SAAUyQ,EACVxtB,KAAM,aAERgsB,UAAW,CACTjP,SAAU+Q,EACV9tB,KAAM,eAERisB,SAAU,CACRlP,SAAUgR,EACV/tB,KAAM,cAERksB,UAAW,CACTnP,SAAU2Q,EACV1tB,KAAM,eAERmsB,WAAY,CACVpP,SAAU6Q,EACV5tB,KAAM,iBAGNssB,EAAU,CACZV,aAAc,CACZ7O,SAAUsQ,EACVrtB,KAAM,yBAER6rB,cAAe,CACb9O,SAAUwQ,EACVvtB,KAAM,0BAER+rB,QAAS,CACPhP,SAAU0Q,EACVztB,KAAM,oBAERksB,UAAW,CACTnP,SAAU4Q,EACV3tB,KAAM,sBAERmsB,WAAY,CACVpP,SAAU8Q,EACV7tB,KAAM,wBAIV,IAAQhE,EAAM1C,MAAO,WAAY,KAAM,YAAS,GAAI0C,EAAM1C,MAAO,CAC/DqyB,aAAc3vB,EAAM2vB,gBAGtB3vB,EAAMkyB,eAGN,IAAS5B,GAAS,SAAUjB,EAAMhwB,GAChC,OAAOW,EAAMqwB,KAAKhB,EAAMhwB,GAAO,MAGjC,IAAS4yB,GAAS,SAAU5C,EAAMhwB,GAChC,OAAOW,EAAMqwB,KAAKhB,EAAMhwB,MAGT,YAAb2yB,GAAwBhyB,EAAM8K,iBAG7B9K,EA7IT,YAAe0vB,EAAY3vB,GAgJ3B,IAAI2K,EAASglB,EAAW7uB,UA4KxB,OAvKA6J,EAAO0H,kBAAoB,WAEzB,GADA3R,KAAKuwB,SAAU,EACV,OAAApxB,EAAA,KAAL,CACA,IAAIqL,EAAexK,KAAKnD,MACpB4N,EAAUD,EAAaC,QACvBinB,EAAclnB,EAAaknB,YAC3BH,EAAW/mB,EAAa+mB,SAC5BvxB,KAAKywB,YAAczwB,KAAK0wB,iBACxB1wB,KAAK2xB,eAAelnB,EAAS8mB,GACzBG,GAAa1xB,KAAKswB,WAGxBrmB,EAAOC,mBAAqB,SAA4BC,IAClCA,EAAU2lB,aAAe9vB,KAAKnD,MAAMizB,YAAc3lB,EAAU4lB,OAAS/vB,KAAKnD,MAAMkzB,MAAQ5lB,EAAUonB,WAAavxB,KAAKnD,MAAM00B,YAE3HvxB,KAAK2vB,eAAiB,IAErCxlB,EAAUM,UAAYzK,KAAKnD,MAAM4N,SAAWN,EAAUonB,WAAavxB,KAAKnD,MAAM00B,WAChFvxB,KAAK4xB,iBAAiBznB,EAAUM,SAChCzK,KAAK2xB,eAAe3xB,KAAKnD,MAAM4N,QAASzK,KAAKnD,MAAM00B,YAIvDtnB,EAAOK,qBAAuB,WAC5B,IAAIG,EAAUzK,KAAKnD,MAAM4N,QACzBzK,KAAK4xB,iBAAiBnnB,GACtBzK,KAAKuwB,SAAU,GAGjBtmB,EAAO0nB,eAAiB,SAAwBlnB,EAAS8mB,GACtC,WAAbA,EAeJvxB,KAAKqK,eAdCI,IACF7C,EAAA,EAAWwkB,IAAI,SAAUpsB,KAAKqK,aAAc,CAC1CvC,OAAQ2C,IAEV7C,EAAA,EAAWwkB,IAAI,SAAUpsB,KAAKqK,aAAc,CAC1CvC,OAAQ2C,MAYhBR,EAAO2nB,iBAAmB,SAA0BnnB,GAC9CA,IACF7C,EAAA,EAAWC,MAAM,SAAU7H,KAAKqK,aAAc,CAC5CvC,OAAQ2C,IAEV7C,EAAA,EAAWC,MAAM,SAAU7H,KAAKqK,aAAc,CAC5CvC,OAAQ2C,KAIRzK,KAAKqwB,SAAS/D,qBAAqBtsB,KAAKqwB,UAM9CpmB,EAAOkmB,QAAU,SAAiB7P,EAAU/c,GAC1C,IAAIusB,EAAa9vB,KAAKnD,MAAMizB,WACvBxP,KAEAwP,GAAc,IAAU9vB,KAAK2vB,eAAgBpsB,KAClD+c,EAAS,KAAM,YAAS,GAAItgB,KAAKnD,MAAO,CACtCqyB,aAAclvB,KAAKkvB,gBAErBlvB,KAAK2vB,eAAe5S,KAAKxZ,MAG3B0G,EAAOwnB,aAAe,WACpB,IAAI3sB,EAAS9E,KAET6xB,EAAqB7xB,KAAKkvB,aAC1B4C,EAAmBD,EAAmBC,iBACtCC,EAAeF,EAAmBE,aAClCC,EAAWhyB,KAAKnD,MAAMm1B,SAE1B,IAASA,GAAU,SAAU1R,EAAU2R,GACrC,IAAIC,EAAc3H,OAAO0H,GAEzB,GAAIC,GAAeH,GAAgBG,EACjCptB,EAAOqrB,QAAQ7P,EAAU2R,OAD3B,CAMA,IAAIE,GAAmB,GAAKF,GAAQG,MAAM,YAC1C,GAAKD,EAAL,CACA,IAAIE,EAAkB9H,OAAO4H,EAAgB,IAAM,IAC/CL,GAAoBO,GAAiBvtB,EAAOqrB,QAAQ7P,EAAU2R,SAOtEhoB,EAAOumB,oBAAsB,WAC3B,IAAI7lB,EAAS3K,KAAKnD,MAAM8N,OAEpB2nB,EAAwBtyB,KAAK+F,IAAIE,QAAQD,wBACzCmK,EAASmiB,EAAsBniB,OAC/B/J,EAASksB,EAAsBlsB,OAC/B8J,EAAMoiB,EAAsBpiB,IAC5B/J,EAAQmsB,EAAsBnsB,MAE9BosB,EAAmB,OAAAC,EAAA,GAAgB7nB,GACnC8nB,EAAYF,EAAiB,GAC7BG,EAAeH,EAAiB,GAGhC/c,EADYxV,KAAK0wB,iBACO1wB,KAAKywB,YAAc,OAAS,KACpDhB,EAAYvf,EAAMuiB,EAClBtD,EAAehf,EAASuiB,EACxBX,EAAe5C,EAAe,EAAIwD,KAAKC,KAAW,EAAP1iB,EAAU,GACrD4hB,EAAmBC,EAAe3rB,EAClCgpB,EAAgBjf,GAAUuiB,GAAgBviB,GAAUlR,OAAO4rB,YAC3D6E,EAAaxf,GAAOuiB,GAAaviB,GAAOjR,OAAO4rB,YAG/C2E,GAAYE,GAAcD,KAAeN,EAE7C,MAAO,CACLA,aAAcA,EACdC,cAAeA,EACf5Z,UAAWA,EACX6Z,KARSK,GAAcN,EASvBhpB,OAAQA,EACRkpB,QATYG,IAAcN,EAU1B2C,iBAAkBA,EAClBC,aAAcA,EACdxC,WAVeC,EAWfA,SAAUA,EACVC,UAAWA,EACXC,WAAYA,EACZvpB,MAAOA,IAIX8D,EAAOymB,eAAiB,WACtB,IAAIjmB,EAAUzK,KAAKnD,MAAM4N,QAEzB,OAAIA,EAEKA,IAAYxL,OAASA,OAAOwxB,YAAchmB,EAAQooB,UAGpD,GAMT5oB,EAAO5J,OAAS,WACd,IAAIG,EAAWR,KAAKnD,MAAM2D,SACtBc,EAAc,OAAA4H,EAAA,GAAe+lB,EAAYjvB,KAAKnD,OAC9CQ,EAAO,OAAAwM,EAAA,GAAkBolB,EAAYjvB,KAAKnD,OAC9C,OAAoB,IAAM2E,cAAc8H,EAAA,EAAK,CAC3CC,SAAUvJ,KAAK+F,KACD,IAAMvE,cAAcF,EAAajE,EAAMmD,KAGlDyuB,EA7TqB,CA8T5B,aAEF,EAAWntB,aAAe,CAAC,KAAM,WAAY,UAAW,aAAc,cAAe,SAAU,iBAAkB,wBAAyB,kBAAmB,yBAA0B,cAAe,aAAc,WAAY,YAAa,mBAAoB,cAAe,qBAAsB,eAAgB,sBAAuB,WAAY,OAAQ,YAEjW,EAAWC,UA6IP,GACJ,EAAWJ,aAAe,CACxB8I,QAAS,OAAAtL,EAAA,KAAcF,OAAS,KAChC6wB,YAAY,EACZnlB,OAAQ,CAAC,EAAG,GACZolB,MAAM,EACNwB,SAAU,U,gDCxdZ,SAASuB,GAAkBj2B,GACzB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBkC,EAAOhG,EAAMgG,KACbxB,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,OAAAwM,EAAA,GAAkBipB,GAAmBj2B,GAC5CyE,EAAc,OAAA4H,EAAA,GAAe4pB,GAAmBj2B,GAEpD,OAAK,IAAOgG,GASP,IAAOlC,GAMQ,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAY,IAAMA,GAPpB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,GAXG+E,GAAA,EAAKjE,OAAOoB,EAAM,CACvBlB,aAAc,YAAS,GAAItE,EAAM,CAC/BoD,UAAWY,IAEbK,iBAAiB,IAevBoxB,GAAkBhxB,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QAC5EgxB,GAAkB/wB,UAed,GACJ+wB,GAAkBrxB,OAAS,YAAuBqxB,IAAmB,SAAUjwB,GAC7E,MAAO,CACLA,KAAMA,MAGK,U,SCnDX,GAAiC,SAAUvD,GAG7C,SAASyzB,IAGP,IAFA,IAAIxzB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAgBzB,OAbAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5D4mB,mBAAqB,WACzB,IAAItmB,EAAcf,EAAM1C,MACpBqE,EAAOZ,EAAYY,KACnBf,EAAUG,EAAYH,QAC1B,GAAIe,GAAQf,EAAS,MAAO,KAG9BZ,EAAMU,YAAc,SAAUC,GAC5B,OAAO,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG3C0C,EAsBT,OA5CA,YAAewzB,EAAmBzzB,GAyBrByzB,EAAkB3yB,UAExBC,OAAS,WACd,IAAI0E,EAAe/E,KAAKnD,MACpBwI,EAASN,EAAaM,OACtB7E,EAAWuE,EAAavE,SACxBC,EAAYsE,EAAatE,UACzBE,EAAUoE,EAAapE,QACvBK,EAAO+D,EAAa/D,KACpBK,EAAU,YAAG,aAAWgE,EAAQ,UAAW,UAAW5E,GACtDpD,EAAO,OAAAwM,EAAA,GAAkBkpB,EAAmB/yB,KAAKnD,OACjDyE,EAAc,OAAA4H,EAAA,GAAe6pB,EAAmB/yB,KAAKnD,MAAOmD,KAAK4mB,oBACrE,OAAoB,IAAMplB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXL,KAAMA,EACNb,QAASH,KAAKC,cACZ,KAAcsB,MAAMf,GAAYG,EAAUH,IAGzCuyB,EA7C4B,CA8CnC,aC5CF,SAASC,GAAWn2B,GAClB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBwyB,EAAUp2B,EAAMo2B,QAChBpwB,EAAOhG,EAAMgG,KACbqwB,EAAWr2B,EAAMq2B,SACjBhwB,EAAOrG,EAAMqG,KACb7B,EAAU,YAAG,KAAM6B,EAAM,aAAczC,GACvCpD,EAAO,OAAAwM,EAAA,GAAkBmpB,GAAYn2B,GACrCyE,EAAc,OAAA4H,EAAA,GAAe8pB,GAAYn2B,GAE7C,IAAK,KAAc0E,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGN,IAAI2yB,EAAgB,GAiBpB,OAfA,IAAMD,GAAU,SAAUE,EAAStvB,GAEjC,IAAIuvB,EAAoB,GAAkB5xB,OAAO2xB,GAGjD,GAFAD,EAAcpW,KAAKsW,GAEfvvB,IAAUovB,EAASxzB,OAAS,EAAG,CACjC,IAAI4F,EAAM+tB,EAAkB/tB,IAAM,aAAc,EAChD6tB,EAAcpW,KAAK,GAAkBtb,OAAO,CAC1Cd,QAASsyB,EACTpwB,KAAMA,EACNyC,IAAKA,SAKS,IAAM9D,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT8xB,GDUN,GAAkBrxB,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,UAAW,OAAQ,OAAQ,WAEtG,GAAkBC,UA8Bd,GACJ,GAAkBN,OAAS,YAAuB,IAAmB,SAAUd,GAC7E,MAAO,CACLA,QAASA,EACTO,MAAM,MC3CV8xB,GAAWlxB,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,OAAQ,WAAY,QACzFkxB,GAAWjxB,UAsBP,GACJixB,GAAWM,QAAU,GACrBN,GAAWO,QAAU,GACN,U,6mBCpEf,SAASC,GAAK32B,GACZ,IAAI2F,EAAW3F,EAAM2F,SACjBhC,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBgzB,EAAQ52B,EAAM42B,MACd9yB,EAAU9D,EAAM8D,QAChB+yB,EAAW72B,EAAM62B,SACjBC,EAAW92B,EAAM82B,SACjB7oB,EAAWjO,EAAMiO,SACjB5H,EAAOrG,EAAMqG,KACb7B,EAAU,YAAG,KAAMyJ,EAAU5H,EAAM,aAAWV,EAAU,YAAa,aAAWkxB,EAAU,YAAa,aAAWC,EAAU,YAAa,aAAoBF,EAAO,SAAU,OAAQhzB,GACtLpD,EAAO,OAAAwM,EAAA,GAAkB2pB,GAAM32B,GAC/ByE,EAAc,OAAA4H,EAAA,GAAesqB,GAAM32B,GACvC,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhDgzB,GAAK1xB,aAAe,CAAC,KAAM,WAAY,WAAY,YAAa,QAAS,UAAW,WAAY,WAAY,WAAY,QACxH0xB,GAAKzxB,UA8BD,GACW,UCnDf,SAAS6xB,GAAc/2B,GACrB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBiC,EAAS/F,EAAM+F,OACfQ,EAAUvG,EAAMuG,QAChB/B,EAAU,YAAG,KAAM,aAAWuB,EAAQ,UAAW,aAAWQ,EAAS,WAAY,UAAW3C,GAC5FpD,EAAO,OAAAwM,EAAA,GAAkB+pB,GAAe/2B,GACxCyE,EAAc,OAAA4H,EAAA,GAAe0qB,GAAe/2B,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhDozB,GAAc9xB,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,SAAU,WAClF8xB,GAAc7xB,UAkBV,GACW,UCjCf,SAAS8xB,GAAOh3B,GACd,IAAIwI,EAASxI,EAAMwI,OACf+N,EAAWvW,EAAMuW,SACjB5S,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBqD,EAAWnH,EAAMmH,SACjB8vB,EAAUj3B,EAAMi3B,QAChBzyB,EAAU,YAAG,KAAM+R,EAAU,aAAW/N,EAAQ,UAAW,aAAWrB,EAAU,YAAa,aAAW8vB,EAAS,WAAY,SAAUrzB,GACvIpD,EAAO,OAAAwM,EAAA,GAAkBgqB,GAAQh3B,GACjCyE,EAAc,OAAA4H,EAAA,GAAe2qB,GAAQh3B,GACzC,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhDqzB,GAAO/xB,aAAe,CAAC,SAAU,WAAY,KAAM,WAAY,YAAa,UAAW,WAAY,WACnG+xB,GAAO9xB,UAwBH,GACJ8xB,GAAO7xB,QAAU,GACF,U,uQC1CX,GAAqB,SAAU1C,GAGjC,SAASy0B,IAGP,IAFA,IAAIx0B,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAgBzB,OAbAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GAC5B,IAAIC,EAAUZ,EAAM1C,MAAMsD,QACtBkF,EAAS9F,EAAM6E,MAAMiB,OACrBlF,GAASA,EAAQD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAChDwI,QAAQ,KAELA,GAAQ9F,EAAM+E,SAAS,CAC1Be,QAAQ,KAIL9F,EAtBT,YAAew0B,EAAOz0B,GAyBtB,IAAI2K,EAAS8pB,EAAM3zB,UA+EnB,OA7EA6J,EAAO+pB,OAAS,WACd,IAAI1zB,EAAcN,KAAKnD,MACnBo3B,EAAuB3zB,EAAY4zB,SACnCA,OAAoC,IAAzBD,GAAyCA,EACpDE,EAAwB7zB,EAAY8zB,UACpCA,OAAsC,IAA1BD,GAA2CA,EACvDE,EAAoB/zB,EAAYI,MAChCA,OAA8B,IAAtB2zB,EAA+B,UAAYA,EACnDC,EAAiBh0B,EAAYi0B,GAC7BA,OAAwB,IAAnBD,GAAmCA,EACxC9S,EAAKlhB,EAAYkhB,GACjBgT,EAASl0B,EAAYk0B,OACrBC,EAAMn0B,EAAYm0B,IAEtB,MAAe,YAAXD,EACK,CAAC,2BAA6BhT,EAAI,iBAAkB,iBAAmB0S,EAAU,cAAgBQ,mBAAmBh0B,GAAQ,WAAa6zB,EAAI,mBAAoB,uBAAyBH,EAAW,aAAeA,EAAY,EAAI,IAAIzhB,KAAK,IAGvO,UAAX6hB,EACK,CAAC,4BAA8BhT,EAAI,aAAc,iBAAmB0S,EAAU,oBAAqB,cAAgBQ,mBAAmBh0B,GAAQ,sBAAuB,oBAAoBiS,KAAK,IAGhM8hB,GAGTxqB,EAAO5J,OAAS,WACd,IAAI0E,EAAe/E,KAAKnD,MACpB83B,EAAc5vB,EAAa4vB,YAC3Bl0B,EAAYsE,EAAatE,UACzBoC,EAAOkC,EAAalC,KACpB+d,EAAc7b,EAAa6b,YAC3Bvb,EAASrF,KAAKoE,MAAMiB,OACpBhE,EAAU,YAAG,KAAMszB,EAAa,aAAWtvB,EAAQ,UAAW,QAAS5E,GACvEpD,EAAO,OAAAwM,EAAA,GAAkBkqB,EAAO/zB,KAAKnD,OACrCyE,EAAc,OAAA4H,EAAA,GAAe6qB,EAAO/zB,KAAKnD,OACzC+3B,OAAyBtuB,IAATzD,EAAqBA,EAAO,aAChD,OAAoB,IAAMrB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXlB,QAASH,KAAKC,cACZyF,GAAA,EAAKjE,OAAOmzB,EAAe,CAC7BlzB,iBAAiB,IACfkf,GAA4B,IAAMpf,cAAc,MAAO,CACzDf,UAAW,cACXyO,IAAK0R,IACH5gB,KAAK60B,gBAGX5qB,EAAO4qB,YAAc,WACnB,IAAIrqB,EAAexK,KAAKnD,MACpB2D,EAAWgK,EAAahK,SACxBG,EAAU6J,EAAa7J,QACvBm0B,EAAStqB,EAAasqB,OACtBN,EAAShqB,EAAagqB,OAE1B,OADax0B,KAAKoE,MAAMiB,OAEnB,KAAc9D,MAAMf,GAGpB,KAAce,MAAMZ,GAGL,IAAMa,cAAc,MAAO,CAC7Cf,UAAW,SACV,YAAiB,KAAcc,MAAMuzB,GAAU90B,KAAKg0B,SAAWc,EAAQ,CACxEnzB,aAAc,CACZozB,iBAAiB,EACjBC,YAAa,EACb5uB,OAAQ,OACRqP,UAAW,KACXvG,IAAKlP,KAAKg0B,SACVjjB,MAAO,yBAA2ByjB,EAAS,IAC3CruB,MAAO,QAETzE,iBAAiB,KAfoC,IAAMF,cAAc,MAAO,CAChFf,UAAW,SACVE,GALqD,IAAMa,cAAc,MAAO,CACjFf,UAAW,SACVD,GAHiB,MAuBfuzB,EAzGgB,CA0GvB,KAEF,GAAMjyB,aAAe,CAAC,SAAU,KAAM,cAAe,WAAY,YAAa,WAAY,YAAa,QAAS,UAAW,gBAAiB,KAAM,OAAQ,KAAM,SAAU,UAAW,cAAe,SAAU,OAE9M,GAAMC,UA2DF,GACJ,GAAM0D,oBAAsB,CAAC,U,4SClL7B,SAASwvB,GAAqBp4B,GAC5B,IAAIq4B,EAAkBr4B,EAAMq4B,gBACxBC,EAAiBt4B,EAAMs4B,eAC3B,OAAoB,IAAM3zB,cAAc,IAAMgI,SAAU,KAAmB,IAAMhI,cAAc,MAAO,CACpGf,UAAW,QACVy0B,GAA+B,IAAM1zB,cAAc,MAAO,CAC3Df,UAAW,WACV00B,IAGLF,GAAqBnzB,aAAe,CAAC,kBAAmB,kBACxDmzB,GAAqBlzB,UAMjB,GACW,UCdf,SAASqzB,GAAev4B,GACtB,IAAIwI,EAASxI,EAAMwI,OACf7E,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChB00B,EAAiBx4B,EAAMw4B,eACvBC,EAAWz4B,EAAMy4B,SACjBj0B,EAAU,YAAG,aAAWgE,EAAQ,UAAW,WAAY5E,GACvDpD,EAAO,OAAAwM,EAAA,GAAkBurB,GAAgBv4B,GACzCyE,EAAc,OAAA4H,EAAA,GAAeksB,GAAgBv4B,GAC7Cq4B,EAAkBI,EAASz4B,GAC3Bs4B,EAAiB,KAAc5zB,MAAMf,GAAYG,EAAUH,EAC/D,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTg0B,EAAe,CACjBH,gBAAiBA,EACjBC,eAAgBA,KAIpBC,GAAetzB,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,UAAW,iBAAkB,OAAQ,WAAY,WACzHszB,GAAezzB,aAAe,CAC5B0zB,eAAgB,GAChBC,SAAU,SAAkBzxB,GAE1B,OADWA,EAAKN,OAIpB6xB,GAAerzB,UAqCX,GACW,UC5DX,GAAkB,SAAyB8B,GAC7C,IAAI5C,EAAQ4C,EAAK5C,MACbs0B,EAAQ1xB,EAAK0xB,MACbxkB,EAAQlN,EAAKkN,MACbnQ,EAAciD,EAAKjD,YACvB,MAAO,CAACK,GAAsB,IAAMO,cAAc,MAAO,CACvD8D,IAAK,QACL7E,UAAW,SACV,YAAgBQ,EAAO,CACxBS,iBAAiB,KACD,IAAMF,cAAc,MAAO,CAC3C8D,IAAK,UACL7E,UAAW,WACV80B,GAAsB,IAAM/zB,cAAc,MAAO,CAClDf,UAAW,SACV80B,GAAQxkB,GAAsB,IAAMvP,cAAc,MAAO,CAC1Df,UAAW,SACVsQ,GAAQnQ,GAA4B,IAAMY,cAAc,MAAO,CAChEf,UAAW,eACVG,MAGL,GAAgBkB,aAAe,GAE/B,IAAI,GAA4B,SAAUxC,GAGxC,SAASk2B,IAGP,IAFA,IAAIj2B,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAUzB,OAPAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GAC5B,IAAIC,EAAUZ,EAAM1C,MAAMsD,QACtBA,GAASA,EAAQD,EAAGX,EAAM1C,QAGzB0C,EAuBT,OAvCA,YAAei2B,EAAcl2B,GAmBhBk2B,EAAap1B,UAEnBC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB5E,EAAYH,EAAYG,UACxB60B,EAAWh1B,EAAYg1B,SACvBj0B,EAAU,YAAG,aAAWgE,EAAQ,UAAW,SAAU5E,GACrDpD,EAAO,OAAAwM,EAAA,GAAkB2rB,EAAcx1B,KAAKnD,OAC5CyE,EAAc,OAAA4H,EAAA,GAAessB,EAAcx1B,KAAKnD,OAKpD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXlB,QAASH,KAAKC,cACZq1B,EAASt1B,KAAKnD,SAGb24B,EAxCuB,CAyC9B,aCxEF,SAASC,GAAc54B,GACrB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,qBAAsBZ,GACnCpD,EAAO,OAAAwM,EAAA,GAAkB4rB,GAAe54B,GACxCyE,EAAc,OAAA4H,EAAA,GAAeusB,GAAe54B,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GDiEhD,GAAasB,aAAe,CAAC,SAAU,KAAM,YAAa,UAAW,cAAe,KAAM,QAAS,UAAW,QAAS,WAAY,SAEnI,GAAaC,UA2CT,GACJ,GAAaJ,aAAe,CAC1B2zB,SAAU,IC7GZG,GAAc3zB,aAAe,CAAC,KAAM,WAAY,YAAa,WAC7D2zB,GAAc1zB,UAYV,GACW,UCRX,GAA2B,SAAkC8O,GAC/D,IAAI6kB,EAAQ7kB,EAAgB6kB,MAE5B,OAAI,IAAaA,GACR,YAAS,GAAI7kB,EAAiB,CACnC6kB,MAAO,CACLj1B,UAAW,YAKb,KAAei1B,GACV,YAAS,GAAI7kB,EAAiB,CACnC6kB,MAAO,YAAS,GAAIA,EAAO,CACzBj1B,UAAW,YAAGi1B,EAAMj1B,UAAW,cAK9BoQ,GAOL,GAAsB,SAAUvR,GAGlC,SAASq2B,IAGP,IAFA,IAAIp2B,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAwVzB,OArVAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5D41B,mBAAqB,SAAU11B,EAAG21B,GACtC,IAAQt2B,EAAM1C,MAAO,iBAAkBqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAClEg5B,OAAQA,MAIZt2B,EAAMu2B,sBAAwB,SAAU51B,GACtC,IAAI21B,EAASt2B,EAAMw2B,oBAEnB,IAAQx2B,EAAM1C,MAAO,oBAAqBqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CACrEg5B,OAAQA,MAIZt2B,EAAMy2B,cAAgB,SAAU91B,GAC1B,IAAY+W,QAAQ/W,KAAO,IAAY+1B,SAC3C/1B,EAAEkX,iBAEF7X,EAAMk0B,UAGRl0B,EAAM22B,uBAAyB,SAAUh2B,GACvC,OAAQ,IAAY+W,QAAQ/W,IAC1B,KAAK,IAAYi2B,UACfj2B,EAAEkX,iBAEF7X,EAAM62B,gBAAgBl2B,EAAG,GAEzB,MAEF,KAAK,IAAYm2B,QACfn2B,EAAEkX,iBAEF7X,EAAM62B,gBAAgBl2B,GAAI,KAShCX,EAAM+2B,kBAAoB,SAAUp2B,GAClC,GAAI,IAAY+W,QAAQ/W,KAAO,IAAYgX,MAA3C,CAEA,IAAI2e,EAASt2B,EAAMw2B,oBAGdF,IACL31B,EAAEkX,iBAEF7X,EAAMg3B,SAASV,EAAO9kB,OAEtBxR,EAAMq2B,mBAAmB11B,EAAG21B,GAE5Bt2B,EAAMk0B,WAGRl0B,EAAMgI,qBAAuB,SAAUrH,GACrCX,EAAMk0B,SAGRl0B,EAAMyiB,gBAAkB,SAAU9hB,GAChCX,EAAMi3B,aAAc,EAEpB,IAAQj3B,EAAM1C,MAAO,cAAeqD,EAAGX,EAAM1C,OAE7C+K,EAAA,EAAWwkB,IAAI,UAAW7sB,EAAMk3B,wBAGlCl3B,EAAMk3B,sBAAwB,WAC5Bl3B,EAAMi3B,aAAc,EACpB5uB,EAAA,EAAWC,MAAM,UAAWtI,EAAMk3B,wBAGpCl3B,EAAMm3B,iBAAmB,SAAUx2B,GAEjCA,EAAEy2B,YAAYC,2BAEdr3B,EAAMs3B,WAGRt3B,EAAMiuB,gBAAkB,SAAUttB,EAAG2D,GACnC,IAAI2d,EAAK3d,EAAK2d,GAEVqU,EAASt2B,EAAMw2B,kBAAkBvU,GAGrCthB,EAAEy2B,YAAYC,2BAEdr3B,EAAMg3B,SAASV,EAAO9kB,OAEtBxR,EAAMq2B,mBAAmB11B,EAAG21B,GAE5Bt2B,EAAMk0B,SAGRl0B,EAAMu3B,oBAAsB,SAAU52B,GAGpCA,EAAEkX,kBAGJ7X,EAAMw3B,YAAc,SAAU72B,GAC5B,IAAQX,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,OAEzC0C,EAAM+E,SAAS,CACb0yB,OAAO,KAIXz3B,EAAM03B,WAAa,SAAU/2B,GAC3B,IAAQX,EAAM1C,MAAO,SAAUqD,EAAGX,EAAM1C,OAExC0C,EAAM+E,SAAS,CACb0yB,OAAO,KAIXz3B,EAAM23B,mBAAqB,SAAUh3B,GAEnCA,EAAE6hB,kBACF,IAAIoV,EAAgB53B,EAAM1C,MAAMs6B,cAC5B1wB,EAAOlH,EAAM6E,MAAMqC,KACnB2wB,EAAWl3B,EAAE4H,OAAOlJ,MAExB,IAAQW,EAAM1C,MAAO,iBAAkBqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAClE+B,MAAOw4B,KAILA,EAAS13B,OAASy3B,EACpB53B,EAAMk0B,QACIhtB,GACVlH,EAAMs3B,QAAQO,GAGhB73B,EAAMg3B,SAASa,IAGjB73B,EAAM83B,oBAAsB,WAC1B,IAAI/2B,EAAcf,EAAM1C,MACpBy6B,EAAWh3B,EAAYg3B,SACvBC,EAAUj3B,EAAYi3B,QAC1B,OAAQD,EAAqB,KAAQC,GAAS,SAAUC,EAAMC,GAC5D,OAAOD,EAAK96B,OAAO+6B,EAAaF,WAC/B,IAFgBA,GAKrBh4B,EAAMw2B,kBAAoB,SAAUjyB,QACpB,IAAVA,IACFA,EAAQvE,EAAM6E,MAAMM,eAGtB,IAAI6yB,EAAUh4B,EAAM83B,sBAEpB,OAAO,KAAKE,EAASzzB,IAGvBvE,EAAMg3B,SAAW,SAAU33B,GACzB,IAAI84B,EAAoBn4B,EAAM1C,MAAM66B,kBAEpCn4B,EAAM+E,SAAS,CACb1F,MAAOA,EACP8F,cAAegzB,EAAoB,GAAK,KAI5Cn4B,EAAM62B,gBAAkB,SAAUl2B,EAAGyK,GACnC,IAAIjG,EAAgBnF,EAAM6E,MAAMM,cAI5BizB,EAFUp4B,EAAM83B,sBAEI33B,OAAS,EAG7Bk4B,EAAYlzB,EAAgBiG,EAC5BitB,EAAYD,EAAWC,EAAY,EAAWA,EAAY,IAAGA,EAAYD,GAE7Ep4B,EAAM+E,SAAS,CACbI,cAAekzB,IAGjBr4B,EAAMs4B,6BAENt4B,EAAMu2B,sBAAsB51B,IAG9BX,EAAMs4B,2BAA6B,WAEjC,GAAK,OAAA14B,EAAA,KAAL,CACA,IAAI24B,EAAO/4B,SAAS0Q,cAAc,8CAClC,GAAKqoB,EAAL,CACA,IAAIjkB,EAAOikB,EAAKroB,cAAc,kBAC9B,GAAKoE,EAAL,CACA,IAAIkkB,EAAmBlkB,EAAKmkB,UAAYF,EAAKjF,UACzCoF,EAAmBpkB,EAAKmkB,UAAYnkB,EAAKqkB,aAAeJ,EAAKjF,UAAYiF,EAAKI,aAE9EH,EACFD,EAAKjF,UAAYhf,EAAKmkB,UACbC,IACTH,EAAKjF,UAAYhf,EAAKmkB,UAAYnkB,EAAKqkB,aAAeJ,EAAKI,kBAI/D34B,EAAMs3B,QAAU,SAAUsB,QACH,IAAjBA,IACFA,EAAe54B,EAAM6E,MAAMxF,OAG7B,IAAIu4B,EAAgB53B,EAAM1C,MAAMs6B,cAC5BgB,EAAaz4B,OAASy3B,GAE1B53B,EAAMkH,QAGRlH,EAAMkH,KAAO,WACXlH,EAAM+E,SAAS,CACbmC,MAAM,KAIVlH,EAAMk0B,MAAQ,WACZl0B,EAAM+E,SAAS,CACbmC,MAAM,KAIVlH,EAAM64B,kBAAoB,SAAU/6B,GAClC,IAAI0H,EAAexF,EAAM1C,MACrBgG,EAAOkC,EAAalC,KACpB6yB,EAAQ3wB,EAAa2wB,MACrB92B,EAAQW,EAAM6E,MAAMxF,MACxB,OAAOy5B,GAAA,EAAM52B,OAAOi0B,EAAO,CACzBh0B,iBAAiB,EACjBC,aAAc,YAAS,GAAItE,EAAM,CAC/BmX,aAAc,MACd3R,KAAMA,EACN4R,SAAUlV,EAAM23B,mBAChB/2B,QAASZ,EAAMm3B,iBACfvxB,SAAU,IACVvG,MAAOA,IAGToS,cAAe,MAInBzR,EAAM+4B,gBAAkB,WACtB,IAAI9tB,EAAejL,EAAM1C,MACrB07B,EAAuB/tB,EAAa+tB,qBACpCC,EAAmBhuB,EAAaguB,iBACpC,OAAoB,IAAMh3B,cAAc,MAAO,CAC7Cf,UAAW,iBACG,IAAMe,cAAc,MAAO,CACzCf,UAAW,UACV+3B,GAAmBD,GAAqC,IAAM/2B,cAAc,MAAO,CACpFf,UAAW,eACV83B,KAGLh5B,EAAMk5B,aAAe,SAAUh0B,EAAOX,EAAO40B,EAAQ/tB,GACnD,IAAIyR,EAAW3X,EAAM2X,SACjByZ,EAAS,aAA8BpxB,EAAO,CAAC,kBAEpC,IAAXkG,IACFA,EAAS,GAGX,IAAIguB,EAAiBp5B,EAAM1C,MAAM87B,eAC7Bj0B,EAAgBnF,EAAM6E,MAAMM,cAC5Bk0B,EAAc90B,EAAQ6G,EAC1B,OAAoB,IAAMnJ,cAAc,GAAc,YAAS,CAC7D8D,IAAK8W,GAAYyZ,EAAOrU,IAAMqU,EAAO9kB,MACrC1L,OAAQX,IAAkBk0B,EAC1Bz4B,QAASZ,EAAMiuB,gBACf9K,YAAanjB,EAAMu3B,oBACnBxB,SAAUqD,GACT9C,EAAQ,CACTrU,GAAIoX,MAKRr5B,EAAMs5B,cAAgB,WACpB,IAAItB,EAAUh4B,EAAM1C,MAAM06B,QAC1B,OAAO,IAAKA,EAASh4B,EAAMk5B,eAG7Bl5B,EAAMu5B,iBAAmB,WACvB,IAAIC,EAAex5B,EAAM1C,MACrBm8B,EAAyBD,EAAaC,uBACtCC,EAAmBF,EAAaE,iBAChCC,EAAaH,EAAaxB,QAC1B7yB,EAAgBnF,EAAM6E,MAAMM,cAC5By0B,EAAQ,EACZ,OAAO,IAAKD,GAAY,SAAUE,GAChC,IAAIhd,EAAWgd,EAAMhd,SACjBkb,EAAW,aAA8B8B,EAAO,CAAC,aAEjDC,EAAgB,YAAS,CAC3B/zB,IAAK8W,GAAYkb,EAAS/zB,KAC1B8B,OAAQ,KAASX,EAAey0B,EAAOA,EAAQ7B,EAASC,QAAQ73B,QAChE21B,eAAgB2D,EAChB1D,SAAU2D,GACT3B,GAECgC,EAAW,KAAc/5B,EAAMk5B,aAAcU,GAGjD,OADAA,GAAS7B,EAASC,QAAQ73B,OACN,IAAM8B,cAAc,GAAgB63B,EAAe/B,EAASC,QAAQ7kB,IAAI4mB,QAIhG/5B,EAAMg6B,kBAAoB,WACxB,IAAIC,EAAej6B,EAAM1C,MACrBy6B,EAAWkC,EAAalC,SACxBmC,EAAgBD,EAAaC,cAC7BlC,EAAUiC,EAAajC,QAE3B,OAAI,KAASA,GACJkC,EAAgBl6B,EAAM+4B,kBAAoB,KAG5ChB,EAAW/3B,EAAMu5B,mBAAqBv5B,EAAMs5B,iBAGrDt5B,EAAMm6B,kBAAoB,WACxB,IACIC,EADOp6B,EAAM6E,MAAMqC,KACK,UAAY,GAEpCmzB,EAAcr6B,EAAMg6B,oBAExB,GAAKK,EACL,OAAoB,IAAMp4B,cAAc,GAAe,CACrDf,UAAWk5B,GACVC,IAGEr6B,EA9VT,YAAeo2B,EAAQr2B,GAiWvBq2B,EAAO3nB,gCAAkC,SAAyCnR,EAAOuH,GAGvF,QAA+B,IAApBA,EAAMy1B,WAA6B,KAAaz1B,EAAMy1B,UAAWz1B,EAAMxF,OAChF,MAAO,CACLi7B,UAAWz1B,EAAMxF,OAIrB,IAAI8F,EAAgB7H,EAAM66B,kBAAoB,GAAK,EACnD,MAAO,CACLmC,UAAWz1B,EAAMxF,MACjB8F,cAAeA,IAInB,IAAIuF,EAAS0rB,EAAOv1B,UA4EpB,OA1EA6J,EAAO6vB,sBAAwB,SAA+BC,EAAWC,GACvE,OAAQ,KAAaD,EAAW/5B,KAAKnD,SAAW,KAAam9B,EAAWh6B,KAAKoE,QAG/E6F,EAAOC,mBAAqB,SAA4BC,EAAWma,IAG5DA,EAAU0S,OAASh3B,KAAKoE,MAAM4yB,OAC5Bh3B,KAAKw2B,aACRx2B,KAAK62B,UAGH72B,KAAKoE,MAAMqC,MACbmB,EAAA,EAAWwkB,IAAI,UAAW,CAACpsB,KAAKk2B,uBAAwBl2B,KAAKs2B,qBAEtDhS,EAAU0S,QAAUh3B,KAAKoE,MAAM4yB,QACnCh3B,KAAKw2B,aACRx2B,KAAKyzB,QAGP7rB,EAAA,EAAWC,MAAM,UAAW,CAAC7H,KAAKk2B,uBAAwBl2B,KAAKs2B,sBAI5DhS,EAAU7d,MAAQzG,KAAKoE,MAAMqC,MAChCzG,KAAKyG,OACLmB,EAAA,EAAWwkB,IAAI,QAASpsB,KAAKuH,sBAC7BK,EAAA,EAAWwkB,IAAI,UAAW,CAACpsB,KAAKg2B,cAAeh2B,KAAKk2B,uBAAwBl2B,KAAKs2B,qBACxEhS,EAAU7d,OAASzG,KAAKoE,MAAMqC,OACvCzG,KAAKyzB,QACL7rB,EAAA,EAAWC,MAAM,QAAS7H,KAAKuH,sBAC/BK,EAAA,EAAWC,MAAM,UAAW,CAAC7H,KAAKg2B,cAAeh2B,KAAKk2B,uBAAwBl2B,KAAKs2B,sBAIvFrsB,EAAOK,qBAAuB,WAC5B1C,EAAA,EAAWC,MAAM,QAAS7H,KAAKuH,sBAC/BK,EAAA,EAAWC,MAAM,UAAW,CAAC7H,KAAKg2B,cAAeh2B,KAAKk2B,uBAAwBl2B,KAAKs2B,qBAMrFrsB,EAAO5J,OAAS,WACd,IAAI2E,EAAchF,KAAKoE,MACnB61B,EAAgBj1B,EAAYi1B,cAC5BjD,EAAQhyB,EAAYgyB,MACpBvwB,EAAOzB,EAAYyB,KACnByzB,EAAel6B,KAAKnD,MACpBs9B,EAAUD,EAAaC,QACvB7C,EAAW4C,EAAa5C,SACxB72B,EAAYy5B,EAAaz5B,UACzBK,EAAQo5B,EAAap5B,MACrBuX,EAAU6hB,EAAa7hB,QACvBnV,EAAOg3B,EAAah3B,KAEpB7B,EAAU,YAAG,KAAMoF,GAAQ,iBAAkBvD,EAAM+2B,EAAe,aAAW3C,EAAU,YAAa,aAAWN,EAAO,SAAU,aAAWl2B,EAAO,SAAU,aAAWuX,EAAS,WAAY,aAAe8hB,EAAS,WAAY,SAAU15B,GAC1O+hB,EAAY,OAAA3Y,EAAA,GAAkB8rB,EAAQ31B,KAAKnD,OAC3CyE,EAAc,OAAA4H,EAAA,GAAeysB,EAAQ31B,KAAKnD,OAE1CkS,EAAsB,aAAmByT,EAAW,CACtDvlB,UAAW,OAETR,EAAiBsS,EAAoB,GACrC1R,EAAO0R,EAAoB,GAE/B,OAAoB,IAAMvN,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACX+4B,OAAQp6B,KAAKi3B,WACboD,QAASr6B,KAAK+2B,YACdrU,YAAa1iB,KAAKgiB,kBAChBhiB,KAAKo4B,kBAAkB37B,GAAiBuD,KAAK05B,sBAG5C/D,EA9biB,CA+bxB,KAEF,GAAO7zB,aAAe,CAAC,UAAW,KAAM,WAAY,yBAA0B,mBAAoB,YAAa,cAAe,eAAgB,QAAS,OAAQ,QAAS,UAAW,gBAAiB,uBAAwB,mBAAoB,SAAU,UAAW,cAAe,iBAAkB,iBAAkB,oBAAqB,OAAQ,iBAAkB,UAAW,oBAAqB,gBAAiB,OAAQ,SAEha,GAAOC,UAkJH,GACJ,GAAOJ,aAAe,CACpBkB,KAAM,SACN6yB,MAAO,OACPyB,cAAe,EACfqB,iBAAkB,oBAClBiB,eAAe,GAEjB,GAAOh0B,oBAAsB,CAAC,OAAQ,SACtC,GAAO60B,SAAW,GAClB,GAAOC,OAAS,GAChB,GAAOC,QAAU,G,iFCzoBjB,SAASC,GAAc59B,GACrB,IAAI0D,EAAW1D,EAAM0D,SACjBC,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBlD,EAAOZ,EAAMY,KACbi9B,EAAO79B,EAAM69B,KACbr5B,EAAU,YAAG,KAAMq5B,EAAM,aAAWn6B,EAAU,YAAa,aAAW9C,EAAM,QAAS,KAAMgD,GAC3FpD,EAAO,OAAAwM,EAAA,GAAkB4wB,GAAe59B,GACxCyE,EAAc,OAAA4H,EAAA,GAAeuxB,GAAe59B,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACX,YAAa5D,IACX,KAAc8D,MAAMf,GAAYG,EAAUH,GAGhDi6B,GAAc34B,aAAe,CAAC,KAAM,WAAY,WAAY,YAAa,UAAW,OAAQ,QAC5F24B,GAAc14B,UAqBV,GACW,U,kECvCf,SAAS44B,GAAc99B,GACrB,IAAIwI,EAASxI,EAAMwI,OACf5E,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjBG,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,aAAWgE,EAAQ,UAAW5E,GAC3CpD,EAAO,OAAAwM,EAAA,GAAkB8wB,GAAe99B,GACxCyE,EAAc,OAAA4H,EAAA,GAAeyxB,GAAe99B,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhDm6B,GAAc74B,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,WACvE64B,GAAch5B,aAAe,CAC3B0K,GAAI,KAENsuB,GAAc54B,UAeV,GACW,UCjCf,SAAS64B,GAAe/9B,GACtB,IAAI4D,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjBG,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,OAAAwM,EAAA,GAAkB+wB,GAAgB/9B,GACzCyE,EAAc,OAAA4H,EAAA,GAAe0xB,GAAgB/9B,GACjD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhDo6B,GAAe94B,aAAe,CAAC,KAAM,WAAY,YAAa,WAC9D84B,GAAe74B,UAYX,GACW,UC1Bf,SAAS84B,GAAch+B,GACrB,IAAI4D,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjBG,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,OAAAwM,EAAA,GAAkBgxB,GAAeh+B,GACxCyE,EAAc,OAAA4H,EAAA,GAAe2xB,GAAeh+B,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhDq6B,GAAc/4B,aAAe,CAAC,KAAM,WAAY,YAAa,WAC7D+4B,GAAc94B,UAYV,GACW,UC1Bf,SAAS+4B,GAAcj+B,GACrB,IAAI4D,EAAY5D,EAAM4D,UAClByO,EAAMrS,EAAMqS,IACZ7N,EAAU,YAAG,SAAUZ,GACvBpD,EAAO,OAAAwM,EAAA,GAAkBixB,GAAej+B,GAExCkS,EAAsB,aAAmB1R,EAAM,CACjDJ,UAAW,OAET89B,EAAahsB,EAAoB,GACjCE,EAAYF,EAAoB,GAEhCzN,EAAc,OAAA4H,EAAA,GAAe4xB,GAAej+B,GAChD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAI2N,EAAW,CAC3ExO,UAAWY,IACT,YAAgB6N,EAAK,CACvBxN,iBAAiB,EACjBC,aAAco5B,KAIlBD,GAAch5B,aAAe,CAAC,KAAM,YAAa,OACjDg5B,GAAc/4B,UASV,GACW,UChCf,SAASi5B,GAAen+B,GACtB,IAAI4D,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjBG,EAAU9D,EAAM8D,QAChBU,EAAU,YAAGZ,EAAW,WACxBpD,EAAO,OAAAwM,EAAA,GAAkBmxB,GAAgBn+B,GACzCyE,EAAc,OAAA4H,EAAA,GAAe8xB,GAAgBn+B,GACjD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhDw6B,GAAel5B,aAAe,CAAC,KAAM,WAAY,YAAa,WAC9Dk5B,GAAej5B,UAYX,GACW,UCzBf,SAASk5B,GAAap+B,GACpB,IAAI4D,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjB06B,EAAYr+B,EAAMq+B,UAClBv6B,EAAU9D,EAAM8D,QAChBw6B,EAAUt+B,EAAMs+B,QAChBj4B,EAAOrG,EAAMqG,KACbk4B,EAAWv+B,EAAMu+B,SACjB/5B,EAAU,YAAG,KAAM6B,EAAM,aAAWg4B,EAAW,aAAc,aAAWC,EAAS,WAAY,aAAWC,EAAU,YAAa,WAAY36B,GAC3IpD,EAAO,OAAAwM,EAAA,GAAkBoxB,GAAcp+B,GACvCyE,EAAc,OAAA4H,EAAA,GAAe+xB,GAAcp+B,GAC/C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhDy6B,GAAan5B,aAAe,CAAC,KAAM,WAAY,YAAa,YAAa,UAAW,UAAW,OAAQ,YACvGm5B,GAAal5B,UAwBT,GACW,UC3Cf,SAASs5B,GAAgBx+B,GACvB,IAAI4D,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjBG,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,WAAYZ,GACzBpD,EAAO,OAAAwM,EAAA,GAAkBwxB,GAAiBx+B,GAC1CyE,EAAc,OAAA4H,EAAA,GAAemyB,GAAiBx+B,GAClD,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhD66B,GAAgBv5B,aAAe,CAAC,KAAM,WAAY,YAAa,WAC/Du5B,GAAgBt5B,UAYZ,GACW,UC1Bf,SAASu5B,GAAYz+B,GACnB,IAAI4D,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjBG,EAAU9D,EAAM8D,QAChBU,EAAU,YAAGZ,EAAW,QACxBpD,EAAO,OAAAwM,EAAA,GAAkByxB,GAAaz+B,GACtCyE,EAAc,OAAA4H,EAAA,GAAeoyB,GAAaz+B,GAC9C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhD86B,GAAYx5B,aAAe,CAAC,KAAM,WAAY,YAAa,WAC3Dw5B,GAAYv5B,UAYR,GACW,UClBf,SAASw5B,GAAQ1+B,GACf,IAAI4D,EAAY5D,EAAM4D,UAClBD,EAAW3D,EAAM2D,SACjB06B,EAAYr+B,EAAMq+B,UAClBv6B,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,aAAW65B,EAAW,aAAc,UAAWz6B,GAC5DpD,EAAO,OAAAwM,EAAA,GAAkB0xB,GAAS1+B,GAClCyE,EAAc,OAAA4H,EAAA,GAAeqyB,GAAS1+B,GAC1C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhD+6B,GAAQz5B,aAAe,CAAC,KAAM,WAAY,YAAa,YAAa,WACpEy5B,GAAQx5B,UAeJ,GACJw5B,GAAQC,OAAS,GACjBD,GAAQE,OAAS,GACjBF,GAAQvO,QAAU,GAClBuO,GAAQG,OAAS,GACjBH,GAAQv5B,QAAU,GAClBu5B,GAAQr5B,MAAQ,GAChBq5B,GAAQI,SAAW,GACnBJ,GAAQK,KAAO,GACA,UC9Cf,SAASC,GAASh/B,GAChB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,OAAQZ,GACrBpD,EAAO,OAAAwM,EAAA,GAAkBgyB,GAAUh/B,GACnCyE,EAAc,OAAA4H,EAAA,GAAe2yB,GAAUh/B,GAC3C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhDq7B,GAAS/5B,aAAe,CAAC,KAAM,WAAY,YAAa,WACxD+5B,GAAS95B,UAYL,GACW,UCzBf,SAAS+5B,GAAUj/B,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBo7B,EAASl/B,EAAMk/B,OACfnnB,EAAO/X,EAAM+X,KACbvT,EAAU,YAAG,aAAW06B,EAAQ,UAAW,aAAWp7B,GAAWiU,EAAM,QAAS,QAASnU,GACzFpD,EAAO,OAAAwM,EAAA,GAAkBiyB,GAAWj/B,GACpCyE,EAAc,OAAA4H,EAAA,GAAe4yB,GAAWj/B,GAE5C,IAAK,KAAc0E,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAIN,IAAIw7B,EAAgB,IAAKD,GAAQ,SAAU96B,EAAO6C,GAChD,IAAIwB,EAAM,CAACxB,EAAO7C,GAAO0R,KAAK,KAC9B,OAAO,YAAgB1R,EAAO,CAC5BqE,IAAKA,OAIT,OAAoB,IAAM9D,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,EAASq7B,GAGfF,GAAUh6B,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,SAAU,QAC9Eg6B,GAAU/5B,UAkBN,GACW,UCjDf,SAASk6B,GAASp/B,GAChB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBkC,EAAOhG,EAAMgG,KACbxB,EAAU,YAAG,OAAQZ,GACrBpD,EAAO,OAAAwM,EAAA,GAAkBoyB,GAAUp/B,GACnCyE,EAAc,OAAA4H,EAAA,GAAe+yB,GAAUp/B,GAE3C,OAAK,KAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTqE,GAAA,EAAKjE,OAAOoB,EAAM,CACpBnB,iBAAiB,IACff,GATkB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAURy7B,GAASn6B,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QACnEm6B,GAASt6B,aAAe,CACtB0K,GAAI,KAEN4vB,GAASl6B,UAeL,GACW,UC1Cf,SAASm6B,GAASr/B,GAChB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBw7B,EAAOt/B,EAAMs/B,KACb96B,EAAU,YAAG,OAAQZ,GACrBpD,EAAO,OAAAwM,EAAA,GAAkBqyB,GAAUr/B,GACnCyE,EAAc,OAAA4H,EAAA,GAAegzB,GAAUr/B,GAE3C,OAAK,KAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,YAAgB,IAAU,SAAU/D,GACtC,MAAO,CACLqD,QAASrD,KAEV6+B,EAAM,CACPz6B,iBAAiB,IACff,GAbkB,IAAMa,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAcR07B,GAASp6B,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QACnEo6B,GAASn6B,UAeL,GACW,UC5Cf,SAASq6B,GAASv/B,GAChB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBU,EAAU,YAAG,OAAQZ,GACrBpD,EAAO,OAAAwM,EAAA,GAAkBuyB,GAAUv/B,GACnCyE,EAAc,OAAA4H,EAAA,GAAekzB,GAAUv/B,GAC3C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,KAAcE,MAAMf,GAAYG,EAAUH,GAGhD47B,GAASt6B,aAAe,CAAC,KAAM,WAAY,YAAa,WACxDs6B,GAASr6B,UAYL,GACJq6B,GAASz6B,aAAe,CACtB0K,GAAI,KAES,UC3Bf,SAASgwB,GAAYx/B,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChB27B,EAAOz/B,EAAMy/B,KACbC,EAAO1/B,EAAM0/B,KACbl7B,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,OAAAwM,EAAA,GAAkBwyB,GAAax/B,GACtCyE,EAAc,OAAA4H,EAAA,GAAemzB,GAAax/B,GAE9C,OAAK,KAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,YAAgB,IAAU,SAAU/D,GACtC,MAAO,CACLqD,QAASrD,KAEVi/B,EAAM,CACP76B,iBAAiB,IACff,GAAW,IAAKA,EAASA,GAAW,IAAK,YAAgB,IAAU,SAAUrD,GAC/E,MAAO,CACLqD,QAASrD,KAEVg/B,EAAM,CACP56B,iBAAiB,KAlBG,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAoBR67B,GAAYv6B,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,OAAQ,QAC9Eu6B,GAAYt6B,UAkBR,GACW,UCtDf,SAASy6B,GAAY3/B,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChB87B,EAAc5/B,EAAM4/B,YACpBC,EAAY7/B,EAAM6/B,UAClBJ,EAAOz/B,EAAMy/B,KACbn7B,EAAOtE,EAAMsE,KACbw7B,EAAU9/B,EAAM8/B,QAChBt7B,EAAU,YAAG,UAAWZ,GACxBpD,EAAO,OAAAwM,EAAA,GAAkB2yB,GAAa3/B,GACtCyE,EAAc,OAAA4H,EAAA,GAAeszB,GAAa3/B,GAE9C,OAAK,KAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,YAAgB,IAAU,SAAU/D,GACtC,MAAO,CACLqD,QAASrD,KAEVg/B,EAAM,CACP56B,iBAAiB,IACf,YAAgB,IAAa,SAAUpE,GACzC,MAAO,CACLqD,QAASrD,KAEVq/B,EAAS,CACVj7B,iBAAiB,IACff,EAAS,YAAgB,IAAW,SAAUrD,GAChD,MAAO,CACLsX,MAAM,EACNjU,QAASrD,KAEVo/B,EAAW,CACZh7B,iBAAiB,IACf,YAAgB,IAAW,SAAUpE,GACvC,MAAO,CACLy+B,OAAQz+B,KAETm/B,EAAa,CACd/6B,iBAAiB,IACf,YAAgB,IAAU,SAAUpE,GACtC,MAAO,CACLqD,QAASrD,KAEV6D,EAAM,CACPO,iBAAiB,KArCG,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAuCRg8B,GAAY16B,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,OAAQ,cAAe,YAAa,OAAQ,WAClH06B,GAAYz6B,UA2BR,GACW,UCpFf,SAAS66B,GAAU//B,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBkC,EAAOhG,EAAMgG,KACb5B,EAAQpE,EAAMoE,MACdI,EAAU,YAAG,QAASZ,GACtBpD,EAAO,OAAAwM,EAAA,GAAkB+yB,GAAW//B,GACpCyE,EAAc,OAAA4H,EAAA,GAAe0zB,GAAW//B,GAE5C,OAAK,KAAc0E,MAAMf,GAML,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,EAAS+E,GAAA,EAAKjE,OAAOoB,EAAM,CAC7BnB,iBAAiB,IACf,YAAgBT,IATE,IAAMO,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAURo8B,GAAU96B,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,OAAQ,SAC5E86B,GAAU76B,UAkBN,GACW,UC1Cf,SAAS86B,GAAUhgC,GACjB,IAAI8D,EAAU9D,EAAM8D,QAChBH,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClB67B,EAAOz/B,EAAMy/B,KACbG,EAAc5/B,EAAM4/B,YACpBC,EAAY7/B,EAAM6/B,UAClBz7B,EAAQpE,EAAMoE,MACd4B,EAAOhG,EAAMgG,KACb1B,EAAOtE,EAAMsE,KACbw7B,EAAU9/B,EAAM8/B,QAChBt7B,EAAU,YAAG,QAASZ,GACtBpD,EAAO,OAAAwM,EAAA,GAAkBgzB,GAAWhgC,GACpCyE,EAAc,OAAA4H,EAAA,GAAe2zB,GAAWhgC,GACxCigC,EAAiBn8B,GAAW27B,GAAQG,GAAeC,GAAav7B,GAAQw7B,EACxEI,EAAe,CACjBp8B,QAASA,EACT27B,KAAMA,EACNG,YAAaA,EACbC,UAAWA,EACXv7B,KAAMA,EACNw7B,QAASA,GAEX,OAAoB,IAAMn7B,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,YAAgB,IAAW,SAAU/D,GACvC,MAAO,CACLuF,KAAMvF,KAEPuF,EAAM,CACPnB,iBAAiB,IACf,YAAgB,IAAW,SAAUpE,GACvC,MAAO,CACL2D,MAAO3D,KAER2D,EAAO,CACRS,iBAAiB,IACfo7B,GAA+B,IAAMt7B,cAAc,GAAau7B,GAAev8B,GAGrFq8B,GAAU/6B,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,OAAQ,cAAe,YAAa,OAAQ,QAAS,OAAQ,WACjI+6B,GAAU96B,UAiCN,GACW,UCjEf,SAASi7B,GAAKngC,GACZ,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBw8B,EAASpgC,EAAMogC,OACf/5B,EAAOrG,EAAMqG,KACb7B,EAAU,YAAG,KAAM6B,EAAM,OAAQzC,GACjCpD,EAAO,OAAAwM,EAAA,GAAkBmzB,GAAMngC,GAC/ByE,EAAc,OAAA4H,EAAA,GAAe8zB,GAAMngC,GAEvC,IAAK,KAAc0E,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGN,IAAI08B,EAAgB,IAAKD,GAAQ,SAAUE,GACzC,IAAI/gB,EAAW+gB,EAAW/gB,SACtBkgB,EAAOa,EAAWb,KAClBn7B,EAAOg8B,EAAWh8B,KAClBw7B,EAAUQ,EAAWR,QACrBS,EAAY,aAA8BD,EAAY,CAAC,WAAY,OAAQ,OAAQ,YAEnF9gB,EAAWD,GAAY,CAACkgB,EAAMn7B,EAAMw7B,GAAShqB,KAAK,KACtD,OAAoB,IAAMnR,cAAc,GAAW,YAAS,CAC1D86B,KAAMA,EACNh3B,IAAK+W,EACLlb,KAAMA,EACNw7B,QAASA,GACRS,OAGL,OAAoB,IAAM57B,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT67B,GAGNF,GAAKl7B,aAAe,CAAC,KAAM,WAAY,YAAa,SAAU,QAC9Dk7B,GAAKj7B,UAeD,GACJi7B,GAAKh7B,QAAU,GACfg7B,GAAKK,KAAO,GACZL,GAAKM,MAAQ,GACbN,GAAKlW,MAAQ,GACbkW,GAAKhW,MAAQ,GACbgW,GAAKO,KAAO,GACZP,GAAK56B,KAAO,GACZ46B,GAAKQ,QAAU,GACfR,GAAKS,KAAO,GACG,U,sKCnFf,sLAqBIC,EAAsB,SAAUp+B,GAGlC,SAASo+B,IAGP,IAFA,IAAIn+B,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GA+CzB,OA5CAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5D+F,IAAmB,sBAEzBxG,EAAMqnB,mBAAqB,WACzB,IAAItmB,EAAcf,EAAM1C,MACpB2F,EAAWlC,EAAYkC,SACvBoM,EAAQtO,EAAYsO,MACxB,IAAK,IAAOpM,KAAc,IAAOoM,GAAQ,MAAO,OAGlDrP,EAAMgiB,gBAAkB,SAAUjgB,GAChC,IAAIyD,EAAexF,EAAM1C,MACrBmH,EAAWe,EAAaf,SACxBmB,EAAWJ,EAAaI,SAC5B,OAAK,IAAOA,GACRnB,GAAkB,EACF,QAAhB1C,EAA8B,OAAlC,EAF8B6D,GAKhC5F,EAAMy3B,MAAQ,WACZ,OAAO,IAAQz3B,EAAMwG,IAAIE,QAAS,UAGpC1G,EAAMU,YAAc,SAAUC,GACbX,EAAM1C,MAAMmH,SAGzB9D,EAAEkX,iBAIJ,IAAQ7X,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG3C0C,EAAMo+B,aAAe,WACnB,IAAInzB,EAAejL,EAAM1C,MACrB+gC,EAAgBpzB,EAAaozB,cAC7Bp9B,EAAWgK,EAAahK,SACxBG,EAAU6J,EAAa7J,QACvBkC,EAAO2H,EAAa3H,KACxB,OAAa,IAATA,GACGA,IAAS+6B,GAAiB,IAAcr8B,MAAMf,IAAa,IAAOG,KAGpEpB,EArDT,YAAem+B,EAAQp+B,GAwDvB,IAAI2K,EAASyzB,EAAOt9B,UAmFpB,OAjFA6J,EAAO4zB,sBAAwB,SAA+Bv8B,GAC5D,IAAI2D,EAAOjF,KAAKnD,MAAMoI,KACtB,OAAK,IAAOA,GACQ,WAAhB3D,EAAiC,cAArC,EAD0B2D,GAI5BgF,EAAO5J,OAAS,WACd,IAAI04B,EAAe/4B,KAAKnD,MACpBwI,EAAS0zB,EAAa1zB,OACtB+N,EAAW2lB,EAAa3lB,SACxB5Q,EAAWu2B,EAAav2B,SACxBqG,EAAQkwB,EAAalwB,MACrBrI,EAAWu4B,EAAav4B,SACxBiO,EAAWsqB,EAAatqB,SACxBhO,EAAYs4B,EAAat4B,UACzBC,EAAQq4B,EAAar4B,MACrB+B,EAAUs2B,EAAat2B,QACvB9B,EAAUo4B,EAAap4B,QACvBqD,EAAW+0B,EAAa/0B,SACxBwI,EAAUusB,EAAavsB,QACvB1L,EAAQi4B,EAAaj4B,MACrB+B,EAAOk2B,EAAal2B,KACpBkG,EAAWgwB,EAAahwB,SACxB6F,EAAQmqB,EAAanqB,MACrBgvB,EAAgB7E,EAAa6E,cAC7BvlB,EAAU0gB,EAAa1gB,QACvBrV,EAAW+1B,EAAa/1B,SACxBC,EAAW81B,EAAa91B,SACxBsW,EAAUwf,EAAaxf,QACvBC,EAAYuf,EAAavf,UACzBtW,EAAO61B,EAAa71B,KACpBuW,EAASsf,EAAatf,OACtBqkB,EAAc,YAAGp9B,EAAOwC,EAAM,YAAWmC,EAAQ,UAAW,YAAWwD,EAAO,SAAU,YAAW4F,EAAU,YAAa,YAAWhM,EAAS,WAAY,YAAW3B,EAAO,SAAU,YAAWd,KAAK29B,eAAgB,QAAS,YAAW50B,EAAU,YAAa,YAAWsP,EAAS,WAAY,YAAWrV,EAAU,YAAa,YAAWC,EAAU,YAAa,YAAWsW,EAAS,WAAY,YAAWC,EAAW,aAAc,YAAWC,EAAQ,UAAW,YAAoBrG,EAAU,YAAa,YAAoB5Q,EAAU,aAChhBu7B,EAAiB,YAAG,YAAoBH,KAAmBhvB,EAAO,YAClEovB,EAAiB,YAAG,YAAWh6B,EAAU,YAAa,YAAewI,EAAS,YAC9EnP,EAAO,YAAkBqgC,EAAQ19B,KAAKnD,OACtCyE,EAAc,YAAeo8B,EAAQ19B,KAAKnD,MAAOmD,KAAK4mB,oBACtDzhB,EAAWnF,KAAKuhB,gBAAgBjgB,GAEpC,IAAK,IAAOsN,GAAQ,CAClB,IAAIqvB,EAAgB,YAAG,KAAMH,EAAa,SAAUr9B,GAChDy9B,EAAmB,YAAG,KAAMH,EAAgB,SAAUt9B,EAAWu9B,GACjE7oB,EAAe,IAAM1T,OAAOmN,EAAO,CACrCjN,aAAc,CACZkH,OAAO,EACP6a,SAA4B,SAAlBka,EAA2B,QAAU,QAEjDl8B,iBAAiB,IAEnB,OAAoB,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWy9B,EACX/9B,QAASH,KAAKC,cACM,SAAlB29B,GAA4BzoB,EAA2B,IAAM3T,cAAc,IAAK,CAClF+H,SAAUvJ,KAAK+F,KACD,IAAMvE,cAAc,SAAU,CAC5Cf,UAAWw9B,EACX,eAAgBxkB,IAAWpU,OAASiB,EACpCtC,SAAUA,EACVmB,SAAUA,GACT,IAAK1D,OAAOoB,EAAM,CACnBnB,iBAAiB,IACf,IAAKf,KAA8B,UAAlBi9B,IAA8BA,IAAkBzoB,GAGvE,IAAI9T,EAAU,YAAG,KAAMy8B,EAAaE,EAAgBD,EAAgB,SAAUt9B,GAC1E09B,GAAe,IAAc58B,MAAMf,GACnCyE,EAAOjF,KAAK69B,sBAAsBv8B,GACtC,OAAoB,IAAME,cAAc,IAAK,CAC3C+H,SAAUvJ,KAAK+F,KACD,IAAMvE,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CAClEoD,UAAWY,EACX,eAAgBoY,IAAWpU,OAASiB,EACpCtC,SAAUA,GAA4B,WAAhB1C,QAA4BgF,EAClDnG,QAASH,KAAKC,YACdgF,KAAMA,EACNE,SAAUA,IACRg5B,GAAe39B,GAAW29B,GAAe,IAAK18B,OAAOoB,EAAM,CAC7DnB,iBAAiB,KACdy8B,GAAex9B,KAGf+8B,EA5IiB,CA6IxB,aAEFA,EAAO57B,aAAe,CAAC,SAAU,WAAY,KAAM,WAAY,QAAS,WAAY,WAAY,YAAa,QAAS,UAAW,UAAW,WAAY,UAAW,QAAS,OAAQ,WAAY,QAAS,gBAAiB,UAAW,WAAY,UAAW,WAAY,UAAW,OAAQ,YAAa,OAAQ,WAAY,UAC5T47B,EAAO37B,UA0FH,GACJ27B,EAAO/7B,aAAe,CACpB0K,GAAI,UAENqxB,EAAO17B,QAAU,IACjB07B,EAAOx7B,MAAQ,IACfw7B,EAAOU,GAAK,IACZV,EAAOj8B,OAAS,YAAuBi8B,GAAQ,SAAU9+B,GACvD,MAAO,CACL+B,QAAS/B,MAGE,O,qvECjQJ,EAAa,SAAoB4B,EAAU3B,GACpD,OAAO,IAAM,WAAS0d,QAAQ/b,GAAW,CACvC3B,KAAMA,KAUC,EAAa,SAAoB2B,EAAU3B,GACpD,OAAO,IAAM,WAAS0d,QAAQ/b,GAAW,CACvC3B,KAAMA,KASC0C,EAAQ,SAAef,GAChC,OAAOA,SAA+CZ,MAAMy+B,QAAQ79B,IAAiC,IAApBA,EAASd,Q,+DC9BjFuqB,EAAS,CAAC,MAAO,SAAU,SAAU,QAAS,QAAS,OAAQ,OAAQ,SAAU,SAAU,OAAQ,QAAS,OAAQ,SACpHD,EAAS,CAAC,OAAQ,SAClBD,EAAQ,CAAC,OAAQ,OAAQ,QAAS,SAAU,QAAS,MAAO,OAAQ,WACpED,EAAkB,CAAC,OAAQ,SAAU,QAAS,aAC9CD,EAAsB,CAAC,SAAU,SAAU,OAC3CD,EAAa,CAAC,SAAU,SAAU,WAAY,eAAgB,cAC9DD,EAAS,GAAGjtB,OAAO,IAAMiC,EAAA,GAAkB,IAAMA,EAAA,GAAiB+T,IAAI6X,QAAS,IAAQ5rB,EAAA,IACvF+lB,EAA0B,CAAC,SAAU,eAAgB,OAAQ,OAAQ,UAAW,YAAa,YAAa,aAAc,SAAU,WAAY,WAAY,YAAa,kBAAmB,gBAAiB,QAAS,WAAY,aAAc,aAAc,cAAe,WAAY,aAAc,aAAc,cAAe,QAClUgF,EAAqB,CAAC,SAAU,QAAS,QAAS,QAAS,OAAQ,SAAU,QAC7ED,EAAc,GAAG/sB,OAAOgoB,EAAyBgF,GAGjDF,EAAgB,CAAC,sCAAuC,8BAA+B,oBAAqB,QAAS,UAAW,oBAAqB,4BAA6B,OAAQ,aAAc,eAAgB,kBAAmB,0BAA2B,gBAAiB,MAAO,mBAAoB,cAClTD,EAAS,CAAC,oBAAqB,oBAAqB,qBAAsB,kBAAmB,aAAc,aAAc,cAAe,WAAY,8BAA+B,sCAAuC,8BAA+B,sCAAuC,+BAAgC,uCAAwC,4BAA6B,oCAAqC,oBAAqB,oBAAqB,qBAAsB,kBAAmB,aAAc,aAAc,cAAe,WAAY,mBAAoB,8BAA+B,4BAA6B,aAAc,aAAc,cAAe,oBAAqB,4BAA6B,oBAAqB,4BAA6B,qBAAsB,6BAA8B,kBAAmB,0BAA2B,WAAY,kBAAmB,aAAc,sBAAuB,sBAAuB,uBAAwB,oBAAqB,eAAgB,eAAgB,gBAAiB,aAAc,iBAAkB,eAAgB,WAAY,WAAY,0BAA2B,qBAAsB,4BAA6B,kBAAmB,0BAA2B,kBAAmB,0BAA2B,mBAAoB,2BAA4B,gBAAiB,wBAAyB,eAAgB,uBAAwB,UAAW,uBAAwB,qBAAsB,iBAAkB,4BAA6B,4BAA6B,6BAA8B,0BAA2B,gBAAiB,OAAQ,SAAU,UAAW,OAAQ,iBAAkB,QAAS,YAAa,UAAW,QAAS,eAAgB,uBAAwB,UAAW,WAAY,oBAAqB,qBAAsB,OAAQ,qBAAsB,mBAAoB,mBAAoB,iBAAkB,YAAa,oBAAqB,kBAAmB,UAAW,OAAQ,iBAAkB,cAAe,aAAc,OAAQ,iBAAkB,SAAU,UAAW,YAC1jED,EAAc,CAAC,oBAAqB,WAAY,SAAU,iBAAkB,oBAAqB,4BAA6B,WAAY,QAAS,SAAU,0BAA2B,gBAAiB,eAAgB,aAAc,qBAAsB,aAAc,qBAAsB,OAAQ,UAAW,aAAc,aAAc,mBAAoB,QAAS,QAAS,eAAgB,uBAAwB,eAAgB,OAAQ,cAAe,sBAAuB,UAAW,SAAU,OAAQ,iBAAkB,MAAO,aAAc,gBAAiB,eAAgB,OAAQ,cAAe,sBAAuB,OAAQ,iBAAkB,OAAQ,iBAAkB,QAAS,cAAe,aAAc,aACzsBD,EAAW,CAAC,eAAgB,uBAAwB,eAAgB,uBAAwB,UAAW,gBAAiB,gBAAiB,OAAQ,YAAa,WAAY,mBAAoB,WAAY,WAAY,aAAc,WAAY,mBAAoB,qBAAsB,6BAA8B,cAAe,aAAc,YAAa,oBAAqB,aAAc,YAAa,YAAa,oBAAqB,SAAU,UAAW,UAAW,kBAAmB,OAAQ,eAAgB,YAAa,oBAAqB,MAAO,OAAQ,eAAgB,WAAY,mBAAoB,gBAAiB,wBAAyB,kBAAmB,SAAU,MAAO,OAAQ,eAAgB,iBAAkB,yBAA0B,SAAU,iBAAkB,cAAe,sBAAuB,QAAS,WAAY,YAAa,QAAS,aAAc,mBAAoB,UAAW,QAAS,eAAgB,eAAgB,aAAc,qBAAsB,OAAQ,eAAgB,UAAW,cAAe,sBAAuB,WAAY,QAAS,MAAO,OAAQ,QAAS,YAAa,aAC5lCD,EAAQ,CAAC,QAAS,eAAgB,cAAe,aAAc,eAAgB,aAAc,cAAe,aAAc,eAC1HD,EAAO,CAAC,UAAW,UAAW,OAAQ,MAAO,OAAQ,cAAe,SAAU,OAAQ,eAAgB,iBAAkB,yBAA0B,YAAa,oBAAqB,SAAU,oBAAqB,SAAU,iBAAkB,cAAe,sBAAuB,WAAY,mBAAoB,YAAa,SAAU,mBAAoB,UAAW,WAAY,cAAe,eAAgB,uBAAwB,kBAAmB,0BAA2B,kBAAmB,0BAA2B,iBAAkB,0BAC5hBD,EAAgB,CAAC,eAAgB,uBAAwB,eAAgB,uBAAwB,sCAAuC,8BAA+B,KAAM,OAAQ,eAAgB,aAAc,qBAAsB,WAAY,UAAW,kBAAmB,oBAAqB,4BAA6B,WAAY,mBAAoB,WAAY,mBAAoB,gBAAiB,wBAAyB,kBAAmB,MAAO,QAAS,WAAY,aAAc,mBAAoB,SAAU,mBAAoB,cAAe,sBAAuB,QAAS,eAAgB,eAAgB,MAAO,aAAc,MAAO,QACzoBD,EAAY,CAAC,UAAW,WAAY,MAAO,cAAe,aAAc,WAAY,mBAAoB,SAAU,YAAa,SAAU,mBAAoB,OAAQ,YAAa,QAAS,OAAQ,eAAgB,SAAU,SAAU,mBAAoB,KAAM,UACjQD,EAAW,CAAC,cAAe,YAAa,YAAa,uBAAwB,+BAAgC,aAAc,aAAc,aAAc,cAAe,WAAY,YAClLD,EAAY,CAAC,OAAQ,eAAgB,aAAc,qBAAsB,WAAY,mBAAoB,qBAAsB,6BAA8B,iBAAkB,yBAA0B,iBAAkB,yBAA0B,gBAAiB,wBAAyB,iBAAkB,yBAA0B,QAAS,gBAAiB,YAAa,oBAAqB,gBAAiB,iBAAkB,kBAAmB,aAC7bD,EAAS,CAAC,SAAU,QAAS,gBAAiB,OAAQ,eAAgB,OAAQ,aAAc,MAAO,OAAQ,eAAgB,SAAU,MAAO,cAAe,YAAa,oBAAqB,eAAgB,uBAAwB,iBAAkB,yBAA0B,cAAe,QAAS,mBAAoB,OAAQ,eAAgB,QACrVD,EAAU,CAAC,eAAgB,gBAAiB,aAAc,cAAe,OAAQ,YAAa,oBAAqB,QAAS,gBAAiB,UAAW,OAAQ,eAAgB,MAAO,OAAQ,eAAgB,SAAU,OAAQ,eAAgB,iBAAkB,yBAA0B,OAAQ,UAAW,WAAY,SAAU,SAAU,UAAW,OAAQ,iBAAkB,yBAA0B,UAAW,UAAW,UAAW,cAAe,sBAAuB,YAAa,YAAa,QAAS,mBAAoB,QAAS,aAAc,cAAe,OAAQ,iBAAkB,QAAS,YAAa,QAAS,gBAAiB,YAAa,cAAe,OAAQ,iBAAkB,QAAS,QAAS,cAAe,aAAc,KAAM,WAAY,UAAW,QAAS,kBAAmB,0BAA2B,YAAa,OAAQ,iBAAkB,UAC71BD,EAAQ,CAAC,UAAW,QAAS,gBAAiB,OAAQ,eAAgB,MAAO,OAAQ,eAAgB,iBAAkB,yBAA0B,eAAgB,uBAAwB,aAAc,qBAAsB,YAAa,oBAAqB,aAAc,qBAAsB,aAAc,qBAAsB,WAAY,mBAAoB,kBAAmB,0BAA2B,aAAc,qBAAsB,YAAa,oBAAqB,SAAU,iBAAkB,cAAe,sBAAuB,QAAS,OAAQ,eAAgB,cAAe,uBAC7kBD,EAAU,CAAC,aAAc,OAAQ,cAAe,cAAe,yBAA0B,uBAAwB,UAAW,SAAU,cAAe,wBAAyB,QAAS,eAAgB,cACvMD,EAAiB,CAAC,cAAe,sBAAuB,aAAc,qBAAsB,aAAc,qBAAsB,kBAAmB,0BAA2B,kBAAmB,0BAA2B,mBAAoB,2BAA4B,gBAAiB,wBAAyB,eAAgB,uBAAwB,YAAa,oBAAqB,gBAAiB,wBAAyB,aAAc,qBAAsB,YAAa,oBAAqB,cAAe,sBAAuB,YAAa,qBACniBD,EAAS,CAAC,YAAa,WAAY,QAAS,gBAAiB,YAAa,WAAY,mBAAoB,SAAU,cAAe,sBAAuB,cAAe,UAAW,cACpLD,EAAS,CAAC,SAAU,OAAQ,SAAU,eAAgB,QAAS,gBAAiB,WAAY,SAAU,MAAO,cAAe,YAAa,oBAAqB,aAAc,qBAAsB,OAAQ,WAAY,mBAAoB,UAAW,kBAAmB,QAAS,gBAAiB,SAAU,iBAAkB,qBAAsB,QACpVD,EAAa,CAAC,MAAO,UAAW,OAAQ,OAAQ,OAAQ,eAAgB,aAAc,qBAAsB,MAAO,WAAY,WAAY,aAAc,WAAY,mBAAoB,qBAAsB,6BAA8B,iBAAkB,yBAA0B,iBAAkB,yBAA0B,gBAAiB,wBAAyB,iBAAkB,yBAA0B,cAAe,QAAS,eAAgB,uBAAwB,eAAgB,uBAAwB,SAAU,iBAAkB,YAAa,oBAAqB,QAAS,gBAAiB,QAAS,iBAAkB,eAAgB,SAAU,MAAO,OAAQ,OAAQ,eAAgB,MAAO,WAAY,aAAc,qBAAsB,WAAY,OAAQ,eAAgB,sBAAuB,oBAAqB,WAAY,mBAAoB,gBAAiB,wBAAyB,SAAU,cAAe,qBAAsB,uBAAwB,qBAAsB,4BAA6B,MAAO,YAAa,oBAAqB,OAAQ,eAAgB,iBAAkB,yBAA0B,SAAU,OAAQ,eAAgB,iBAAkB,SAAU,iBAAkB,cAAe,sBAAuB,QAAS,gBAAiB,UAAW,QAAS,gBAAiB,UAAW,OAAQ,WAAY,OAAQ,cAAe,WAAY,QAAS,MAAO,cAAe,aAAc,mBAAoB,QAAS,eAAgB,eAAgB,uBAAwB,QAAS,mBAAoB,OAAQ,cAAe,cAAe,sBAAuB,SAAU,WAAY,kBAAmB,0BAA2B,aAAc,cAAe,OAAQ,iBAAkB,QAAS,YAAa,MAAO,aAAc,OAAQ,eAAgB,SAAU,eAAgB,cAAe,QAAS,kBAAmB,yBAA0B,eAAgB,uBAAwB,mBAAoB,UAAW,WAAY,SAAU,UAAW,qBAAsB,QAAS,gBAAiB,OAAQ,qBAAsB,mBAAoB,mBAAoB,iBAAkB,YAAa,oBAAqB,kBAAmB,UAAW,OAAQ,eAAgB,YAAa,oBAAqB,OAAQ,iBAAkB,cAAe,sBAAuB,YAAa,oBAAqB,QAAS,eAAgB,uBAAwB,aAAc,YAAa,QAAS,kBAAmB,0BAA2B,SAAU,OAAQ,iBAAkB,SAAU,OAAQ,eAAgB,cAAe,sBAAuB,QAC1hFD,EAAY,CAAC,MAAO,QAAS,kBAAmB,iBAAkB,QAAS,gBAAiB,SAAU,gBAAiB,QAAS,aAChID,EAAO,CAAC,YAAa,SAAU,gBAAiB,OAAQ,MAAO,OAAQ,OAAQ,eAAgB,aAAc,qBAAsB,UAAW,aAAc,gBAAiB,QAAS,OAAQ,OAAQ,WAAY,mBAAoB,YAAa,WAAY,mBAAoB,MAAO,SAAU,aAAc,cAAe,MAAO,YAAa,oBAAqB,cAAe,OAAQ,oBAAqB,OAAQ,eAAgB,iBAAkB,QAAS,UAAW,QAAS,OAAQ,gBAAiB,QAAS,iBAAkB,WAAY,QAAS,gBAAiB,YAAa,OAAQ,WAAY,mBAAoB,QAAS,gBAAiB,SAAU,iBAAkB,WAAY,OAAQ,cAAe,MAAO,OAAQ,QAAS,gBAAiB,YAAa,oBAAqB,YAAa,oBAAqB,iBAAkB,aAAc,SAAU,OAAQ,MAAO,cAAe,aAAc,uBAAwB,UAAW,YAAa,SAAU,uBAAwB,+BAAgC,aAAc,QAAS,YAAa,oBAAqB,MAAO,QAAS,eAAgB,eAAgB,QAAS,OAAQ,OAAQ,cAAe,sBAAuB,QAAS,UAAW,OAAQ,SAAU,SAAU,eAAgB,cAAe,OAAQ,eAAgB,kBAAmB,gBAAiB,SAAU,cAAe,SAAU,WAAY,MAAO,OAAQ,OAAQ,YAAa,mBAAoB,OAAQ,QAAS,OAAQ,SAAU,QAAS,MAAO,WAAY,aAAc,gBAAiB,WAAY,aAAc,OAAQ,UACphDD,EAAU,CAAC,YAAa,WAAY,MAAO,YAAa,QAAS,gBAAiB,YAAa,WAAY,mBAAoB,kBAAmB,QAAS,OAAQ,cAAe,UAAW,cAAe,UAAW,UACvND,EAAU,CAAC,YAAa,SAAU,UAAW,gBAAiB,OAAQ,MAAO,OAAQ,OAAQ,eAAgB,UAAW,aAAc,gBAAiB,OAAQ,OAAQ,WAAY,mBAAoB,YAAa,MAAO,WAAY,mBAAoB,WAAY,WAAY,MAAO,aAAc,WAAY,mBAAoB,qBAAsB,6BAA8B,SAAU,eAAgB,MAAO,YAAa,oBAAqB,QAAS,SAAU,MAAO,OAAQ,UAAW,kBAAmB,OAAQ,eAAgB,OAAQ,QAAS,MAAO,WAAY,mBAAoB,gBAAiB,wBAAyB,SAAU,MAAO,cAAe,MAAO,cAAe,OAAQ,eAAgB,iBAAkB,yBAA0B,OAAQ,OAAQ,oBAAqB,OAAQ,eAAgB,iBAAkB,QAAS,SAAU,iBAAkB,UAAW,QAAS,MAAO,cAAe,OAAQ,gBAAiB,QAAS,iBAAkB,MAAO,cAAe,aAAc,QAAS,gBAAiB,OAAQ,WAAY,mBAAoB,YAAa,oBAAqB,QAAS,gBAAiB,SAAU,iBAAkB,WAAY,MAAO,WAAY,mBAAoB,SAAU,OAAQ,QAAS,gBAAiB,YAAa,oBAAqB,YAAa,oBAAqB,OAAQ,YAAa,QAAS,SAAU,MAAO,cAAe,aAAc,uBAAwB,UAAW,YAAa,SAAU,YAAa,aAAc,SAAU,mBAAoB,uBAAwB,+BAAgC,OAAQ,eAAgB,aAAc,YAAa,oBAAqB,cAAe,cAAe,sBAAuB,YAAa,QAAS,MAAO,mBAAoB,QAAS,QAAS,OAAQ,QAAS,eAAgB,OAAQ,SAAU,OAAQ,eAAgB,SAAU,mBAAoB,eAAgB,kBAAmB,gBAAiB,SAAU,YAAa,oBAAqB,gBAAiB,OAAQ,eAAgB,cAAe,sBAAuB,YAAa,SAAU,WAAY,MAAO,cAAe,SAAU,mBAAoB,uBAAwB,MAAO,OAAQ,OAAQ,YAAa,mBAAoB,QAAS,QAAS,kBAAmB,0BAA2B,OAAQ,SAAU,QAAS,KAAM,WAAY,aAAc,SAAU,mBAAoB,gBAAiB,WAAY,aAAc,UACh2ED,EAAoB,CAAC,OAAQ,eAAgB,WAAY,mBAAoB,WAAY,SAAU,eAAgB,kBAAmB,YAAa,cAAe,cAAe,sBAAuB,MAAO,cAAe,OAAQ,YAAa,oBAAqB,QAAS,gBAAiB,MAAO,eAAgB,kBAAmB,gBAAiB,OAAQ,eAAgB,MAAO,OAAQ,cAAe,sBAAuB,YAAa,oBAAqB,UAC5cD,EAAS,CAAC,WAAY,mBAAoB,WAAY,mBAAoB,cAAe,SAAU,iBAAkB,QAAS,UAAW,kBAAmB,OAAQ,eAAgB,SAAU,iBAAkB,QAAS,gBAAiB,aAAc,OAAQ,SAAU,iBAAkB,OAAQ,gBACpSD,GAAW,CAAC,WAAY,cAAe,eAAgB,MAAO,UAAW,kBAAmB,aAAc,YAAa,oBAAqB,YAAa,oBAAqB,UAAW,MAAO,cAAe,QAC/MD,GAAS,CAAC,gBAAiB,kBAAmB,eAAgB,gBAAiB,SAAU,iBAAkB,YAAa,cAAe,YAAa,eAAgB,mBACpKD,GAAS,CAAC,MAAO,gBAAiB,eAAgB,eAAgB,kBAAmB,yBAA0B,OAAQ,eAAgB,aAAc,qBAAsB,WAAY,mBAAoB,qBAAsB,6BAA8B,iBAAkB,yBAA0B,iBAAkB,yBAA0B,gBAAiB,wBAAyB,iBAAkB,yBAA0B,kBAAmB,YAAa,cAAe,qBAAsB,uBAAwB,MAAO,YAAa,oBAAqB,OAAQ,eAAgB,iBAAkB,yBAA0B,SAAU,iBAAkB,cAAe,sBAAuB,OAAQ,cAAe,OAAQ,YAAa,QAAS,eAAgB,eAAgB,uBAAwB,OAAQ,cAAe,cAAe,sBAAuB,WAAY,kBAAmB,0BAA2B,mBAAoB,gBAAiB,oBAAqB,qBAAsB,oBAAqB,mBAAoB,mBAAoB,sBAAuB,6BAA8B,cAAe,sBAAuB,YAAa,oBAAqB,aAAc,YAAa,SAAU,oBAC5sCD,GAAe,CAAC,eAAgB,uBAAwB,eAAgB,uBAAwB,MAAO,QAAS,QAAS,SAAU,QAAS,gBAAiB,WAAY,mBAAoB,UAAW,kBAAmB,OAAQ,MAAO,cAAe,YAAa,QAAS,gBAAiB,cAAe,OAAQ,eAAgB,cAAe,sBAAuB,UAAW,YAAa,cAAe,aAAc,QAAS,cAC3aD,GAAW,CAAC,YAAa,UAAW,MAAO,MAAO,cAAe,aAAc,cAAe,sBAAuB,QAAS,SAAU,OAAQ,gBAAiB,gBAAiB,SAAU,OAAQ,QAAS,QAAS,cACtND,GAAU,CAAC,UAAW,OAAQ,WAAY,mBAAoB,OAAQ,eAAgB,WAAY,mBAAoB,gBAAiB,wBAAyB,SAAU,OAAQ,eAAgB,iBAAkB,yBAA0B,SAAU,iBAAkB,cAAe,sBAAuB,WAAY,mBAAoB,YAAa,oBAAqB,cAAe,sBAAuB,YAAa,YAAa,aAAc,mBAAoB,aAAc,cAAe,cAAe,sBAAuB,aACvhBD,GAAS,CAAC,QAAS,aAAc,WAAY,MAAO,WAAY,iBAAkB,UAAW,SAAU,aAAc,SAAU,UAAW,YAAa,gBAAiB,UAAW,YAAa,gBAAiB,QAAS,QAAS,YAAa,aAAc,UAAW,eAAgB,UAAW,SAAU,MAAO,WAAY,UAAW,iBAAkB,YAAa,YAAa,UAAW,OAAQ,YAAa,aAAc,UAAW,YAAa,YAAa,cAAe,MAAO,mBAAoB,aAAc,gBAAiB,UAAW,eAAgB,iBAAkB,cAAe,SAAU,gBAAiB,YAAa,YAAa,UAAW,aAAc,SAAU,aAAc,aAAc,eAAgB,UAAW,WAAY,iBAAkB,SAAU,SAAU,mBAAoB,OAAQ,iBAAkB,aAAc,UAAW,WAAY,YAAa,YAAa,UAAW,aAAc,OAAQ,gBAAiB,UAAW,YAAa,SAAU,SAAU,gBAAiB,WAAY,kBAAmB,UAAW,SAAU,SAAU,aAAc,OAAQ,YAAa,QAAS,SAAU,SAAU,SAAU,WAAY,OAAQ,eAAgB,WAAY,aAAc,qBAAsB,kBAAmB,UAAW,cAAe,aAAc,SAAU,YAAa,MAAO,eAAgB,yBAA0B,oBAAqB,YAAa,eAAgB,eAAgB,yBAA0B,WAAY,aAAc,iBAAkB,UAAW,aAAc,KAAM,YAAa,MAAO,aAAc,SAAU,mBAAoB,gBAAiB,YAAa,SAAU,SAAU,QAAS,UAAW,SAAU,YAAa,cAAe,SAAU,eAAgB,cAAe,cAAe,gBAAiB,qBAAsB,gBAAiB,WAAY,OAAQ,WAAY,QAAS,OAAQ,cAAe,qBAAsB,OAAQ,gBAAiB,QAAS,SAAU,QAAS,QAAS,UAAW,OAAQ,YAAa,oBAAqB,UAAW,SAAU,cAAe,UAAW,QAAS,SAAU,KAAM,YAAa,WAAY,SAAU,cAAe,gBAAiB,SAAU,UAAW,SAAU,gBAAiB,UAAW,OAAQ,WAAY,WAAY,qBAAsB,SAAU,QAAS,OAAQ,UAAW,SAAU,UAAW,SAAU,WAAY,QAAS,SAAU,YAAa,MAAO,WAAY,SAAU,OAAQ,SAAU,UAAW,kBAAmB,OAAQ,UAAW,MAAO,MAAO,cAAe,gBAAiB,uBAAwB,WAAY,SAAU,QAAS,gBAAiB,MAAO,QAAS,YAAa,SAAU,UAAW,SAAU,YAAa,cAAe,oBAAqB,MAAO,aAAc,uBAAwB,gBAAiB,YAAa,cAAe,mBAAoB,cAAe,eAAgB,SAAU,SAAU,KAAM,YAAa,QAAS,UAAW,QAAS,QAAS,WAAY,SAAU,eAAgB,gBAAiB,UAAW,SAAU,SAAU,YAAa,aAAc,UAAW,SAAU,OAAQ,SAAU,SAAU,cAAe,WAAY,SAAU,eAAgB,eAAgB,cAAe,UAAW,WAAY,QAAS,QAAS,aAAc,aAAc,WAAY,iBAAkB,kBAAmB,aAAc,UAAW,UAAW,iBAAkB,iBAAkB,aAAc,QAAS,eAAgB,eAAgB,eAAgB,SAAU,SAAU,WAAY,eAAgB,cAAe,qBAAsB,cAAe,SAAU,WAAY,iBAAkB,gBAAiB,YAAa,SAAU,cAAe,SAAU,gBAAiB,SAAU,UAAW,iBAAkB,QAAS,OAAQ,QAAS,cAAe,UAAW,MAAO,WAAY,SAAU,UAAW,SAAU,gBAAiB,QAAS,QAAS,eAAgB,UAAW,OAAQ,KAAM,MAAO,QAAS,SAAU,QAAS,SAAU,WAAY,kBAAmB,QAAS,cAAe,UAAW,YAAa,mBAAoB,aAAc,aAAc,UAAW,OAAQ,OAAQ,cAAe,eAAgB,QAAS,SAAU,uBAAwB,OAAQ,QAAS,UAAW,kBACjkID,GAAQ,IAAM,GAAG/qB,OAAO8sB,EAAeD,EAAQD,EAAaD,EAAUD,EAAOD,EAAMD,EAAeD,EAAWD,EAAUD,EAAWD,EAAQD,EAASD,EAAOD,EAASD,EAAgBD,EAAQD,EAAQD,EAAYD,EAAWD,EAAMD,EAASD,EAASD,EAAmBD,EAAQD,GAAUD,GAAQD,GAAQD,GAAcD,GAAUD,GAASD,KACxUF,GAAe,CAAC,aAAc,eAAgB,iBAAkB,cAAe,SAAU,SAAU,aAAc,aAAc,kBAAmB,cAAe,WAAY,MAAO,aAAc,QAAS,MAAO,MAAO,eAAgB,aAAc,aAAc,kBAAmB,UAAW,mBAAoB,MAAO,8BAA+B,SAAU,YAAa,UAAW,MAAO,UAAW,eAAgB,eAAgB,cAAe,cAAe,gBAAiB,cAAe,eAAgB,WAAY,eAAgB,wBAAyB,eAAgB,UAAW,cAAe,OAAQ,SAAU,OAAQ,KAAM,QAAS,OAAQ,mBAAoB,YAAa,iBAAkB,QAAS,MAAO,WAAY,aAAc,WAAY,YAAa,UAAW,WAAY,kBAAmB,SAAU,YAAa,cAAe,SAAU,SAAU,OAAQ,kBAAmB,WAAY,YAAa,iBAAkB,QAAS,MAAO,OAAQ,aAAc,UAAW,WAAY,OAAQ,oBAAqB,YAAa,oBAAqB,OAAQ,YAAa,OAAQ,OAAQ,MAAO,MAAO,qBAAsB,uBAAwB,OAAQ,aAAc,cAAe,QAAS,IAAK,eAAgB,WAAY,kBAAmB,SAAU,cAAe,OAAQ,eAAgB,OAAQ,QAAS,iBAAkB,iBAAkB,gBAAiB,kBAAmB,gBAAiB,OAAQ,MAAO,UAAW,MAAO,cAAe,WAAY,MAAO,MAAO,MAAO,MAAO,QAAS,UAAW,YAAa,OAAQ,aAAc,kBAAmB,UAAW,OAAQ,cAAe,UAAW,eAAgB,eAAgB,cAAe,OAAQ,kBAAmB,MAAO,SAAU,iBAAkB,kBAAmB,gBAAiB,iBAAkB,WAAY,UAAW,OAAQ,iBAAkB,yBAA0B,gBAAiB,UAAW,0BAA2B,wBAAyB,eAAgB,UAAW,cAAe,gBAAiB,QAAS,UAAW,YAAa,YAAa,iBAAkB,MAAO,YAAa,QAAS,gBAAiB,gBAAiB,iBAAkB,cAAe,QAAS,aAAc,QAAS,UAAW,WAAY,OAAQ,SAAU,UAAW,gBAAiB,uBAAwB,cAAe,SAAU,SAAU,MAAO,SAAU,MAAO,QAAS,QAAS,MAAO,iBAAkB,OAAQ,UAAW,WAAY,SAAU,SAAU,WAAY,OAAQ,UAAW,WAAY,UAAW,UAAW,SAAU,UAAW,SAAU,0BAA2B,2BAA4B,iBAAkB,yBAA0B,0BAA2B,kBAAmB,yBAA0B,0BAA2B,QAAS,MAAO,cAAe,UAAW,OAAQ,SAAU,WAAY,aAAc,cAAe,iBAAkB,QAAS,cAAe,aAAc,OAAQ,KAAM,cAAe,cAAe,eAAgB,YAAa,YAAa,SAAU,YAAa,gBAAiB,gBAAiB,iBAAkB,cAAe,MAAO,SAAU,YAAa,SAAU,MAAO,cAAe,aAAc,cAAe,SAAU,QAAS,eAAgB,aAAc,uBAAwB,OAAQ,iBAAkB,eAAgB,UAAW,QAAS,SAAU,SAAU,QAAS,MAAO,qBAAsB,kBAAmB,QAAS,eAAgB,IAAK,MAAO,MAAO,UAAW,WAAY,OAAQ,mBAAoB,gBAAiB,cAAe,iBAAkB,eAAgB,UAAW,eAAgB,0BAA2B,WAAY,YAAa,UAAW,OAAQ,WAAY,iBAAkB,kBAAmB,WAAY,oBAAqB,OAAQ,iBAAkB,aAAc,WAAY,UAAW,WAAY,QAAS,OAAQ,SAAU,UAAW,QAAS,kBAAmB,oBAAqB,kBAAmB,UAAW,WAAY,QAAS,kBAAmB,iBAAkB,SAAU,kBAAmB,QAAS,gBAC95HD,GAAoB,IAAM,GAAG7qB,OAAO+qB,GAAOD,KAK3CF,GAAmC,CAAC,iBAEpCD,GAA4B,IAAM,GAAG3qB,OAAO6qB,GAAmBD,M,kCCtD1EH,EAAQC,YAAa,EACrBD,EAAQxoB,aA8BR,SAAsBC,GACpB,IAAIC,SAAcD,EAElB,GAAa,WAATC,GAA8B,WAATA,EACvB,OAAOnB,EAAgBkB,IAAUA,EAGnC,MAAO,IApCTuoB,EAAQzpB,qBAAkB,EAC1B,IAAIA,EAAkB,CACpBC,EAAG,MACHC,EAAG,MACHC,EAAG,QACHC,EAAG,OACHC,EAAG,OACHC,EAAG,MACHC,EAAG,QACHC,EAAG,QACHC,EAAG,OACHC,GAAI,MACJC,GAAI,SACJC,GAAI,SACJC,GAAI,WACJC,GAAI,WACJC,GAAI,UACJC,GAAI,WAUNyoB,EAAQzpB,gBAAkBA,G,kCC/B1B,qIAYIuvB,EAAsB,SAAU3tB,GAGlC,SAAS2tB,IAGP,IAFA,IAAI1tB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAmBzB,OAhBAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DmI,kBAAoB,WACnB,gBAELpJ,SAASoV,KAAKwL,UAAUC,IAAI,UAC5B7gB,SAASoV,KAAKwL,UAAUC,IAAI,cAG9BrgB,EAAM6I,oBAAsB,WACrB,gBAELrJ,SAASoV,KAAKwL,UAAUE,OAAO,UAC/B9gB,SAASoV,KAAKwL,UAAUE,OAAO,cAG1BtgB,EA+BT,OAxDA,YAAe0tB,EAAQ3tB,GA4BV2tB,EAAO7sB,UAEbC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB2M,EAAO1R,EAAY0R,KACnB3U,EAAO,YAAkB4vB,EAAQjtB,KAAKnD,OAE1C,OAAImV,EACkB,IAAMxQ,cAAc,IAAQ,CAC9Cw0B,eAAe,EACfzuB,sBAAsB,EACtBkE,QAASzL,KAAKmI,kBACdwD,UAAW3L,KAAKoI,oBAChB3B,KAAMpB,EACN6B,oBAAoB,GACN,IAAM1F,cAAc,IAAa,YAAS,GAAInE,EAAM,CAClEgI,OAAQA,EACR2M,KAAMA,MAIU,IAAMxQ,cAAc,IAAa,YAAS,GAAInE,EAAM,CACtEgI,OAAQA,EACR2M,KAAMA,MAIHib,EAzDiB,CA0DxB,aAEFA,EAAOnrB,aAAe,CAAC,SAAU,QAEjCmrB,EAAOlrB,UAMH,GACJkrB,EAAOqR,SAAW,IAClBrR,EAAOsR,MAAQ,IACftR,EAAOxrB,OAAS,YAAuBwrB,GAAQ,SAAUruB,GACvD,MAAO,CACL+B,QAAS/B,O,kCCrFb,8IAmBImL,EAAsB,SAAUzK,GAGlC,SAASyK,IAGP,IAFA,IAAIxK,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAwMzB,OArMAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5D0R,WAA0B,IAAM8sB,YACtCj/B,EAAMmH,WAA0B,IAAM83B,YACtCj/B,EAAMgsB,6BAA+B,KAErChsB,EAAMqsB,wBAA0B,SAAU1rB,GACxCX,EAAMgsB,6BAA+BrrB,GAGvCX,EAAMssB,oBAAsB,SAAU3rB,GACpC,IAAIqH,EAAuBhI,EAAM1C,MAAM0K,qBACnCk3B,EAAwBl/B,EAAMgsB,6BAClChsB,EAAMgsB,6BAA+B,MAEhChsB,EAAMmS,WAAWzL,SACtB,YAAqB1G,EAAMmH,WAAWT,QAAS/F,IAC/Cu+B,GAAyB,YAAqBl/B,EAAMmS,WAAWzL,QAASw4B,IACxE,YAAqBl/B,EAAMmS,WAAWzL,QAAS/F,IAM3CqH,GACFhI,EAAMk0B,MAAMvzB,IAIhBX,EAAMm/B,aAAe,SAAUx+B,GACxBX,EAAM1C,MAAMm5B,eACb,IAAY/e,QAAQ/W,KAAO,IAAY+1B,QAE3C12B,EAAMk0B,MAAMvzB,IAGdX,EAAMo/B,uBAAyB,SAAUz+B,GACvC,IAAII,EAAcf,EAAM1C,MACpBmK,EAA0B1G,EAAY0G,wBACtCC,EAAkB3G,EAAY2G,gBAC7BD,GAED9G,EAAE4H,SAAWvI,EAAMmS,WAAWzL,UAClC1G,EAAMq/B,gBAAkBr/B,EAAMs/B,iBAAiB3+B,EAAG+G,KAGpD1H,EAAMu/B,uBAAyB,WAGCv/B,EAAM1C,MAAMmK,yBAE1CuD,aAAahL,EAAMq/B,kBAGrBr/B,EAAMw/B,kBAAoB,SAAU7+B,GAKlC,IAJA,IAAI6E,EAAexF,EAAM1C,MACrBmO,EAAUjG,EAAaiG,QACvBvD,EAAqB1C,EAAa0C,mBAE7B7C,EAAQnF,UAAUC,OAAQrC,EAAO,IAAIuC,MAAMgF,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGxH,EAAKwH,EAAQ,GAAKpF,UAAUoF,GAG9B,IAAQ9E,WAAM,EAAQ,CAACiL,EAAS,eAAgB9K,GAAGxD,OAAOW,IAG1D,IAAIyK,EAAS5H,EAAE8+B,eAAiBjgC,SAASkgC,cAErCC,EAAiB,IAAQ3/B,EAAMmS,WAAWzL,QAAS,WAAY6B,GAE9DL,IAAsBy3B,GAE3B3/B,EAAMk0B,MAAMvzB,IAGdX,EAAM4/B,mBAAqB,SAAUj/B,GAOnC,IANA,IAAIsK,EAAejL,EAAM1C,MACrBmO,EAAUR,EAAaQ,QACvB7D,EAAsBqD,EAAarD,oBACnCD,EAAqBsD,EAAatD,mBAClCT,EAAOlH,EAAM6E,MAAMqC,KAEd24B,EAAQ3/B,UAAUC,OAAQrC,EAAO,IAAIuC,MAAMw/B,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGhiC,EAAKgiC,EAAQ,GAAK5/B,UAAU4/B,GAG9B,IAAQt/B,WAAM,EAAQ,CAACiL,EAAS,gBAAiB9K,GAAGxD,OAAOW,IAEvDoJ,GAAQU,EACV5H,EAAMk0B,MAAMvzB,IACFuG,GAAQS,GAClB3H,EAAMkH,KAAKvG,IAIfX,EAAM+/B,mBAAqB,SAAUp/B,GAKnC,IAJA,IAAI64B,EAAex5B,EAAM1C,MACrBmO,EAAU+tB,EAAa/tB,QACvBxD,EAAqBuxB,EAAavxB,mBAE7B+3B,EAAQ9/B,UAAUC,OAAQrC,EAAO,IAAIuC,MAAM2/B,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGniC,EAAKmiC,EAAQ,GAAK//B,UAAU+/B,GAG9B,IAAQz/B,WAAM,EAAQ,CAACiL,EAAS,gBAAiB9K,GAAGxD,OAAOW,IAEtDmK,GAELjI,EAAMkH,KAAKvG,IAGbX,EAAMkgC,wBAA0B,SAAUv/B,GACxCqK,aAAahL,EAAMmgC,iBAMnB,IALA,IAAIlG,EAAej6B,EAAM1C,MACrBmO,EAAUwuB,EAAaxuB,QACvB3D,EAA2BmyB,EAAanyB,yBACxCJ,EAAkBuyB,EAAavyB,gBAE1B04B,EAAQlgC,UAAUC,OAAQrC,EAAO,IAAIuC,MAAM+/B,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGviC,EAAKuiC,EAAQ,GAAKngC,UAAUmgC,GAG9B,IAAQ7/B,WAAM,EAAQ,CAACiL,EAAS,qBAAsB9K,GAAGxD,OAAOW,IAE3DgK,IACL9H,EAAMq/B,gBAAkBr/B,EAAMs/B,iBAAiB3+B,EAAG+G,KAGpD1H,EAAMsgC,wBAA0B,SAAU3/B,GACxCqK,aAAahL,EAAMq/B,iBAMnB,IALA,IAAI1E,EAAe36B,EAAM1C,MACrBmO,EAAUkvB,EAAalvB,QACvB1D,EAAkB4yB,EAAa5yB,gBAC/BF,EAA0B8yB,EAAa9yB,wBAElC04B,EAAQrgC,UAAUC,OAAQrC,EAAO,IAAIuC,MAAMkgC,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG1iC,EAAK0iC,EAAQ,GAAKtgC,UAAUsgC,GAG9B,IAAQhgC,WAAM,EAAQ,CAACiL,EAAS,qBAAsB9K,GAAGxD,OAAOW,IAE3D+J,IACL7H,EAAMmgC,gBAAkBngC,EAAMygC,gBAAgB9/B,EAAGoH,KAGnD/H,EAAMkH,KAAO,SAAUvG,GACrB,IAAIwL,EAASnM,EAAM1C,MAAM6O,OACrBA,GAAQA,EAAOxL,EAAGX,EAAM1C,OAE5B0C,EAAM+E,SAAS,CACbmC,MAAM,KAIVlH,EAAMygC,gBAAkB,SAAU9/B,EAAG+/B,GAInC,IAAIC,EAAa,YAAS,GAAIhgC,GAE9B,OAAO8H,YAAW,WAChB,OAAOzI,EAAMkH,KAAKy5B,KACjBD,GAAS,IAGd1gC,EAAMk0B,MAAQ,SAAUvzB,GACtB,IAAIsL,EAAUjM,EAAM1C,MAAM2O,QACtBA,GAASA,EAAQtL,EAAGX,EAAM1C,OAE9B0C,EAAM+E,SAAS,CACbmC,MAAM,KAIVlH,EAAMs/B,iBAAmB,SAAU3+B,EAAG+/B,GAIpC,IAAIC,EAAa,YAAS,GAAIhgC,GAE9B,OAAO8H,YAAW,WAChB,OAAOzI,EAAMk0B,MAAMyM,KAClBD,GAAS,IAGd1gC,EAAM4gC,YAAc,WAClB,IAAQ5gC,EAAM1C,MAAO,UAAW,KAAM0C,EAAM1C,QAG9C0C,EAAM6gC,cAAgB,WACpB,IAAQ7gC,EAAM1C,MAAO,YAAa,KAAM0C,EAAM1C,QAGhD0C,EAAM8gC,iBAAmB,SAAUrsB,GACjCzU,EAAMmH,WAAWT,QAAU+N,EAC3B,YAAUzU,EAAM1C,MAAM6J,WAAYsN,IAG7BzU,EA9MT,YAAewK,EAAQzK,GAiNvB,IAAI2K,EAASF,EAAO3J,UA8DpB,OA5DA6J,EAAOK,qBAAuB,WAE5BC,aAAavK,KAAK0/B,iBAClBn1B,aAAavK,KAAK4+B,kBAMpB30B,EAAO5J,OAAS,WACd,IAAIigC,EAAetgC,KAAKnD,MACpB2D,EAAW8/B,EAAa9/B,SACxB0rB,EAAYoU,EAAapU,UACzBhY,EAAYosB,EAAapsB,UACzBlJ,EAAUs1B,EAAat1B,QACvBvE,EAAOzG,KAAKoE,MAAMqC,KAOtB,OAAoB,IAAMjF,cAAc,IAAMgI,SAAU,KAAM/C,GAAqB,IAAMjF,cAAc,IAAMgI,SAAU,KAAmB,IAAMhI,cAAc,IAAa,CACzK+H,SAAUvJ,KAAK0R,WACfwC,UAAWA,EACXzI,QAASzL,KAAKmgC,YACdx0B,UAAW3L,KAAKogC,eACf5/B,GAAwB,IAAMgB,cAAc,IAAY,CACzD+B,KAAM,aACNsD,GAAI7G,KAAK2+B,uBACTtS,KAAMH,EACNpkB,OAAQ9H,KAAK0R,aACE,IAAMlQ,cAAc,IAAY,CAC/C+B,KAAM,aACNsD,GAAI7G,KAAK8+B,uBACTzS,KAAMH,EACNpkB,OAAQ9H,KAAK0R,aACE,IAAMlQ,cAAc,IAAY,CAC/C+B,KAAM,YACNsD,GAAI7G,KAAK4rB,wBACTS,KAAMH,IACS,IAAM1qB,cAAc,IAAY,CAC/C+B,KAAM,QACNsD,GAAI7G,KAAK6rB,oBACTQ,KAAMH,IACS,IAAM1qB,cAAc,IAAY,CAC/C+B,KAAM,UACNsD,GAAI7G,KAAK0+B,aACTrS,KAAMH,KACHlhB,GAAwB,IAAMxJ,cAAc,IAAK,CACpD+H,SAAUvJ,KAAKqgC,kBACD,IAAM7hB,aAAaxT,EAAS,CAC1CovB,OAAQp6B,KAAK++B,kBACb5+B,QAASH,KAAKm/B,mBACd9E,QAASr6B,KAAKs/B,mBACdp6B,aAAclF,KAAKy/B,wBACnBl6B,aAAcvF,KAAK6/B,6BAIhB91B,EAhRiB,CAiRxB,KAEFA,EAAOjI,aAAe,CAAC,WAAY,uBAAwB,gBAAiB,0BAA2B,qBAAsB,sBAAuB,2BAA4B,cAAe,YAAa,YAAa,kBAAmB,kBAAmB,UAAW,UAAW,SAAU,YAAa,OAAQ,qBAAsB,qBAAsB,0BAA2B,UAAW,cACtYiI,EAAOhI,UA0FH,GACJgI,EAAOpI,aAAe,CACpB4F,sBAAsB,EACtByuB,eAAe,EACf9J,UAAW,UACXhlB,oBAAoB,GAEtB6C,EAAOtE,oBAAsB,CAAC,QAC9BsE,EAAOw0B,MAAQ,IACA,O,kCC1Yf,2EAWIgC,EAAoB,SAAUC,GAGhC,SAASD,IACP,OAAOC,EAAezgC,MAAMC,KAAMP,YAAcO,KAiBlD,OApBA,YAAeugC,EAAMC,GAMRD,EAAKngC,UAEXC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnB4D,EAAYH,EAAYG,UACxB8C,EAAOjD,EAAYiD,KACnBlC,EAAU,YAAGkC,EAAM,OAAQ9C,GAC3BpD,EAAO,YAAkBkjC,EAAMvgC,KAAKnD,OACpCyE,EAAc,YAAei/B,EAAMvgC,KAAKnD,OAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,MAIRk/B,EArBe,CAsBtB,iBAEFA,EAAKz+B,aAAe,CAAC,KAAM,YAAa,QACxCy+B,EAAKx+B,UASD,GACJw+B,EAAK5+B,aAAe,CAClB0K,GAAI,KAENk0B,EAAK9+B,OAAS,YAAuB8+B,GAAM,SAAU3hC,GACnD,MAAO,CACL2E,KAAM3E,MAGK,O,kCCtDf,+NAuBIy5B,EAAqB,SAAU/4B,GAGjC,SAAS+4B,IAGP,IAFA,IAAI94B,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAqEzB,OAlEAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DihB,SAAwB,sBAE9B1hB,EAAMkhC,YAAc,WAClB,IAAIngC,EAAcf,EAAM1C,MACpBwb,EAAU/X,EAAY+X,QACtBxV,EAAOvC,EAAYuC,KACvB,OAAK,IAAOA,GACRwV,EAAgB,eAApB,EAD0BxV,GAI5BtD,EAAMgiB,gBAAkB,WACtB,IAAIxc,EAAexF,EAAM1C,MACrBmH,EAAWe,EAAaf,SACxBmB,EAAWJ,EAAaI,SAC5B,OAAK,IAAOA,GACRnB,GAAkB,OAAtB,EAD8BmB,GAIhC5F,EAAMy3B,MAAQ,WACZ,OAAOz3B,EAAM0hB,SAAShb,QAAQ+wB,SAGhCz3B,EAAMmhC,OAAS,WACb,OAAOnhC,EAAM0hB,SAAShb,QAAQy6B,UAGhCnhC,EAAMgV,aAAe,SAAUrU,GAC7B,IAAItB,EAAQ,IAAKsB,EAAG,gBAEpB,IAAQX,EAAM1C,MAAO,WAAYqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC5D+B,MAAOA,MAIXW,EAAMohC,qBAAuB,SAAUxjB,EAAOxb,GAC5C,OAAO,YAAS,GAAIA,EAAcwb,EAAMtgB,MAAO,CAC7CkJ,IAAK,SAAaiO,GAChB,YAAUmJ,EAAMpX,IAAKiO,GACrBzU,EAAM0hB,SAAShb,QAAU+N,MAK/BzU,EAAMqhC,eAAiB,WACrB,IAAIp2B,EAAejL,EAAM1C,MACrBmH,EAAWwG,EAAaxG,SACxBnF,EAAO2L,EAAa3L,KAEpBsG,EAAW5F,EAAMgiB,kBAEjBiB,EAAY,YAAkB6V,EAAO94B,EAAM1C,OAE3CkS,EAAsB,YAAmByT,GACzC/lB,EAAiBsS,EAAoB,GACrC1R,EAAO0R,EAAoB,GAE/B,MAAO,CAAC,YAAS,GAAItS,EAAgB,CACnCuH,SAAUA,EACVnF,KAAMA,EACNsG,SAAUA,EACVsP,SAAUlV,EAAMgV,aAChBxO,IAAKxG,EAAM0hB,WACT5jB,IAGCkC,EAsET,OAjJA,YAAe84B,EAAO/4B,GA8ET+4B,EAAMj4B,UAEZC,OAAS,WACd,IAAIyE,EAAS9E,KAET+4B,EAAe/4B,KAAKnD,MACpBuZ,EAAS2iB,EAAa3iB,OACtByqB,EAAiB9H,EAAa8H,eAC9BrgC,EAAWu4B,EAAav4B,SACxBC,EAAYs4B,EAAat4B,UACzBuD,EAAW+0B,EAAa/0B,SACxBtB,EAAQq2B,EAAar2B,MACrB5B,EAAQi4B,EAAaj4B,MACrBk2B,EAAQ+B,EAAa/B,MACrBn0B,EAAOk2B,EAAal2B,KACpBi+B,EAAe/H,EAAa+H,aAC5BpL,EAAQqD,EAAarD,MACrB3sB,EAAWgwB,EAAahwB,SACxB6F,EAAQmqB,EAAanqB,MACrBgvB,EAAgB7E,EAAa6E,cAC7BvlB,EAAU0gB,EAAa1gB,QACvBnV,EAAO61B,EAAa71B,KACpB69B,EAAchI,EAAagI,YAC3BliC,EAAOk6B,EAAal6B,KACpBwC,EAAU,YAAG,KAAM6B,EAAM,YAAWc,EAAU,YAAa,YAAWtB,EAAO,SAAU,YAAW5B,EAAO,SAAU,YAAWk2B,EAAO,SAAU,YAAWjuB,EAAU,YAAa,YAAWsP,EAAS,WAAY,YAAW0oB,EAAa,eAAgB,YAAeF,EAAgB,WAAa,YAAWzqB,EAAQ,UAAW,YAAe0qB,EAAc,SAAW,YAAWj+B,GAAQwV,EAAS,QAAS,YAAeulB,EAAe,YAAc,YAAWhvB,EAAO,WAAY,QAASnO,GACnea,EAAc,YAAe+2B,EAAOr4B,KAAKnD,OAEzCmkC,EAAuBhhC,KAAK4gC,iBAC5BnkC,EAAiBukC,EAAqB,GACtC3jC,EAAO2jC,EAAqB,GAIhC,IAAK,IAAcz/B,MAAMf,GAAW,CAElC,IAAI2yB,EAAgB,IAAK,WAAS5W,QAAQ/b,IAAW,SAAU2c,GAC7D,MAAmB,UAAfA,EAAMte,KAAyBse,EACf,uBAAaA,EAAOrY,EAAO67B,qBAAqBxjB,EAAO1gB,OAG7E,OAAoB,IAAM+E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT8xB,GAKN,IAAI8N,EAAgB,IAAOx/B,OAAO2U,EAAQ,CACxC1U,iBAAiB,IAEfyT,EAAe,IAAM1T,OAAOmN,EAAO,CACrCjN,aAAc,CACZlB,UAAW,YAAG,QACd,IAAUm9B,EAAe,WAAaA,IAExCl8B,iBAAiB,IAEnB,OAAoB,IAAMF,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACU,SAAnBw/B,GAA6BI,EAAiC,UAAlBrD,GAA6BzoB,EAAc,YAAgBugB,GAAS72B,EAAM,CACxH8C,aAAclF,EACdiF,iBAAiB,IACf,IAAKD,OAAOzB,KAAKygC,cAAe,CAClC/+B,iBAAiB,IACI,SAAnBm/B,GAA6BI,EAAiC,UAAlBrD,GAA6BzoB,IAGxEkjB,EAlJgB,CAmJvB,aAEFA,EAAMv2B,aAAe,CAAC,SAAU,iBAAkB,KAAM,WAAY,YAAa,WAAY,QAAS,QAAS,QAAS,OAAQ,eAAgB,QAAS,WAAY,QAAS,gBAAiB,UAAW,WAAY,OAAQ,WAAY,cAAe,QACzPu2B,EAAMt2B,UAoEF,GACJs2B,EAAM12B,aAAe,CACnB9C,KAAM,QAERw5B,EAAM52B,OAAS,YAAuB42B,GAAO,SAAUx5B,GACrD,MAAO,CACLA,KAAMA,MAGK,O,kCC1Pf,2CAUA,SAASqiC,EAAOrkC,GACd,OAAoB,IAAM2E,cAAc,IAAU,YAAS,GAAI3E,EAAO,CACpE+W,WAAW,KAIfstB,EAAOp/B,aAAe,CAAC,WACvBo/B,EAAOn/B,UAGH,GACJm/B,EAAO5N,QAAU,IAASA,QAC1B4N,EAAO/+B,OAAS,IAASA,OACzB++B,EAAOz9B,KAAO,IAASA,KACvBy9B,EAAO9d,KAAO,IAASA,KACR,O,kCCzBf,qGAaI+d,EAAwB,SAAU7hC,GAGpC,SAAS6hC,IAGP,IAFA,IAAI5hC,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GA0BzB,OAvBAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5D+F,IAAmB,sBAEzBxG,EAAMy3B,MAAQ,WACZ,OAAOz3B,EAAMwG,IAAIE,QAAQ+wB,SAG3Bz3B,EAAMgV,aAAe,SAAUrU,GAC7B,IAAItB,EAAQ,IAAKsB,EAAG,gBAEpB,IAAQX,EAAM1C,MAAO,WAAYqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC5D+B,MAAOA,MAIXW,EAAM6hC,YAAc,SAAUlhC,GAC5B,IAAItB,EAAQ,IAAKsB,EAAG,gBAEpB,IAAQX,EAAM1C,MAAO,UAAWqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC3D+B,MAAOA,MAIJW,EAqBT,OArDA,YAAe4hC,EAAU7hC,GAmCZ6hC,EAAS/gC,UAEfC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwkC,EAAO/gC,EAAY+gC,KACnBziC,EAAQ0B,EAAY1B,MACpBvB,EAAO,YAAkB8jC,EAAUnhC,KAAKnD,OACxCyE,EAAc,YAAe6/B,EAAUnhC,KAAKnD,OAChD,OAAoB,IAAM2E,cAAc,IAAK,CAC3C+H,SAAUvJ,KAAK+F,KACD,IAAMvE,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CAClEoX,SAAUzU,KAAKuU,aACf+sB,QAASthC,KAAKohC,YACdC,KAAMA,EACNziC,MAAOA,OAIJuiC,EAtDmB,CAuD1B,aAEFA,EAASr/B,aAAe,CAAC,KAAM,WAAY,UAAW,OAAQ,SAC9Dq/B,EAASp/B,UAuBL,GACJo/B,EAASx/B,aAAe,CACtB0K,GAAI,WACJg1B,KAAM,GAEO,O,kCCnGf,iJAYIE,EAAsB,SAAUjiC,GAGlC,SAASiiC,IAGP,IAFA,IAAIhiC,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAoKzB,OAjKAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DoE,MAAQ,CACZiB,QAAQ,EACRm8B,QAAQ,GAEVjiC,EAAMkiC,UAAyB,sBAC/BliC,EAAMmH,WAA0B,sBAEhCnH,EAAMmiC,aAAe,SAAUC,GAC7B,IAAIC,EAAoB,YAAYD,GAAiBA,EAAc17B,QAAU07B,EAEzEC,IACF,IAAWxV,IAAI,SAAU7sB,EAAM8K,aAAc,CAC3CvC,OAAQ85B,IAEV,IAAWxV,IAAI,SAAU7sB,EAAM8K,aAAc,CAC3CvC,OAAQ85B,MAKdriC,EAAMsiC,gBAAkB,SAAUF,GAChC,IAAIC,EAAoB,YAAYD,GAAiBA,EAAc17B,QAAU07B,EAEzEC,IACF,IAAW/5B,MAAM,SAAUtI,EAAM8K,aAAc,CAC7CvC,OAAQ85B,IAEV,IAAW/5B,MAAM,SAAUtI,EAAM8K,aAAc,CAC7CvC,OAAQ85B,MAKdriC,EAAM+wB,OAAS,SAAUpwB,GACvB,IAAI4hC,EAAUviC,EAAM6E,MAAM09B,QAK1B,GAJAviC,EAAM6wB,SAAU,EAEhB7wB,EAAMwiC,cAEFD,EACF,OAAIviC,EAAMyiC,wBAAgCziC,EAAM0iC,kBAAkB/hC,GAC9DX,EAAM2iC,uBAA+B3iC,EAAM4iC,oBAAoBjiC,GAC5DX,EAAM6iC,qBAAqBliC,GAGpC,GAAIX,EAAM8iC,cAAe,CACvB,GAAI9iC,EAAM+iC,YAAYpyB,IAAM,EAAG,OAAO3Q,EAAM0iC,kBAAkB/hC,GAC9D,GAAIX,EAAM+iC,YAAYnyB,OAASlR,OAAO4rB,YAAa,OAAOtrB,EAAM6iC,qBAAqBliC,GAGvF,OAAIX,EAAMgjC,oBACJhjC,EAAMijC,wBAAgCjjC,EAAM6iC,qBAAqBliC,GAC9DX,EAAMkjC,iBAAiBviC,GAGzBX,EAAM0iC,kBAAkB/hC,IAGjCX,EAAM8K,aAAe,SAAUnK,GACxBX,EAAM6wB,UACT7wB,EAAM6wB,SAAU,EAChB7wB,EAAM8wB,QAAU1D,uBAAsB,WACpC,OAAOptB,EAAM+wB,OAAOpwB,QAK1BX,EAAMwiC,YAAc,WAClB,IAAIt3B,EAAUlL,EAAM1C,MAAM4N,QACtBi4B,EAAc,YAAYj4B,GAAWA,EAAQxE,QAAUwE,GAAW1L,SAASoV,KAC/E5U,EAAMojC,YAAcpjC,EAAMmH,WAAWT,QAAQD,wBAC7CzG,EAAM+iC,YAAcI,EAAY18B,wBAChCzG,EAAMqjC,WAAarjC,EAAMkiC,UAAUx7B,QAAQD,yBAG7CzG,EAAMijC,sBAAwB,WAC5B,IAAI73B,EAASpL,EAAM1C,MAAM8N,OACzB,OAAOpL,EAAMqjC,WAAWx8B,OAASuE,GAAUpL,EAAM+iC,YAAYnyB,QAG/D5Q,EAAMyiC,sBAAwB,WAC5B,OAAOziC,EAAMqjC,WAAW1yB,KAAO3Q,EAAMojC,YAAYzyB,KAGnD3Q,EAAMgjC,kBAAoB,WACxB,OAAOhjC,EAAMojC,YAAYzyB,IAAM3Q,EAAM1C,MAAM8N,QAG7CpL,EAAM2iC,qBAAuB,WAC3B,IAAIxP,EAAenzB,EAAM1C,MAAM61B,aAC/B,OAAOnzB,EAAM+iC,YAAYnyB,OAASuiB,EAAezzB,OAAO4rB,aAG1DtrB,EAAM8iC,YAAc,WAClB,OAAO9iC,EAAMqjC,WAAWx8B,OAASnH,OAAO4rB,aAG1CtrB,EAAMuiC,QAAU,SAAUA,GACTviC,EAAM1C,MAAMilC,SACbviC,EAAM+E,SAAS,CAC3Bw9B,QAASA,KAIbviC,EAAMsjC,MAAQ,SAAU3iC,EAAG4iC,GACzBvjC,EAAM+E,SAAS,CACbw+B,MAAOA,EACPtB,QAAQ,IAGV,IAAQjiC,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAG3C0C,EAAMwjC,QAAU,SAAU7iC,EAAG4iC,GAC3BvjC,EAAM+E,SAAS,CACbw+B,MAAOA,EACPtB,QAAQ,IAGV,IAAQjiC,EAAM1C,MAAO,YAAaqD,EAAGX,EAAM1C,QAG7C0C,EAAM6iC,qBAAuB,SAAUliC,GACrC,IAAQX,EAAM1C,MAAO,WAAYqD,EAAGX,EAAM1C,OAE1C0C,EAAMsjC,MAAM3iC,GAAG,GAEfX,EAAMuiC,SAAQ,IAGhBviC,EAAM0iC,kBAAoB,SAAU/hC,GAClC,IAAQX,EAAM1C,MAAO,QAASqD,EAAGX,EAAM1C,OAEvC0C,EAAMwjC,QAAQ7iC,GAAG,GAEjBX,EAAMuiC,SAAQ,IAGhBviC,EAAM4iC,oBAAsB,SAAUjiC,GACpC,IAAIiQ,EAAS5Q,EAAM1C,MAAM61B,aAEzBnzB,EAAMsjC,MAAM3iC,GAAG,GAEfX,EAAM+E,SAAS,CACb6L,OAAQA,EACRD,IAAK,QAIT3Q,EAAMkjC,iBAAmB,SAAUviC,GACjC,IAAIgQ,EAAM3Q,EAAM1C,MAAM8N,OAEtBpL,EAAMsjC,MAAM3iC,GAAG,GAEfX,EAAM+E,SAAS,CACb4L,IAAKA,EACLC,OAAQ,QAIL5Q,EA1KT,YAAegiC,EAAQjiC,GA6KvB,IAAI2K,EAASs3B,EAAOnhC,UAuGpB,OArGA6J,EAAO0H,kBAAoB,WACpB,gBACQ3R,KAAKoE,MAAMiB,SAGtBrF,KAAKqK,eACLrK,KAAK0hC,aAAa1hC,KAAKnD,MAAM8kC,kBAIjCJ,EAAO53B,yBAA2B,SAAkC9M,EAAOuH,GACzE,OAAIA,EAAMiB,SAAWxI,EAAMwI,QAAWxI,EAAMwI,OAOrC,CACLA,OAAQxI,EAAMwI,QAPP,CACLA,OAAQxI,EAAMwI,OACdm8B,QAAQ,IASdv3B,EAAOC,mBAAqB,SAA4BC,EAAWma,GACjE,GAAIA,EAAUjf,SAAWrF,KAAKoE,MAAMiB,OASpC,OAAIrF,KAAKoE,MAAMiB,QACbrF,KAAKqK,oBACLrK,KAAK0hC,aAAa1hC,KAAKnD,MAAM8kC,qBAI/B3hC,KAAK6hC,gBAAgB13B,EAAUw3B,eAdzBx3B,EAAUw3B,gBAAkB3hC,KAAKnD,MAAM8kC,gBACzC3hC,KAAK6hC,gBAAgB13B,EAAUw3B,eAC/B3hC,KAAK0hC,aAAa1hC,KAAKnD,MAAM8kC,iBAenC13B,EAAOK,qBAAuB,WACvB,gBACQtK,KAAKoE,MAAMiB,SAGtBrF,KAAK6hC,gBAAgB7hC,KAAKnD,MAAM8kC,eAChCrV,qBAAqBtsB,KAAKqwB,YAO9BpmB,EAAO0a,aAAe,WACpB,IAAIqe,EAAehjC,KAAKnD,MAAMmmC,aAC1Bh+B,EAAchF,KAAKoE,MACnB+L,EAASnL,EAAYmL,OACrB2yB,EAAQ99B,EAAY89B,MACpBtB,EAASx8B,EAAYw8B,OACrBtxB,EAAMlL,EAAYkL,IACtB,OAAKsxB,EACE,YAAS,CACdrxB,OAAQ2yB,EAAQ,EAAI3yB,EACpBD,IAAK4yB,OAAQx8B,EAAY4J,EACzB/J,MAAOnG,KAAK2iC,YAAYx8B,OACvB68B,GALiBA,GAYtB/4B,EAAO5J,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnB2D,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBwhB,EAAejiB,KAAKoE,MACpB+L,EAAS8R,EAAa9R,OACtB2yB,EAAQ7gB,EAAa6gB,MACrBtB,EAASvf,EAAauf,OACtBnkC,EAAO,YAAkBkkC,EAAQvhC,KAAKnD,OACtCyE,EAAc,YAAeigC,EAAQvhC,KAAKnD,OAC1CqhC,EAAmB,YAAGsD,GAAU,KAAMA,GAAU,kBAAmBA,IAAWsB,EAAQ,kBAAoB,mBAAoBriC,GAC9HwiC,EAAiB,YAAG,KAAMzB,IAAWsB,EAAQ,eAAiB,SAAUtB,IAAWsB,IAAqB,OAAX3yB,EAAkB,MAAQ,UAAW,UAClI+yB,EAAgB1B,GAAUxhC,KAAK4iC,WAAa,CAC9Cx8B,OAAQpG,KAAK4iC,WAAWx8B,QACtB,GACJ,OAAoB,IAAM5E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWy9B,IACI,IAAM18B,cAAc,MAAO,CAC1CuE,IAAK/F,KAAK0G,WACVkC,MAAOs6B,IACQ,IAAM1hC,cAAc,MAAO,CAC1Cf,UAAWwiC,EACXl9B,IAAK/F,KAAKyhC,UACV74B,MAAO5I,KAAK2kB,gBACXnkB,KAGE+gC,EArRiB,CAsRxB,aAEFA,EAAOz/B,aAAe,CAAC,SAAU,KAAM,eAAgB,WAAY,YAAa,UAAW,SAAU,WAAY,UAAW,QAAS,YAAa,UAAW,gBAAiB,gBAE9Ky/B,EAAOx/B,UA8DH,GACJw/B,EAAO5/B,aAAe,CACpB0D,QAAQ,EACRqtB,aAAc,EACd/nB,OAAQ,EACRg3B,cAAe,cAAc1iC,OAAS,O,kCCzWxC,0EAUA,SAASkkC,EAAOtmC,GACd,IAAIwI,EAASxI,EAAMwI,OACf7E,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBqD,EAAWnH,EAAMmH,SACjByd,EAAgB5kB,EAAM4kB,cACtB9S,EAAS9R,EAAM8R,OACf5F,EAAWlM,EAAMkM,SACjB7F,EAAOrG,EAAMqG,KACb7B,EAAU,YAAG,KAAM6B,EAAM,YAAWmC,EAAQ,UAAW,YAAWrB,EAAU,YAAa,YAAWyd,EAAe,iBAAkB,YAAW1Y,EAAU,YAAa,YAAWvI,GAAYG,EAAS,QAAS,YAAoBgO,EAAQ,UAAW,SAAUlO,GACjQpD,EAAO,YAAkB8lC,EAAQtmC,GACjCyE,EAAc,YAAe6hC,EAAQtmC,GACzC,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD2iC,EAAOrhC,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,UAAW,WAAY,gBAAiB,SAAU,WAAY,QAC9HqhC,EAAOphC,UA8BH,GACW,O,kCC5Df,2JAcIqhC,EAAwB,SAAU9jC,GAGpC,SAAS8jC,IAGP,IAFA,IAAI7jC,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAgFzB,OA7EAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DqjC,iBAAmB,WACvB,IAAI/iC,EAAcf,EAAM1C,MACpBymC,EAAUhjC,EAAYgjC,QACtBC,EAAQjjC,EAAYijC,MACpB3kC,EAAQ0B,EAAY1B,MACxB,OAAK,IAAa0kC,GACb,IAAaC,IAAW,IAAa3kC,QAA1C,EAAyDA,EAAQ2kC,EAAQ,IADtCD,GAIrC/jC,EAAMikC,iBAAmB,SAAUF,GACjC,IAAIv+B,EAAexF,EAAM1C,MACrB4mC,EAAW1+B,EAAa0+B,SACxBF,EAAQx+B,EAAaw+B,MACrB3kC,EAAQmG,EAAanG,MACzB,MAAiB,UAAb6kC,EAA6B7kC,EAChB,UAAb6kC,EAA6B7kC,EAAQ,IAAM2kC,EACxCD,EAAU,KAGnB/jC,EAAMmkC,WAAa,WACjB,IAAIl5B,EAAejL,EAAM1C,MACrB8mC,EAAYn5B,EAAam5B,UACzBF,EAAWj5B,EAAai5B,SACxBF,EAAQ/4B,EAAa+4B,MACrB3kC,EAAQ4L,EAAa5L,MAErB0kC,EAAU,IAAO/jC,EAAM8jC,mBAAoB,EAAG,KAElD,OAAK,IAAaE,IAAW,IAAa3kC,IAAuB,UAAb6kC,EAInC,UAAbA,EAA6B7kC,EAC7B,IAAa+kC,GAAmBL,EAC7B,IAAOA,EAASK,GALd/kC,EAAQ2kC,EAAQ,KAQ3BhkC,EAAMqkC,cAAgB,WACpB,IAAI7K,EAAex5B,EAAM1C,MACrBgnC,EAAc9K,EAAa8K,YAC3BP,EAAUvK,EAAauK,QACvBC,EAAQxK,EAAawK,MACrB3kC,EAAQm6B,EAAan6B,MACzB,OAAOilC,IAAgBP,GAAW,KAAO1kC,GAAS2kC,IAGpDhkC,EAAMukC,YAAc,WAClB,IAAItK,EAAej6B,EAAM1C,MACrB2D,EAAWg5B,EAAah5B,SACxBG,EAAU64B,EAAa74B,QACvBiO,EAAQ4qB,EAAa5qB,MACzB,OAAK,IAAcrN,MAAMf,GAGpB,IAAce,MAAMZ,GAGlB,YAAmBiO,EAAO,CAC/BlN,iBAAiB,EACjBC,aAAc,CACZlB,UAAW,WANwC,IAAMe,cAAc,MAAO,CAChFf,UAAW,SACVE,GALqD,IAAMa,cAAc,MAAO,CACjFf,UAAW,SACVD,IAYLjB,EAAMwkC,eAAiB,SAAUT,GAC/B,IAAIpJ,EAAe36B,EAAM1C,MACrB8mC,EAAYzJ,EAAayJ,UAE7B,GADezJ,EAAauJ,WACX,IAAaE,GAC9B,OAAoB,IAAMniC,cAAc,MAAO,CAC7Cf,UAAW,YACVlB,EAAMikC,iBAAiBF,KAGrB/jC,EAiCT,OAvHA,YAAe6jC,EAAU9jC,GAyFZ8jC,EAAShjC,UAEfC,OAAS,WACd,IAAIigC,EAAetgC,KAAKnD,MACpBwI,EAASi7B,EAAaj7B,OACtB7C,EAAW89B,EAAa99B,SACxB/B,EAAY6/B,EAAa7/B,UACzBC,EAAQ4/B,EAAa5/B,MACrBsD,EAAWs8B,EAAat8B,SACxBtB,EAAQ49B,EAAa59B,MACrBshC,EAAa1D,EAAa0D,WAC1Bj7B,EAAWu3B,EAAav3B,SACxB7F,EAAOo9B,EAAap9B,KACpBC,EAAUm9B,EAAan9B,QACvBE,EAAUi9B,EAAaj9B,QACvBhC,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAWmC,GAAU2+B,EAAY,UAAW,YAAWhgC,EAAU,YAAa,YAAWtB,EAAO,SAAU,YAAWshC,EAAY,cAAe,YAAWj7B,EAAU,YAAa,YAAW5F,GAAWnD,KAAK4jC,gBAAiB,WAAY,YAAWvgC,EAAS,WAAY,YAAeb,EAAU,YAAa,WAAY/B,GAC5VpD,EAAO,YAAkB+lC,EAAUpjC,KAAKnD,OACxCyE,EAAc,YAAe8hC,EAAUpjC,KAAKnD,OAC5CymC,EAAUtjC,KAAK0jC,cAAgB,EACnC,OAAoB,IAAMliC,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACX,eAAgBsxB,KAAKsR,MAAMX,KACZ,IAAM9hC,cAAc,MAAO,CAC1Cf,UAAW,MACXmI,MAAO,CACLzC,MAAOm9B,EAAU,MAElBtjC,KAAK+jC,eAAeT,IAAWtjC,KAAK8jC,gBAGlCV,EAxHmB,CAyH1B,aAEFA,EAASthC,aAAe,CAAC,SAAU,KAAM,WAAY,cAAe,WAAY,YAAa,QAAS,UAAW,WAAY,QAAS,aAAc,WAAY,QAAS,UAAW,YAAa,WAAY,OAAQ,UAAW,QAAS,QAAS,WAClPshC,EAASrhC,UA+DL,GACW,O,kCC1Mf,wHAcA,SAASI,EAAOtF,GACd,IAAI2F,EAAW3F,EAAM2F,SACjB0hC,EAAQrnC,EAAMqnC,MACd1jC,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBC,EAAQ7D,EAAM6D,MACdC,EAAU9D,EAAM8D,QAChBqD,EAAWnH,EAAMmH,SACjB0vB,EAAW72B,EAAM62B,SACjBlnB,EAAU3P,EAAM2P,QAChB3J,EAAOhG,EAAMgG,KACb5B,EAAQpE,EAAMoE,MACd8H,EAAWlM,EAAMkM,SACjB7F,EAAOrG,EAAMqG,KACbkpB,EAAMvvB,EAAMuvB,IACZ+X,EAAYtnC,EAAMsnC,UAClBh4B,EAAYtP,EAAMsP,UAClB9K,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAWghC,EAAO,SAAU,YAAWlgC,EAAU,YAAa,YAAW0vB,EAAU,YAAa,YAAelnB,EAAS,WAAY,aAAoB,IAAT3J,EAAe,QAAS,aAAqB,IAAV5B,EAAgB,SAAU,YAAW8H,EAAU,YAAa,YAAWqjB,EAAK,OAAQ,YAAoB5pB,EAAU,YAAa,YAAiB2J,GAAY,SAAU1L,GACxXpD,EAAO,YAAkB8E,EAAQtF,GACjCyE,EAAc,YAAea,EAAQtF,GAEzC,IAAK,IAAc0E,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGN,IAAIyU,EAAc,IAAKxT,OAAOoB,EAAM,CAClCnB,iBAAiB,IAEfwT,EAAe,IAAMzT,OAAOR,EAAO,CACrCS,iBAAiB,IAEf0iC,EAAmB,IAAgB3iC,OAAO0iC,EAAW,CACvDziC,iBAAiB,IAGnB,OAAIuT,GAAeC,EACG,IAAM1T,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT4T,GAAeC,GAAevU,GAAWyjC,IAAkC,IAAM5iC,cAAc,IAAe,KAAMb,EAASyjC,IAG/G,IAAM5iC,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTV,EAASyjC,GAGfjiC,EAAOL,aAAe,CAAC,KAAM,WAAY,QAAS,WAAY,YAAa,QAAS,UAAW,WAAY,WAAY,UAAW,OAAQ,QAAS,WAAY,OAAQ,MAAO,YAAa,aAC3LK,EAAOJ,UAmDH,GACJI,EAAOH,QAAU,IACjBG,EAAOkiC,UAAY,IACJ,O,kCCrHf,uGAcIC,EAAuB,SAAUhlC,GAGnC,SAASglC,IAGP,IAFA,IAAI/kC,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GA6BzB,OA1BAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DukC,aAAe,SAAUrkC,GAC7B,IAAQX,EAAM1C,MAAO,WAAYqD,EAAGX,EAAM1C,QAG5C0C,EAAMilC,sBAAwB,SAAU3zB,GACtC,MAAO,CACL1Q,QAAS,SAAiBD,EAAGgW,GAC3B,IAAQrF,EAAiB,UAAW3Q,EAAGgW,GAEvC3W,EAAMglC,aAAarkC,MAKzBX,EAAMklC,uBAAyB,SAAU5zB,GACvC,MAAO,CACL1Q,QAAS,SAAiBD,EAAGgW,GAC3B,IAAQrF,EAAiB,UAAW3Q,EAAGgW,GAEvC,IAAQ3W,EAAM1C,MAAO,YAAaqD,EAAGX,EAAM1C,UAK1C0C,EAsCT,OAzEA,YAAe+kC,EAAShlC,GAsCXglC,EAAQlkC,UAEdC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnB6nC,EAAepkC,EAAYokC,aAC3BC,EAAgBrkC,EAAYqkC,cAC5BhkC,EAAUL,EAAYK,QACtBI,EAAST,EAAYS,OACrB0F,EAAOnG,EAAYmG,KACnBvD,EAAO5C,EAAY4C,KACnB7F,EAAO,YAAkBinC,EAAStkC,KAAKnD,OAIvC+nC,EAAW,GAEf,OADI,IAAK5kC,KAAKnD,MAAO,UAAS+nC,EAASn+B,KAAOA,GAC1B,IAAMjF,cAAc,IAAO,YAAS,GAAInE,EAAMunC,EAAU,CAC1E1hC,KAAMA,EACNsI,QAASxL,KAAKukC,eACZ,IAAMpiC,OAAOV,OAAOV,EAAQ,CAC9BW,iBAAiB,IACf,IAAMM,QAAQP,OAAOd,EAAS,CAChCe,iBAAiB,IACF,IAAMF,cAAc,IAAMwrB,QAAS,KAAM,IAAOvrB,OAAOijC,EAAc,CACpFhjC,iBAAiB,EACjBsP,cAAehR,KAAKwkC,wBAClB,IAAO/iC,OAAOkjC,EAAe,CAC/BjjC,iBAAiB,EACjBC,aAAc,CACZ4X,SAAS,GAEXvI,cAAehR,KAAKykC,4BAIjBH,EA1EkB,CA2EzB,aAEFA,EAAQxiC,aAAe,CAAC,eAAgB,gBAAiB,UAAW,SAAU,WAAY,YAAa,OAAQ,QAC/GwiC,EAAQviC,UAkCJ,GACJuiC,EAAQ3iC,aAAe,CACrB+iC,aAAc,SACdC,cAAe,KACfhkC,QAAS,gBACTuC,KAAM,SAEO,O,kCCrIf,gKAiBA,SAAS2hC,EAAMhoC,GACb,IAAI2F,EAAW3F,EAAM2F,SACjBqG,EAAQhM,EAAMgM,MACdyK,EAASzW,EAAMyW,OACf9S,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBuL,EAAanP,EAAMmP,WACnBtL,EAAQ7D,EAAM6D,MACdqa,EAAUle,EAAMke,QAChBtY,EAAU5F,EAAM4F,QAChBqiC,EAAajoC,EAAMioC,WACnBthB,EAAQ3mB,EAAM2mB,MACduhB,EAAYloC,EAAMkoC,UAClBC,EAAYnoC,EAAMmoC,UAClBC,EAAapoC,EAAMooC,WACnBl8B,EAAWlM,EAAMkM,SACjB8X,EAAShkB,EAAMgkB,OACfqkB,EAAgBroC,EAAMqoC,cACtBj5B,EAAapP,EAAMoP,WACnBC,EAAarP,EAAMqP,WACnBhJ,EAAOrG,EAAMqG,KACbiiC,EAAWtoC,EAAMsoC,SACjB/pB,EAAYve,EAAMue,UAClBgqB,EAAUvoC,EAAMuoC,QAChBC,EAAaxoC,EAAMwoC,WACnBC,EAAYzoC,EAAMyoC,UAClBn5B,EAAYtP,EAAMsP,UAClBgO,EAActd,EAAMsd,YACpB/N,EAAgBvP,EAAMuP,cACtB/K,EAAU,YAAG,KAAMX,EAAOwC,EAAM,YAAWoQ,EAAQ,UAAW,YAAWtH,EAAY,cAAe,YAAW84B,EAAY,cAAe,YAAWthB,EAAO,SAAU,YAAWza,EAAU,YAAa,YAAWkD,EAAY,cAAe,YAAWC,EAAY,eAAgB,YAAWi5B,EAAU,YAAa,YAAW/pB,EAAW,aAAc,YAAWgqB,EAAS,WAAY,YAAWC,EAAY,cAAe,YAAWlrB,EAAa,eAAgB,YAAoB3X,EAAU,YAAa,YAAoBqG,EAAO,SAAU,YAAoBpG,EAAS,WAAY,YAAoBoe,EAAQ,UAAW,YAAiB1U,GAAY,YAAqBC,GAAgB,YAAa2O,EAAS,UAAW,QAASta,GACrtBpD,EAAO,YAAkBwnC,EAAOhoC,GAChCyE,EAAc,YAAeujC,EAAOhoC,GAExC,IAAK,IAAc0E,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTb,GAGN,IACI+kC,EAAyB,CAC3B5jC,aAAc,CACZqL,OAAQ,OAGR4J,GANgBouB,GAAaC,IAMiB,IAAMzjC,cAAc,IAAa,KAAM,IAASC,OAAOujC,EAAWO,GAAyB,IAAKN,GAAY,SAAUrW,GACtK,OAAO,IAASntB,OAAOmtB,EAAM2W,OAE/B,OAAoB,IAAM/jC,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACTuV,EAA4B,IAAMpV,cAAc,IAAW,KAAM0jC,GAAiB,IAAKI,GAAW,SAAU1W,EAAM9qB,GACpH,OAAO,IAASrC,OAAOyjC,EAActW,EAAM9qB,QACxCihC,GAA0B,IAAMvjC,cAAc,IAAa,KAAM,IAASC,OAAOsjC,KAGxFF,EAAM/iC,aAAe,CAAC,KAAM,WAAY,QAAS,SAAU,WAAY,YAAa,aAAc,QAAS,UAAW,UAAW,aAAc,QAAS,YAAa,YAAa,aAAc,WAAY,SAAU,gBAAiB,aAAc,aAAc,OAAQ,WAAY,YAAa,UAAW,aAAc,YAAa,YAAa,cAAe,iBACtW+iC,EAAMljC,aAAe,CACnB0K,GAAI,SAENw4B,EAAM9iC,UA+FF,GACJ8iC,EAAMW,KAAO,IACbX,EAAMY,KAAO,IACbZ,EAAMa,OAAS,IACfb,EAAM1iC,OAAS,IACf0iC,EAAMc,WAAa,IACnBd,EAAM1hB,IAAM,IACG,O,kCClLf,0EASA,SAASyiB,EAAU/oC,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBG,EAAQjE,EAAMiE,MACd8T,EAAO/X,EAAM+X,KACbzI,EAAYtP,EAAMsP,UAClB9K,EAAU,YAAG,KAAM,YAAWuT,EAAM,QAAS,YAAW9T,EAAO,SAAU,YAAiBqL,GAAY,YAAa1L,GACnHpD,EAAO,YAAkBuoC,EAAW/oC,GACpCyE,EAAc,YAAeskC,EAAW/oC,GAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDolC,EAAU9jC,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QAAS,OAAQ,aACrF8jC,EAAU7jC,UAqBN,GACW,O,kCC/Cf,kHAaA,SAAS8jC,EAAYhpC,GACnB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBG,EAAQjE,EAAMiE,MACdiI,EAAWlM,EAAMkM,SACjB1H,EAAU,YAAG,KAAM,YAAWP,EAAO,SAAU,YAAWiI,EAAU,YAAa,cAAetI,GAChGpD,EAAO,YAAkBwoC,EAAahpC,GACtCyE,EAAc,YAAeukC,EAAahpC,GAC9C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhDqlC,EAAY/jC,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,QAAS,YAC/E+jC,EAAY9jC,UAkBR,GACJ8jC,EAAY1jC,OAAS,IACrB0jC,EAAYv3B,MAAQ,IACpBu3B,EAAYC,KAAO,IACnBD,EAAYE,UAAY,IACT,O,kCCnDf,sKAeIC,EAAuB,SAAU1mC,GAGnC,SAAS0mC,EAAQnpC,GACf,IAAI0C,EA4CJ,OA1CAA,EAAQD,EAAWQ,KAAKE,KAAMnD,IAAUmD,MAClC+F,IAAmB,sBAEzBxG,EAAM0mC,qBAAuB,WAC3B,IACI3lB,EADU/gB,EAAM1C,MAAMuG,QACD,YAAc,SACvCmH,aAAahL,EAAM2mC,gBACnB3mC,EAAM2mC,eAAiBl+B,WAAWzI,EAAM4mC,mBAAoBH,EAAQnhB,mBAEhEtlB,EAAM6mC,iBACR7mC,EAAM6mC,kBAAmB,EAI3B,IAAQ7mC,EAAM1C,MAAOyjB,EAAU,KAAM/gB,EAAM1C,QAG7C0C,EAAM4mC,mBAAqB,WACzB,IACI7lB,EADU/gB,EAAM1C,MAAMuG,QACD,SAAW,WAEpC7D,EAAM+E,SAAS,CACb+hC,cAAe,IAGjB,IAAQ9mC,EAAM1C,MAAOyjB,EAAU,KAAM/gB,EAAM1C,QAG7C0C,EAAMssB,oBAAsB,SAAU3rB,GAC/B,YAAqBX,EAAMwG,IAAIE,QAAS/F,KAC3CX,EAAM6mC,kBAAmB,EAEzB,IAAQ7mC,EAAM1C,MAAO,SAAUqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC1DuG,SAAS,OAKf7D,EAAM6E,MAAQ,CACZiiC,cAAe,EACfjjC,QAASvG,EAAMuG,SAEV7D,EA/CT,YAAeymC,EAAS1mC,GAkDxB0mC,EAAQr8B,yBAA2B,SAAkC9M,EAAOuH,GAE1E,IAAIkiC,IAAkBzpC,EAAMuG,WAAcgB,EAAMhB,QAAU,EAAI,EAC9D,MAAO,CACLijC,cAAejiC,EAAMiiC,cAAgBC,EACrCljC,QAASvG,EAAMuG,UAInB,IAAI6G,EAAS+7B,EAAQ5lC,UAyCrB,OAvCA6J,EAAOC,mBAAqB,SAA4BC,EAAWma,GAC7DtkB,KAAKoE,MAAMiiC,cAAgB/hB,EAAU+hB,eACvCrmC,KAAKimC,wBAITh8B,EAAOK,qBAAuB,WAC5BC,aAAavK,KAAKkmC,iBAGpBj8B,EAAO5J,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwgB,EAAY/c,EAAY+c,UACxB5c,EAAYH,EAAYG,UACxBD,EAAWF,EAAYE,SACvBG,EAAUL,EAAYK,QACtB6U,EAAYlV,EAAYkV,UACxB1N,EAASxH,EAAYwH,OACrB1E,EAAU9C,EAAY8C,QACtB+C,EAAQ7F,EAAY6F,MACpBkgC,EAAgBrmC,KAAKoE,MAAMiiC,cAC3BhlC,EAAU,YAAG,KAAMgc,EAAW7H,EAAWrP,EAAO,YAAWkgC,EAAgB,EAAG,aAAc,YAAWjjC,EAAS,WAAY,UAAW3C,GACvIpD,EAAO,YAAkB2oC,EAAShmC,KAAKnD,OACvCyE,EAAc,YAAe0kC,EAAShmC,KAAKnD,OAC3C0pC,EAAa,YAAYz+B,GAAU,CACrC0+B,UAAW1+B,GACT,CACFA,OAAQA,GAEV,OAAoB,IAAMtG,cAAc,IAAK,CAC3C+H,SAAUvJ,KAAK+F,KACD,IAAMvE,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CAClEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,EAAU4C,GAAwB,IAAM5B,cAAc,IAAe,YAAS,CAC1HilC,SAAUzmC,KAAK6rB,oBACfhtB,KAAM,SACL0nC,OAGEP,EArGkB,CAsGzB,aAEFA,EAAQlkC,aAAe,CAAC,YAAa,KAAM,WAAY,YAAa,UAAW,YAAa,WAAY,SAAU,SAAU,YAAa,SAAU,UAAW,SAC9JkkC,EAAQjkC,UA2DJ,GACJikC,EAAQrkC,aAAe,CACrB6T,UAAW,OACX1N,OAAQ,cACR1E,SAAS,GAEX4iC,EAAQnhB,kBAAoB,IAC5BmhB,EAAQvgC,oBAAsB,CAAC,WAC/BugC,EAAQU,SAAW,IACnBV,EAAQW,OAAS,IACF,O,kCC7Lf,wKAmBIC,EAAmB,SAAUtnC,GAG/B,SAASsnC,IAGP,IAFA,IAAIrnC,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAiBzB,OAdAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DwtB,gBAAkB,SAAUttB,EAAG2D,GACnC,IAAIC,EAAQD,EAAKC,MAEjB,IAAQvE,EAAM1C,MAAO,cAAeqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC/Dgb,YAAa/T,KAGfvE,EAAM+E,SAAS,CACbuT,YAAa/T,KAIVvE,EAvBT,YAAeqnC,EAAKtnC,GA0BpB,IAAI2K,EAAS28B,EAAIxmC,UAsFjB,OApFA6J,EAAO+N,8BAAgC,WACrC,MAAO,CACLH,YAAa,IAIjB5N,EAAOoZ,YAAc,WACnB,IAAI/iB,EAAcN,KAAKnD,MACnBgqC,EAAQvmC,EAAYumC,MACpBC,EAAmBxmC,EAAYwmC,iBAC/BjvB,EAAc7X,KAAKoE,MAAMyT,YAC7B,OAAIivB,EAAyB,IAAQ,IAAKD,EAAO,IAAMhvB,EAAc,KAAM,SAAU7X,KAAKnD,OACnF,IAAKgqC,GAAO,SAAUpiC,EAAOX,GAClC,IAAIijC,EAAOtiC,EAAMsiC,KACjB,OAAO,IAAQtlC,OAAOslC,EAAM,CAC1B/1B,cAAe,CACb3L,OAAQvB,IAAU+T,SAM1B5N,EAAO+8B,WAAa,WAClB,IAAIjiC,EAAe/E,KAAKnD,MACpBi7B,EAAO/yB,EAAa+yB,KACpB+O,EAAQ9hC,EAAa8hC,MACrBI,EAAeliC,EAAakiC,aAC5BpvB,EAAc7X,KAAKoE,MAAMyT,YAM7B,OAJqB,IAAjBigB,EAAKnU,SAAqC,UAAjBsjB,IAC3BnP,EAAKnU,QAAU,SAGV,IAAKliB,OAAOq2B,EAAM,CACvBp2B,iBAAiB,EACjBsP,cAAe,CACbyC,MAAO,IAAKozB,EAAO,YACnBK,YAAalnC,KAAKwtB,gBAClB3V,YAAaA,MAKnB5N,EAAOk9B,eAAiB,SAAwBrP,GAC9C,IAAIttB,EAAexK,KAAKnD,MACpBuqC,EAAO58B,EAAa48B,KACpBH,EAAez8B,EAAay8B,aAE5BI,EAAYD,EAAKC,UACjBC,EAAWF,EAAKE,SAChBC,EAAY,YAA8BH,EAAM,CAAC,YAAa,aAE9Dt8B,EAAWm8B,GAAuC,UAAvBnP,EAAKj7B,MAAM8mB,SAAuB,SAAW,OAC5E,OAAoB,IAAMniB,cAAc,IAAM+lC,EAAwB,SAAbz8B,GAAuB,IAAWrJ,OAAO,CAChG0E,MAAOmhC,EACP9mC,SAAUs3B,GACT,CACDp2B,iBAAiB,IACf,IAAWD,OAAO,CACpB0E,MAAOkhC,EACP7mC,SAAUR,KAAKqjB,cACfzW,WAAW,GACV,CACDlL,iBAAiB,IACF,UAAboJ,GAAwB,IAAWrJ,OAAO,CAC5C0E,MAAOmhC,EACP9mC,SAAUs3B,GACT,CACDp2B,iBAAiB,MAIrBuI,EAAO5J,OAAS,WACd,IAAIy3B,EAAO93B,KAAKgnC,aACZ3pC,EAAO,YAAkBupC,EAAK5mC,KAAKnD,OACnCyE,EAAc,YAAeslC,EAAK5mC,KAAKnD,OAE3C,OAAIi7B,EAAKj7B,MAAM6c,SACO,IAAMlY,cAAcF,EAAajE,EAAM2C,KAAKmnC,eAAerP,IAG7D,IAAMt2B,cAAcF,EAAajE,EAA8B,WAAxBy6B,EAAKj7B,MAAM2F,UAAyBs1B,EAAM93B,KAAKqjB,cAAuC,WAAxByU,EAAKj7B,MAAM2F,UAAyBs1B,IAGxJ8O,EAjHc,CAkHrB,KAEFA,EAAI9kC,aAAe,CAAC,cAAe,KAAM,qBAAsB,OAAQ,OAAQ,eAAgB,cAAe,QAAS,oBACvH8kC,EAAI7kC,UA6CA,GACJ6kC,EAAInhC,oBAAsB,CAAC,eAC3BmhC,EAAIjlC,aAAe,CACjBylC,KAAM,CACJC,UAAW,GACXC,SAAU,GAEZxP,KAAM,CACJt1B,UAAU,EACVmhB,SAAS,GAEXmjB,kBAAkB,GAEpBF,EAAIY,KAAO,IACI,O,kCC/LR,IAAIC,EAAqB,SAA4BC,GAC1D,MAAO,CACLriC,QAAQ,EACRxG,KAAM,eACND,MAAO8oC,IAmBAC,EAAiB,SAAwBja,GAClD,MAAO,CACLroB,QAAQ,EACRxG,KAAM,WACND,MAAO+zB,KAAKC,IAAI,EAAGlF,EAAa,KAuBzBka,EAAiB,SAAwBla,EAAYK,GAC9D,MAAO,CACL1oB,QAAQ,EACRxG,KAAM,WACND,MAAO+zB,KAAKkV,IAAIna,EAAa,EAAGK,KAQzB+Z,EAAiB,SAAwB/Z,GAClD,MAAO,CACL1oB,QAAQ,EACRxG,KAAM,WACND,MAAOmvB,I,mCCrEA,EAAoB,SAA2Bga,EAAeC,EAAiBC,GACxF,IAAIC,EAAaF,EAAkB,EAGnC,OAFmBE,IAAeH,EAAgB,EACfN,EAAqBQ,GACnCC,IAEZ,EAAoB,SAA2BC,EAAeC,EAAgBH,GACvF,IAAII,EAAaF,EAAgB,EAGjC,OAFmBE,IAAeD,EAAiB,EAChBX,EAAqBQ,GACnCI,ICRZ,EAAoB,SAA2BC,EAAOC,EAAKN,GACpE,OAAO,IAAK,IAAOK,EAAOC,EAAM,GAAIN,ICiBvB,IATa,SAA+BO,GACzD,ICOgD/jC,EAVUZ,EACtD+pB,EDEA9wB,ECaG,CACL4wB,aAP8CjpB,EDPpB+jC,GCQL9a,WAOrBE,eANkBnpB,EAAMmpB,cAOxBK,eANiBxpB,EAAMwpB,aAOvBH,cANiBrpB,EAAMqpB,aAOvBC,YANetpB,EAAMspB,YDXnBL,EAAa5wB,EAAQ4wB,WACrBK,EAAajxB,EAAQixB,WACrBka,EHuByB,SAA2Bva,GACxD,OAAO,SAAUga,GACf,MAAO,CACLriC,OAAQqoB,IAAega,EACvB7oC,KAAM,WACND,MAAO8oC,IG5BOe,CAAkB/a,GAChCgb,GCNA9a,GADsD/pB,EDOtB/G,GCNX8wB,cAOlB,GANY/pB,EAAKoqB,aAIU,EAAI,GACf,EAJJpqB,EAAKiqB,aAEA,EAAIF,GADX/pB,EAAKkqB,WDGyB,EAAkB,EAAGA,EAAYka,GDXlD,SAA4BnrC,EAASmrC,GACnE,IAAIva,EAAa5wB,EAAQ4wB,WACrBE,EAAgB9wB,EAAQ8wB,cACxBK,EAAenxB,EAAQmxB,aACvBH,EAAehxB,EAAQgxB,aACvBC,EAAajxB,EAAQixB,WACrB4a,EAAe1a,EAAe,EAAI,EAClC8Z,EAAgBna,EAChBgb,EAAa,EAAkB,EAAGb,EAAeE,GACjDG,EAAiBra,EAAa,EAAIH,EAClCib,EAAY,EAAkBT,EAAgBra,EAAYka,GAC1DD,EAAkBrV,KAAKkV,IAAIlV,KAAKC,IAAIlF,EAAaI,EAAcia,EAAgBY,EAAe,GAAIP,EAAiBO,EAAe,EAAI7a,EAAe,GACrJqa,EAAgBH,EAAkB,EAAIla,EACtCgb,EAAa,EAAkBd,EAAiBG,EAAeF,GACnE,MAAO,GAAGvrC,OAAOksC,EAAY,EAAE3a,GAAgB,EAAkB8Z,EAAeC,EAAiBC,IAAea,EAAY,EAAE7a,GAAgB,EAAkBka,EAAeC,EAAgBH,IAAeY,GAAW1pB,OAAO4pB,SCHjI,CAAmBjsC,EAASmrC,IAC3H,MAAO,CHFA,CACL5iC,QAAQ,EACRxG,KAAM,YACND,MAAO,GGDkB+oC,EAAeja,IAAahxB,OAAOgsC,EAAY,CAACd,EAAela,EAAYK,GAAa+Z,EAAe/Z,O,qLEFrH,EANC,SAAmB5nB,EAAOtC,GACxC,IAAImlC,EAAWnlC,EAAKmlC,SAEpB,OAPiB,SAAsB7iC,EAAO8iC,GAC9C,QAAO,IAAOA,IAAmB9iC,GAAS8iC,EAMnC,CAAa9iC,EADLtC,EAAKolC,WAVH,SAAsB9iC,EAAO6iC,GAC9C,QAAO,IAAOA,IAAmB7iC,GAAS6iC,EAUF,CAAa7iC,EAAO6iC,ICA1D,EAA0B,SAAU1pC,GAGtC,SAAS4pC,IAGP,IAFA,IAAI3pC,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAgCzB,OA7BAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DoE,MAAQ,CACZhB,SAAS,GAGX7D,EAAM4pC,aAAe,SAAUjpC,GACzBX,EAAM6wB,UACV7wB,EAAM6wB,SAAU,EAChB7wB,EAAM8wB,QAAU1D,uBAAsB,WACpC,OAAOptB,EAAM8K,aAAanK,QAI9BX,EAAM8K,aAAe,SAAUnK,GAC7BX,EAAM6wB,SAAU,EAChB,IAAIhtB,EAAU7D,EAAM6E,MAAMhB,QAEtB+C,EAAQ,IAAQ5G,EAAM1C,MAAO,YAE7BusC,EAAc,EAAUjjC,EAAO5G,EAAM1C,OACrCuG,IAAYgmC,GAAa7pC,EAAM+E,SAAS,CAC1ClB,QAASgmC,IAGX,IAAQ7pC,EAAM1C,MAAO,WAAYqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC5DsJ,MAAOA,MAIJ5G,EAtCT,YAAe2pC,EAAY5pC,GAyC3B4pC,EAAWv/B,yBAA2B,SAAkC9M,GACtE,IAAIsJ,EAAQ,IAAQtJ,EAAO,YAG3B,MAAO,CACLuG,QAFY,EAAU+C,EAAOtJ,KAMjC,IAAIoN,EAASi/B,EAAW9oC,UAyCxB,OAvCA6J,EAAO0H,kBAAoB,WACzB,IAAI+f,EAAc1xB,KAAKnD,MAAM60B,YAU7B9pB,EAAA,EAAWwkB,IAAI,SAAUpsB,KAAKmpC,aAAc,CAC1CrhC,OAAQ,WAEN4pB,GAAa1xB,KAAKqK,gBAGxBJ,EAAOK,qBAAuB,WAC5B1C,EAAA,EAAWC,MAAM,SAAU7H,KAAKmpC,aAAc,CAC5CrhC,OAAQ,WAEVwkB,qBAAqBtsB,KAAKqwB,UAS5BpmB,EAAO5J,OAAS,WACd,IAAIG,EAAWR,KAAKnD,MAAM2D,SACtB4C,EAAUpD,KAAKoE,MAAMhB,QACrB9B,EAAc,OAAA4H,EAAA,GAAeggC,EAAYlpC,KAAKnD,OAC9CQ,EAAO,OAAAwM,EAAA,GAAkBq/B,EAAYlpC,KAAKnD,OAC9C,OAAIuG,EAA6B,IAAM5B,cAAcF,EAAajE,EAAMmD,GACjE,MAGF0oC,EA5FqB,CA6F5B,aAEF,EAAWpnC,aAAe,CAAC,KAAM,WAAY,cAAe,WAAY,WAAY,WAAY,YAEhG,EAAWC,UA6BP,GACJ,EAAWJ,aAAe,CACxB0nC,SAAU,WACR,OAAO,OAAAlqC,EAAA,KAAcF,OAAOqqC,WAAa,IAG7C,EAAWC,WAAa,CACtBN,SAAU,IACVD,SAAU,KAEZ,EAAWQ,WAAa,CACtBP,SAAU,IACVD,SAAU,KAEZ,EAAWS,aAAe,CACxBR,SAAU,KAEZ,EAAWS,gBAAkB,CAC3BT,SAAU,KACVD,SAAU,MAEZ,EAAWW,eAAiB,CAC1BV,SAAU,O,swBCxJG,SAASW,GAAeC,GACrC,IAAIC,EAAgBD,EAAOC,cACvBC,EAAmBF,EAAOE,iBAC1BC,EAAiBH,EAAOG,eACxBC,EAASJ,EAAOI,OAChBt8B,EAAWk8B,EAAOl8B,SAClB7Q,EAAU+sC,EAAO/sC,QACjBotC,EAASL,EAAOK,OAChBC,EAAcN,EAAOM,YACrBvrC,EAAQirC,EAAOjrC,MACfwrC,EAAkBttC,EAStB,GAPI6Q,IACFy8B,EAAkB,KAAQA,GAAiB,SAAUC,GACnD,OAAQ,IAAUzrC,EAAOyrC,EAAIzrC,WAK7BsrC,GAAUC,EACZ,GAAI,IAAYD,GACdE,EAAkBF,EAAOE,EAAiBD,OACrC,CAEL,IAAIG,EAAgBL,EAAS,KAAQE,GAAeA,EAChDI,EAAK,IAAIC,OAAO,KAAcF,GAAgB,KAClDF,EAAkB,KAAQA,GAAiB,SAAUC,GACnD,OAAOE,EAAG9sC,KAAKwsC,EAAS,KAAQI,EAAIz1B,MAAQy1B,EAAIz1B,SAMtD,GAAIo1B,GAAkBE,GAAUC,IAAgB,KAAMC,EAAiB,CACrEx1B,KAAMu1B,IACJ,CACF,IAGIM,EAAU,CACZnlC,IAAK,WAGLsP,KAAM,CAPgC,IAAM81B,eAAeZ,GAA8B,IAAMtrB,aAAasrB,EAAe,CAC3HxkC,IAAK,mBACFwkC,GAAiB,GAKsB,IAAMtoC,cAAc,IAAK,CACjE8D,IAAK,kBACJ6kC,IACHvrC,MAAOurC,EACP1pC,UAAW,WACX,mBAAmB,GAEI,QAArBspC,EAA4BK,EAAgBO,QAAQF,GAAcL,EAAgBrtB,KAAK0tB,GAG7F,OAAOL,EAETR,GAAe9nC,aAAe,G,8CC3Df,SAAS8oC,GAAiBf,GACvC,IA2BIgB,EA3BAf,EAAgBD,EAAOC,cACvBC,EAAmBF,EAAOE,iBAC1BC,EAAiBH,EAAOG,eACxBC,EAASJ,EAAOI,OAChBt8B,EAAWk8B,EAAOl8B,SAClB7Q,EAAU+sC,EAAO/sC,QACjBotC,EAASL,EAAOK,OAChBC,EAAcN,EAAOM,YACrBzlC,EAAgBmlC,EAAOnlC,cACvB9F,EAAQirC,EAAOjrC,MACfksC,EAAclB,GAAe,CAC/BhrC,MAAOA,EACP9B,QAASA,EACTqtC,YAAaA,EACbL,cAAeA,EACfC,iBAAkBA,EAClBC,eAAgBA,EAChBC,OAAQA,EACRt8B,SAAUA,EACVu8B,OAAQA,IAGNa,EAAiB,KAAQD,GAAa,SAAUtT,EAAM3jB,EAAM/P,GAE9D,OADK+P,EAAK7P,UAAUwzB,EAAKza,KAAKjZ,GACvB0zB,IACN,IAIH,IAAK9yB,GAAiBA,EAAgB,EAAG,CACvC,IAAIsmC,EAAaD,EAAe,GAIhCF,EAAmBl9B,EAAWq9B,EAAa,KAAWF,EAAa,CAAC,QAASlsC,KAAWmsC,EAAe,QAClG,GAAIp9B,EACTk9B,EAAmB,IAAME,GAAgB,SAAUjnC,GACjD,OAAOA,GAASY,KAIdA,GAAiBomC,EAAYprC,OAAS,IACxCmrC,EAAmBE,EAAeA,EAAerrC,OAAS,QAEvD,CACL,IAAImY,EAAc,KAAWizB,EAAa,CAAC,QAASlsC,IAIpDisC,EAAmB,IAAUE,EAAgBlzB,GAAeA,OAAcvR,EAO5E,QAJKukC,GAAoBA,EAAmB,KAC1CA,EAAmBE,EAAe,IAG7BF,ECnBT,IAAI,GAAgB,SAAuBvlC,EAAK1G,GAC9C,OAAO,IAAO0G,GAAO1G,EAAQ0G,GAG3B,GAAkB,SAAyBxI,GAC7C,OAAOA,EAAUA,EAAQ4V,KAAI,SAAUu4B,GACrC,OAAO,IAAMA,EAAQ,CAAC,MAAO,aAC1BnuC,GAGP,SAASouC,GAAkBr3B,GACzB,IAAIc,EAAOd,EAAKc,KACZ1T,EAAQ4S,EAAK5S,MACb2T,EAAOf,EAAKe,KAGhB,OAAkB,IAAM81B,eAAe91B,IAAS,IAAYA,GACnDA,EAGF,CACLjU,QAAsB,IAAMa,cAAc,IAAMgI,SAAU,KAAM+2B,GAAA,EAAK9+B,OAAOkT,GAAOrG,GAAA,EAAM7M,OAAOR,GAAQ2T,IAW5G,IAAI,GAAwB,SAAUtV,GAGpC,SAAS6rC,IAGP,IAFA,IAAI5rC,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GA02BzB,OAv2BAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAC5DorC,UAAyB,sBAC/B7rC,EAAM8rC,SAAwB,sBAC9B9rC,EAAMwG,IAAmB,sBAEzBxG,EAAMgV,aAAe,SAAUrU,EAAGtB,GAChC,IAAQW,EAAM1C,MAAO,WAAYqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC5D+B,MAAOA,MAIXW,EAAM+rC,cAAgB,SAAUprC,GAC9B,IAAII,EAAcf,EAAM1C,MACpByuC,EAAgBhrC,EAAYgrC,cAC5B39B,EAAWrN,EAAYqN,UACT,IAAa29B,IAAkB39B,EAAW29B,IAG1D/rC,EAAMk0B,MAAMvzB,EAAG,MAInBX,EAAMy2B,cAAgB,SAAU91B,GACzBX,EAAM1C,MAAMm5B,eACb,IAAY/e,QAAQ/W,KAAO,IAAY+1B,SAC3C/1B,EAAEkX,iBAEF7X,EAAMk0B,MAAMvzB,KAGdX,EAAM22B,uBAAyB,SAAUh2B,GACvC,IAAIqrC,EAEAxmC,EAAexF,EAAM1C,MACrB8Q,EAAW5I,EAAa4I,SACxB69B,EAAqBzmC,EAAaymC,mBAGtC,GAFWjsC,EAAM6E,MAAMqC,KAEvB,CAIA,IACIglC,IADSF,EAAS,IAAW,IAAYpV,WAAa,EAAGoV,EAAO,IAAYlV,UAAY,EAAGkV,GAC9E,IAAYt0B,QAAQ/W,IAErC,QAAaoG,IAATmlC,EAAJ,CAIAvrC,EAAEkX,iBAEF,IAAIwgB,EAAYr4B,EAAMmsC,0BAA0BD,IAE3C99B,GAAY69B,GACfjsC,EAAMosC,uBAAuBzrC,EAAG03B,GAGlCr4B,EAAM+E,SAAS,CACbI,cAAekzB,OAInBr4B,EAAMqsC,YAAc,SAAU1rC,GAC5B,IAAI2rC,EAAWC,EAAYC,EAEvBC,EAAoBzsC,EAAM6E,MAAM4yB,QAAUz3B,EAAM6E,MAAMqC,MAAQ,IAAYwQ,QAAQ/W,KAAO,IAAYiX,SACrG80B,EAAyF,WAAvC,OAAzBJ,EAAY3rC,EAAE4H,aAAkB,EAAS+jC,EAAUK,UAA4F,cAAxC,OAA1BJ,EAAa5rC,EAAE4H,aAAkB,EAASgkC,EAAWI,WAAyG,KAAlD,OAA1BH,EAAa7rC,EAAE4H,aAAkB,EAASikC,EAAWI,mBAE7OH,IACEC,GACF/rC,EAAEkX,iBAGJ7X,EAAMkH,KAAKvG,KAIfX,EAAM6sC,YAAc,SAAUlsC,GAC5B,IAAI8E,EAAczF,EAAM6E,MACpB4yB,EAAQhyB,EAAYgyB,MACpBvwB,EAAOzB,EAAYyB,KAEvB,GAAIuwB,IAAUvwB,EAAM,CAClB,IAAI4lC,EAAO,IAAYp1B,QAAQ/W,GAE3BmsC,IAAS,IAAYlW,WAAakW,IAAS,IAAYhW,UACzDn2B,EAAEkX,iBAEF7X,EAAMkH,KAAKvG,MAKjBX,EAAMosC,uBAAyB,SAAUzrC,EAAGwE,GAC1C,IAAIud,EAAe1iB,EAAM6E,MACrBqC,EAAOwb,EAAaxb,KACpB7H,EAAQqjB,EAAarjB,MACrB+O,EAAWpO,EAAM1C,MAAM8Q,SAEvBkG,EAAOtU,EAAM+sC,gBAAgB5nC,GAE7B6nC,EAAgB,IAAK14B,EAAM,SAI/B,GAAI,IAAO04B,KAAmB9lC,EAC5B,OAAO7H,EAIT,IAAI4tC,EAAW7+B,EAAW,IAAO/O,EAAO,CAAC2tC,IAAkBA,EAoB3D,OAnBsB5+B,IAAa,IAAY6+B,EAAU5tC,GAAOc,OAAS8sC,IAAa5tC,KAIpFW,EAAM+E,SAAS,CACb1F,MAAO4tC,IAGTjtC,EAAMgV,aAAarU,EAAGssC,GAIlB34B,EAAK,oBACP,IAAQtU,EAAM1C,MAAO,YAAaqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC7D+B,MAAO2tC,MAKN3tC,GAGTW,EAAM+2B,kBAAoB,SAAUp2B,GAClC,IAAIgqC,EAAS3qC,EAAM1C,MAAMqtC,OACrB9nB,EAAe7iB,EAAM6E,MACrBqC,EAAO2b,EAAa3b,KACpB/B,EAAgB0d,EAAa1d,cAEjC,GAAK+B,IAIc,IAAYwQ,QAAQ/W,KAAO,IAAYgX,QACzDgzB,GAAU,IAAYjzB,QAAQ/W,KAAO,IAAYiX,UAElD,CAIAjX,EAAEkX,iBAEF,IAAIq1B,EAAa,IAAM7C,GAAe,CACpChrC,MAAOW,EAAM6E,MAAMxF,MACnB9B,QAASyC,EAAM1C,MAAMC,QACrBqtC,YAAa5qC,EAAM6E,MAAM+lC,YACzBL,cAAevqC,EAAM1C,MAAMitC,cAC3BC,iBAAkBxqC,EAAM1C,MAAMktC,iBAC9BC,eAAgBzqC,EAAM1C,MAAMmtC,eAC5BC,OAAQ1qC,EAAM1C,MAAMotC,OACpBt8B,SAAUpO,EAAM1C,MAAM8Q,SACtBu8B,OAAQ3qC,EAAM1C,MAAMqtC,UAGtB,IAAIA,GAAyB,IAAfuC,EAAd,CAIA,IAAIC,EAAYntC,EAAMosC,uBAAuBzrC,EAAGwE,GAGhDnF,EAAM+E,SAAS,CACbI,cAAekmC,GAAiB,CAC9Bd,cAAevqC,EAAM1C,MAAMitC,cAC3BC,iBAAkBxqC,EAAM1C,MAAMktC,iBAC9BC,eAAgBzqC,EAAM1C,MAAMmtC,eAC5BC,OAAQ1qC,EAAM1C,MAAMotC,OACpBt8B,SAAUpO,EAAM1C,MAAM8Q,SACtBu8B,OAAQ3qC,EAAM1C,MAAMqtC,OACpBxlC,cAAeA,EACf9F,MAAO8tC,EACP5vC,QAASyC,EAAM1C,MAAMC,QACrBqtC,YAAa,OAIjB5qC,EAAM+rC,cAAcprC,GAEpBX,EAAMotC,mBAEFzC,GACF,IAAQ3qC,EAAM6rC,UAAUnlC,QAAS,YAIrC1G,EAAMqtC,sBAAwB,SAAU1sC,GACtC,IAAIsK,EAAejL,EAAM1C,MACrB8Q,EAAWnD,EAAamD,SACxBu8B,EAAS1/B,EAAa0/B,OACtB3nB,EAAehjB,EAAM6E,MACrB+lC,EAAc5nB,EAAa4nB,YAC3BvrC,EAAQ2jB,EAAa3jB,MACzB,GAAI,IAAYqY,QAAQ/W,KAAO,IAAY2sC,YACvC1C,GAAgBD,GAAWv8B,IAAY,IAAS/O,GAApD,CACAsB,EAAEkX,iBAEF,IAAIo1B,EAAW,IAAW5tC,GAE1BW,EAAM+E,SAAS,CACb1F,MAAO4tC,IAGTjtC,EAAMgV,aAAarU,EAAGssC,KAGxBjtC,EAAMgI,qBAAuB,SAAUrH,GAChCX,EAAM1C,MAAMiwC,cAEbvtC,EAAMwG,IAAIE,SAAW,OAAA+lB,EAAA,GAAqBzsB,EAAMwG,IAAIE,QAAS/F,IAEjEX,EAAMk0B,UAGRl0B,EAAMyiB,gBAAkB,SAAU9hB,GAChCX,EAAMi3B,aAAc,EAEpB,IAAQj3B,EAAM1C,MAAO,cAAeqD,EAAGX,EAAM1C,OAE7CkC,SAASguC,iBAAiB,UAAWxtC,EAAMk3B,wBAG7Cl3B,EAAMk3B,sBAAwB,WAC5Bl3B,EAAMi3B,aAAc,EACpBz3B,SAASiuC,oBAAoB,UAAWztC,EAAMk3B,wBAGhDl3B,EAAMU,YAAc,SAAUC,GAC5B,IAAI64B,EAAex5B,EAAM1C,MACrBs6B,EAAgB4B,EAAa5B,cAC7B+S,EAASnR,EAAamR,OACtB+C,EAAe1tC,EAAM6E,MACrBqC,EAAOwmC,EAAaxmC,KACpB0jC,EAAc8C,EAAa9C,YAM/B,GAJA,IAAQ5qC,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,OAGzCqD,EAAE6hB,mBACGmoB,EAAQ,OAAO3qC,EAAMka,OAAOvZ,GAE7BuG,EACF,IAAQlH,EAAM6rC,UAAUnlC,QAAS,SAK/BkkC,EAAYzqC,QAAUy3B,GAAmC,IAAlBA,EACzC53B,EAAMkH,KAAKvG,GAKb,IAAQX,EAAM6rC,UAAUnlC,QAAS,UAGnC1G,EAAMqE,gBAAkB,SAAU1D,GAChC,IAAI6D,EAAYxE,EAAM1C,MAAMkH,UAExBmpC,EAAW3tC,EAAM2tC,WAErB,IAAQ3tC,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,OAGzCqD,EAAE6hB,kBAEEhe,GAAampC,EACf3tC,EAAM4tC,WAAWjtC,GAEjBX,EAAMka,OAAOvZ,IAIjBX,EAAMiuB,gBAAkB,SAAUttB,EAAG2T,GACnC,IAAI2lB,EAAej6B,EAAM1C,MACrB8Q,EAAW6rB,EAAa7rB,SACxBu8B,EAAS1Q,EAAa0Q,OACtB/R,EAAe54B,EAAM6E,MAAMxF,MAC3BA,EAAQiV,EAAKjV,MAQjB,GANAsB,EAAE6hB,mBAEEpU,GAAYkG,EAAK7P,WACnB9D,EAAEy2B,YAAYC,4BAGZ/iB,EAAK7P,SAAT,CAIA,IAAIopC,EAAiBv5B,EAAK,mBACtB24B,EAAW7+B,EAAW,IAAOpO,EAAM6E,MAAMxF,MAAO,CAACA,IAAUA,GACzC+O,IAAa,IAAY6+B,EAAUrU,GAAcz4B,OAAS8sC,IAAarU,KAG3F54B,EAAM+E,SAAS,CACb1F,MAAO4tC,IAGTjtC,EAAMgV,aAAarU,EAAGssC,IAGxBjtC,EAAMotC,mBAEFzC,EACF,IAAQ3qC,EAAM6rC,UAAUnlC,QAAS,SAEjC,IAAQ1G,EAAMwG,IAAIE,QAAS,SAG7B1G,EAAM+rC,cAAcprC,GAIhBktC,GACF,IAAQ7tC,EAAM1C,MAAO,YAAaqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAC7D+B,MAAOA,OAKbW,EAAMw3B,YAAc,SAAU72B,GAChBX,EAAM6E,MAAM4yB,QAGxB,IAAQz3B,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,OAEzC0C,EAAM+E,SAAS,CACb0yB,OAAO,MAIXz3B,EAAM03B,WAAa,SAAU/2B,GAG3B,IAAImtC,EAAgB,IAAKntC,EAAG,iBAE5B,IAAImtC,IAAiBA,EAAc39B,SAAS3Q,SAASkgC,eAArD,CACA,IAAI/E,EAAe36B,EAAM1C,MACrBiwC,EAAc5S,EAAa4S,YAC3Bn/B,EAAWusB,EAAavsB,SACxB2/B,EAAepT,EAAaoT,aAE5B/tC,EAAMi3B,cAEV,IAAQj3B,EAAM1C,MAAO,SAAUqD,EAAGX,EAAM1C,OAEpCywC,IAAiB3/B,IACnBpO,EAAMosC,uBAAuBzrC,EAAGX,EAAM6E,MAAMM,eAExCooC,GAAavtC,EAAMk0B,SAGzBl0B,EAAM+E,SAAS,CACb0yB,OAAO,IAGTz3B,EAAMotC,sBAGRptC,EAAM23B,mBAAqB,SAAUh3B,EAAG2D,GACtC,IAAIjF,EAAQiF,EAAKjF,MAEjBsB,EAAE6hB,kBACF,IAAIoV,EAAgB53B,EAAM1C,MAAMs6B,cAC5B1wB,EAAOlH,EAAM6E,MAAMqC,KACnB2wB,EAAWx4B,EAEf,IAAQW,EAAM1C,MAAO,iBAAkBqD,EAAG,YAAS,GAAIX,EAAM1C,MAAO,CAClEstC,YAAa/S,KAGf73B,EAAM+E,SAAS,CACb6lC,YAAa/S,EACb1yB,cAAe,KAIZ+B,GAAQ2wB,EAAS13B,QAAUy3B,EAC9B53B,EAAMkH,OAMJA,GAA0B,IAAlB0wB,GAAuBC,EAAS13B,OAASy3B,GAAe53B,EAAMk0B,SAG5El0B,EAAM6tB,cAAgB,SAAUltB,GAC9BX,EAAM22B,uBAAuBh2B,GAE7BX,EAAM6sC,YAAYlsC,GAElBX,EAAMqsC,YAAY1rC,GAElBX,EAAM+2B,kBAAkBp2B,GAExB,IAAQX,EAAM1C,MAAO,YAAaqD,IAGpCX,EAAM+sC,gBAAkB,SAAU5nC,GAChC,IAAI5H,EAAU8sC,GAAe,CAC3BhrC,MAAOW,EAAM6E,MAAMxF,MACnB9B,QAASyC,EAAM1C,MAAMC,QACrBqtC,YAAa5qC,EAAM6E,MAAM+lC,YACzBL,cAAevqC,EAAM1C,MAAMitC,cAC3BC,iBAAkBxqC,EAAM1C,MAAMktC,iBAC9BC,eAAgBzqC,EAAM1C,MAAMmtC,eAC5BC,OAAQ1qC,EAAM1C,MAAMotC,OACpBt8B,SAAUpO,EAAM1C,MAAM8Q,SACtBu8B,OAAQ3qC,EAAM1C,MAAMqtC,SAEtB,OAAO,IAAKptC,EAAS,IAAM4H,EAAgB,MAG7CnF,EAAMguC,eAAiB,SAAU3uC,GAC/B,IAAI9B,EAAUyC,EAAM1C,MAAMC,QAC1B,OAAO,IAAMA,EAAS,CACpB8B,MAAOA,KAIXW,EAAMiuC,uBAAyB,WAC7B,IAAIlN,EAAe/gC,EAAM1C,MACrBwb,EAAUioB,EAAajoB,QACvBrU,EAAWs8B,EAAat8B,SACxBkmC,EAAS5J,EAAa4J,OACtBv8B,EAAW2yB,EAAa3yB,SAExBoH,EAAc,CAChB9P,KAAMilC,EAAS,WAAa,UAC5B,YAAa7xB,EACb,gBAAiBrU,EACjB,kBALSzE,EAAM6E,MAAMqC,MAYvB,MAJyB,YAArBsO,EAAY9P,OACd8P,EAAY,wBAA0BpH,GAGjCoH,GAGTxV,EAAMotC,iBAAmB,WACvB,IAAIxC,EAAc5qC,EAAM6E,MAAM+lC,iBACV7jC,IAAhB6jC,GAA6C,KAAhBA,GAEjC5qC,EAAM+E,SAAS,CACb6lC,YAAa,MAIjB5qC,EAAMkuC,iBAAmB,SAAUvtC,EAAGwtC,GAEpCxtC,EAAE6hB,kBAEFxiB,EAAM+E,SAAS,CACbqpC,cAAeD,EAAW9uC,QAG5B,IAAQW,EAAM1C,MAAO,eAAgBqD,EAAGwtC,IAG1CnuC,EAAMquC,kBAAoB,SAAU1tC,EAAGwtC,GAErCxtC,EAAE6hB,kBACF,IAAInjB,EAAQW,EAAM6E,MAAMxF,MAEpB4tC,EAAW,IAAS5tC,EAAO8uC,EAAW9uC,OAE1CW,EAAM+E,SAAS,CACb1F,MAAO4tC,IAGTjtC,EAAMgV,aAAarU,EAAGssC,IAGxBjtC,EAAMmsC,0BAA4B,SAAU/gC,EAAQkjC,QAC/B,IAAfA,IACFA,EAAatuC,EAAM6E,MAAMM,eAG3B,IAAI5H,EAAU8sC,GAAe,CAC3BhrC,MAAOW,EAAM6E,MAAMxF,MACnB9B,QAASyC,EAAM1C,MAAMC,QACrBqtC,YAAa5qC,EAAM6E,MAAM+lC,YACzBL,cAAevqC,EAAM1C,MAAMitC,cAC3BC,iBAAkBxqC,EAAM1C,MAAMktC,iBAC9BC,eAAgBzqC,EAAM1C,MAAMmtC,eAC5BC,OAAQ1qC,EAAM1C,MAAMotC,OACpBt8B,SAAUpO,EAAM1C,MAAM8Q,SACtBu8B,OAAQ3qC,EAAM1C,MAAMqtC,SAItB,QAAgB5jC,IAAZxJ,IAAyB,IAAOA,EAAS,YAA7C,CACA,IAAI66B,EAAY76B,EAAQ4C,OAAS,EAI7Bk4B,EAAYiW,EAAaljC,EAU7B,OAboBpL,EAAM1C,MAAMixC,gBAKTlW,EAAYD,GAAaC,EAAY,GAC1DA,EAAYiW,EACHjW,EAAYD,EACrBC,EAAY,EACHA,EAAY,IACrBA,EAAYD,GAGV76B,EAAQ86B,GAAW5zB,SACdzE,EAAMmsC,0BAA0B/gC,EAAQitB,GAG1CA,IAGTr4B,EAAM0sB,oBAAsB,SAAUpb,GACpC,IAAI9M,EAAYxE,EAAM1C,MAAMkH,UAE5B,MAAO,CACLtD,UAFY,YAAGsD,GAAaxE,EAAM2tC,YAAc,QAASr8B,EAAgBpQ,WAGzEN,QAAS,SAAiBD,GACxB,IAAQ2Q,EAAiB,UAAW3Q,EAAG2Q,GAEvCtR,EAAMqE,gBAAgB1D,MAK5BX,EAAM4tC,WAAa,SAAUjtC,GAC3B,IACIssC,EADWjtC,EAAM1C,MAAM8Q,SACD,GAAK,GAE/BpO,EAAM+E,SAAS,CACb1F,MAAO4tC,IAGTjtC,EAAMgV,aAAarU,EAAGssC,IAGxBjtC,EAAMwuC,2BAA6B,WACjC,IAAIC,EAAezuC,EAAM1C,MACrBmH,EAAWgqC,EAAahqC,SACxBmB,EAAW6oC,EAAa7oC,SAC5B,OAAK,IAAOA,GACLnB,GAAY,EAAI,EADOmB,GAIhC5F,EAAM0uC,wBAA0B,WAC9B,IAAI9D,EAAc5qC,EAAM6E,MAAM+lC,YAE9B,GAAI5qC,EAAM8rC,SAASplC,SAAWkkC,EAAa,CAEzC5qC,EAAM8rC,SAASplC,QAAQ2C,MAAMslC,QAAU,SACvC3uC,EAAM8rC,SAASplC,QAAQkoC,YAAchE,EACrC,IAAIiE,EAAczb,KAAK0b,KAAK9uC,EAAM8rC,SAASplC,QAAQD,wBAAwBG,OAI3E,OAFA5G,EAAM8rC,SAASplC,QAAQ2C,MAAMmJ,eAAe,WAErCq8B,IAIX7uC,EAAMgiB,gBAAkB,WACtB,IAAI+sB,EAAe/uC,EAAM1C,MACrBmH,EAAWsqC,EAAatqC,SACxBkmC,EAASoE,EAAapE,OACtB/kC,EAAWmpC,EAAanpC,SAE5B,IAAI+kC,EACJ,OAAIlmC,GAAkB,EACf,IAAOmB,GAAY,EAAIA,GAGhC5F,EAAMgvC,2BAA6B,SAAU19B,GAC3C,MAAO,CACL4D,SAAU,SAAkBvU,EAAG9C,GAC7B,IAAQyT,EAAiB,WAAY3Q,EAAG9C,GAExCmC,EAAM23B,mBAAmBh3B,EAAG9C,MAKlCmC,EAAM2tC,SAAW,WACf,IAAIv/B,EAAWpO,EAAM1C,MAAM8Q,SACvB/O,EAAQW,EAAM6E,MAAMxF,MACxB,OAAO+O,GAAY,IAAS/O,IAAU,IAAOA,IAAoB,KAAVA,GAGzDW,EAAMs4B,2BAA6B,WACjC,GAAKt4B,EAAMwG,IAAIE,QAAf,CAEA,IAAI6xB,EAAOv4B,EAAMwG,IAAIE,QAAQwJ,cAAc,iBAE3C,GAAKqoB,EAAL,CACA,IAAIjkB,EAAOikB,EAAKroB,cAAc,kBAC9B,GAAKoE,EAAL,CACA,IAAIkkB,EAAmBlkB,EAAKmkB,UAAYF,EAAKjF,UACzCoF,EAAmBpkB,EAAKmkB,UAAYnkB,EAAKqkB,aAAeJ,EAAKjF,UAAYiF,EAAKI,aAE9EH,EACFD,EAAKjF,UAAYhf,EAAKmkB,UACbC,IAETH,EAAKjF,UAAYhf,EAAKmkB,UAAYnkB,EAAKqkB,aAAeJ,EAAKI,kBAI/D34B,EAAMivC,iBAAmB,WACvB,GAAKjvC,EAAMwG,IAAIE,QAAf,CAEA,IAAI6xB,EAAOv4B,EAAMwG,IAAIE,QAAQwJ,cAAc,iBAE3C,GAAKqoB,EAAL,CAEA,IAAI2W,EAAelvC,EAAMwG,IAAIE,QAAQD,wBAEjC0oC,EAAa5W,EAAKI,aAClByW,EAAmB5vC,SAAS6vC,gBAAgB1W,aAAeuW,EAAav+B,IAAMu+B,EAAaroC,OAASsoC,EACpGG,EAAgBJ,EAAav+B,IAAMw+B,EACnCI,EAASH,EAAmB,GAAKE,EAAgBF,GAEhDG,IAAYvvC,EAAM6E,MAAM0qC,QAC3BvvC,EAAM+E,SAAS,CACbwqC,OAAQA,OAKdvvC,EAAMkH,KAAO,SAAUvG,EAAG6uC,QACd,IAAN7uC,IACFA,EAAI,WAGkB,IAApB6uC,IACFA,GAAkB,GAGpB,IAAIC,EAAgBzvC,EAAM1C,MACtBmH,EAAWgrC,EAAchrC,SACzBkmC,EAAS8E,EAAc9E,OACvBlmC,IACAkmC,GAAQ,IAAQ3qC,EAAM6rC,UAAUnlC,QAAS,SAE7C,IAAQ1G,EAAM1C,MAAO,SAAUqD,EAAGX,EAAM1C,OAEpCkyC,GACFxvC,EAAM+E,SAAS,CACbmC,MAAM,IAIVlH,EAAMs4B,+BAGRt4B,EAAMk0B,MAAQ,SAAUvzB,EAAGogB,QACR,IAAbA,IACFA,EAAW/gB,EAAM0I,aAGf1I,EAAM6E,MAAMqC,OACd,IAAQlH,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,OAEzC0C,EAAM+E,SAAS,CACbmC,MAAM,GACL6Z,KAIP/gB,EAAM0I,YAAc,WAClB,IAAIgnC,EAAiBlwC,SAASkgC,gBAAkB1/B,EAAM6rC,UAAUnlC,SAI3DgpC,GAAkB1vC,EAAMwG,IAAIE,SAC/B1G,EAAMwG,IAAIE,QAAQipC,OAGpB,IAAIC,EAAmBpwC,SAASkgC,gBAAkB1/B,EAAMwG,IAAIE,QACxDmpC,EAAWH,GAAkBE,EAGjC5vC,EAAM+E,SAAS,CACb0yB,MAAOoY,KAIX7vC,EAAMka,OAAS,SAAUvZ,GACvB,OAAOX,EAAM6E,MAAMqC,KAAOlH,EAAMk0B,MAAMvzB,GAAKX,EAAMkH,KAAKvG,IAGxDX,EAAM8vC,WAAa,WACjB,IAeIC,EAfAC,EAAgBhwC,EAAM1C,MACtB8Q,EAAW4hC,EAAc5hC,SACzBiT,EAAc2uB,EAAc3uB,YAC5BspB,EAASqF,EAAcrF,OACvBt1B,EAAO26B,EAAc36B,KACrB46B,EAAejwC,EAAM6E,MACrB+lC,EAAcqF,EAAarF,YAC3BzlC,EAAgB8qC,EAAa9qC,cAC7B9F,EAAQ4wC,EAAa5wC,MACrB6H,EAAO+oC,EAAa/oC,KAEpBymC,EAAW3tC,EAAM2tC,WAEjB7rC,EAAU,YAAGuf,IAAgBssB,GAAY,UAAW,OAAQhD,GAAUC,GAAe,YACrFsF,EAAQ7uB,EAWZ,OARIhM,EACF66B,EAAQ76B,EACCnO,IAASkH,EAClB2hC,EAAe/vC,EAAM+sC,gBAAgB5nC,GAC5BwoC,IACToC,EAAe/vC,EAAMguC,eAAe3uC,IAG/ByV,GAAA,EAAa5S,OAAO6tC,EAAepE,GAAkBoE,GAAgBG,EAAO,CACjF9tC,aAAc,CACZlB,UAAWY,MAKjB9B,EAAM64B,kBAAoB,WACxB,IAAIsX,EAAgBnwC,EAAM1C,MACtBqtC,EAASwF,EAAcxF,OACvByF,EAAcD,EAAcC,YAC5BxF,EAAc5qC,EAAM6E,MAAM+lC,YAC9B,OAAOD,GAAuB,IAAM1oC,cAAc8H,EAAA,EAAK,CACrDC,SAAUhK,EAAM6rC,WACf92B,GAAA,EAAoB7S,OAAOkuC,EAAa,CACzChuC,aAAc,CACZiH,MAAO,CACLzC,MAAO5G,EAAM0uC,2BAEf9oC,SAAU5F,EAAMwuC,6BAChBnvC,MAAOurC,GAETn5B,cAAezR,EAAMgvC,+BAIzBhvC,EAAMqwC,kBAAoB,WACxB,IAAIC,EAAgBtwC,EAAM1C,MACtBqtC,EAAS2F,EAAc3F,OACvBv8B,EAAWkiC,EAAcliC,SAC7B,OAAOu8B,GAAUv8B,GAAyB,IAAMnM,cAAc,OAAQ,CACpEf,UAAW,QACXsF,IAAKxG,EAAM8rC,YAIf9rC,EAAMuwC,aAAe,WACnB,IAAIC,EAAgBxwC,EAAM1C,MACtB8Q,EAAWoiC,EAAcpiC,SACzBm2B,EAAciM,EAAcjM,YAC5BkM,EAAezwC,EAAM6E,MACrBupC,EAAgBqC,EAAarC,cAC7B/uC,EAAQoxC,EAAapxC,MAEzB,GAAK+O,IAAY,IAAS/O,GAA1B,CAIA,IAAIqxC,EAAgB,IAAKrxC,EAAOW,EAAMguC,gBAItC,OAAO,IAAK,IAAS0C,IAAgB,SAAUp8B,EAAM/P,GACnD,IAAInC,EAAe,CACjB0D,OAAQwO,EAAKjV,QAAU+uC,EACvBthC,GAAI,IACJ/G,IAAK,GAAcuO,EAAKvO,IAAKuO,EAAKjV,OAClCuB,QAASZ,EAAMkuC,iBACfyC,SAAU3wC,EAAMquC,kBAChBhvC,MAAOiV,EAAKjV,OAEd,OAAOooB,GAAA,EAAMvlB,OAAOqiC,EAAYjwB,EAAM/P,EAAOnC,GAAe,CAC1DA,aAAcA,SAKpBpC,EAAM4wC,cAAgB,WACpB,IAAIC,EAAgB7wC,EAAM1C,MACtBwzC,EAAWD,EAAcC,SACzB1iC,EAAWyiC,EAAcziC,SACzBu8B,EAASkG,EAAclG,OACvB1R,EAAmB4X,EAAc5X,iBACjC8X,EAAe/wC,EAAM6E,MACrBqC,EAAO6pC,EAAa7pC,KACpB/B,EAAgB4rC,EAAa5rC,cAC7B9F,EAAQ0xC,EAAa1xC,MAEzB,GAAIyxC,IAAa5pC,EAAM,OAAO,KAC9B,IAAI3J,EAAU8sC,GAAe,CAC3BhrC,MAAOW,EAAM6E,MAAMxF,MACnB9B,QAASyC,EAAM1C,MAAMC,QACrBqtC,YAAa5qC,EAAM6E,MAAM+lC,YACzBL,cAAevqC,EAAM1C,MAAMitC,cAC3BC,iBAAkBxqC,EAAM1C,MAAMktC,iBAC9BC,eAAgBzqC,EAAM1C,MAAMmtC,eAC5BC,OAAQ1qC,EAAM1C,MAAMotC,OACpBt8B,SAAUpO,EAAM1C,MAAM8Q,SACtBu8B,OAAQ3qC,EAAM1C,MAAMqtC,SAGtB,GAAyB,OAArB1R,GAA6B0R,GAAU,IAASptC,GAClD,OAAoB,IAAM0E,cAAc,MAAO,CAC7Cf,UAAW,WACV+3B,GAGL,IAAI+X,EAAW5iC,EAAW,SAAU6iC,GAClC,OAAO,IAAU5xC,EAAO4xC,IACtB,SAAUA,GACZ,OAAOA,IAAa5xC,GAEtB,OAAO,IAAK9B,GAAS,SAAUutC,EAAKjlC,GAClC,OAAOsP,GAAA,EAAajT,OAAO,YAAS,CAClC4D,OAAQkrC,EAASlG,EAAIzrC,OACrBuB,QAASZ,EAAMiuB,gBACfhoB,SAAUd,IAAkBU,GAC3BilC,EAAK,CACN/kC,IAAK,GAAc+kC,EAAI/kC,IAAK+kC,EAAIzrC,OAEhCgK,MAAO,YAAS,GAAIyhC,EAAIzhC,MAAO,CAC7B6nC,cAAe,eAMvBlxC,EAAMynC,WAAa,WACjB,IAAI0J,EAAgBnxC,EAAM1C,MACtB2D,EAAWkwC,EAAclwC,SACzBgV,EAAYk7B,EAAcl7B,UAC1BzU,EAAS2vC,EAAc3vC,OACvB0F,EAAOlH,EAAM6E,MAAMqC,KAEnBsO,EAAcxV,EAAMoxC,6BAGxB,IAAK,KAAcpvC,MAAMf,GAAW,CAClC,IAAIowC,EAAY,WAASjkC,KAAKnM,GAC1BC,EAAY,YAAG+U,EAAW,aAAW/O,EAAM,WAAYmqC,EAAU/zC,MAAM4D,WAC3E,OAAoB,uBAAamwC,EAAW,YAAS,CACnDnwC,UAAWA,GACVsU,IAGL,OAAoB,IAAMvT,cAAc+T,GAAA,EAAc,YAAS,GAAIR,EAAa,CAC9ES,UAAWA,EACX/O,KAAMA,IACJiP,GAAA,EAAejU,OAAOV,EAAQ,CAChCW,iBAAiB,IACfnC,EAAM4wC,kBAGL5wC,EAh3BT,YAAe4rC,EAAU7rC,GAm3BzB,IAAI2K,EAASkhC,EAAS/qC,UAqLtB,OAnLA6J,EAAO+N,8BAAgC,WACrC,MAAO,CACLgf,OAAO,EACPmT,YAAa,KAIjBgB,EAASn9B,gCAAkC,SAAyC+rB,EAAW3rB,EAAekW,GAE5G,IAAIusB,EAAe,CACjBC,UAAW/W,EAAUj9B,QACrBi0C,QAAS3iC,EAAcxP,OAuBzB,QAnBC,IAAa0lB,EAAUysB,QAAS3iC,EAAcxP,SAE9C,IAAS,GAAgBm7B,EAAUj9B,SAAU,GAAgBwnB,EAAUwsB,eAGtED,EAAansC,cAAgBkmC,GAAiB,CAC5Cd,cAAe/P,EAAU+P,cACzBC,iBAAkBhQ,EAAUgQ,iBAC5BC,eAAgBjQ,EAAUiQ,eAC1BC,OAAQlQ,EAAUkQ,OAClBt8B,SAAUosB,EAAUpsB,SACpBu8B,OAAQnQ,EAAUmQ,OAClBxlC,cAAe0J,EAAc1J,cAC7B9F,MAAOwP,EAAcxP,MACrB9B,QAASi9B,EAAUj9B,QACnBqtC,YAAa/7B,EAAc+7B,eAIxB0G,GAGT5mC,EAAO0H,kBAAoB,WACd3R,KAAKoE,MAAMqC,MAGpBzG,KAAKyG,KAAK,MAAM,IAIpBwD,EAAO6vB,sBAAwB,SAA+BC,EAAWC,GACvE,OAAQ,IAAaD,EAAW/5B,KAAKnD,SAAW,IAAam9B,EAAWh6B,KAAKoE,QAG/E6F,EAAOC,mBAAqB,SAA4BC,EAAWma,GAEjE,IAAI0sB,EAAgBhxC,KAAKnD,MACrBiwC,EAAckE,EAAclE,YAC5B3V,EAAgB6Z,EAAc7Z,cAC9B8Z,EAAcD,EAAcC,YAC5B/G,EAAS8G,EAAc9G,OAmB3B,IAAK5lB,EAAU0S,OAASh3B,KAAKoE,MAAM4yB,OACjC,IAAKh3B,KAAKw2B,YAAa,CACrB,IAAI0a,GAAYhH,GAAUA,GAA4B,IAAlB/S,IAAwBn3B,KAAKoE,MAAMqC,KACnEwqC,GAAeC,GAAUlxC,KAAKyG,aAE3B6d,EAAU0S,QAAUh3B,KAAKoE,MAAM4yB,QACnCh3B,KAAKw2B,aAAesW,GACvB9sC,KAAKyzB,SAKJnP,EAAU7d,MAAQzG,KAAKoE,MAAMqC,MAChCzG,KAAKwuC,mBACLxuC,KAAK63B,8BACIvT,EAAU7d,MAASzG,KAAKoE,MAAMqC,KAErC6d,EAAU5f,gBAAkB1E,KAAKoE,MAAMM,eACzC1E,KAAK63B,8BAST5tB,EAAO0mC,2BAA6B,WAClC,IAAIQ,EAAgBnxC,KAAKnD,MACrBqtC,EAASiH,EAAcjH,OACvBv8B,EAAWwjC,EAAcxjC,SACzBoH,EAAc,GAOlB,OALIm1B,IACFn1B,EAAY,wBAA0BpH,EACtCoH,EAAY9P,KAAO,WAGd8P,GAMT9K,EAAO5J,OAAS,WACd,IAAI+wC,EAAgBpxC,KAAKnD,MACrBgM,EAAQuoC,EAAcvoC,MACtB+Q,EAASw3B,EAAcx3B,OACvBnZ,EAAY2wC,EAAc3wC,UAC1BgC,EAAU2uC,EAAc3uC,QACxBuB,EAAWotC,EAAcptC,SACzBtB,EAAQ0uC,EAAc1uC,MACtB5B,EAAQswC,EAActwC,MACtB6B,EAAWyuC,EAAczuC,SACzBE,EAAOuuC,EAAcvuC,KACrB8L,EAASyiC,EAAcziC,OACvBkF,EAAOu9B,EAAcv9B,KACrByF,EAAU83B,EAAc93B,QACxBjB,EAAU+4B,EAAc/4B,QACxB1K,EAAWyjC,EAAczjC,SACzB+V,EAAW0tB,EAAc1tB,SACzBwmB,EAASkH,EAAclH,OACvBt2B,EAAYw9B,EAAcx9B,UAC1B6B,EAAY27B,EAAc37B,UAC1BxD,EAASm/B,EAAcn/B,OACvBjH,EAAUomC,EAAcpmC,QACxBqmC,EAAerxC,KAAKoE,MACpB4yB,EAAQqa,EAAara,MACrBvwB,EAAO4qC,EAAa5qC,KACpBqoC,EAASuC,EAAavC,OAEtBztC,EAAU,YAAG,KAAM,aAAWoF,EAAM,kBAAmB,aAAWzC,EAAU,YAAa,aAAWtB,EAAO,SAAU,aAAW2V,EAAS,WAAY,aAAWxP,EAAO,SAAU,aAAW+Q,EAAQ,UAAW,aAAWnX,EAAS,WAAY,aAAW3B,EAAO,SAAU,aAAW6B,EAAU,YAAa,aAAWgM,EAAQ,UAIpU,aAAW2K,EAAS,WAAY,aAAWzF,EAAM,QAAS,aAAWlG,EAAU,YAAa,aAAWu8B,EAAQ,UAAW,aAAWt2B,EAAW,aAAc,aAAW3B,EAAQ,UAAW,aAAWwD,EAAW,aAAc,aAAWq5B,EAAQ,UAAW,aAAoBprB,EAAU,YAAa,WAAYjjB,GACjTpD,EAAO,OAAAwM,GAAA,GAAkBshC,EAAUnrC,KAAKnD,OACxCyE,EAAc,OAAA4H,GAAA,GAAeiiC,EAAUnrC,KAAKnD,OAC5CkY,EAAc/U,KAAKwtC,uBAAuBlsC,EAAatB,KAAKnD,OAChE,OAAoB,IAAM2E,cAAc8H,EAAA,EAAK,CAC3CC,SAAUvJ,KAAK+F,KACD,IAAMvE,cAAcF,EAAa,YAAS,GAAIjE,EAAM0X,EAAa,CAC/EtU,UAAWY,EACX+4B,OAAQp6B,KAAKi3B,WACb92B,QAASH,KAAKC,YACdqtB,UAAWttB,KAAKotB,cAChB1K,YAAa1iB,KAAKgiB,gBAClBqY,QAASr6B,KAAK+2B,YACdtiB,SAAUzU,KAAKuU,aACfpP,SAAUnF,KAAKuhB,oBACbvhB,KAAK8vC,eAAgB9vC,KAAKo4B,oBAAqBp4B,KAAK4vC,oBAAqB5kC,GAAWhL,KAAKqvC,aAAc3pC,GAAA,EAAKjE,OAAOoB,EAAM,CAC3HmO,cAAehR,KAAKisB,oBACpBvqB,iBAAiB,IACf1B,KAAKgnC,aAAcvgC,GAAqB,IAAMjF,cAAc,IAAY,CAC1E+B,KAAM,UACNsD,GAAI7G,KAAKg2B,gBACPvvB,GAAqB,IAAMjF,cAAc,IAAY,CACvD+B,KAAM,QACNsD,GAAI7G,KAAKuH,uBACPyvB,GAAsB,IAAMx1B,cAAc,IAAY,CACxD+B,KAAM,UACNsD,GAAI7G,KAAK4sC,2BAINzB,EAziCmB,CA0iC1B,MAEF,GAASrpC,aAAe,CAAC,gBAAiB,mBAAoB,iBAAkB,KAAM,QAAS,SAAU,WAAY,YAAa,YAAa,cAAe,gBAAiB,gBAAiB,UAAW,SAAU,cAAe,qBAAsB,uBAAwB,gBAAiB,eAAgB,YAAa,WAAY,QAAS,WAAY,QAAS,SAAU,OAAQ,SAAU,OAAQ,UAAW,WAAY,UAAW,gBAAiB,WAAY,mBAAoB,YAAa,SAAU,WAAY,UAAW,UAAW,UAAW,eAAgB,cAAe,SAAU,iBAAkB,OAAQ,cAAe,UAAW,cAAe,WAAY,cAAe,YAAa,SAAU,cAAe,cAAe,eAAgB,qBAAsB,gBAAiB,YAAa,SAAU,WAAY,OAAQ,UAAW,SAAU,QAAS,iBAEj2B,GAASC,UAgRL,GACJ,GAASJ,aAAe,CACtBmoC,cAAe,OACfC,iBAAkB,MAClB+C,aAAa,EACb9W,eAAe,EACfiU,QAAQ,EACRpnC,KAAM,WACNs0B,cAAe,EACfqB,iBAAkB,oBAClByY,aAAa,EACbnN,YAAaoH,GACbyE,YAAa,OACbrC,cAAc,EACd9B,oBAAoB,EACpBsC,eAAe,GAEjB,GAASroC,oBAAsB,CAAC,OAAQ,cAAe,gBAAiB,QAAS,UACjF,GAAS6tB,QAAUtZ,GAAA,EACnB,GAAS7X,OAASuT,GAAA,EAClB,GAASjS,KAAOiR,GAAA,EAChB,GAAS0O,KAAO7N,GAAA,EAChB,GAAS+7B,YAAch9B,GAAA,EACvB,GAASsnB,KAAOvnB,GAAA,G,iCCh6ChB,sMAgBI2S,EAAqB,SAAU1nB,GAGjC,SAAS0nB,IAGP,IAFA,IAAIznB,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAoBzB,OAjBAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiD,KAAUK,MAE5DC,YAAc,SAAUC,GAC5B,IAAIC,EAAUZ,EAAM1C,MAAMsD,QACtBA,GAASA,EAAQD,EAAGX,EAAM1C,QAGhC0C,EAAM0sB,oBAAsB,SAAUpb,GACpC,MAAO,CACL1Q,QAAS,SAAiBD,GACxB,IAAQ2Q,EAAiB,UAAW3Q,GAEpC,IAAQX,EAAM1C,MAAO,WAAYqD,EAAGX,EAAM1C,UAKzC0C,EAyDT,OAnFA,YAAeynB,EAAO1nB,GA6BT0nB,EAAM5mB,UAEZC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBwI,EAAS/E,EAAY+E,OACrB7C,EAAWlC,EAAYkC,SACvBqG,EAAQvI,EAAYuI,MACpBrI,EAAWF,EAAYE,SACvBiO,EAAWnO,EAAYmO,SACvBhO,EAAYH,EAAYG,UACxBC,EAAQJ,EAAYI,MACpBC,EAAUL,EAAYK,QACtB4wC,EAASjxC,EAAYixC,OACrBC,EAASlxC,EAAYkxC,OACrBC,EAAQnxC,EAAYmxC,MACpB9uC,EAAWrC,EAAYqC,SACvB6Q,EAAalT,EAAYkT,WACzB3Q,EAAOvC,EAAYuC,KACnB5B,EAAQX,EAAYW,MACpBivC,EAAW5vC,EAAY4vC,SACvBxsB,EAAWpjB,EAAYojB,SACvBguB,EAASpxC,EAAYoxC,OACrBC,EAAarxC,EAAYqxC,WACzBC,EAAStxC,EAAYsxC,OACrB1uC,EAAO5C,EAAY4C,KACnB8V,EAAM1Y,EAAY0Y,IAClB64B,IAA6B,IAAbnuB,EAAqB,YAA4B,SAAbA,GAAoC,UAAbA,IAAyBA,EAAW,eAA6B,UAAbA,GAAqC,UAAbA,IAAyB,YAAcA,EAC9LriB,EAAU,YAAG,KAAMX,EAAOmxC,EAAe3uC,EAAM,YAAWmC,EAAQ,UAAW,YAAWwD,EAAO,SAAU,YAAW4F,EAAU,YAAa,YAAWgjC,EAAO,SAAU,YAAW9uC,EAAU,YAAa,YAAW6Q,EAAY,cAAe,aAAqB,IAAVvS,EAAgB,SAAU,YAAWywC,EAAQ,UAAW,YAAW14B,EAAK,OAAQ,YAAoBu4B,EAAQ,UAAW,YAAoBK,EAAQ,UAAW,YAAepvC,EAAU,YAAa,QAAS/B,GACvcpD,EAAO,YAAkB2pB,EAAOhnB,KAAKnD,OACrCyE,EAAc,YAAe0lB,EAAOhnB,KAAKnD,OAE7C,IAAK,IAAc0E,MAAMf,GACvB,OAAoB,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXlB,QAASH,KAAKC,cACZO,GAGN,IAAIsxC,EAAsB,IAAaH,GAAc,SAAWA,EAChE,OAAoB,IAAMnwC,cAAcF,EAAa,YAAS,CAC5Db,UAAWY,EACXlB,QAASH,KAAKC,aACb5C,GAAO,IAAKoE,OAAOoB,EAAM,CAC1BnB,iBAAiB,IACE,kBAAVT,GAAuB,IAAMQ,OAAOR,EAAO,CACpDS,iBAAiB,IACff,EAAS,IAAYc,OAAO+vC,EAAQ,CACtC9vC,iBAAiB,IACfwuC,GAAY,IAAKzuC,OAAOqwC,EAAqB,CAC/CpwC,iBAAiB,EACjBsP,cAAehR,KAAKisB,wBAIjBjF,EApFgB,CAqFvB,aAEFA,EAAMllB,aAAe,CAAC,SAAU,KAAM,WAAY,QAAS,WAAY,WAAY,YAAa,QAAS,UAAW,SAAU,SAAU,QAAS,WAAY,aAAc,OAAQ,QAAS,UAAW,WAAY,WAAY,SAAU,aAAc,SAAU,OAAQ,OAEzQklB,EAAMjlB,UAkFF,GACJilB,EAAM+qB,OAAS,IACf/qB,EAAM9kB,MAAQ,IACd8kB,EAAMvlB,OAAS,YAAuBulB,GAAO,SAAUpoB,GACrD,MAAO,CACL+B,QAAS/B,O,gCC9KE,IAXS,SAA2ByP,EAAWxR,GAE5D,IAAIm1C,EAAwB3jC,EAAUvM,aAClCA,OAAyC,IAA1BkwC,EAAmC,GAAKA,EAC3D,OAAOC,OAAOC,KAAKr1C,GAAOqR,QAAO,SAAUpE,EAAKvM,GAC9C,MAAa,aAATA,IACgC,IAAhCuE,EAAaud,QAAQ9hB,KAAcuM,EAAIvM,GAAQV,EAAMU,IADzBuM,IAG/B,M,iCCfL,8OAAO,IAAIqoC,EAA4B,UAC5BC,EAA4B,UAC5BC,EAA6B,WAC7BC,EAA2B,SAC3BC,EAA4B,UAC5BC,EAA8B,YAUlC,SAASC,EAAgB31C,GAC9B,IAAIgoB,EAAchoB,EAAQgoB,YACtBd,EAASlnB,EAAQknB,OACjBvG,EAAoB3gB,EAAQ2gB,kBAC5Bra,EAAUtG,EAAQsG,QAClB2hB,EAAgBjoB,EAAQioB,cAE5B,GAAI3hB,EAAS,CACX,GAAI4gB,IAAWmuB,EACb,OAAI10B,EACK,CACL8G,WAAW,EACXP,OAAQquB,EACRnuB,WAAYkuB,GAIT,CACL7tB,WAAW,EACXP,OAAQouB,EACRluB,gBAAY5d,GAIhB,GAAI0d,IAAWwuB,EACb,MAAO,CACLjuB,WAAW,EACXP,OAAQquB,EACRnuB,WAAYkuB,GAIhB,GAAIpuB,IAAWsuB,GAA4BtuB,IAAWuuB,EACpD,MAAO,CACLhuB,WAAW,EACXP,OAAQquB,EACRnuB,WAAYkuB,GAIhB,GAAIpuB,IAAWquB,EACb,MAAO,GAKT,GAAIruB,IAAWouB,EACb,MAAO,CACL7tB,WAAW,EACXP,OAAQouB,EACRluB,gBAAY5d,GAKlB,GAAI0d,IAAWmuB,EACb,OAAIrtB,GAAeC,EACV,CACLR,WAAW,EACXP,OAAQwuB,EACRtuB,gBAAY5d,GAIT,CACLie,WAAW,EACXP,OAAQsuB,EACRpuB,gBAAY5d,GAIhB,GAAI0d,IAAWouB,GAA6BpuB,IAAWquB,EACrD,MAAO,CACL9tB,WAAW,EACXP,OAAQuuB,EACRruB,WAAYa,EAAgBytB,EAA8BF,GAI9D,GAAItuB,IAAWuuB,EACb,MAAO,GAGT,GAAIvuB,IAAWsuB,EACb,MAAO,CACL/tB,WAAW,EACXP,OAAQsuB,EACRpuB,gBAAY5d,GAMhB,GAAI0d,IAAWwuB,EACb,MAAO,CACLjuB,WAAW,EACXP,OAAQwuB,EACRtuB,gBAAY5d,GAMhB,MAAM,IAAIkf,MAAM,6EAA+EpiB,EAAU,aAAe4gB,EAAS,Q,gCCxFpH,IArBf,SAAwB3V,EAAWxR,EAAO61C,GACxC,IAAIC,EAAwBtkC,EAAU1M,aAClCA,OAAyC,IAA1BgxC,EAAmC,GAAKA,EAG3D,GAAI91C,EAAMwP,IAAMxP,EAAMwP,KAAO1K,EAAa0K,GAAI,OAAOxP,EAAMwP,GAG3D,GAAIqmC,EAAY,CACd,IAAIE,EAAkBF,IACtB,GAAIE,EAAiB,OAAOA,EAK9B,OAAI/1C,EAAMmE,KAAa,IAGhBW,EAAa0K,IAAM,Q,iCC3B5B,mJAsBA,SAASwmC,EAAUh2C,GACjB,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBE,EAAU9D,EAAM8D,QAChBuY,EAAUrc,EAAMqc,QAChBlV,EAAWnH,EAAMmH,SACjBtB,EAAQ7F,EAAM6F,MACdiM,EAAS9R,EAAM8R,OACfC,EAAQ/R,EAAM+R,MACdkkC,EAAWj2C,EAAMi2C,SACjBj0C,EAAOhC,EAAMgC,KACbsH,EAAQtJ,EAAMsJ,MACdqb,EAAK3kB,EAAM2kB,GACXngB,EAAU,YAAG,YAAW2C,EAAU,YAAa,YAAWtB,EAAO,SAAU,YAAWiM,EAAQ,UAAW,YAAWmkC,EAAU,YAAa,YAAa3sC,EAAO,QAAS,QAAS1F,GACjLpD,EAAO,YAAkBw1C,EAAWh2C,GACpCyE,EAAc,YAAeuxC,EAAWh2C,GAExCk2C,EAAgB,IAAKrwC,EAAO,WAAY,SAExCswC,EAAa,IAAMvxC,OAAOiB,EAAO,CACnChB,iBAAiB,EACjBC,aAAc,CACZ+vC,QAAQ,EACRhuB,SAAUqvB,EACVvxB,GAAIA,EAAKA,EAAK,sBAAmBlb,EACjCrB,KAAM,QACN,eAAe,KAGfguC,GAAsC,UAAlBF,GAA+C,UAAlBA,IAA8BC,EAC/EE,GAAqC,UAAlBH,GAA+C,SAAlBA,IAA6BC,EAIjF,GAAI,IAAO95B,GACT,OAAI,IAAOtK,GACW,IAAMpN,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXmgB,GAAIA,IACF,IAAcjgB,MAAMf,GAAYG,EAAUH,GAG5B,IAAMgB,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,EACXmgB,GAAIA,IACFyxB,EAAkB,YAAgBrkC,EAAO,CAC3ClN,iBAAiB,IACfwxC,GAMN,IACIC,EAAY,CACd,mBAFoB3xB,GAAM9e,EAAQ8e,EAAK,iBAAmB,KAG1D,iBAAgB9e,QAAe4D,GAG7B8sC,EAAe,YAAS,GAAI/1C,EAAM,CACpCsD,QAASA,EACTH,SAAUA,EACVwD,SAAUA,EACV8uC,SAAUA,EACVj0C,KAAMA,EACN2iB,GAAIA,IAIN,MAAgB,UAAZtI,GAAiC,aAATra,GAAgC,UAATA,EAO/Cqa,IAAY,KAAYA,IAAY,IAClB,IAAM1X,cAAcF,EAAa,CACnDb,UAAWY,GACV4xC,EAA+B,wBAAc/5B,EAAS,YAAS,GAAIi6B,EAAWC,EAAc,CAC7FxkC,MAAOA,KACJskC,GAMa,IAAM1xC,cAAcF,EAAa,CACnDb,UAAWY,GACV,YAAgBuN,EAAO,CACxBjN,aAAc,CACZ8gB,QAASjB,GAEX9f,iBAAiB,IACfuxC,EAA+B,wBAAc/5B,EAAS,YAAS,GAAIi6B,EAAWC,IAAgBF,GAxB5E,IAAM1xC,cAAcF,EAAa,CACnDb,UAAWY,GACG,IAAMG,cAAc,QAAS,KAAMyxC,EAA+B,wBAAc/5B,EAAS,YAAS,GAAIi6B,EAAWC,IAAgB,IAAKxkC,EAAOskC,IAyBjKL,EAAU/wC,aAAe,CAAC,KAAM,WAAY,YAAa,UAAW,UAAW,WAAY,QAAS,KAAM,SAAU,QAAS,WAAY,OAAQ,SACjJ+wC,EAAU9wC,UAiDN,GACW,O,iCC1Kf,0EASA,SAASuxB,EAAQz2B,GACf,IAAI2D,EAAW3D,EAAM2D,SACjBC,EAAY5D,EAAM4D,UAClBkgB,EAAW9jB,EAAM8jB,SACjBhgB,EAAU9D,EAAM8D,QAChB0O,EAASxS,EAAMwS,OACfzM,EAAS/F,EAAM+F,OACf4Q,EAAa3W,EAAM2W,WACnBzK,EAAWlM,EAAMkM,SACjBqqB,EAAUv2B,EAAMu2B,QAChB1Z,EAAW7c,EAAM6c,SACjBrY,EAAU,YAAG,KAAM,YAAWsf,EAAU,YAAa,YAAWtR,EAAQ,UAAW,YAAWzM,EAAQ,UAAW,YAAW4Q,EAAY,cAAe,YAAWzK,EAAU,YAAa,YAAWqqB,EAAS,WAAY,YAAW1Z,EAAU,YAAa,UAAWjZ,GACtQpD,EAAO,YAAkBi2B,EAASz2B,GAClCyE,EAAc,YAAegyB,EAASz2B,GAC1C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtEoD,UAAWY,IACT,IAAcE,MAAMf,GAAYG,EAAUH,GAGhD8yB,EAAQxxB,aAAe,CAAC,KAAM,WAAY,YAAa,WAAY,UAAW,SAAU,SAAU,aAAc,WAAY,UAAW,YACvIwxB,EAAQvxB,UAiCJ,GACW,O,gCC/Df,wIAeI2D,EAAoB,SAAU86B,GAGhC,SAAS96B,IAGP,IAFA,IAAInG,EAEKC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAgBzB,OAbAN,EAAQihC,EAAe1gC,KAAKC,MAAMygC,EAAgB,CAACxgC,MAAMtD,OAAOiD,KAAUK,MAEpEC,YAAc,SAAUC,GACbX,EAAM1C,MAAMmH,SAGzB9D,EAAEkX,iBAIJ,IAAQ7X,EAAM1C,MAAO,UAAWqD,EAAGX,EAAM1C,QAGpC0C,EAtBT,YAAemG,EAAM86B,GAyBrB,IAAIv2B,EAASvE,EAAKtF,UA+ClB,OA7CA6J,EAAOopC,mBAAqB,WAC1B,IAAIt+B,EAAc,GACdzU,EAAcN,KAAKnD,MACnB8wB,EAAYrtB,EAAY,cACxBgzC,EAAahzC,EAAY,eAY7B,OAVI,IAAOqtB,GACT5Y,EAAY,eAAiB,OAE7BA,EAAY,cAAgB4Y,EAGzB,IAAO2lB,KACVv+B,EAAY,eAAiBu+B,GAGxBv+B,GAGT9K,EAAO5J,OAAS,WACd,IAAI0E,EAAe/E,KAAKnD,MACpB2R,EAAWzJ,EAAayJ,SACxBC,EAAW1J,EAAa0J,SACxBhO,EAAYsE,EAAatE,UACzBC,EAAQqE,EAAarE,MACrB6wC,EAASxsC,EAAawsC,OACtBvtC,EAAWe,EAAaf,SACxBqL,EAAStK,EAAasK,OACtBkkC,EAAUxuC,EAAawuC,QACvBxqC,EAAWhE,EAAagE,SACxB7H,EAAO6D,EAAa7D,KACpBmX,EAAUtT,EAAasT,QACvB9U,EAAOwB,EAAaxB,KACpBiwC,EAAUzuC,EAAayuC,QACvBtwC,EAAO6B,EAAa7B,KACpB7B,EAAU,YAAGX,EAAO6C,EAAML,EAAM,YAAWsL,EAAU,YAAa,YAAWC,EAAU,YAAa,YAAWzK,EAAU,YAAa,YAAWqL,EAAQ,UAAW,YAAWtG,EAAU,YAAa,YAAW7H,EAAM,QAAS,YAAWmX,EAAS,WAAY,YAAoBk5B,EAAQ,UAAW,YAAegC,EAAS,WAAY,YAAeC,EAAS,WAAY,OAAQ/yC,GACvXpD,EAAO,YAAkBqI,EAAM1F,KAAKnD,OACpCyE,EAAc,YAAeoE,EAAM1F,KAAKnD,OACxCkY,EAAc/U,KAAKqzC,qBACvB,OAAoB,IAAM7xC,cAAcF,EAAa,YAAS,GAAIjE,EAAM0X,EAAa,CACnFtU,UAAWY,EACXlB,QAASH,KAAKC,gBAIXyF,EAzEe,CA0EtB,iBAEFA,EAAK5D,aAAe,CAAC,cAAe,aAAc,KAAM,WAAY,WAAY,YAAa,QAAS,SAAU,WAAY,SAAU,UAAW,WAAY,OAAQ,UAAW,OAAQ,UAAW,QACnM4D,EAAK3D,UAmDD,GACJ2D,EAAK/D,aAAe,CAClB0K,GAAI,KAEN3G,EAAKxD,MAAQ,IACbwD,EAAKjE,OAAS,YAAuBiE,GAAM,SAAU9G,GACnD,MAAO,CACL2E,KAAM3E,MAGK,O,iCCzJf,4LA6BI60C,EAAoB,SAAUn0C,GAGhC,SAASm0C,IAGP,IAFA,IAAIl0C,EAEKC,EAAOC,UAAUC,OAAQiE,EAAQ,IAAI/D,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAChF8D,EAAM9D,GAAQJ,UAAUI,GAkB1B,OAfAN,EAAQD,EAAWQ,KAAKC,MAAMT,EAAY,CAACU,MAAMtD,OAAOiH,KAAW3D,MAE7D0zC,aAAe,SAAUxzC,GAC7B,IAAIkW,EAAS7W,EAAM1C,MAAMuZ,OAGH,iBAAXA,GAAqB,IAAQlW,EAAG,kBAE3C,IAAK,IAAI0E,EAAQnF,UAAUC,OAAQC,EAAO,IAAIC,MAAMgF,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGlF,EAAKkF,EAAQ,GAAKpF,UAAUoF,GAG9B,IAAQ9E,WAAM,EAAQ,CAACR,EAAM1C,MAAO,WAAYqD,EAAGX,EAAM1C,OAAOH,OAAOiD,KAGlEJ,EA6BT,OArDA,YAAek0C,EAAMn0C,GA2BRm0C,EAAKrzC,UAEXC,OAAS,WACd,IAAIC,EAAcN,KAAKnD,MACnBuZ,EAAS9V,EAAY8V,OACrB5V,EAAWF,EAAYE,SACvBC,EAAYH,EAAYG,UACxBiC,EAAQpC,EAAYoC,MACpBqG,EAAWzI,EAAYyI,SACvBsP,EAAU/X,EAAY+X,QACtBs7B,EAAQrzC,EAAYqzC,MACpBzwC,EAAO5C,EAAY4C,KACnBC,EAAU7C,EAAY6C,QACtBgX,EAAc7Z,EAAY6Z,YAC1B9W,EAAU/C,EAAY+C,QACtBsW,EAASrZ,EAAYqZ,OACrBtY,EAAU,YAAG,KAAM6B,EAAM,YAAWR,EAAO,SAAU,YAAWqG,EAAU,YAAa,YAAWsP,EAAS,WAAY,YAAWs7B,EAAO,SAAU,YAAWxwC,EAAS,WAAY,YAAWgX,EAAa,eAAgB,YAAW9W,EAAS,WAAY,YAAasW,EAAQ,MAAM,GAAO,OAAQlZ,GACrSpD,EAAO,YAAkBo2C,EAAMzzC,KAAKnD,OACpCyE,EAAc,YAAemyC,EAAMzzC,KAAKnD,OAC5C,OAAoB,IAAM2E,cAAcF,EAAa,YAAS,GAAIjE,EAAM,CACtE+Y,OAAQA,EACR3V,UAAWY,EACXuyC,SAAU5zC,KAAK0zC,eACblzC,IAGCizC,EAtDe,CAuDtB,aAEFA,EAAK3xC,aAAe,CAAC,SAAU,KAAM,WAAY,YAAa,QAAS,WAAY,UAAW,WAAY,QAAS,OAAQ,UAAW,cAAe,UAAW,UAChK2xC,EAAK1xC,UA0CD,GACJ0xC,EAAK9xC,aAAe,CAClB0K,GAAI,QAENonC,EAAKI,MAAQ,IACbJ,EAAK/V,OAAS,IACd+V,EAAKzyB,SAAW,IAChByyB,EAAKtI,SAAW,IAChBsI,EAAKvxC,MAAQ,IACbuxC,EAAKpb,MAAQ,IACbob,EAAKjpB,MAAQ,IACbipB,EAAKvS,OAAS,IACduS,EAAKtS,SAAW,IACD","file":"js/semantic-ui.ab733867.bundle.js","sourcesContent":["import _includes from \"lodash/includes\";\nimport _forEach from \"lodash/forEach\";\nexport var htmlInputAttrs = [// REACT\n'selected', 'defaultValue', 'defaultChecked', // LIMITED HTML PROPS\n'accept', 'autoCapitalize', 'autoComplete', 'autoCorrect', 'autoFocus', 'checked', 'disabled', 'form', 'id', 'inputMode', 'lang', 'list', 'max', 'maxLength', 'min', 'minLength', 'multiple', 'name', 'pattern', 'placeholder', 'readOnly', 'required', 'step', 'title', 'type', 'value'];\nexport var htmlInputEvents = [// EVENTS\n// keyboard\n'onKeyDown', 'onKeyPress', 'onKeyUp', // focus\n'onFocus', 'onBlur', // form\n'onChange', 'onInput', // mouse\n'onClick', 'onContextMenu', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', // selection\n'onSelect', // touch\n'onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart'];\nexport var htmlInputProps = [].concat(htmlInputAttrs, htmlInputEvents);\nexport var htmlImageProps = ['alt', 'height', 'src', 'srcSet', 'width'];\n/**\n * Returns an array of objects consisting of: props of html input element and rest.\n * @param {object} props A ReactElement props object\n * @param {Object} [options={}]\n * @param {Array} [options.htmlProps] An array of html input props\n * @param {boolean} [options.includeAria] Includes all input props that starts with \"aria-\"\n * @returns {[{}, {}]} An array of objects\n */\n\nexport var partitionHTMLProps = function partitionHTMLProps(props, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$htmlProps = _options.htmlProps,\n htmlProps = _options$htmlProps === void 0 ? htmlInputProps : _options$htmlProps,\n _options$includeAria = _options.includeAria,\n includeAria = _options$includeAria === void 0 ? true : _options$includeAria;\n var inputProps = {};\n var rest = {};\n\n _forEach(props, function (val, prop) {\n var possibleAria = includeAria && (/^aria-.*$/.test(prop) || prop === 'role');\n var target = _includes(htmlProps, prop) || possibleAria ? inputProps : rest;\n target[prop] = val;\n });\n\n return [inputProps, rest];\n};","export var numberToWordMap = {\n 1: 'one',\n 2: 'two',\n 3: 'three',\n 4: 'four',\n 5: 'five',\n 6: 'six',\n 7: 'seven',\n 8: 'eight',\n 9: 'nine',\n 10: 'ten',\n 11: 'eleven',\n 12: 'twelve',\n 13: 'thirteen',\n 14: 'fourteen',\n 15: 'fifteen',\n 16: 'sixteen'\n};\n/**\n * Return the number word for numbers 1-16.\n * Returns strings or numbers as is if there is no corresponding word.\n * Returns an empty string if value is not a string or number.\n * @param {string|number} value The value to convert to a word.\n * @returns {string}\n */\n\nexport function numberToWord(value) {\n var type = typeof value;\n\n if (type === 'string' || type === 'number') {\n return numberToWordMap[value] || value;\n }\n\n return '';\n}","import _isNil from \"lodash/isNil\";\nvar hasDocument = typeof document === 'object' && document !== null;\nvar hasWindow = typeof window === 'object' && window !== null && window.self === window; // eslint-disable-next-line no-confusing-arrow\n\nvar isBrowser = function isBrowser() {\n return !_isNil(isBrowser.override) ? isBrowser.override : hasDocument && hasWindow;\n};\n\nexport default isBrowser;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly } from '../../lib';\nimport Image from '../../elements/Image';\nimport CardContent from './CardContent';\nimport CardDescription from './CardDescription';\nimport CardGroup from './CardGroup';\nimport CardHeader from './CardHeader';\nimport CardMeta from './CardMeta';\n/**\n * A card displays site content in a manner similar to a playing card.\n */\n\nvar Card = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Card, _Component);\n\n function Card() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n if (onClick) onClick(e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = Card.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n centered = _this$props.centered,\n children = _this$props.children,\n className = _this$props.className,\n color = _this$props.color,\n content = _this$props.content,\n description = _this$props.description,\n extra = _this$props.extra,\n fluid = _this$props.fluid,\n header = _this$props.header,\n href = _this$props.href,\n image = _this$props.image,\n link = _this$props.link,\n meta = _this$props.meta,\n onClick = _this$props.onClick,\n raised = _this$props.raised;\n var classes = cx('ui', color, useKeyOnly(centered, 'centered'), useKeyOnly(fluid, 'fluid'), useKeyOnly(link, 'link'), useKeyOnly(raised, 'raised'), 'card', className);\n var rest = getUnhandledProps(Card, this.props);\n var ElementType = getElementType(Card, this.props, function () {\n if (onClick) return 'a';\n });\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), Image.create(image, {\n autoGenerateKey: false,\n defaultProps: {\n ui: false,\n wrapped: true\n }\n }), (description || header || meta) && /*#__PURE__*/React.createElement(CardContent, {\n description: description,\n header: header,\n meta: meta\n }), extra && /*#__PURE__*/React.createElement(CardContent, {\n extra: true\n }, extra));\n };\n\n return Card;\n}(Component);\n\nCard.handledProps = [\"as\", \"centered\", \"children\", \"className\", \"color\", \"content\", \"description\", \"extra\", \"fluid\", \"header\", \"href\", \"image\", \"link\", \"meta\", \"onClick\", \"raised\"];\nexport { Card as default };\nCard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A Card can center itself inside its container. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A Card can be formatted to display different colors. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for CardDescription. */\n description: customPropTypes.itemShorthand,\n\n /** Shorthand for primary content of CardContent. */\n extra: customPropTypes.contentShorthand,\n\n /** A Card can be formatted to take up the width of its container. */\n fluid: PropTypes.bool,\n\n /** Shorthand for CardHeader. */\n header: customPropTypes.itemShorthand,\n\n /** Render as an `a` tag instead of a `div` and adds the href attribute. */\n href: PropTypes.string,\n\n /** A card can contain an Image component. */\n image: customPropTypes.itemShorthand,\n\n /** A card can be formatted to link to other content. */\n link: PropTypes.bool,\n\n /** Shorthand for CardMeta. */\n meta: customPropTypes.itemShorthand,\n\n /**\n * Called on click. When passed, the component renders as an `a`\n * tag by default instead of a `div`.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /** A Card can be formatted to raise above the page. */\n raised: PropTypes.bool\n} : {};\nCard.Content = CardContent;\nCard.Description = CardDescription;\nCard.Group = CardGroup;\nCard.Header = CardHeader;\nCard.Meta = CardMeta;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash/without\";\nimport _isNil from \"lodash/isNil\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createHTMLParagraph, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\nimport Icon from '../../elements/Icon';\nimport MessageContent from './MessageContent';\nimport MessageHeader from './MessageHeader';\nimport MessageList from './MessageList';\nimport MessageItem from './MessageItem';\n/**\n * A message displays information that explains nearby content.\n * @see Form\n */\n\nvar Message = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Message, _Component);\n\n function Message() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleDismiss = function (e) {\n var onDismiss = _this.props.onDismiss;\n if (onDismiss) onDismiss(e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = Message.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n attached = _this$props.attached,\n children = _this$props.children,\n className = _this$props.className,\n color = _this$props.color,\n compact = _this$props.compact,\n content = _this$props.content,\n error = _this$props.error,\n floating = _this$props.floating,\n header = _this$props.header,\n hidden = _this$props.hidden,\n icon = _this$props.icon,\n info = _this$props.info,\n list = _this$props.list,\n negative = _this$props.negative,\n onDismiss = _this$props.onDismiss,\n positive = _this$props.positive,\n size = _this$props.size,\n success = _this$props.success,\n visible = _this$props.visible,\n warning = _this$props.warning;\n var classes = cx('ui', color, size, useKeyOnly(compact, 'compact'), useKeyOnly(error, 'error'), useKeyOnly(floating, 'floating'), useKeyOnly(hidden, 'hidden'), useKeyOnly(icon, 'icon'), useKeyOnly(info, 'info'), useKeyOnly(negative, 'negative'), useKeyOnly(positive, 'positive'), useKeyOnly(success, 'success'), useKeyOnly(visible, 'visible'), useKeyOnly(warning, 'warning'), useKeyOrValueAndKey(attached, 'attached'), 'message', className);\n var dismissIcon = onDismiss && /*#__PURE__*/React.createElement(Icon, {\n name: \"close\",\n onClick: this.handleDismiss\n });\n var rest = getUnhandledProps(Message, this.props);\n var ElementType = getElementType(Message, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), dismissIcon, children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), dismissIcon, Icon.create(icon, {\n autoGenerateKey: false\n }), (!_isNil(header) || !_isNil(content) || !_isNil(list)) && /*#__PURE__*/React.createElement(MessageContent, null, MessageHeader.create(header, {\n autoGenerateKey: false\n }), MessageList.create(list, {\n autoGenerateKey: false\n }), createHTMLParagraph(content, {\n autoGenerateKey: false\n })));\n };\n\n return Message;\n}(Component);\n\nMessage.handledProps = [\"as\", \"attached\", \"children\", \"className\", \"color\", \"compact\", \"content\", \"error\", \"floating\", \"header\", \"hidden\", \"icon\", \"info\", \"list\", \"negative\", \"onDismiss\", \"positive\", \"size\", \"success\", \"visible\", \"warning\"];\nexport { Message as default };\nMessage.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A message can be formatted to attach itself to other content. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['bottom', 'top'])]),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A message can be formatted to be different colors. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** A message can only take up the width of its content. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A message may be formatted to display a negative message. Same as `negative`. */\n error: PropTypes.bool,\n\n /** A message can float above content that it is related to. */\n floating: PropTypes.bool,\n\n /** Shorthand for MessageHeader. */\n header: customPropTypes.itemShorthand,\n\n /** A message can be hidden. */\n hidden: PropTypes.bool,\n\n /** A message can contain an icon. */\n icon: PropTypes.oneOfType([customPropTypes.itemShorthand, PropTypes.bool]),\n\n /** A message may be formatted to display information. */\n info: PropTypes.bool,\n\n /** Array shorthand items for the MessageList. Mutually exclusive with children. */\n list: customPropTypes.collectionShorthand,\n\n /** A message may be formatted to display a negative message. Same as `error`. */\n negative: PropTypes.bool,\n\n /**\n * A message that the user can choose to hide.\n * Called when the user clicks the \"x\" icon. This also adds the \"x\" icon.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onDismiss: PropTypes.func,\n\n /** A message may be formatted to display a positive message. Same as `success`. */\n positive: PropTypes.bool,\n\n /** A message can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** A message may be formatted to display a positive message. Same as `positive`. */\n success: PropTypes.bool,\n\n /** A message can be set to visible to force itself to be shown. */\n visible: PropTypes.bool,\n\n /** A message may be formatted to display warning messages. */\n warning: PropTypes.bool\n} : {};\nMessage.Content = MessageContent;\nMessage.Header = MessageHeader;\nMessage.List = MessageList;\nMessage.Item = MessageItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash/without\";\nimport _times from \"lodash/times\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, getElementType, getUnhandledProps, SUI, useKeyOnly } from '../../lib';\nimport RatingIcon from './RatingIcon';\n/**\n * A rating indicates user interest in content.\n */\n\nvar Rating = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Rating, _Component);\n\n function Rating() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(_args)) || this;\n\n _this.handleIconClick = function (e, _ref) {\n var index = _ref.index;\n var _this$props = _this.props,\n clearable = _this$props.clearable,\n disabled = _this$props.disabled,\n maxRating = _this$props.maxRating,\n onRate = _this$props.onRate;\n var rating = _this.state.rating;\n if (disabled) return; // default newRating is the clicked icon\n // allow toggling a binary rating\n // allow clearing ratings\n\n var newRating = index + 1;\n\n if (clearable === 'auto' && maxRating === 1) {\n newRating = +!rating;\n } else if (clearable === true && newRating === rating) {\n newRating = 0;\n } // set rating\n\n\n _this.setState({\n rating: newRating,\n isSelecting: false\n });\n\n if (onRate) onRate(e, _extends({}, _this.props, {\n rating: newRating\n }));\n };\n\n _this.handleIconMouseEnter = function (e, _ref2) {\n var index = _ref2.index;\n if (_this.props.disabled) return;\n\n _this.setState({\n selectedIndex: index,\n isSelecting: true\n });\n };\n\n _this.handleMouseLeave = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _invoke.apply(void 0, [_this.props, 'onMouseLeave'].concat(args));\n\n if (_this.props.disabled) return;\n\n _this.setState({\n selectedIndex: -1,\n isSelecting: false\n });\n };\n\n return _this;\n }\n\n var _proto = Rating.prototype;\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n className = _this$props2.className,\n disabled = _this$props2.disabled,\n icon = _this$props2.icon,\n maxRating = _this$props2.maxRating,\n size = _this$props2.size;\n var _this$state = this.state,\n rating = _this$state.rating,\n selectedIndex = _this$state.selectedIndex,\n isSelecting = _this$state.isSelecting;\n var classes = cx('ui', icon, size, useKeyOnly(disabled, 'disabled'), useKeyOnly(isSelecting && !disabled && selectedIndex >= 0, 'selected'), 'rating', className);\n var rest = getUnhandledProps(Rating, this.props);\n var ElementType = getElementType(Rating, this.props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n role: \"radiogroup\",\n onMouseLeave: this.handleMouseLeave,\n tabIndex: disabled ? 0 : -1\n }), _times(maxRating, function (i) {\n return /*#__PURE__*/React.createElement(RatingIcon, {\n tabIndex: disabled ? -1 : 0,\n active: rating >= i + 1,\n \"aria-checked\": rating === i + 1,\n \"aria-posinset\": i + 1,\n \"aria-setsize\": maxRating,\n index: i,\n key: i,\n onClick: _this2.handleIconClick,\n onMouseEnter: _this2.handleIconMouseEnter,\n selected: selectedIndex >= i && isSelecting\n });\n }));\n };\n\n return Rating;\n}(Component);\n\nRating.handledProps = [\"as\", \"className\", \"clearable\", \"defaultRating\", \"disabled\", \"icon\", \"maxRating\", \"onRate\", \"rating\", \"size\"];\nexport { Rating as default };\nRating.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /**\n * You can clear the rating by clicking on the current start rating.\n * By default a rating will be only clearable if there is 1 icon.\n * Setting to `true`/`false` will allow or disallow a user to clear their rating.\n */\n clearable: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['auto'])]),\n\n /** The initial rating value. */\n defaultRating: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** You can disable or enable interactive rating. Makes a read-only rating. */\n disabled: PropTypes.bool,\n\n /** A rating can use a set of star or heart icons. */\n icon: PropTypes.oneOf(['star', 'heart']),\n\n /** The total number of icons. */\n maxRating: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Called after user selects a new rating.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and proposed rating.\n */\n onRate: PropTypes.func,\n\n /** The current number of active icons. */\n rating: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** A progress bar can vary in size. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium', 'big'))\n} : {};\nRating.autoControlledProps = ['rating'];\nRating.defaultProps = {\n clearable: 'auto',\n maxRating: 1\n};\nRating.Icon = RatingIcon;","import _invert from \"lodash/invert\";\nimport _keys from \"lodash/keys\";\nexport var positionsMapping = {\n 'top center': 'top',\n 'top left': 'top-start',\n 'top right': 'top-end',\n 'bottom center': 'bottom',\n 'bottom left': 'bottom-start',\n 'bottom right': 'bottom-end',\n 'right center': 'right',\n 'left center': 'left'\n};\nexport var positions = _keys(positionsMapping);\nexport var placementMapping = _invert(positionsMapping);","import _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _memoize from \"lodash/memoize\";\nimport _invoke from \"lodash/invoke\";\nimport { isRefObject } from '@fluentui/react-component-ref';\n\nvar ReferenceProxy = /*#__PURE__*/function () {\n function ReferenceProxy(refObject) {\n this.ref = refObject;\n }\n\n var _proto = ReferenceProxy.prototype;\n\n _proto.getBoundingClientRect = function getBoundingClientRect() {\n return _invoke(this.ref.current, 'getBoundingClientRect') || {};\n };\n\n _createClass(ReferenceProxy, [{\n key: \"clientWidth\",\n get: function get() {\n return this.getBoundingClientRect().width;\n }\n }, {\n key: \"clientHeight\",\n get: function get() {\n return this.getBoundingClientRect().height;\n }\n }, {\n key: \"parentNode\",\n get: function get() {\n return this.ref.current ? this.ref.current.parentNode : undefined;\n }\n }]);\n\n return ReferenceProxy;\n}();\n/**\n * Popper.js does not support ref objects from `createRef()` as referenceElement. If we will pass\n * directly `ref`, `ref.current` will be `null` at the render process. We use memoize to keep the\n * same reference between renders.\n *\n * @see https://popper.js.org/popper-documentation.html#referenceObject\n */\n\n\nvar createReferenceProxy = _memoize(function (reference) {\n return new ReferenceProxy(isRefObject(reference) ? reference : {\n current: reference\n });\n});\n\nexport default createReferenceProxy;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash/without\";\nimport _isNil from \"lodash/isNil\";\nimport _merge from \"lodash/merge\";\nimport _invoke from \"lodash/invoke\";\nimport _isArray from \"lodash/isArray\";\nimport _pick from \"lodash/pick\";\nimport _includes from \"lodash/includes\";\nimport _reduce from \"lodash/reduce\";\nimport EventStack from '@semantic-ui-react/event-stack';\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { Popper } from 'react-popper';\nimport shallowEqual from 'shallowequal';\nimport { eventStack, childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\nimport Portal from '../../addons/Portal';\nimport { placementMapping, positions, positionsMapping } from './lib/positions';\nimport createReferenceProxy from './lib/createReferenceProxy';\nimport PopupContent from './PopupContent';\nimport PopupHeader from './PopupHeader';\n\n/**\n * A Popup displays additional information on top of a page.\n */\nvar Popup = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Popup, _Component);\n\n function Popup() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.state = {};\n _this.open = false;\n _this.triggerRef = /*#__PURE__*/createRef();\n\n _this.getPortalProps = function () {\n var portalProps = {};\n var _this$props = _this.props,\n on = _this$props.on,\n hoverable = _this$props.hoverable;\n var normalizedOn = _isArray(on) ? on : [on];\n\n if (hoverable) {\n portalProps.closeOnPortalMouseLeave = true;\n portalProps.mouseLeaveDelay = 300;\n }\n\n if (_includes(normalizedOn, 'hover')) {\n portalProps.openOnTriggerClick = false;\n portalProps.closeOnTriggerClick = false;\n portalProps.openOnTriggerMouseEnter = true;\n portalProps.closeOnTriggerMouseLeave = true; // Taken from SUI: https://git.io/vPmCm\n\n portalProps.mouseLeaveDelay = 70;\n portalProps.mouseEnterDelay = 50;\n }\n\n if (_includes(normalizedOn, 'click')) {\n portalProps.openOnTriggerClick = true;\n portalProps.closeOnTriggerClick = true;\n portalProps.closeOnDocumentClick = true;\n }\n\n if (_includes(normalizedOn, 'focus')) {\n portalProps.openOnTriggerFocus = true;\n portalProps.closeOnTriggerBlur = true;\n }\n\n return portalProps;\n };\n\n _this.hideOnScroll = function (e) {\n _this.setState({\n closed: true\n });\n\n eventStack.unsub('scroll', _this.hideOnScroll, {\n target: window\n });\n _this.timeoutId = setTimeout(function () {\n _this.setState({\n closed: false\n });\n }, 50);\n\n _this.handleClose(e);\n };\n\n _this.handleClose = function (e) {\n _invoke(_this.props, 'onClose', e, _this.props);\n };\n\n _this.handleOpen = function (e) {\n _invoke(_this.props, 'onOpen', e, _this.props);\n };\n\n _this.handlePortalMount = function (e) {\n _invoke(_this.props, 'onMount', e, _this.props);\n };\n\n _this.handlePortalUnmount = function (e) {\n _this.positionUpdate = null;\n\n _invoke(_this.props, 'onUnmount', e, _this.props);\n };\n\n _this.renderContent = function (_ref) {\n var popperPlacement = _ref.placement,\n popperRef = _ref.ref,\n scheduleUpdate = _ref.scheduleUpdate,\n popperStyle = _ref.style;\n var _this$props2 = _this.props,\n basic = _this$props2.basic,\n children = _this$props2.children,\n className = _this$props2.className,\n content = _this$props2.content,\n hideOnScroll = _this$props2.hideOnScroll,\n flowing = _this$props2.flowing,\n header = _this$props2.header,\n inverted = _this$props2.inverted,\n size = _this$props2.size,\n style = _this$props2.style,\n wide = _this$props2.wide;\n var contentRestProps = _this.state.contentRestProps;\n _this.positionUpdate = scheduleUpdate;\n var classes = cx('ui', placementMapping[popperPlacement], size, useKeyOrValueAndKey(wide, 'wide'), useKeyOnly(basic, 'basic'), useKeyOnly(flowing, 'flowing'), useKeyOnly(inverted, 'inverted'), 'popup transition visible', className);\n var ElementType = getElementType(Popup, _this.props);\n\n var styles = _extends({\n // Heads up! We need default styles to get working correctly `flowing`\n left: 'auto',\n right: 'auto'\n }, popperStyle, style);\n\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: popperRef\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, contentRestProps, {\n className: classes,\n style: styles\n }), childrenUtils.isNil(children) ? /*#__PURE__*/React.createElement(React.Fragment, null, PopupHeader.create(header, {\n autoGenerateKey: false\n }), PopupContent.create(content, {\n autoGenerateKey: false\n })) : children, hideOnScroll && /*#__PURE__*/React.createElement(EventStack, {\n on: _this.hideOnScroll,\n name: \"scroll\",\n target: \"window\"\n })));\n };\n\n return _this;\n }\n\n Popup.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (state.closed || state.disabled) return {};\n var unhandledProps = getUnhandledProps(Popup, props);\n\n var contentRestProps = _reduce(unhandledProps, function (acc, val, key) {\n if (!_includes(Portal.handledProps, key)) acc[key] = val;\n return acc;\n }, {});\n\n var portalRestProps = _pick(unhandledProps, Portal.handledProps);\n\n return {\n contentRestProps: contentRestProps,\n portalRestProps: portalRestProps\n };\n };\n\n var _proto = Popup.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var depsEqual = shallowEqual(this.props.popperDependencies, prevProps.popperDependencies);\n\n if (!depsEqual) {\n this.handleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n clearTimeout(this.timeoutId);\n };\n\n _proto.handleUpdate = function handleUpdate() {\n if (this.positionUpdate) this.positionUpdate();\n };\n\n _proto.render = function render() {\n var _this$props3 = this.props,\n context = _this$props3.context,\n disabled = _this$props3.disabled,\n eventsEnabled = _this$props3.eventsEnabled,\n offset = _this$props3.offset,\n pinned = _this$props3.pinned,\n popperModifiers = _this$props3.popperModifiers,\n position = _this$props3.position,\n positionFixed = _this$props3.positionFixed,\n trigger = _this$props3.trigger;\n var _this$state = this.state,\n closed = _this$state.closed,\n portalRestProps = _this$state.portalRestProps;\n\n if (closed || disabled) {\n return trigger;\n }\n\n var modifiers = _merge({\n arrow: {\n enabled: false\n },\n flip: {\n enabled: !pinned\n },\n // There are issues with `keepTogether` and `offset`\n // https://github.com/FezVrasta/popper.js/issues/557\n keepTogether: {\n enabled: !!offset\n },\n offset: {\n offset: offset\n }\n }, popperModifiers);\n\n var referenceElement = createReferenceProxy(_isNil(context) ? this.triggerRef : context);\n\n var mergedPortalProps = _extends({}, this.getPortalProps(), portalRestProps);\n\n return /*#__PURE__*/React.createElement(Portal, _extends({}, mergedPortalProps, {\n onClose: this.handleClose,\n onMount: this.handlePortalMount,\n onOpen: this.handleOpen,\n onUnmount: this.handlePortalUnmount,\n trigger: trigger,\n triggerRef: this.triggerRef\n }), /*#__PURE__*/React.createElement(Popper, {\n eventsEnabled: eventsEnabled,\n modifiers: modifiers,\n placement: positionsMapping[position],\n positionFixed: positionFixed,\n referenceElement: referenceElement\n }, this.renderContent));\n };\n\n return Popup;\n}(Component);\n\nPopup.handledProps = [\"as\", \"basic\", \"children\", \"className\", \"content\", \"context\", \"disabled\", \"eventsEnabled\", \"flowing\", \"header\", \"hideOnScroll\", \"hoverable\", \"inverted\", \"offset\", \"on\", \"onClose\", \"onMount\", \"onOpen\", \"onUnmount\", \"pinned\", \"popperDependencies\", \"popperModifiers\", \"position\", \"positionFixed\", \"size\", \"style\", \"trigger\", \"wide\"];\nexport { Popup as default };\nPopup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Display the popup without the pointing arrow. */\n basic: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Simple text content for the popover. */\n content: customPropTypes.itemShorthand,\n\n /** Existing element the pop-up should be bound to. */\n context: PropTypes.oneOfType([PropTypes.object, customPropTypes.refObject]),\n\n /** A disabled popup only renders its trigger. */\n disabled: PropTypes.bool,\n\n /** Enables the Popper.js event listeners. */\n eventsEnabled: PropTypes.bool,\n\n /** A flowing Popup has no maximum width and continues to flow to fit its content. */\n flowing: PropTypes.bool,\n\n /** Takes up the entire width of its offset container. */\n // TODO: implement the Popup fluid layout\n // fluid: PropTypes.bool,\n\n /** Header displayed above the content in bold. */\n header: customPropTypes.itemShorthand,\n\n /** Hide the Popup when scrolling the window. */\n hideOnScroll: PropTypes.bool,\n\n /** Whether the popup should not close on hover. */\n hoverable: PropTypes.bool,\n\n /** Invert the colors of the Popup. */\n inverted: PropTypes.bool,\n\n /** Offset value to apply to rendered popup. Accepts the following units:\n * - px or unit-less, interpreted as pixels\n * - %, percentage relative to the length of the trigger element\n * - %p, percentage relative to the length of the popup element\n * - vw, CSS viewport width unit\n * - vh, CSS viewport height unit\n */\n offset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Events triggering the popup. */\n on: PropTypes.oneOfType([PropTypes.oneOf(['hover', 'click', 'focus']), PropTypes.arrayOf(PropTypes.oneOf(['hover', 'click', 'focus']))]),\n\n /**\n * Called when a close event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClose: PropTypes.func,\n\n /**\n * Called when the portal is mounted on the DOM.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onMount: PropTypes.func,\n\n /**\n * Called when an open event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onOpen: PropTypes.func,\n\n /**\n * Called when the portal is unmounted from the DOM.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onUnmount: PropTypes.func,\n\n /** Disables automatic repositioning of the component, it will always be placed according to the position value. */\n pinned: PropTypes.bool,\n\n /** Position for the popover. */\n position: PropTypes.oneOf(positions),\n\n /** Tells `Popper.js` to use the `position: fixed` strategy to position the popover. */\n positionFixed: PropTypes.bool,\n\n /** An object containing custom settings for the Popper.js modifiers. */\n popperModifiers: PropTypes.object,\n\n /** A popup can have dependencies which update will schedule a position update. */\n popperDependencies: PropTypes.array,\n\n /** Popup size. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium', 'big', 'massive')),\n\n /** Custom Popup style. */\n style: PropTypes.object,\n\n /** Element to be rendered in-place where the popup is defined. */\n trigger: PropTypes.node,\n\n /** Popup width. */\n wide: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])])\n} : {};\nPopup.defaultProps = {\n disabled: false,\n eventsEnabled: true,\n offset: 0,\n on: ['click', 'hover'],\n pinned: false,\n position: 'top left'\n};\nPopup.Content = PopupContent;\nPopup.Header = PopupHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A list item can contain a header.\n */\n\nfunction ListHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(ListHeader, props);\n var ElementType = getElementType(ListHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nListHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nListHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nListHeader.create = createShorthandFactory(ListHeader, function (content) {\n return {\n content: content\n };\n});\nexport default ListHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A list item can contain a description.\n */\n\nfunction ListDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx(className, 'description');\n var rest = getUnhandledProps(ListDescription, props);\n var ElementType = getElementType(ListDescription, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nListDescription.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nListDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nListDescription.create = createShorthandFactory(ListDescription, function (content) {\n return {\n content: content\n };\n});\nexport default ListDescription;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useTextAlignProp, useVerticalAlignProp, useWidthProp } from '../../lib';\nimport Icon from '../../elements/Icon';\n/**\n * A table row can have cells.\n */\n\nfunction TableCell(props) {\n var active = props.active,\n children = props.children,\n className = props.className,\n collapsing = props.collapsing,\n content = props.content,\n disabled = props.disabled,\n error = props.error,\n icon = props.icon,\n negative = props.negative,\n positive = props.positive,\n selectable = props.selectable,\n singleLine = props.singleLine,\n textAlign = props.textAlign,\n verticalAlign = props.verticalAlign,\n warning = props.warning,\n width = props.width;\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(collapsing, 'collapsing'), useKeyOnly(disabled, 'disabled'), useKeyOnly(error, 'error'), useKeyOnly(negative, 'negative'), useKeyOnly(positive, 'positive'), useKeyOnly(selectable, 'selectable'), useKeyOnly(singleLine, 'single line'), useKeyOnly(warning, 'warning'), useTextAlignProp(textAlign), useVerticalAlignProp(verticalAlign), useWidthProp(width, 'wide'), className);\n var rest = getUnhandledProps(TableCell, props);\n var ElementType = getElementType(TableCell, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), Icon.create(icon), content);\n}\n\nTableCell.handledProps = [\"active\", \"as\", \"children\", \"className\", \"collapsing\", \"content\", \"disabled\", \"error\", \"icon\", \"negative\", \"positive\", \"selectable\", \"singleLine\", \"textAlign\", \"verticalAlign\", \"warning\", \"width\"];\nTableCell.defaultProps = {\n as: 'td'\n};\nTableCell.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A cell can be active or selected by a user. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A cell can be collapsing so that it only uses as much space as required. */\n collapsing: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A cell can be disabled. */\n disabled: PropTypes.bool,\n\n /** A cell may call attention to an error or a negative value. */\n error: PropTypes.bool,\n\n /** Add an Icon by name, props object, or pass an */\n icon: customPropTypes.itemShorthand,\n\n /** A cell may let a user know whether a value is bad. */\n negative: PropTypes.bool,\n\n /** A cell may let a user know whether a value is good. */\n positive: PropTypes.bool,\n\n /** A cell can be selectable. */\n selectable: PropTypes.bool,\n\n /** A cell can specify that its contents should remain on a single line and not wrap. */\n singleLine: PropTypes.bool,\n\n /** A table cell can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified')),\n\n /** A table cell can adjust its text alignment. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS),\n\n /** A cell may warn a user. */\n warning: PropTypes.bool,\n\n /** A table can specify the width of individual columns independently. */\n width: PropTypes.oneOf(SUI.WIDTHS)\n} : {};\nTableCell.create = createShorthandFactory(TableCell, function (content) {\n return {\n content: content\n };\n});\nexport default TableCell;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, createShorthandFactory, getElementType, getUnhandledProps, SUI, useKeyOnly, useMultipleProp, useTextAlignProp, useValueAndKey, useVerticalAlignProp, useWidthProp } from '../../lib';\n/**\n * A column sub-component for Grid.\n */\n\nfunction GridColumn(props) {\n var children = props.children,\n className = props.className,\n computer = props.computer,\n color = props.color,\n floated = props.floated,\n largeScreen = props.largeScreen,\n mobile = props.mobile,\n only = props.only,\n stretched = props.stretched,\n tablet = props.tablet,\n textAlign = props.textAlign,\n verticalAlign = props.verticalAlign,\n widescreen = props.widescreen,\n width = props.width;\n var classes = cx(color, useKeyOnly(stretched, 'stretched'), useMultipleProp(only, 'only'), useTextAlignProp(textAlign), useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign), useWidthProp(computer, 'wide computer'), useWidthProp(largeScreen, 'wide large screen'), useWidthProp(mobile, 'wide mobile'), useWidthProp(tablet, 'wide tablet'), useWidthProp(widescreen, 'wide widescreen'), useWidthProp(width, 'wide'), 'column', className);\n var rest = getUnhandledProps(GridColumn, props);\n var ElementType = getElementType(GridColumn, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n}\n\nGridColumn.handledProps = [\"as\", \"children\", \"className\", \"color\", \"computer\", \"floated\", \"largeScreen\", \"mobile\", \"only\", \"stretched\", \"tablet\", \"textAlign\", \"verticalAlign\", \"widescreen\", \"width\"];\nGridColumn.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A grid column can be colored. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** A column can specify a width for a computer. */\n computer: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** A column can sit flush against the left or right edge of a row. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A column can specify a width for a large screen device. */\n largeScreen: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** A column can specify a width for a mobile device. */\n mobile: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** A column can appear only for a specific device, or screen sizes. */\n only: customPropTypes.multipleProp(SUI.VISIBILITY),\n\n /** A column can stretch its contents to take up the entire grid or row height. */\n stretched: PropTypes.bool,\n\n /** A column can specify a width for a tablet device. */\n tablet: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** A column can specify its text alignment. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS),\n\n /** A column can specify its vertical alignment to have all its columns vertically centered. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS),\n\n /** A column can specify a width for a wide screen device. */\n widescreen: customPropTypes.every([customPropTypes.disallow(['width']), PropTypes.oneOf(SUI.WIDTHS)]),\n\n /** Represents width of column. */\n width: customPropTypes.every([customPropTypes.disallow(['computer', 'largeScreen', 'mobile', 'tablet', 'widescreen']), PropTypes.oneOf(SUI.WIDTHS)])\n} : {};\nGridColumn.create = createShorthandFactory(GridColumn, function (children) {\n return {\n children: children\n };\n});\nexport default GridColumn;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport _map from \"lodash/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useTextAlignProp, useVerticalAlignProp } from '../../lib';\nimport TableCell from './TableCell';\n/**\n * A table can have rows.\n */\n\nfunction TableRow(props) {\n var active = props.active,\n cellAs = props.cellAs,\n cells = props.cells,\n children = props.children,\n className = props.className,\n disabled = props.disabled,\n error = props.error,\n negative = props.negative,\n positive = props.positive,\n textAlign = props.textAlign,\n verticalAlign = props.verticalAlign,\n warning = props.warning;\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(error, 'error'), useKeyOnly(negative, 'negative'), useKeyOnly(positive, 'positive'), useKeyOnly(warning, 'warning'), useTextAlignProp(textAlign), useVerticalAlignProp(verticalAlign), className);\n var rest = getUnhandledProps(TableRow, props);\n var ElementType = getElementType(TableRow, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), _map(cells, function (cell) {\n return TableCell.create(cell, {\n defaultProps: {\n as: cellAs\n }\n });\n }));\n}\n\nTableRow.handledProps = [\"active\", \"as\", \"cellAs\", \"cells\", \"children\", \"className\", \"disabled\", \"error\", \"negative\", \"positive\", \"textAlign\", \"verticalAlign\", \"warning\"];\nTableRow.defaultProps = {\n as: 'tr',\n cellAs: 'td'\n};\nTableRow.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A row can be active or selected by a user. */\n active: PropTypes.bool,\n\n /** An element type to render as (string or function). */\n cellAs: PropTypes.elementType,\n\n /** Shorthand array of props for TableCell. */\n cells: customPropTypes.collectionShorthand,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A row can be disabled. */\n disabled: PropTypes.bool,\n\n /** A row may call attention to an error or a negative value. */\n error: PropTypes.bool,\n\n /** A row may let a user know whether a value is bad. */\n negative: PropTypes.bool,\n\n /** A row may let a user know whether a value is good. */\n positive: PropTypes.bool,\n\n /** A table row can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified')),\n\n /** A table row can adjust its vertical alignment. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS),\n\n /** A row may warn a user. */\n warning: PropTypes.bool\n} : {};\nTableRow.create = createShorthandFactory(TableRow, function (cells) {\n return {\n cells: cells\n };\n});\nexport default TableRow;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _isUndefined from \"lodash/isUndefined\";\nimport _startsWith from \"lodash/startsWith\";\nimport _filter from \"lodash/filter\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _keys from \"lodash/keys\";\nimport _intersection from \"lodash/intersection\";\nimport _has from \"lodash/has\";\nimport _each from \"lodash/each\";\nimport _invoke from \"lodash/invoke\";\nimport React from 'react';\n\nvar getDefaultPropName = function getDefaultPropName(prop) {\n return \"default\" + (prop[0].toUpperCase() + prop.slice(1));\n};\n/**\n * Return the auto controlled state value for a give prop. The initial value is chosen in this order:\n * - regular props\n * - then, default props\n * - then, initial state\n * - then, `checked` defaults to false\n * - then, `value` defaults to '' or [] if props.multiple\n * - else, undefined\n *\n * @param {string} propName A prop name\n * @param {object} [props] A props object\n * @param {object} [state] A state object\n * @param {boolean} [includeDefaults=false] Whether or not to heed the default props or initial state\n */\n\n\nvar getAutoControlledStateValue = function getAutoControlledStateValue(propName, props, state, includeDefaults) {\n if (includeDefaults === void 0) {\n includeDefaults = false;\n }\n\n // regular props\n var propValue = props[propName];\n if (propValue !== undefined) return propValue;\n\n if (includeDefaults) {\n // defaultProps\n var defaultProp = props[getDefaultPropName(propName)];\n if (defaultProp !== undefined) return defaultProp; // initial state - state may be null or undefined\n\n if (state) {\n var initialState = state[propName];\n if (initialState !== undefined) return initialState;\n }\n } // React doesn't allow changing from uncontrolled to controlled components,\n // default checked/value if they were not present.\n\n\n if (propName === 'checked') return false;\n if (propName === 'value') return props.multiple ? [] : ''; // otherwise, undefined\n};\n\nvar ModernAutoControlledComponent = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ModernAutoControlledComponent, _React$Component);\n\n function ModernAutoControlledComponent() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n var _this$constructor = _this.constructor,\n autoControlledProps = _this$constructor.autoControlledProps,\n getAutoControlledStateFromProps = _this$constructor.getAutoControlledStateFromProps;\n var state = _invoke(_assertThisInitialized(_this), 'getInitialAutoControlledState', _this.props) || {};\n\n if (process.env.NODE_ENV !== 'production') {\n var _this$constructor2 = _this.constructor,\n defaultProps = _this$constructor2.defaultProps,\n name = _this$constructor2.name,\n propTypes = _this$constructor2.propTypes,\n getDerivedStateFromProps = _this$constructor2.getDerivedStateFromProps; // require usage of getAutoControlledStateFromProps()\n\n if (getDerivedStateFromProps !== ModernAutoControlledComponent.getDerivedStateFromProps) {\n /* eslint-disable-next-line no-console */\n console.error(\"Auto controlled \" + name + \" must specify a static getAutoControlledStateFromProps() instead of getDerivedStateFromProps().\");\n } // require propTypes\n\n\n _each(autoControlledProps, function (prop) {\n var defaultProp = getDefaultPropName(prop); // regular prop\n\n if (!_has(propTypes, defaultProp)) {\n console.error(name + \" is missing \\\"\" + defaultProp + \"\\\" propTypes validation for auto controlled prop \\\"\" + prop + \"\\\".\");\n } // its default prop\n\n\n if (!_has(propTypes, prop)) {\n console.error(name + \" is missing propTypes validation for auto controlled prop \\\"\" + prop + \"\\\".\");\n }\n }); // prevent autoControlledProps in defaultProps\n //\n // When setting state, auto controlled props values always win (so the parent can manage them).\n // It is not reasonable to decipher the difference between props from the parent and defaultProps.\n // Allowing defaultProps results in trySetState always deferring to the defaultProp value.\n // Auto controlled props also listed in defaultProps can never be updated.\n //\n // To set defaults for an AutoControlled prop, you can set the initial state in the\n // constructor or by using an ES7 property initializer:\n // https://babeljs.io/blog/2015/06/07/react-on-es6-plus#property-initializers\n\n\n var illegalDefaults = _intersection(autoControlledProps, _keys(defaultProps));\n\n if (!_isEmpty(illegalDefaults)) {\n console.error(['Do not set defaultProps for autoControlledProps. You can set defaults by', 'setting state in the constructor or using an ES7 property initializer', '(https://babeljs.io/blog/2015/06/07/react-on-es6-plus#property-initializers)', \"See \" + name + \" props: \\\"\" + illegalDefaults + \"\\\".\"].join(' '));\n } // prevent listing defaultProps in autoControlledProps\n //\n // Default props are automatically handled.\n // Listing defaults in autoControlledProps would result in allowing defaultDefaultValue props.\n\n\n var illegalAutoControlled = _filter(autoControlledProps, function (prop) {\n return _startsWith(prop, 'default');\n });\n\n if (!_isEmpty(illegalAutoControlled)) {\n console.error(['Do not add default props to autoControlledProps.', 'Default props are automatically handled.', \"See \" + name + \" autoControlledProps: \\\"\" + illegalAutoControlled + \"\\\".\"].join(' '));\n }\n } // Auto controlled props are copied to state.\n // Set initial state by copying auto controlled props to state.\n // Also look for the default prop for any auto controlled props (foo => defaultFoo)\n // so we can set initial values from defaults.\n\n\n var initialAutoControlledState = autoControlledProps.reduce(function (acc, prop) {\n acc[prop] = getAutoControlledStateValue(prop, _this.props, state, true);\n\n if (process.env.NODE_ENV !== 'production') {\n var defaultPropName = getDefaultPropName(prop);\n var _name = _this.constructor.name; // prevent defaultFoo={} along side foo={}\n\n if (!_isUndefined(_this.props[defaultPropName]) && !_isUndefined(_this.props[prop])) {\n console.error(_name + \" prop \\\"\" + prop + \"\\\" is auto controlled. Specify either \" + defaultPropName + \" or \" + prop + \", but not both.\");\n }\n }\n\n return acc;\n }, {});\n _this.state = _extends({}, state, initialAutoControlledState, {\n autoControlledProps: autoControlledProps,\n getAutoControlledStateFromProps: getAutoControlledStateFromProps\n });\n return _this;\n }\n\n ModernAutoControlledComponent.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var autoControlledProps = state.autoControlledProps,\n getAutoControlledStateFromProps = state.getAutoControlledStateFromProps; // Solve the next state for autoControlledProps\n\n var newStateFromProps = autoControlledProps.reduce(function (acc, prop) {\n var isNextDefined = !_isUndefined(props[prop]); // if next is defined then use its value\n\n if (isNextDefined) acc[prop] = props[prop];\n return acc;\n }, {}); // Due to the inheritance of the AutoControlledComponent we should call its\n // getAutoControlledStateFromProps() and merge it with the existing state\n\n if (getAutoControlledStateFromProps) {\n var computedState = getAutoControlledStateFromProps(props, _extends({}, state, newStateFromProps), state); // We should follow the idea of getDerivedStateFromProps() and return only modified state\n\n return _extends({}, newStateFromProps, computedState);\n }\n\n return newStateFromProps;\n }\n /**\n * Override this method to use getDerivedStateFromProps() in child components.\n */\n ;\n\n ModernAutoControlledComponent.getAutoControlledStateFromProps = function getAutoControlledStateFromProps() {\n return null;\n };\n\n return ModernAutoControlledComponent;\n}(React.Component);\n\nexport { ModernAutoControlledComponent as default };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _isNil from \"lodash/isNil\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, htmlImageProps, partitionHTMLProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useVerticalAlignProp } from '../../lib';\nimport Dimmer from '../../modules/Dimmer';\nimport Label from '../Label/Label';\nimport ImageGroup from './ImageGroup';\n/**\n * An image is a graphic representation of something.\n * @see Icon\n */\n\nfunction Image(props) {\n var avatar = props.avatar,\n bordered = props.bordered,\n centered = props.centered,\n children = props.children,\n circular = props.circular,\n className = props.className,\n content = props.content,\n dimmer = props.dimmer,\n disabled = props.disabled,\n floated = props.floated,\n fluid = props.fluid,\n hidden = props.hidden,\n href = props.href,\n inline = props.inline,\n label = props.label,\n rounded = props.rounded,\n size = props.size,\n spaced = props.spaced,\n verticalAlign = props.verticalAlign,\n wrapped = props.wrapped,\n ui = props.ui;\n var classes = cx(useKeyOnly(ui, 'ui'), size, useKeyOnly(avatar, 'avatar'), useKeyOnly(bordered, 'bordered'), useKeyOnly(circular, 'circular'), useKeyOnly(centered, 'centered'), useKeyOnly(disabled, 'disabled'), useKeyOnly(fluid, 'fluid'), useKeyOnly(hidden, 'hidden'), useKeyOnly(inline, 'inline'), useKeyOnly(rounded, 'rounded'), useKeyOrValueAndKey(spaced, 'spaced'), useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign, 'aligned'), 'image', className);\n var rest = getUnhandledProps(Image, props);\n\n var _partitionHTMLProps = partitionHTMLProps(rest, {\n htmlProps: htmlImageProps\n }),\n imgTagProps = _partitionHTMLProps[0],\n rootProps = _partitionHTMLProps[1];\n\n var ElementType = getElementType(Image, props, function () {\n if (!_isNil(dimmer) || !_isNil(label) || !_isNil(wrapped) || !childrenUtils.isNil(children)) {\n return 'div';\n }\n });\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n if (ElementType === 'img') {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rootProps, imgTagProps, {\n className: classes\n }));\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rootProps, {\n className: classes,\n href: href\n }), Dimmer.create(dimmer, {\n autoGenerateKey: false\n }), Label.create(label, {\n autoGenerateKey: false\n }), /*#__PURE__*/React.createElement(\"img\", imgTagProps));\n}\n\nImage.handledProps = [\"as\", \"avatar\", \"bordered\", \"centered\", \"children\", \"circular\", \"className\", \"content\", \"dimmer\", \"disabled\", \"floated\", \"fluid\", \"hidden\", \"href\", \"inline\", \"label\", \"rounded\", \"size\", \"spaced\", \"ui\", \"verticalAlign\", \"wrapped\"];\nImage.Group = ImageGroup;\nImage.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** An image may be formatted to appear inline with text as an avatar. */\n avatar: PropTypes.bool,\n\n /** An image may include a border to emphasize the edges of white or transparent content. */\n bordered: PropTypes.bool,\n\n /** An image can appear centered in a content block. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** An image may appear circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** An image can show that it is disabled and cannot be selected. */\n disabled: PropTypes.bool,\n\n /** Shorthand for Dimmer. */\n dimmer: customPropTypes.itemShorthand,\n\n /** An image can sit to the left or right of other content. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** An image can take up the width of its container. */\n fluid: customPropTypes.every([PropTypes.bool, customPropTypes.disallow(['size'])]),\n\n /** An image can be hidden. */\n hidden: PropTypes.bool,\n\n /** Renders the Image as an tag with this href. */\n href: PropTypes.string,\n\n /** An image may appear inline. */\n inline: PropTypes.bool,\n\n /** Shorthand for Label. */\n label: customPropTypes.itemShorthand,\n\n /** An image may appear rounded. */\n rounded: PropTypes.bool,\n\n /** An image may appear at different sizes. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** An image can specify that it needs an additional spacing to separate it from nearby content. */\n spaced: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n\n /** Whether or not to add the ui className. */\n ui: PropTypes.bool,\n\n /** An image can specify its vertical alignment. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS),\n\n /** An image can render wrapped in a `div.ui.image` as alternative HTML markup. */\n wrapped: PropTypes.bool\n} : {};\nImage.defaultProps = {\n as: 'img',\n ui: true\n};\nImage.create = createShorthandFactory(Image, function (value) {\n return {\n src: value\n };\n});\nexport default Image;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useValueAndKey, useVerticalAlignProp } from '../../lib';\nimport ListDescription from './ListDescription';\nimport ListHeader from './ListHeader';\n/**\n * A list item can contain a content.\n */\n\nfunction ListContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n floated = props.floated,\n header = props.header,\n verticalAlign = props.verticalAlign;\n var classes = cx(useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign), 'content', className);\n var rest = getUnhandledProps(ListContent, props);\n var ElementType = getElementType(ListContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), ListHeader.create(header), ListDescription.create(description), content);\n}\n\nListContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"floated\", \"header\", \"verticalAlign\"];\nListContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for ListDescription. */\n description: customPropTypes.itemShorthand,\n\n /** An list content can be floated left or right. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** Shorthand for ListHeader. */\n header: customPropTypes.itemShorthand,\n\n /** An element inside a list can be vertically aligned. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nListContent.create = createShorthandFactory(ListContent, function (content) {\n return {\n content: content\n };\n});\nexport default ListContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _startCase from \"lodash/startCase\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\nimport Icon from '../../elements/Icon';\n/**\n * A menu can contain an item.\n */\n\nvar MenuItem = /*#__PURE__*/function (_Component) {\n _inheritsLoose(MenuItem, _Component);\n\n function MenuItem() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n if (!disabled) _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = MenuItem.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n color = _this$props.color,\n content = _this$props.content,\n disabled = _this$props.disabled,\n fitted = _this$props.fitted,\n header = _this$props.header,\n icon = _this$props.icon,\n link = _this$props.link,\n name = _this$props.name,\n onClick = _this$props.onClick,\n position = _this$props.position;\n var classes = cx(color, position, useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(icon === true || icon && !(name || content), 'icon'), useKeyOnly(header, 'header'), useKeyOnly(link, 'link'), useKeyOrValueAndKey(fitted, 'fitted'), 'item', className);\n var ElementType = getElementType(MenuItem, this.props, function () {\n if (onClick) return 'a';\n });\n var rest = getUnhandledProps(MenuItem, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), Icon.create(icon, {\n autoGenerateKey: false\n }), childrenUtils.isNil(content) ? _startCase(name) : content);\n };\n\n return MenuItem;\n}(Component);\n\nMenuItem.handledProps = [\"active\", \"as\", \"children\", \"className\", \"color\", \"content\", \"disabled\", \"fitted\", \"header\", \"icon\", \"index\", \"link\", \"name\", \"onClick\", \"position\"];\nexport { MenuItem as default };\nMenuItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A menu item can be active. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Additional colors can be specified. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A menu item can be disabled. */\n disabled: PropTypes.bool,\n\n /** A menu item or menu can remove element padding, vertically or horizontally. */\n fitted: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['horizontally', 'vertically'])]),\n\n /** A menu item may include a header or may itself be a header. */\n header: PropTypes.bool,\n\n /** MenuItem can be only icon. */\n icon: PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand]),\n\n /** MenuItem index inside Menu. */\n index: PropTypes.number,\n\n /** A menu item can be link. */\n link: PropTypes.bool,\n\n /** Internal name of the MenuItem. */\n name: PropTypes.string,\n\n /**\n * Called on click. When passed, the component will render as an `a`\n * tag by default instead of a `div`.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /** A menu item can take left or right position. */\n position: PropTypes.oneOf(['left', 'right'])\n} : {};\nMenuItem.create = createShorthandFactory(MenuItem, function (val) {\n return {\n content: val,\n name: val\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A table can have a header.\n */\n\nfunction TableHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n fullWidth = props.fullWidth;\n var classes = cx(useKeyOnly(fullWidth, 'full-width'), className);\n var rest = getUnhandledProps(TableHeader, props);\n var ElementType = getElementType(TableHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nTableHeader.handledProps = [\"as\", \"children\", \"className\", \"content\", \"fullWidth\"];\nTableHeader.defaultProps = {\n as: 'thead'\n};\nTableHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A definition table can have a full width header or footer, filling in the gap left by the first column. */\n fullWidth: PropTypes.bool\n} : {};\nexport default TableHeader;","import _inRange from \"lodash/inRange\";\nimport _first from \"lodash/first\";\nimport _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport _some from \"lodash/some\";\n\n/**\n * Determines if a click's coordinates are within the bounds of a node.\n *\n * @see https://github.com/Semantic-Org/Semantic-UI-React/pull/2384\n *\n * @param {object} node - A DOM node.\n * @param {object} e - A SyntheticEvent or DOM Event.\n * @returns {boolean}\n */\nvar doesNodeContainClick = function doesNodeContainClick(node, e) {\n if (_some([e, node], _isNil)) return false; // if there is an e.target and it is in the document, use a simple node.contains() check\n\n if (e.target) {\n _invoke(e.target, 'setAttribute', 'data-suir-click-target', true);\n\n if (document.querySelector('[data-suir-click-target=true]')) {\n _invoke(e.target, 'removeAttribute', 'data-suir-click-target');\n\n return node.contains(e.target);\n }\n } // Below logic handles cases where the e.target is no longer in the document.\n // The result of the click likely has removed the e.target node.\n // Instead of node.contains(), we'll identify the click by X/Y position.\n // return early if the event properties aren't available\n // prevent measuring the node and repainting if we don't need to\n\n\n var clientX = e.clientX,\n clientY = e.clientY;\n if (_some([clientX, clientY], _isNil)) return false; // false if the node is not visible\n\n var clientRects = node.getClientRects(); // Heads Up!\n // getClientRects returns a DOMRectList, not an array nor a plain object\n // We explicitly avoid _.isEmpty and check .length to cover all possible shapes\n\n if (!node.offsetWidth || !node.offsetHeight || !clientRects || !clientRects.length) return false; // false if the node doesn't have a valid bounding rect\n\n var _first2 = _first(clientRects),\n top = _first2.top,\n bottom = _first2.bottom,\n left = _first2.left,\n right = _first2.right;\n\n if (_some([top, bottom, left, right], _isNil)) return false; // we add a small decimal to the upper bound just to make it inclusive\n // don't add an whole pixel (1) as the event/node values may be decimal sensitive\n\n return _inRange(clientY, top, bottom + 0.001) && _inRange(clientX, left, right + 0.001);\n};\n\nexport default doesNodeContainClick;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A message list can contain an item.\n */\n\nfunction MessageItem(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('content', className);\n var rest = getUnhandledProps(MessageItem, props);\n var ElementType = getElementType(MessageItem, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMessageItem.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nMessageItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nMessageItem.defaultProps = {\n as: 'li'\n};\nMessageItem.create = createShorthandFactory(MessageItem, function (content) {\n return {\n content: content\n };\n});\nexport default MessageItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { createShorthandFactory, getUnhandledProps, SUI, useVerticalAlignProp } from '../../lib';\nimport Icon from '../Icon/Icon';\n/**\n * A list item can contain an icon.\n */\n\nfunction ListIcon(props) {\n var className = props.className,\n verticalAlign = props.verticalAlign;\n var classes = cx(useVerticalAlignProp(verticalAlign), className);\n var rest = getUnhandledProps(ListIcon, props);\n return /*#__PURE__*/React.createElement(Icon, _extends({}, rest, {\n className: classes\n }));\n}\n\nListIcon.handledProps = [\"className\", \"verticalAlign\"];\nListIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Additional classes. */\n className: PropTypes.string,\n\n /** An element inside a list can be vertically aligned. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nListIcon.create = createShorthandFactory(ListIcon, function (name) {\n return {\n name: name\n };\n});\nexport default ListIcon;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useTextAlignProp } from '../../lib';\n/**\n * A card can contain a header.\n */\n\nfunction CardHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n textAlign = props.textAlign;\n var classes = cx(useTextAlignProp(textAlign), 'header', className);\n var rest = getUnhandledProps(CardHeader, props);\n var ElementType = getElementType(CardHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCardHeader.handledProps = [\"as\", \"children\", \"className\", \"content\", \"textAlign\"];\nCardHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A card header can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useTextAlignProp } from '../../lib';\n/**\n * A card can contain content metadata.\n */\n\nfunction CardMeta(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n textAlign = props.textAlign;\n var classes = cx(useTextAlignProp(textAlign), 'meta', className);\n var rest = getUnhandledProps(CardMeta, props);\n var ElementType = getElementType(CardMeta, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCardMeta.handledProps = [\"as\", \"children\", \"className\", \"content\", \"textAlign\"];\nCardMeta.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A card meta can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardMeta;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useTextAlignProp } from '../../lib';\n/**\n * A card can contain a description with one or more paragraphs.\n */\n\nfunction CardDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n textAlign = props.textAlign;\n var classes = cx(useTextAlignProp(textAlign), 'description', className);\n var rest = getUnhandledProps(CardDescription, props);\n var ElementType = getElementType(CardDescription, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCardDescription.handledProps = [\"as\", \"children\", \"className\", \"content\", \"textAlign\"];\nCardDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A card content can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardDescription;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A step can contain a title.\n */\n\nfunction StepTitle(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('title', className);\n var rest = getUnhandledProps(StepTitle, props);\n var ElementType = getElementType(StepTitle, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nStepTitle.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nStepTitle.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nStepTitle.create = createShorthandFactory(StepTitle, function (content) {\n return {\n content: content\n };\n});\nexport default StepTitle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n\nfunction StepDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('description', className);\n var rest = getUnhandledProps(StepDescription, props);\n var ElementType = getElementType(StepDescription, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nStepDescription.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nStepDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nStepDescription.create = createShorthandFactory(StepDescription, function (content) {\n return {\n content: content\n };\n});\nexport default StepDescription;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { createShorthandFactory, customPropTypes } from '../../lib';\nimport AccordionTitle from './AccordionTitle';\nimport AccordionContent from './AccordionContent';\n/**\n * A panel sub-component for Accordion component.\n */\n\nvar AccordionPanel = /*#__PURE__*/function (_Component) {\n _inheritsLoose(AccordionPanel, _Component);\n\n function AccordionPanel() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleTitleOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e, titleProps) {\n _invoke(predefinedProps, 'onClick', e, titleProps);\n\n _invoke(_this.props, 'onTitleClick', e, titleProps);\n }\n };\n };\n\n return _this;\n }\n\n var _proto = AccordionPanel.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n content = _this$props.content,\n index = _this$props.index,\n title = _this$props.title;\n return /*#__PURE__*/React.createElement(React.Fragment, null, AccordionTitle.create(title, {\n autoGenerateKey: false,\n defaultProps: {\n active: active,\n index: index\n },\n overrideProps: this.handleTitleOverrides\n }), AccordionContent.create(content, {\n autoGenerateKey: false,\n defaultProps: {\n active: active\n }\n }));\n };\n\n return AccordionPanel;\n}(Component);\n\nAccordionPanel.handledProps = [\"active\", \"content\", \"index\", \"onTitleClick\", \"title\"];\nAccordionPanel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Whether or not the title is in the open state. */\n active: PropTypes.bool,\n\n /** A shorthand for Accordion.Content. */\n content: customPropTypes.itemShorthand,\n\n /** A panel index. */\n index: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Called when a panel title is clicked.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All item props.\n */\n onTitleClick: PropTypes.func,\n\n /** A shorthand for Accordion.Title. */\n title: customPropTypes.itemShorthand\n} : {};\nAccordionPanel.create = createShorthandFactory(AccordionPanel, null);\nexport default AccordionPanel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _isNil from \"lodash/isNil\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Icon from '../../elements/Icon';\n/**\n * A title sub-component for Accordion component.\n */\n\nvar AccordionTitle = /*#__PURE__*/function (_Component) {\n _inheritsLoose(AccordionTitle, _Component);\n\n function AccordionTitle() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n return _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = AccordionTitle.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n icon = _this$props.icon;\n var classes = cx(useKeyOnly(active, 'active'), 'title', className);\n var rest = getUnhandledProps(AccordionTitle, this.props);\n var ElementType = getElementType(AccordionTitle, this.props);\n var iconValue = _isNil(icon) ? 'dropdown' : icon;\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), Icon.create(iconValue, {\n autoGenerateKey: false\n }), content);\n };\n\n return AccordionTitle;\n}(Component);\n\nAccordionTitle.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"icon\", \"index\", \"onClick\"];\nexport { AccordionTitle as default };\nAccordionTitle.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Whether or not the title is in the open state. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for Icon. */\n icon: customPropTypes.itemShorthand,\n\n /** AccordionTitle index inside Accordion. */\n index: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func\n} : {};\nAccordionTitle.create = createShorthandFactory(AccordionTitle, function (content) {\n return {\n content: content\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A content sub-component for Accordion component.\n */\n\nfunction AccordionContent(props) {\n var active = props.active,\n children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('content', useKeyOnly(active, 'active'), className);\n var rest = getUnhandledProps(AccordionContent, props);\n var ElementType = getElementType(AccordionContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nAccordionContent.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\"];\nAccordionContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Whether or not the content is visible. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nAccordionContent.create = createShorthandFactory(AccordionContent, function (content) {\n return {\n content: content\n };\n});\nexport default AccordionContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * An item can contain a header.\n */\n\nfunction ItemHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(ItemHeader, props);\n var ElementType = getElementType(ItemHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nItemHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nItemHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nItemHeader.create = createShorthandFactory(ItemHeader, function (content) {\n return {\n content: content\n };\n});\nexport default ItemHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * An item can contain content metadata.\n */\n\nfunction ItemMeta(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('meta', className);\n var rest = getUnhandledProps(ItemMeta, props);\n var ElementType = getElementType(ItemMeta, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nItemMeta.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nItemMeta.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nItemMeta.create = createShorthandFactory(ItemMeta, function (content) {\n return {\n content: content\n };\n});\nexport default ItemMeta;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * An item can contain a description with a single or multiple paragraphs.\n */\n\nfunction ItemDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('description', className);\n var rest = getUnhandledProps(ItemDescription, props);\n var ElementType = getElementType(ItemDescription, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nItemDescription.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nItemDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nItemDescription.create = createShorthandFactory(ItemDescription, function (content) {\n return {\n content: content\n };\n});\nexport default ItemDescription;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * An item can contain extra content meant to be formatted separately from the main content.\n */\n\nfunction ItemExtra(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('extra', className);\n var rest = getUnhandledProps(ItemExtra, props);\n var ElementType = getElementType(ItemExtra, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nItemExtra.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nItemExtra.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nItemExtra.create = createShorthandFactory(ItemExtra, function (content) {\n return {\n content: content\n };\n});\nexport default ItemExtra;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { childrenUtils, customPropTypes, doesNodeContainClick, getElementType, getUnhandledProps, useKeyOnly, useVerticalAlignProp } from '../../lib';\n/**\n * An inner element for a Dimmer.\n */\n\nvar DimmerInner = /*#__PURE__*/function (_Component) {\n _inheritsLoose(DimmerInner, _Component);\n\n function DimmerInner() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.containerRef = /*#__PURE__*/createRef();\n _this.contentRef = /*#__PURE__*/createRef();\n\n _this.handleClick = function (e) {\n var contentRef = _this.contentRef.current;\n\n _invoke(_this.props, 'onClick', e, _this.props);\n\n if (contentRef && contentRef !== e.target && doesNodeContainClick(contentRef, e)) {\n return;\n }\n\n _invoke(_this.props, 'onClickOutside', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = DimmerInner.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var active = this.props.active;\n this.toggleStyles(active);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var currentActive = this.props.active;\n var prevActive = prevProps.active;\n if (prevActive !== currentActive) this.toggleStyles(currentActive);\n };\n\n _proto.toggleStyles = function toggleStyles(active) {\n var containerRef = this.containerRef.current;\n if (!containerRef || !containerRef.style) return;\n\n if (active) {\n containerRef.style.setProperty('display', 'flex', 'important');\n } else {\n containerRef.style.removeProperty('display');\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n disabled = _this$props.disabled,\n inverted = _this$props.inverted,\n page = _this$props.page,\n simple = _this$props.simple,\n verticalAlign = _this$props.verticalAlign;\n var classes = cx('ui', useKeyOnly(active, 'active transition visible'), useKeyOnly(disabled, 'disabled'), useKeyOnly(inverted, 'inverted'), useKeyOnly(page, 'page'), useKeyOnly(simple, 'simple'), useVerticalAlignProp(verticalAlign), 'dimmer', className);\n var rest = getUnhandledProps(DimmerInner, this.props);\n var ElementType = getElementType(DimmerInner, this.props);\n var childrenContent = childrenUtils.isNil(children) ? content : children;\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.containerRef\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), childrenContent && /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\",\n ref: this.contentRef\n }, childrenContent)));\n };\n\n return DimmerInner;\n}(Component);\n\nDimmerInner.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"disabled\", \"inverted\", \"onClick\", \"onClickOutside\", \"page\", \"simple\", \"verticalAlign\"];\nexport { DimmerInner as default };\nDimmerInner.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** An active dimmer will dim its parent container. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A disabled dimmer cannot be activated */\n disabled: PropTypes.bool,\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * Handles click outside Dimmer's content, but inside Dimmer area.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClickOutside: PropTypes.func,\n\n /** A dimmer can be formatted to have its colors inverted. */\n inverted: PropTypes.bool,\n\n /** A dimmer can be formatted to be fixed to the page. */\n page: PropTypes.bool,\n\n /** A dimmer can be controlled with simple prop. */\n simple: PropTypes.bool,\n\n /** A dimmer can have its content top or bottom aligned. */\n verticalAlign: PropTypes.oneOf(['bottom', 'top'])\n} : {};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthand, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useTextAlignProp } from '../../lib';\nimport CardDescription from './CardDescription';\nimport CardHeader from './CardHeader';\nimport CardMeta from './CardMeta';\n/**\n * A card can contain blocks of content or extra content meant to be formatted separately from the main content.\n */\n\nfunction CardContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n extra = props.extra,\n header = props.header,\n meta = props.meta,\n textAlign = props.textAlign;\n var classes = cx(useKeyOnly(extra, 'extra'), useTextAlignProp(textAlign), 'content', className);\n var rest = getUnhandledProps(CardContent, props);\n var ElementType = getElementType(CardContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), createShorthand(CardHeader, function (val) {\n return {\n content: val\n };\n }, header, {\n autoGenerateKey: false\n }), createShorthand(CardMeta, function (val) {\n return {\n content: val\n };\n }, meta, {\n autoGenerateKey: false\n }), createShorthand(CardDescription, function (val) {\n return {\n content: val\n };\n }, description, {\n autoGenerateKey: false\n }));\n}\n\nCardContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"extra\", \"header\", \"meta\", \"textAlign\"];\nCardContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for CardDescription. */\n description: customPropTypes.itemShorthand,\n\n /** A card can contain extra content meant to be formatted separately from the main content. */\n extra: PropTypes.bool,\n\n /** Shorthand for CardHeader. */\n header: customPropTypes.itemShorthand,\n\n /** Shorthand for CardMeta. */\n meta: customPropTypes.itemShorthand,\n\n /** A card content can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardContent;","import { instance } from '@semantic-ui-react/event-stack';\nexport default instance;","import { numberToWord } from './numberToWord';\n/*\n * There are 3 prop patterns used to build up the className for a component.\n * Each utility here is meant for use in a classnames() argument.\n *\n * There is no util for valueOnly() because it would simply return val.\n * Use the prop value inline instead.\n * \n * \n */\n\n/**\n * Props where only the prop key is used in the className.\n * @param {*} val A props value\n * @param {string} key A props key\n *\n * @example\n * \n * \n */\n\nexport var useKeyOnly = function useKeyOnly(val, key) {\n return val && key;\n};\n/**\n * Props that require both a key and value to create a className.\n * @param {*} val A props value\n * @param {string} key A props key\n *\n * @example\n * \n * \n */\n\nexport var useValueAndKey = function useValueAndKey(val, key) {\n return val && val !== true && val + \" \" + key;\n};\n/**\n * Props whose key will be used in className, or value and key.\n * @param {*} val A props value\n * @param {string} key A props key\n *\n * @example Key Only\n * \n * \n *\n * @example Key and Value\n * \n * \n */\n\nexport var useKeyOrValueAndKey = function useKeyOrValueAndKey(val, key) {\n return val && (val === true ? key : val + \" \" + key);\n}; //\n// Prop to className exceptions\n//\n\n/**\n * The \"multiple\" prop implements control of visibility and reserved classes for Grid subcomponents.\n *\n * @param {*} val The value of the \"multiple\" prop\n * @param {*} key A props key\n *\n * @example\n * \n * \n * \n * \n */\n\nexport var useMultipleProp = function useMultipleProp(val, key) {\n if (!val || val === true) return null;\n return val.replace('large screen', 'large-screen').replace(/ vertically/g, '-vertically').split(' ').map(function (prop) {\n return prop.replace('-', ' ') + \" \" + key;\n }).join(' ');\n};\n/**\n * The \"textAlign\" prop follows the useValueAndKey except when the value is \"justified'.\n * In this case, only the class \"justified\" is used, ignoring the \"aligned\" class.\n * @param {*} val The value of the \"textAlign\" prop\n *\n * @example\n * \n * \n *\n * @example\n * \n * \n */\n\nexport var useTextAlignProp = function useTextAlignProp(val) {\n return val === 'justified' ? 'justified' : useValueAndKey(val, 'aligned');\n};\n/**\n * The \"verticalAlign\" prop follows the useValueAndKey.\n *\n * @param {*} val The value of the \"verticalAlign\" prop\n *\n * @example\n * \n * \n */\n\nexport var useVerticalAlignProp = function useVerticalAlignProp(val) {\n return useValueAndKey(val, 'aligned');\n};\n/**\n * Create \"X\", \"X wide\" and \"equal width\" classNames.\n * \"X\" is a numberToWord value and \"wide\" is configurable.\n * @param {*} val The prop value\n * @param {string} [widthClass=''] The class\n * @param {boolean} [canEqual=false] Flag that indicates possibility of \"equal\" value\n *\n * @example\n * \n * \n *\n * \n * \n *\n * \n * \n *\n * @example\n * \n * \n */\n\nexport var useWidthProp = function useWidthProp(val, widthClass, canEqual) {\n if (widthClass === void 0) {\n widthClass = '';\n }\n\n if (canEqual === void 0) {\n canEqual = false;\n }\n\n if (canEqual && val === 'equal') {\n return 'equal width';\n }\n\n var valType = typeof val;\n\n if ((valType === 'string' || valType === 'number') && widthClass) {\n return numberToWord(val) + \" \" + widthClass;\n }\n\n return numberToWord(val);\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useVerticalAlignProp } from '../../lib';\nimport ListContent from './ListContent';\nimport ListDescription from './ListDescription';\nimport ListHeader from './ListHeader';\nimport ListIcon from './ListIcon';\nimport ListItem from './ListItem';\nimport ListList from './ListList';\n/**\n * A list groups related content.\n */\n\nvar List = /*#__PURE__*/function (_Component) {\n _inheritsLoose(List, _Component);\n\n function List() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleItemOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e, itemProps) {\n _invoke(predefinedProps, 'onClick', e, itemProps);\n\n _invoke(_this.props, 'onItemClick', e, itemProps);\n }\n };\n };\n\n return _this;\n }\n\n var _proto = List.prototype;\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n animated = _this$props.animated,\n bulleted = _this$props.bulleted,\n celled = _this$props.celled,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n divided = _this$props.divided,\n floated = _this$props.floated,\n horizontal = _this$props.horizontal,\n inverted = _this$props.inverted,\n items = _this$props.items,\n link = _this$props.link,\n ordered = _this$props.ordered,\n relaxed = _this$props.relaxed,\n selection = _this$props.selection,\n size = _this$props.size,\n verticalAlign = _this$props.verticalAlign;\n var classes = cx('ui', size, useKeyOnly(animated, 'animated'), useKeyOnly(bulleted, 'bulleted'), useKeyOnly(celled, 'celled'), useKeyOnly(divided, 'divided'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(inverted, 'inverted'), useKeyOnly(link, 'link'), useKeyOnly(ordered, 'ordered'), useKeyOnly(selection, 'selection'), useKeyOrValueAndKey(relaxed, 'relaxed'), useValueAndKey(floated, 'floated'), useVerticalAlignProp(verticalAlign), 'list', className);\n var rest = getUnhandledProps(List, this.props);\n var ElementType = getElementType(List, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({\n role: \"list\",\n className: classes\n }, rest), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({\n role: \"list\",\n className: classes\n }, rest), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({\n role: \"list\",\n className: classes\n }, rest), _map(items, function (item) {\n return ListItem.create(item, {\n overrideProps: _this2.handleItemOverrides\n });\n }));\n };\n\n return List;\n}(Component);\n\nList.handledProps = [\"animated\", \"as\", \"bulleted\", \"celled\", \"children\", \"className\", \"content\", \"divided\", \"floated\", \"horizontal\", \"inverted\", \"items\", \"link\", \"onItemClick\", \"ordered\", \"relaxed\", \"selection\", \"size\", \"verticalAlign\"];\nList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A list can animate to set the current item apart from the list. */\n animated: PropTypes.bool,\n\n /** A list can mark items with a bullet. */\n bulleted: PropTypes.bool,\n\n /** A list can divide its items into cells. */\n celled: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A list can show divisions between content. */\n divided: PropTypes.bool,\n\n /** An list can be floated left or right. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A list can be formatted to have items appear horizontally. */\n horizontal: PropTypes.bool,\n\n /** A list can be inverted to appear on a dark background. */\n inverted: PropTypes.bool,\n\n /** Shorthand array of props for ListItem. */\n items: customPropTypes.collectionShorthand,\n\n /** A list can be specially formatted for navigation links. */\n link: PropTypes.bool,\n\n /**\n * onClick handler for ListItem. Mutually exclusive with children.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All item props.\n */\n onItemClick: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.func]),\n\n /** A list can be ordered numerically. */\n ordered: PropTypes.bool,\n\n /** A list can relax its padding to provide more negative space. */\n relaxed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** A selection list formats list items as possible choices. */\n selection: PropTypes.bool,\n\n /** A list can vary in size. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** An element inside a list can be vertically aligned. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nList.Content = ListContent;\nList.Description = ListDescription;\nList.Header = ListHeader;\nList.Icon = ListIcon;\nList.Item = ListItem;\nList.List = ListList;\nexport default List;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { createPortal } from 'react-dom';\nimport { customPropTypes, isBrowser } from '../../lib';\n\n/**\n * An inner component that allows you to render children outside their parent.\n */\nvar PortalInner = /*#__PURE__*/function (_Component) {\n _inheritsLoose(PortalInner, _Component);\n\n function PortalInner() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleRef = function (c) {\n handleRef(_this.props.innerRef, c);\n };\n\n return _this;\n }\n\n var _proto = PortalInner.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n _invoke(this.props, 'onMount', null, this.props);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n _invoke(this.props, 'onUnmount', null, this.props);\n };\n\n _proto.render = function render() {\n if (!isBrowser()) return null;\n var _this$props = this.props,\n children = _this$props.children,\n _this$props$mountNode = _this$props.mountNode,\n mountNode = _this$props$mountNode === void 0 ? document.body : _this$props$mountNode;\n return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.handleRef\n }, children), mountNode);\n };\n\n return PortalInner;\n}(Component);\n\nPortalInner.handledProps = [\"children\", \"innerRef\", \"mountNode\", \"onMount\", \"onUnmount\"];\nPortalInner.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Primary content. */\n children: PropTypes.node.isRequired,\n\n /** Called with a ref to the inner node. */\n innerRef: customPropTypes.ref,\n\n /** The node where the portal should mount. */\n mountNode: PropTypes.any,\n\n /**\n * Called when the portal is mounted on the DOM\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onMount: PropTypes.func,\n\n /**\n * Called when the portal is unmounted from the DOM\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onUnmount: PropTypes.func\n} : {};\nexport default PortalInner;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n\nfunction LabelDetail(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('detail', className);\n var rest = getUnhandledProps(LabelDetail, props);\n var ElementType = getElementType(LabelDetail, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nLabelDetail.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nLabelDetail.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nLabelDetail.create = createShorthandFactory(LabelDetail, function (val) {\n return {\n content: val\n };\n});\nexport default LabelDetail;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A dropdown contains a selected value.\n */\n\nfunction DropdownText(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('divider', className);\n var rest = getUnhandledProps(DropdownText, props);\n var ElementType = getElementType(DropdownText, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({\n \"aria-atomic\": true,\n \"aria-live\": \"polite\",\n role: \"alert\"\n }, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nDropdownText.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nDropdownText.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nDropdownText.create = createShorthandFactory(DropdownText, function (val) {\n return {\n content: val\n };\n});\nexport default DropdownText;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport _get from \"lodash/get\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { createShorthandFactory, getUnhandledProps } from '../../lib';\n/**\n * A search item sub-component for Dropdown component.\n */\n\nvar DropdownSearchInput = /*#__PURE__*/function (_Component) {\n _inheritsLoose(DropdownSearchInput, _Component);\n\n function DropdownSearchInput() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleChange = function (e) {\n var value = _get(e, 'target.value');\n\n _invoke(_this.props, 'onChange', e, _extends({}, _this.props, {\n value: value\n }));\n };\n\n return _this;\n }\n\n var _proto = DropdownSearchInput.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n autoComplete = _this$props.autoComplete,\n className = _this$props.className,\n tabIndex = _this$props.tabIndex,\n type = _this$props.type,\n value = _this$props.value;\n var classes = cx('search', className);\n var rest = getUnhandledProps(DropdownSearchInput, this.props);\n return /*#__PURE__*/React.createElement(\"input\", _extends({}, rest, {\n \"aria-autocomplete\": \"list\",\n autoComplete: autoComplete,\n className: classes,\n onChange: this.handleChange,\n tabIndex: tabIndex,\n type: type,\n value: value\n }));\n };\n\n return DropdownSearchInput;\n}(Component);\n\nDropdownSearchInput.handledProps = [\"as\", \"autoComplete\", \"className\", \"tabIndex\", \"type\", \"value\"];\nDropdownSearchInput.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** An input can have the auto complete. */\n autoComplete: PropTypes.string,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** An input can receive focus. */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** The HTML input type. */\n type: PropTypes.string,\n\n /** Stored value. */\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : {};\nDropdownSearchInput.defaultProps = {\n autoComplete: 'off',\n type: 'text'\n};\nDropdownSearchInput.create = createShorthandFactory(DropdownSearchInput, function (type) {\n return {\n type: type\n };\n});\nexport default DropdownSearchInput;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _isNil from \"lodash/isNil\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthand, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Flag from '../../elements/Flag';\nimport Icon from '../../elements/Icon';\nimport Image from '../../elements/Image';\nimport Label from '../../elements/Label';\n/**\n * An item sub-component for Dropdown component.\n */\n\nvar DropdownItem = /*#__PURE__*/function (_Component) {\n _inheritsLoose(DropdownItem, _Component);\n\n function DropdownItem() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = DropdownItem.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n disabled = _this$props.disabled,\n description = _this$props.description,\n flag = _this$props.flag,\n icon = _this$props.icon,\n image = _this$props.image,\n label = _this$props.label,\n selected = _this$props.selected,\n text = _this$props.text;\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(selected, 'selected'), 'item', className); // add default dropdown icon if item contains another menu\n\n var iconName = _isNil(icon) ? childrenUtils.someByType(children, 'DropdownMenu') && 'dropdown' : icon;\n var rest = getUnhandledProps(DropdownItem, this.props);\n var ElementType = getElementType(DropdownItem, this.props);\n var ariaOptions = {\n role: 'option',\n 'aria-disabled': disabled,\n 'aria-checked': active,\n 'aria-selected': selected\n };\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, ariaOptions, {\n className: classes,\n onClick: this.handleClick\n }), children);\n }\n\n var flagElement = Flag.create(flag, {\n autoGenerateKey: false\n });\n var iconElement = Icon.create(iconName, {\n autoGenerateKey: false\n });\n var imageElement = Image.create(image, {\n autoGenerateKey: false\n });\n var labelElement = Label.create(label, {\n autoGenerateKey: false\n });\n var descriptionElement = createShorthand('span', function (val) {\n return {\n children: val\n };\n }, description, {\n defaultProps: {\n className: 'description'\n },\n autoGenerateKey: false\n });\n var textElement = createShorthand('span', function (val) {\n return {\n children: val\n };\n }, childrenUtils.isNil(content) ? text : content, {\n defaultProps: {\n className: 'text'\n },\n autoGenerateKey: false\n });\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, ariaOptions, {\n className: classes,\n onClick: this.handleClick\n }), imageElement, iconElement, flagElement, labelElement, descriptionElement, textElement);\n };\n\n return DropdownItem;\n}(Component);\n\nDropdownItem.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"description\", \"disabled\", \"flag\", \"icon\", \"image\", \"label\", \"onClick\", \"selected\", \"text\", \"value\"];\nDropdownItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Style as the currently chosen item. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Additional text with less emphasis. */\n description: customPropTypes.itemShorthand,\n\n /** A dropdown item can be disabled. */\n disabled: PropTypes.bool,\n\n /** Shorthand for Flag. */\n flag: customPropTypes.itemShorthand,\n\n /** Shorthand for Icon. */\n icon: customPropTypes.itemShorthand,\n\n /** Shorthand for Image. */\n image: customPropTypes.itemShorthand,\n\n /** Shorthand for Label. */\n label: customPropTypes.itemShorthand,\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * The item currently selected by keyboard shortcut.\n * This is not the active item.\n */\n selected: PropTypes.bool,\n\n /** Display text. */\n text: customPropTypes.contentShorthand,\n\n /** Stored value. */\n value: PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string])\n} : {};\nDropdownItem.create = createShorthandFactory(DropdownItem, function (opts) {\n return opts;\n});\nexport default DropdownItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A dropdown menu can contain a menu.\n */\n\nfunction DropdownMenu(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n direction = props.direction,\n open = props.open,\n scrolling = props.scrolling;\n var classes = cx(direction, useKeyOnly(open, 'visible'), useKeyOnly(scrolling, 'scrolling'), 'menu transition', className);\n var rest = getUnhandledProps(DropdownMenu, props);\n var ElementType = getElementType(DropdownMenu, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nDropdownMenu.handledProps = [\"as\", \"children\", \"className\", \"content\", \"direction\", \"open\", \"scrolling\"];\nDropdownMenu.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A dropdown menu can open to the left or to the right. */\n direction: PropTypes.oneOf(['left', 'right']),\n\n /** Whether or not the dropdown menu is displayed. */\n open: PropTypes.bool,\n\n /** A dropdown menu can scroll. */\n scrolling: PropTypes.bool\n} : {};\nexport default DropdownMenu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport Icon from '../../elements/Icon';\n/**\n * A dropdown menu can contain a header.\n */\n\nfunction DropdownHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n icon = props.icon;\n var classes = cx('header', className);\n var rest = getUnhandledProps(DropdownHeader, props);\n var ElementType = getElementType(DropdownHeader, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), Icon.create(icon, {\n autoGenerateKey: false\n }), content);\n}\n\nDropdownHeader.handledProps = [\"as\", \"children\", \"className\", \"content\", \"icon\"];\nDropdownHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function) */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for Icon. */\n icon: customPropTypes.itemShorthand\n} : {};\nDropdownHeader.create = createShorthandFactory(DropdownHeader, function (content) {\n return {\n content: content\n };\n});\nexport default DropdownHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A PopupHeader displays a header in a Popover.\n */\n\nexport default function PopupHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(PopupHeader, props);\n var ElementType = getElementType(PopupHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\nPopupHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nPopupHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nPopupHeader.create = createShorthandFactory(PopupHeader, function (children) {\n return {\n children: children\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A PopupContent displays the content body of a Popover.\n */\n\nexport default function PopupContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('content', className);\n var rest = getUnhandledProps(PopupContent, props);\n var ElementType = getElementType(PopupContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\nPopupContent.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nPopupContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** The content of the Popup */\n children: PropTypes.node,\n\n /** Classes to add to the Popup content className. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nPopupContent.create = createShorthandFactory(PopupContent, function (children) {\n return {\n children: children\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A message can contain a content.\n */\n\nfunction MessageContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('content', className);\n var rest = getUnhandledProps(MessageContent, props);\n var ElementType = getElementType(MessageContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMessageContent.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nMessageContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default MessageContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A message can contain a header.\n */\n\nfunction MessageHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(MessageHeader, props);\n var ElementType = getElementType(MessageHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMessageHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nMessageHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nMessageHeader.create = createShorthandFactory(MessageHeader, function (val) {\n return {\n content: val\n };\n});\nexport default MessageHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _map from \"lodash/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport MessageItem from './MessageItem';\n/**\n * A message can contain a list of items.\n */\n\nfunction MessageList(props) {\n var children = props.children,\n className = props.className,\n items = props.items;\n var classes = cx('list', className);\n var rest = getUnhandledProps(MessageList, props);\n var ElementType = getElementType(MessageList, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? _map(items, MessageItem.create) : children);\n}\n\nMessageList.handledProps = [\"as\", \"children\", \"className\", \"items\"];\nMessageList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand Message.Items. */\n items: customPropTypes.collectionShorthand\n} : {};\nMessageList.defaultProps = {\n as: 'ul'\n};\nMessageList.create = createShorthandFactory(MessageList, function (val) {\n return {\n items: val\n };\n});\nexport default MessageList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A modal can have a header.\n */\n\nfunction ModalHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(ModalHeader, props);\n var ElementType = getElementType(ModalHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nModalHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nModalHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nModalHeader.create = createShorthandFactory(ModalHeader, function (content) {\n return {\n content: content\n };\n});\nexport default ModalHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A modal can contain content.\n */\n\nfunction ModalContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n image = props.image,\n scrolling = props.scrolling;\n var classes = cx(className, useKeyOnly(image, 'image'), useKeyOnly(scrolling, 'scrolling'), 'content');\n var rest = getUnhandledProps(ModalContent, props);\n var ElementType = getElementType(ModalContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nModalContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"image\", \"scrolling\"];\nModalContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A modal can contain image content. */\n image: PropTypes.bool,\n\n /** A modal can use the entire size of the screen. */\n scrolling: PropTypes.bool\n} : {};\nModalContent.create = createShorthandFactory(ModalContent, function (content) {\n return {\n content: content\n };\n});\nexport default ModalContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport Button from '../../elements/Button';\n/**\n * A modal can contain a row of actions.\n */\n\nvar ModalActions = /*#__PURE__*/function (_Component) {\n _inheritsLoose(ModalActions, _Component);\n\n function ModalActions() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleButtonOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e, buttonProps) {\n _invoke(predefinedProps, 'onClick', e, buttonProps);\n\n _invoke(_this.props, 'onActionClick', e, buttonProps);\n }\n };\n };\n\n return _this;\n }\n\n var _proto = ModalActions.prototype;\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n actions = _this$props.actions,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content;\n var classes = cx('actions', className);\n var rest = getUnhandledProps(ModalActions, this.props);\n var ElementType = getElementType(ModalActions, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), _map(actions, function (action) {\n return Button.create(action, {\n overrideProps: _this2.handleButtonOverrides\n });\n }));\n };\n\n return ModalActions;\n}(Component);\n\nModalActions.handledProps = [\"actions\", \"as\", \"children\", \"className\", \"content\", \"onActionClick\"];\nexport { ModalActions as default };\nModalActions.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Array of shorthand buttons. */\n actions: customPropTypes.collectionShorthand,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /**\n * Action onClick handler when using shorthand `actions`.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props from the clicked action.\n */\n onActionClick: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.func])\n} : {};\nModalActions.create = createShorthandFactory(ModalActions, function (actions) {\n return {\n actions: actions\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useClassNamesOnNode, useKeyOnly } from '../../lib';\n/**\n * A modal has a dimmer.\n */\n\nfunction ModalDimmer(props) {\n var blurring = props.blurring,\n children = props.children,\n className = props.className,\n centered = props.centered,\n content = props.content,\n inverted = props.inverted,\n mountNode = props.mountNode,\n scrolling = props.scrolling;\n var ref = React.useRef();\n var classes = cx('ui', useKeyOnly(inverted, 'inverted'), useKeyOnly(!centered, 'top aligned'), 'page modals dimmer transition visible active', className);\n var bodyClasses = cx('dimmable dimmed', useKeyOnly(blurring, 'blurring'), useKeyOnly(scrolling, 'scrolling'));\n var rest = getUnhandledProps(ModalDimmer, props);\n var ElementType = getElementType(ModalDimmer, props);\n useClassNamesOnNode(mountNode, bodyClasses);\n React.useEffect(function () {\n if (ref.current && ref.current.style) {\n ref.current.style.setProperty('display', 'flex', 'important');\n }\n }, []);\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: ref\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children));\n}\n\nModalDimmer.handledProps = [\"as\", \"blurring\", \"centered\", \"children\", \"className\", \"content\", \"inverted\", \"mountNode\", \"scrolling\"];\nModalDimmer.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A dimmer can be blurred. */\n blurring: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A dimmer can center its contents in the viewport. */\n centered: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A dimmer can be inverted. */\n inverted: PropTypes.bool,\n\n /** The node where the modal should mount. Defaults to document.body. */\n mountNode: PropTypes.any,\n\n /** A dimmer can make body scrollable. */\n scrolling: PropTypes.bool\n} : {};\nModalDimmer.create = createShorthandFactory(ModalDimmer, function (content) {\n return {\n content: content\n };\n});\nexport default ModalDimmer;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, isValidElement } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Image from '../Image';\nimport ListContent from './ListContent';\nimport ListDescription from './ListDescription';\nimport ListHeader from './ListHeader';\nimport ListIcon from './ListIcon';\n/**\n * A list item can contain a set of items.\n */\n\nvar ListItem = /*#__PURE__*/function (_Component) {\n _inheritsLoose(ListItem, _Component);\n\n function ListItem() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n if (!disabled) _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = ListItem.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n content = _this$props.content,\n description = _this$props.description,\n disabled = _this$props.disabled,\n header = _this$props.header,\n icon = _this$props.icon,\n image = _this$props.image,\n value = _this$props.value;\n var ElementType = getElementType(ListItem, this.props);\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(ElementType !== 'li', 'item'), className);\n var rest = getUnhandledProps(ListItem, this.props);\n var valueProp = ElementType === 'li' ? {\n value: value\n } : {\n 'data-value': value\n };\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), children);\n }\n\n var iconElement = ListIcon.create(icon, {\n autoGenerateKey: false\n });\n var imageElement = Image.create(image, {\n autoGenerateKey: false\n }); // See description of `content` prop for explanation about why this is necessary.\n\n if (! /*#__PURE__*/isValidElement(content) && _isPlainObject(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), iconElement || imageElement, ListContent.create(content, {\n autoGenerateKey: false,\n defaultProps: {\n header: header,\n description: description\n }\n }));\n }\n\n var headerElement = ListHeader.create(header, {\n autoGenerateKey: false\n });\n var descriptionElement = ListDescription.create(description, {\n autoGenerateKey: false\n });\n\n if (iconElement || imageElement) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), iconElement || imageElement, (content || headerElement || descriptionElement) && /*#__PURE__*/React.createElement(ListContent, null, headerElement, descriptionElement, content));\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, valueProp, {\n role: \"listitem\",\n className: classes,\n onClick: this.handleClick\n }, rest), headerElement, descriptionElement, content);\n };\n\n return ListItem;\n}(Component);\n\nListItem.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"description\", \"disabled\", \"header\", \"icon\", \"image\", \"onClick\", \"value\"];\nListItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A list item can active. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /**\n * Shorthand for primary content.\n *\n * Heads up!\n *\n * This is handled slightly differently than the typical `content` prop since\n * the wrapping ListContent is not used when there's no icon or image.\n *\n * If you pass content as:\n * - an element/literal, it's treated as the sibling node to\n * header/description (whether wrapped in Item.Content or not).\n * - a props object, it forces the presence of Item.Content and passes those\n * props to it. If you pass a content prop within that props object, it\n * will be treated as the sibling node to header/description.\n */\n content: customPropTypes.itemShorthand,\n\n /** Shorthand for ListDescription. */\n description: customPropTypes.itemShorthand,\n\n /** A list item can disabled. */\n disabled: PropTypes.bool,\n\n /** Shorthand for ListHeader. */\n header: customPropTypes.itemShorthand,\n\n /** Shorthand for ListIcon. */\n icon: customPropTypes.every([customPropTypes.disallow(['image']), customPropTypes.itemShorthand]),\n\n /** Shorthand for Image. */\n image: customPropTypes.every([customPropTypes.disallow(['icon']), customPropTypes.itemShorthand]),\n\n /** A ListItem can be clicked */\n onClick: PropTypes.func,\n\n /** A value for an ordered list. */\n value: PropTypes.string\n} : {};\nListItem.create = createShorthandFactory(ListItem, function (content) {\n return {\n content: content\n };\n});\nexport default ListItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * Headers may contain subheaders.\n */\n\nfunction HeaderSubheader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('sub header', className);\n var rest = getUnhandledProps(HeaderSubheader, props);\n var ElementType = getElementType(HeaderSubheader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nHeaderSubheader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nHeaderSubheader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nHeaderSubheader.create = createShorthandFactory(HeaderSubheader, function (content) {\n return {\n content: content\n };\n});\nexport default HeaderSubheader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * Header content wraps the main content when there is an adjacent Icon or Image.\n */\n\nfunction HeaderContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('content', className);\n var rest = getUnhandledProps(HeaderContent, props);\n var ElementType = getElementType(HeaderContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nHeaderContent.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nHeaderContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default HeaderContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport keyboardKey from 'keyboard-key';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * An internal icon sub-component for Rating component\n */\n\nvar RatingIcon = /*#__PURE__*/function (_Component) {\n _inheritsLoose(RatingIcon, _Component);\n\n function RatingIcon() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n _this.handleKeyUp = function (e) {\n _invoke(_this.props, 'onKeyUp', e, _this.props);\n\n switch (keyboardKey.getCode(e)) {\n case keyboardKey.Enter:\n case keyboardKey.Spacebar:\n e.preventDefault();\n\n _invoke(_this.props, 'onClick', e, _this.props);\n\n break;\n\n default:\n }\n };\n\n _this.handleMouseEnter = function (e) {\n _invoke(_this.props, 'onMouseEnter', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = RatingIcon.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n className = _this$props.className,\n selected = _this$props.selected;\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(selected, 'selected'), 'icon', className);\n var rest = getUnhandledProps(RatingIcon, this.props);\n var ElementType = getElementType(RatingIcon, this.props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick,\n onKeyUp: this.handleKeyUp,\n onMouseEnter: this.handleMouseEnter,\n role: \"radio\"\n }));\n };\n\n return RatingIcon;\n}(Component);\n\nRatingIcon.handledProps = [\"active\", \"as\", \"className\", \"index\", \"onClick\", \"onKeyUp\", \"onMouseEnter\", \"selected\"];\nexport { RatingIcon as default };\nRatingIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Indicates activity of an icon. */\n active: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** An index of icon inside Rating. */\n index: PropTypes.number,\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * Called on keyup.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onKeyUp: PropTypes.func,\n\n /**\n * Called on mouseenter.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onMouseEnter: PropTypes.func,\n\n /** Indicates selection of an icon. */\n selected: PropTypes.bool\n} : {};\nRatingIcon.defaultProps = {\n as: 'i'\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\n\nfunction TableBody(props) {\n var children = props.children,\n className = props.className;\n var classes = cx(className);\n var rest = getUnhandledProps(TableBody, props);\n var ElementType = getElementType(TableBody, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n}\n\nTableBody.handledProps = [\"as\", \"children\", \"className\"];\nTableBody.defaultProps = {\n as: 'tbody'\n};\nTableBody.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string\n} : {};\nexport default TableBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getUnhandledProps } from '../../lib';\nimport TableHeader from './TableHeader';\n/**\n * A table can have a footer.\n */\n\nfunction TableFooter(props) {\n var as = props.as;\n var rest = getUnhandledProps(TableFooter, props);\n return /*#__PURE__*/React.createElement(TableHeader, _extends({}, rest, {\n as: as\n }));\n}\n\nTableFooter.handledProps = [\"as\"];\nTableFooter.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType\n} : {};\nTableFooter.defaultProps = {\n as: 'tfoot'\n};\nexport default TableFooter;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport StepDescription from './StepDescription';\nimport StepTitle from './StepTitle';\n/**\n * A step can contain a content.\n */\n\nfunction StepContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n title = props.title;\n var classes = cx('content', className);\n var rest = getUnhandledProps(StepContent, props);\n var ElementType = getElementType(StepContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), StepTitle.create(title, {\n autoGenerateKey: false\n }), StepDescription.create(description, {\n autoGenerateKey: false\n }));\n}\n\nStepContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"title\"];\nStepContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for StepDescription. */\n description: customPropTypes.itemShorthand,\n\n /** Shorthand for StepTitle. */\n title: customPropTypes.itemShorthand\n} : {};\nStepContent.create = createShorthandFactory(StepContent, function (content) {\n return {\n content: content\n };\n});\nexport default StepContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport _without from \"lodash/without\";\nimport _includes from \"lodash/includes\";\nimport _isArray from \"lodash/isArray\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport AccordionPanel from './AccordionPanel';\n\nvar warnIfPropsAreInvalid = function warnIfPropsAreInvalid(props, state) {\n var exclusive = props.exclusive;\n var activeIndex = state.activeIndex;\n /* eslint-disable no-console */\n\n if (exclusive && typeof activeIndex !== 'number') {\n console.error('`activeIndex` must be a number if `exclusive` is true');\n } else if (!exclusive && !_isArray(activeIndex)) {\n console.error('`activeIndex` must be an array if `exclusive` is false');\n }\n /* eslint-enable no-console */\n\n};\n/**\n * An Accordion can contain sub-accordions.\n */\n\n\nvar AccordionAccordion = /*#__PURE__*/function (_Component) {\n _inheritsLoose(AccordionAccordion, _Component);\n\n function AccordionAccordion() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.computeNewIndex = function (index) {\n var exclusive = _this.props.exclusive;\n var activeIndex = _this.state.activeIndex;\n if (exclusive) return index === activeIndex ? -1 : index; // check to see if index is in array, and remove it, if not then add it\n\n return _includes(activeIndex, index) ? _without(activeIndex, index) : [].concat(activeIndex, [index]);\n };\n\n _this.handleTitleClick = function (e, titleProps) {\n var index = titleProps.index;\n\n _this.setState({\n activeIndex: _this.computeNewIndex(index)\n });\n\n _invoke(_this.props, 'onTitleClick', e, titleProps);\n };\n\n _this.isIndexActive = function (index) {\n var exclusive = _this.props.exclusive;\n var activeIndex = _this.state.activeIndex;\n return exclusive ? activeIndex === index : _includes(activeIndex, index);\n };\n\n return _this;\n }\n\n var _proto = AccordionAccordion.prototype;\n\n _proto.getInitialAutoControlledState = function getInitialAutoControlledState(_ref) {\n var exclusive = _ref.exclusive;\n return {\n activeIndex: exclusive ? -1 : []\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n if (process.env.NODE_ENV !== 'production') {\n warnIfPropsAreInvalid(this.props, this.state);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n if (process.env.NODE_ENV !== 'production') {\n warnIfPropsAreInvalid(this.props, this.state);\n }\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n className = _this$props.className,\n children = _this$props.children,\n panels = _this$props.panels;\n var classes = cx('accordion', className);\n var rest = getUnhandledProps(AccordionAccordion, this.props);\n var ElementType = getElementType(AccordionAccordion, this.props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? _map(panels, function (panel, index) {\n return AccordionPanel.create(panel, {\n defaultProps: {\n active: _this2.isIndexActive(index),\n index: index,\n onTitleClick: _this2.handleTitleClick\n }\n });\n }) : children);\n };\n\n return AccordionAccordion;\n}(Component);\n\nAccordionAccordion.handledProps = [\"activeIndex\", \"as\", \"children\", \"className\", \"defaultActiveIndex\", \"exclusive\", \"onTitleClick\", \"panels\"];\nexport { AccordionAccordion as default };\nAccordionAccordion.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Index of the currently active panel. */\n activeIndex: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])]),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Initial activeIndex value. */\n defaultActiveIndex: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])]),\n\n /** Only allow one panel open at a time. */\n exclusive: PropTypes.bool,\n\n /**\n * Called when a panel title is clicked.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All item props.\n */\n onTitleClick: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.func]),\n\n /** Shorthand array of props for Accordion. */\n panels: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.arrayOf(PropTypes.shape({\n content: customPropTypes.itemShorthand,\n title: customPropTypes.itemShorthand\n }))])\n} : {};\nAccordionAccordion.defaultProps = {\n exclusive: true\n};\nAccordionAccordion.autoControlledProps = ['activeIndex'];\nAccordionAccordion.create = createShorthandFactory(AccordionAccordion, function (content) {\n return {\n content: content\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Segment from '../../elements/Segment/Segment';\n/**\n * A tab pane holds the content of a tab.\n */\n\nfunction TabPane(props) {\n var active = props.active,\n children = props.children,\n className = props.className,\n content = props.content,\n loading = props.loading;\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(loading, 'loading'), 'tab', className);\n var rest = getUnhandledProps(TabPane, props);\n var ElementType = getElementType(TabPane, props);\n var calculatedDefaultProps = {};\n\n if (ElementType === Segment) {\n calculatedDefaultProps.attached = 'bottom';\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, calculatedDefaultProps, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nTabPane.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"loading\"];\nTabPane.defaultProps = {\n as: Segment,\n active: true\n};\nTabPane.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A tab pane can be active. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A Tab.Pane can display a loading indicator. */\n loading: PropTypes.bool\n} : {};\nTabPane.create = createShorthandFactory(TabPane, function (content) {\n return {\n content: content\n };\n});\nexport default TabPane;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { createShorthandFactory, getUnhandledProps } from '../../lib';\nimport Image from '../../elements/Image';\n/**\n * An item can contain an image.\n */\n\nfunction ItemImage(props) {\n var size = props.size;\n var rest = getUnhandledProps(ItemImage, props);\n return /*#__PURE__*/React.createElement(Image, _extends({}, rest, {\n size: size,\n ui: !!size,\n wrapped: true\n }));\n}\n\nItemImage.handledProps = [\"size\"];\nItemImage.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An image may appear at different sizes. */\n size: Image.propTypes.size\n} : {};\nItemImage.create = createShorthandFactory(ItemImage, function (src) {\n return {\n src: src\n };\n});\nexport default ItemImage;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useVerticalAlignProp } from '../../lib';\nimport ItemHeader from './ItemHeader';\nimport ItemDescription from './ItemDescription';\nimport ItemExtra from './ItemExtra';\nimport ItemMeta from './ItemMeta';\n/**\n * An item can contain content.\n */\n\nfunction ItemContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n extra = props.extra,\n header = props.header,\n meta = props.meta,\n verticalAlign = props.verticalAlign;\n var classes = cx(useVerticalAlignProp(verticalAlign), 'content', className);\n var rest = getUnhandledProps(ItemContent, props);\n var ElementType = getElementType(ItemContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), ItemHeader.create(header, {\n autoGenerateKey: false\n }), ItemMeta.create(meta, {\n autoGenerateKey: false\n }), ItemDescription.create(description, {\n autoGenerateKey: false\n }), ItemExtra.create(extra, {\n autoGenerateKey: false\n }), content);\n}\n\nItemContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"extra\", \"header\", \"meta\", \"verticalAlign\"];\nItemContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for ItemDescription component. */\n description: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemExtra component. */\n extra: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemHeader component. */\n header: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemMeta component. */\n meta: customPropTypes.itemShorthand,\n\n /** Content can specify its vertical alignment. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nexport default ItemContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A statistic can contain a numeric, icon, image, or text value.\n */\n\nfunction StatisticValue(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n text = props.text;\n var classes = cx(useKeyOnly(text, 'text'), 'value', className);\n var rest = getUnhandledProps(StatisticValue, props);\n var ElementType = getElementType(StatisticValue, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nStatisticValue.handledProps = [\"as\", \"children\", \"className\", \"content\", \"text\"];\nStatisticValue.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Format the value with smaller font size to fit nicely beside number values. */\n text: PropTypes.bool\n} : {};\nStatisticValue.create = createShorthandFactory(StatisticValue, function (content) {\n return {\n content: content\n };\n});\nexport default StatisticValue;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A statistic can contain a label to help provide context for the presented value.\n */\n\nfunction StatisticLabel(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('label', className);\n var rest = getUnhandledProps(StatisticLabel, props);\n var ElementType = getElementType(StatisticLabel, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nStatisticLabel.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nStatisticLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nStatisticLabel.create = createShorthandFactory(StatisticLabel, function (content) {\n return {\n content: content\n };\n});\nexport default StatisticLabel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI } from '../../lib';\n/**\n * Several icons can be used together as a group.\n */\n\nfunction IconGroup(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n size = props.size;\n var classes = cx(size, 'icons', className);\n var rest = getUnhandledProps(IconGroup, props);\n var ElementType = getElementType(IconGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nIconGroup.handledProps = [\"as\", \"children\", \"className\", \"content\", \"size\"];\nIconGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Size of the icon group. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium'))\n} : {};\nIconGroup.defaultProps = {\n as: 'i'\n};\nexport default IconGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A dimmable sub-component for Dimmer.\n */\n\nfunction DimmerDimmable(props) {\n var blurring = props.blurring,\n className = props.className,\n children = props.children,\n content = props.content,\n dimmed = props.dimmed;\n var classes = cx(useKeyOnly(blurring, 'blurring'), useKeyOnly(dimmed, 'dimmed'), 'dimmable', className);\n var rest = getUnhandledProps(DimmerDimmable, props);\n var ElementType = getElementType(DimmerDimmable, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nDimmerDimmable.handledProps = [\"as\", \"blurring\", \"children\", \"className\", \"content\", \"dimmed\"];\nDimmerDimmable.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A dimmable element can blur its contents. */\n blurring: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Controls whether or not the dim is displayed. */\n dimmed: PropTypes.bool\n} : {};\nexport default DimmerDimmable;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI } from '../../lib';\n/**\n * A group of images.\n */\n\nfunction ImageGroup(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n size = props.size;\n var classes = cx('ui', size, className, 'images');\n var rest = getUnhandledProps(ImageGroup, props);\n var ElementType = getElementType(ImageGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nImageGroup.handledProps = [\"as\", \"children\", \"className\", \"content\", \"size\"];\nImageGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A group of images can be formatted to have the same size. */\n size: PropTypes.oneOf(SUI.SIZES)\n} : {};\nexport default ImageGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly } from '../../lib';\n/**\n * A label can be grouped.\n */\n\nfunction LabelGroup(props) {\n var children = props.children,\n circular = props.circular,\n className = props.className,\n color = props.color,\n content = props.content,\n size = props.size,\n tag = props.tag;\n var classes = cx('ui', color, size, useKeyOnly(circular, 'circular'), useKeyOnly(tag, 'tag'), 'labels', className);\n var rest = getUnhandledProps(LabelGroup, props);\n var ElementType = getElementType(LabelGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nLabelGroup.handledProps = [\"as\", \"children\", \"circular\", \"className\", \"color\", \"content\", \"size\", \"tag\"];\nLabelGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Labels can share shapes. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Label group can share colors together. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Label group can share sizes together. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** Label group can share tag formatting. */\n tag: PropTypes.bool\n} : {};\nexport default LabelGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\nimport Button from '../../elements/Button';\nimport FormField from './FormField';\n/**\n * Sugar for .\n * @see Button\n * @see Form\n */\n\nfunction FormButton(props) {\n var control = props.control;\n var rest = getUnhandledProps(FormButton, props);\n var ElementType = getElementType(FormButton, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n control: control\n }));\n}\n\nFormButton.handledProps = [\"as\", \"control\"];\nFormButton.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A FormField control prop. */\n control: FormField.propTypes.control\n} : {};\nFormButton.defaultProps = {\n as: FormField,\n control: Button\n};\nexport default FormButton;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * Used in some Button types, such as `animated`.\n */\n\nfunction ButtonContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n hidden = props.hidden,\n visible = props.visible;\n var classes = cx(useKeyOnly(visible, 'visible'), useKeyOnly(hidden, 'hidden'), 'content', className);\n var rest = getUnhandledProps(ButtonContent, props);\n var ElementType = getElementType(ButtonContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nButtonContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"hidden\", \"visible\"];\nButtonContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Initially hidden, visible on hover. */\n hidden: PropTypes.bool,\n\n /** Initially visible, hidden on hover. */\n visible: PropTypes.bool\n} : {};\nexport default ButtonContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _map from \"lodash/map\";\nimport _isNil from \"lodash/isNil\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useWidthProp } from '../../lib';\nimport Button from './Button';\n/**\n * Buttons can be grouped.\n */\n\nfunction ButtonGroup(props) {\n var attached = props.attached,\n basic = props.basic,\n buttons = props.buttons,\n children = props.children,\n className = props.className,\n color = props.color,\n compact = props.compact,\n content = props.content,\n floated = props.floated,\n fluid = props.fluid,\n icon = props.icon,\n inverted = props.inverted,\n labeled = props.labeled,\n negative = props.negative,\n positive = props.positive,\n primary = props.primary,\n secondary = props.secondary,\n size = props.size,\n toggle = props.toggle,\n vertical = props.vertical,\n widths = props.widths;\n var classes = cx('ui', color, size, useKeyOnly(basic, 'basic'), useKeyOnly(compact, 'compact'), useKeyOnly(fluid, 'fluid'), useKeyOnly(icon, 'icon'), useKeyOnly(inverted, 'inverted'), useKeyOnly(labeled, 'labeled'), useKeyOnly(negative, 'negative'), useKeyOnly(positive, 'positive'), useKeyOnly(primary, 'primary'), useKeyOnly(secondary, 'secondary'), useKeyOnly(toggle, 'toggle'), useKeyOnly(vertical, 'vertical'), useKeyOrValueAndKey(attached, 'attached'), useValueAndKey(floated, 'floated'), useWidthProp(widths), 'buttons', className);\n var rest = getUnhandledProps(ButtonGroup, props);\n var ElementType = getElementType(ButtonGroup, props);\n\n if (_isNil(buttons)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), _map(buttons, function (button) {\n return Button.create(button);\n }));\n}\n\nButtonGroup.handledProps = [\"as\", \"attached\", \"basic\", \"buttons\", \"children\", \"className\", \"color\", \"compact\", \"content\", \"floated\", \"fluid\", \"icon\", \"inverted\", \"labeled\", \"negative\", \"positive\", \"primary\", \"secondary\", \"size\", \"toggle\", \"vertical\", \"widths\"];\nButtonGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Groups can be attached to other content. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right', 'top', 'bottom'])]),\n\n /** Groups can be less pronounced. */\n basic: PropTypes.bool,\n\n /** Array of shorthand Button values. */\n buttons: customPropTypes.collectionShorthand,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Groups can have a shared color. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Groups can reduce their padding to fit into tighter spaces. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Groups can be aligned to the left or right of its container. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** Groups can take the width of their container. */\n fluid: PropTypes.bool,\n\n /** Groups can be formatted as icons. */\n icon: PropTypes.bool,\n\n /** Groups can be formatted to appear on dark backgrounds. */\n inverted: PropTypes.bool,\n\n /** Groups can be formatted as labeled icon buttons. */\n labeled: PropTypes.bool,\n\n /** Groups can hint towards a negative consequence. */\n negative: PropTypes.bool,\n\n /** Groups can hint towards a positive consequence. */\n positive: PropTypes.bool,\n\n /** Groups can be formatted to show different levels of emphasis. */\n primary: PropTypes.bool,\n\n /** Groups can be formatted to show different levels of emphasis. */\n secondary: PropTypes.bool,\n\n /** Groups can have different sizes. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** Groups can be formatted to toggle on and off. */\n toggle: PropTypes.bool,\n\n /** Groups can be formatted to appear vertically. */\n vertical: PropTypes.bool,\n\n /** Groups can have their widths divided evenly. */\n widths: PropTypes.oneOf(SUI.WIDTHS)\n} : {};\nexport default ButtonGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\n/**\n * Button groups can contain conditionals.\n */\n\nfunction ButtonOr(props) {\n var className = props.className,\n text = props.text;\n var classes = cx('or', className);\n var rest = getUnhandledProps(ButtonOr, props);\n var ElementType = getElementType(ButtonOr, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n \"data-text\": text\n }));\n}\n\nButtonOr.handledProps = [\"as\", \"className\", \"text\"];\nButtonOr.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Or buttons can have their text localized, or adjusted by using the text prop. */\n text: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : {};\nexport default ButtonOr;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\nimport Checkbox from '../../modules/Checkbox';\nimport FormField from './FormField';\n/**\n * Sugar for .\n * @see Checkbox\n * @see Form\n */\n\nfunction FormCheckbox(props) {\n var control = props.control;\n var rest = getUnhandledProps(FormCheckbox, props);\n var ElementType = getElementType(FormCheckbox, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n control: control\n }));\n}\n\nFormCheckbox.handledProps = [\"as\", \"control\"];\nFormCheckbox.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A FormField control prop. */\n control: FormField.propTypes.control\n} : {};\nFormCheckbox.defaultProps = {\n as: FormField,\n control: Checkbox\n};\nexport default FormCheckbox;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\nimport Dropdown from '../../modules/Dropdown';\nimport FormField from './FormField';\n/**\n * Sugar for .\n * @see Dropdown\n * @see Form\n */\n\nfunction FormDropdown(props) {\n var control = props.control;\n var rest = getUnhandledProps(FormDropdown, props);\n var ElementType = getElementType(FormDropdown, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n control: control\n }));\n}\n\nFormDropdown.handledProps = [\"as\", \"control\"];\nFormDropdown.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A FormField control prop. */\n control: FormField.propTypes.control\n} : {};\nFormDropdown.defaultProps = {\n as: FormField,\n control: Dropdown\n};\nexport default FormDropdown;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\n/**\n * A dropdown menu can contain dividers to separate related content.\n */\n\nfunction DropdownDivider(props) {\n var className = props.className;\n var classes = cx('divider', className);\n var rest = getUnhandledProps(DropdownDivider, props);\n var ElementType = getElementType(DropdownDivider, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }));\n}\n\nDropdownDivider.handledProps = [\"as\", \"className\"];\nDropdownDivider.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string\n} : {};\nexport default DropdownDivider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useWidthProp } from '../../lib';\n/**\n * A set of fields can appear grouped together.\n * @see Form\n */\n\nfunction FormGroup(props) {\n var children = props.children,\n className = props.className,\n grouped = props.grouped,\n inline = props.inline,\n unstackable = props.unstackable,\n widths = props.widths;\n var classes = cx(useKeyOnly(grouped, 'grouped'), useKeyOnly(inline, 'inline'), useKeyOnly(unstackable, 'unstackable'), useWidthProp(widths, null, true), 'fields', className);\n var rest = getUnhandledProps(FormGroup, props);\n var ElementType = getElementType(FormGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n}\n\nFormGroup.handledProps = [\"as\", \"children\", \"className\", \"grouped\", \"inline\", \"unstackable\", \"widths\"];\nFormGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Fields can show related choices. */\n grouped: customPropTypes.every([customPropTypes.disallow(['inline']), PropTypes.bool]),\n\n /** Multiple fields may be inline in a row. */\n inline: customPropTypes.every([customPropTypes.disallow(['grouped']), PropTypes.bool]),\n\n /** A form group can prevent itself from stacking on mobile. */\n unstackable: PropTypes.bool,\n\n /** Fields Groups can specify their width in grid columns or automatically divide fields to be equal width. */\n widths: PropTypes.oneOf([].concat(SUI.WIDTHS, ['equal']))\n} : {};\nexport default FormGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\nimport Input from '../../elements/Input';\nimport FormField from './FormField';\n/**\n * Sugar for .\n * @see Form\n * @see Input\n */\n\nfunction FormInput(props) {\n var control = props.control;\n var rest = getUnhandledProps(FormInput, props);\n var ElementType = getElementType(FormInput, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n control: control\n }));\n}\n\nFormInput.handledProps = [\"as\", \"control\"];\nFormInput.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A FormField control prop. */\n control: FormField.propTypes.control\n} : {};\nFormInput.defaultProps = {\n as: FormField,\n control: Input\n};\nexport default FormInput;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\nimport Radio from '../../addons/Radio';\nimport FormField from './FormField';\n/**\n * Sugar for .\n * @see Form\n * @see Radio\n */\n\nfunction FormRadio(props) {\n var control = props.control;\n var rest = getUnhandledProps(FormRadio, props);\n var ElementType = getElementType(FormRadio, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n control: control\n }));\n}\n\nFormRadio.handledProps = [\"as\", \"control\"];\nFormRadio.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A FormField control prop. */\n control: FormField.propTypes.control\n} : {};\nFormRadio.defaultProps = {\n as: FormField,\n control: Radio\n};\nexport default FormRadio;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\nimport Select from '../../addons/Select';\nimport Dropdown from '../../modules/Dropdown';\nimport FormField from './FormField';\n/**\n * Sugar for .\n * @see Form\n * @see Select\n */\n\nfunction FormSelect(props) {\n var control = props.control,\n options = props.options;\n var rest = getUnhandledProps(FormSelect, props);\n var ElementType = getElementType(FormSelect, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n control: control,\n options: options\n }));\n}\n\nFormSelect.handledProps = [\"as\", \"control\", \"options\"];\nFormSelect.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A FormField control prop. */\n control: FormField.propTypes.control,\n\n /** Array of Dropdown.Item props e.g. `{ text: '', value: '' }` */\n options: PropTypes.arrayOf(PropTypes.shape(Dropdown.Item.propTypes)).isRequired\n} : {};\nFormSelect.defaultProps = {\n as: FormField,\n control: Select\n};\nexport default FormSelect;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\nimport TextArea from '../../addons/TextArea';\nimport FormField from './FormField';\n/**\n * Sugar for .\n * @see Form\n * @see TextArea\n */\n\nfunction FormTextArea(props) {\n var control = props.control;\n var rest = getUnhandledProps(FormTextArea, props);\n var ElementType = getElementType(FormTextArea, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n control: control\n }));\n}\n\nFormTextArea.handledProps = [\"as\", \"control\"];\nFormTextArea.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A FormField control prop. */\n control: FormField.propTypes.control\n} : {};\nFormTextArea.defaultProps = {\n as: FormField,\n control: TextArea\n};\nexport default FormTextArea;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A modal can contain a description with one or more paragraphs.\n */\n\nfunction ModalDescription(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('description', className);\n var rest = getUnhandledProps(ModalDescription, props);\n var ElementType = getElementType(ModalDescription, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nModalDescription.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nModalDescription.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default ModalDescription;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A list can contain a sub list.\n */\n\nfunction ListList(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var rest = getUnhandledProps(ListList, props);\n var ElementType = getElementType(ListList, props);\n var classes = cx(useKeyOnly(ElementType !== 'ul' && ElementType !== 'ol', 'list'), className);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nListList.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nListList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default ListList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly } from '../../lib';\n/**\n * A group of segments can be formatted to appear together.\n */\n\nfunction SegmentGroup(props) {\n var children = props.children,\n className = props.className,\n compact = props.compact,\n content = props.content,\n horizontal = props.horizontal,\n piled = props.piled,\n raised = props.raised,\n size = props.size,\n stacked = props.stacked;\n var classes = cx('ui', size, useKeyOnly(compact, 'compact'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(piled, 'piled'), useKeyOnly(raised, 'raised'), useKeyOnly(stacked, 'stacked'), 'segments', className);\n var rest = getUnhandledProps(SegmentGroup, props);\n var ElementType = getElementType(SegmentGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSegmentGroup.handledProps = [\"as\", \"children\", \"className\", \"compact\", \"content\", \"horizontal\", \"piled\", \"raised\", \"size\", \"stacked\"];\nSegmentGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A segment may take up only as much space as is necessary. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Formats content to be aligned horizontally. */\n horizontal: PropTypes.bool,\n\n /** Formatted to look like a pile of pages. */\n piled: PropTypes.bool,\n\n /** A segment group may be formatted to raise above the page. */\n raised: PropTypes.bool,\n\n /** A segment group can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** Formatted to show it contains multiple pages. */\n stacked: PropTypes.bool\n} : {};\nexport default SegmentGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A placeholder segment can be inline.\n */\n\nfunction SegmentInline(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('inline', className);\n var rest = getUnhandledProps(SegmentInline, props);\n var ElementType = getElementType(SegmentInline, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSegmentInline.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nSegmentInline.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default SegmentInline;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useMultipleProp, useTextAlignProp, useVerticalAlignProp, useWidthProp } from '../../lib';\n/**\n * A row sub-component for Grid.\n */\n\nfunction GridRow(props) {\n var centered = props.centered,\n children = props.children,\n className = props.className,\n color = props.color,\n columns = props.columns,\n divided = props.divided,\n only = props.only,\n reversed = props.reversed,\n stretched = props.stretched,\n textAlign = props.textAlign,\n verticalAlign = props.verticalAlign;\n var classes = cx(color, useKeyOnly(centered, 'centered'), useKeyOnly(divided, 'divided'), useKeyOnly(stretched, 'stretched'), useMultipleProp(only, 'only'), useMultipleProp(reversed, 'reversed'), useTextAlignProp(textAlign), useVerticalAlignProp(verticalAlign), useWidthProp(columns, 'column', true), 'row', className);\n var rest = getUnhandledProps(GridRow, props);\n var ElementType = getElementType(GridRow, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n}\n\nGridRow.handledProps = [\"as\", \"centered\", \"children\", \"className\", \"color\", \"columns\", \"divided\", \"only\", \"reversed\", \"stretched\", \"textAlign\", \"verticalAlign\"];\nGridRow.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A row can have its columns centered. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A grid row can be colored. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Represents column count per line in Row. */\n columns: PropTypes.oneOf([].concat(SUI.WIDTHS, ['equal'])),\n\n /** A row can have dividers between its columns. */\n divided: PropTypes.bool,\n\n /** A row can appear only for a specific device, or screen sizes. */\n only: customPropTypes.multipleProp(SUI.VISIBILITY),\n\n /** A row can specify that its columns should reverse order at different device sizes. */\n reversed: customPropTypes.multipleProp(['computer', 'computer vertically', 'mobile', 'mobile vertically', 'tablet', 'tablet vertically']),\n\n /** A row can stretch its contents to take up the entire column height. */\n stretched: PropTypes.bool,\n\n /** A row can specify its text alignment. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS),\n\n /** A row can specify its vertical alignment to have all its columns vertically centered. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nexport default GridRow;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport _map from \"lodash/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useTextAlignProp, useWidthProp } from '../../lib';\nimport Card from './Card';\n/**\n * A group of cards.\n */\n\nfunction CardGroup(props) {\n var centered = props.centered,\n children = props.children,\n className = props.className,\n content = props.content,\n doubling = props.doubling,\n items = props.items,\n itemsPerRow = props.itemsPerRow,\n stackable = props.stackable,\n textAlign = props.textAlign;\n var classes = cx('ui', useKeyOnly(centered, 'centered'), useKeyOnly(doubling, 'doubling'), useKeyOnly(stackable, 'stackable'), useTextAlignProp(textAlign), useWidthProp(itemsPerRow), 'cards', className);\n var rest = getUnhandledProps(CardGroup, props);\n var ElementType = getElementType(CardGroup, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n var itemsJSX = _map(items, function (item) {\n var key = item.key || [item.header, item.description].join('-');\n return /*#__PURE__*/React.createElement(Card, _extends({\n key: key\n }, item));\n });\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), itemsJSX);\n}\n\nCardGroup.handledProps = [\"as\", \"centered\", \"children\", \"className\", \"content\", \"doubling\", \"items\", \"itemsPerRow\", \"stackable\", \"textAlign\"];\nCardGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A group of cards can center itself inside its container. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A group of cards can double its column width for mobile. */\n doubling: PropTypes.bool,\n\n /** Shorthand array of props for Card. */\n items: customPropTypes.collectionShorthand,\n\n /** A group of cards can set how many cards should exist in a row. */\n itemsPerRow: PropTypes.oneOf(SUI.WIDTHS),\n\n /** A group of cards can automatically stack rows to a single columns on mobile devices. */\n stackable: PropTypes.bool,\n\n /** A card group can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified'))\n} : {};\nexport default CardGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A menu item may include a header or may itself be a header.\n */\n\nfunction MenuHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('header', className);\n var rest = getUnhandledProps(MenuHeader, props);\n var ElementType = getElementType(MenuHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMenuHeader.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nMenuHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default MenuHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A menu can contain a sub menu.\n */\n\nfunction MenuMenu(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n position = props.position;\n var classes = cx(position, 'menu', className);\n var rest = getUnhandledProps(MenuMenu, props);\n var ElementType = getElementType(MenuMenu, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nMenuMenu.handledProps = [\"as\", \"children\", \"className\", \"content\", \"position\"];\nMenuMenu.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A sub menu can take left or right position. */\n position: PropTypes.oneOf(['left', 'right'])\n} : {};\nexport default MenuMenu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getUnhandledProps, useValueAndKey } from '../../lib';\nimport TableCell from './TableCell';\n/**\n * A table can have a header cell.\n */\n\nfunction TableHeaderCell(props) {\n var as = props.as,\n className = props.className,\n sorted = props.sorted;\n var classes = cx(useValueAndKey(sorted, 'sorted'), className);\n var rest = getUnhandledProps(TableHeaderCell, props);\n return /*#__PURE__*/React.createElement(TableCell, _extends({}, rest, {\n as: as,\n className: classes\n }));\n}\n\nTableHeaderCell.handledProps = [\"as\", \"className\", \"sorted\"];\nTableHeaderCell.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A header cell can be sorted in ascending or descending order. */\n sorted: PropTypes.oneOf(['ascending', 'descending'])\n} : {};\nTableHeaderCell.defaultProps = {\n as: 'th'\n};\nexport default TableHeaderCell;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A placeholder can contain a header.\n */\n\nfunction PlaceholderHeader(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n image = props.image;\n var classes = cx(useKeyOnly(image, 'image'), 'header', className);\n var rest = getUnhandledProps(PlaceholderHeader, props);\n var ElementType = getElementType(PlaceholderHeader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nPlaceholderHeader.handledProps = [\"as\", \"children\", \"className\", \"content\", \"image\"];\nPlaceholderHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A placeholder can contain an image. */\n image: PropTypes.bool\n} : {};\nexport default PlaceholderHeader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A placeholder can contain an image.\n */\n\nfunction PlaceholderImage(props) {\n var className = props.className,\n square = props.square,\n rectangular = props.rectangular;\n var classes = cx(useKeyOnly(square, 'square'), useKeyOnly(rectangular, 'rectangular'), 'image', className);\n var rest = getUnhandledProps(PlaceholderImage, props);\n var ElementType = getElementType(PlaceholderImage, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }));\n}\n\nPlaceholderImage.handledProps = [\"as\", \"className\", \"rectangular\", \"square\"];\nPlaceholderImage.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** An image can modify size correctly with responsive styles. */\n square: customPropTypes.every([customPropTypes.disallow(['rectangular']), PropTypes.bool]),\n\n /** An image can modify size correctly with responsive styles. */\n rectangular: customPropTypes.every([customPropTypes.disallow(['square']), PropTypes.bool])\n} : {};\nexport default PlaceholderImage;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\n/**\n * A placeholder can contain have lines of text.\n */\n\nfunction PlaceholderLine(props) {\n var className = props.className,\n length = props.length;\n var classes = cx('line', length, className);\n var rest = getUnhandledProps(PlaceholderLine, props);\n var ElementType = getElementType(PlaceholderLine, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }));\n}\n\nPlaceholderLine.handledProps = [\"as\", \"className\", \"length\"];\nPlaceholderLine.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A line can specify how long its contents should appear. */\n length: PropTypes.oneOf(['full', 'very long', 'long', 'medium', 'short', 'very short'])\n} : {};\nexport default PlaceholderLine;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A placeholder can contain a paragraph.\n */\n\nfunction PlaceholderParagraph(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('paragraph', className);\n var rest = getUnhandledProps(PlaceholderParagraph, props);\n var ElementType = getElementType(PlaceholderParagraph, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nPlaceholderParagraph.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nPlaceholderParagraph.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default PlaceholderParagraph;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _values from \"lodash/values\";\nimport _keys from \"lodash/keys\";\nimport _without from \"lodash/without\";\nimport _map from \"lodash/map\";\nimport _pickBy from \"lodash/pickBy\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, numberToWordMap, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useWidthProp } from '../../lib';\nimport Step from './Step';\nvar numberMap = process.env.NODE_ENV !== \"production\" ? _pickBy(numberToWordMap, function (val, key) {\n return key <= 8;\n}) : {};\n/**\n * A set of steps.\n */\n\nfunction StepGroup(props) {\n var attached = props.attached,\n children = props.children,\n className = props.className,\n content = props.content,\n fluid = props.fluid,\n items = props.items,\n ordered = props.ordered,\n size = props.size,\n stackable = props.stackable,\n unstackable = props.unstackable,\n vertical = props.vertical,\n widths = props.widths;\n var classes = cx('ui', size, useKeyOnly(fluid, 'fluid'), useKeyOnly(ordered, 'ordered'), useKeyOnly(unstackable, 'unstackable'), useKeyOnly(vertical, 'vertical'), useKeyOrValueAndKey(attached, 'attached'), useValueAndKey(stackable, 'stackable'), useWidthProp(widths), 'steps', className);\n var rest = getUnhandledProps(StepGroup, props);\n var ElementType = getElementType(StepGroup, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), _map(items, function (item) {\n return Step.create(item);\n }));\n}\n\nStepGroup.handledProps = [\"as\", \"attached\", \"children\", \"className\", \"content\", \"fluid\", \"items\", \"ordered\", \"size\", \"stackable\", \"unstackable\", \"vertical\", \"widths\"];\nStepGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Steps can be attached to other elements. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A fluid step takes up the width of its container. */\n fluid: PropTypes.bool,\n\n /** Shorthand array of props for Step. */\n items: customPropTypes.collectionShorthand,\n\n /** A step can show a ordered sequence of steps. */\n ordered: PropTypes.bool,\n\n /** Steps can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** A step can stack vertically only on smaller screens. */\n stackable: PropTypes.oneOf(['tablet']),\n\n /** A step can prevent itself from stacking on mobile. */\n unstackable: PropTypes.bool,\n\n /** A step can be displayed stacked vertically. */\n vertical: PropTypes.bool,\n\n /** Steps can be divided evenly inside their parent. */\n widths: PropTypes.oneOf([].concat(_keys(numberMap), _keys(numberMap).map(Number), _values(numberMap)))\n} : {};\nexport default StepGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A pushable sub-component for Sidebar.\n */\n\nfunction SidebarPushable(props) {\n var className = props.className,\n children = props.children,\n content = props.content;\n var classes = cx('pushable', className);\n var rest = getUnhandledProps(SidebarPushable, props);\n var ElementType = getElementType(SidebarPushable, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSidebarPushable.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nSidebarPushable.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default SidebarPushable;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A pushable sub-component for Sidebar.\n */\n\nfunction SidebarPusher(props) {\n var className = props.className,\n dimmed = props.dimmed,\n children = props.children,\n content = props.content;\n var classes = cx('pusher', useKeyOnly(dimmed, 'dimmed'), className);\n var rest = getUnhandledProps(SidebarPusher, props);\n var ElementType = getElementType(SidebarPusher, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSidebarPusher.handledProps = [\"as\", \"children\", \"className\", \"content\", \"dimmed\"];\nSidebarPusher.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Controls whether or not the dim is displayed. */\n dimmed: PropTypes.bool\n} : {};\nexport default SidebarPusher;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _map from \"lodash/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\nimport Item from './Item';\n/**\n * A group of items.\n */\n\nfunction ItemGroup(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n divided = props.divided,\n items = props.items,\n link = props.link,\n relaxed = props.relaxed,\n unstackable = props.unstackable;\n var classes = cx('ui', useKeyOnly(divided, 'divided'), useKeyOnly(link, 'link'), useKeyOnly(unstackable, 'unstackable'), useKeyOrValueAndKey(relaxed, 'relaxed'), 'items', className);\n var rest = getUnhandledProps(ItemGroup, props);\n var ElementType = getElementType(ItemGroup, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n var itemsJSX = _map(items, function (item) {\n var childKey = item.childKey,\n itemProps = _objectWithoutPropertiesLoose(item, [\"childKey\"]);\n\n var finalKey = childKey || [itemProps.content, itemProps.description, itemProps.header, itemProps.meta].join('-');\n return /*#__PURE__*/React.createElement(Item, _extends({}, itemProps, {\n key: finalKey\n }));\n });\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), itemsJSX);\n}\n\nItemGroup.handledProps = [\"as\", \"children\", \"className\", \"content\", \"divided\", \"items\", \"link\", \"relaxed\", \"unstackable\"];\nItemGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Items can be divided to better distinguish between grouped content. */\n divided: PropTypes.bool,\n\n /** Shorthand array of props for Item. */\n items: customPropTypes.collectionShorthand,\n\n /** An item can be formatted so that the entire contents link to another page. */\n link: PropTypes.bool,\n\n /** A group of items can relax its padding to provide more negative space. */\n relaxed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** Prevent items from stacking on mobile. */\n unstackable: PropTypes.bool\n} : {};\nexport default ItemGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport _map from \"lodash/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useWidthProp } from '../../lib';\nimport Statistic from './Statistic';\n/**\n * A group of statistics.\n */\n\nfunction StatisticGroup(props) {\n var children = props.children,\n className = props.className,\n color = props.color,\n content = props.content,\n horizontal = props.horizontal,\n inverted = props.inverted,\n items = props.items,\n size = props.size,\n widths = props.widths;\n var classes = cx('ui', color, size, useKeyOnly(horizontal, 'horizontal'), useKeyOnly(inverted, 'inverted'), useWidthProp(widths), 'statistics', className);\n var rest = getUnhandledProps(StatisticGroup, props);\n var ElementType = getElementType(StatisticGroup, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), _map(items, function (item) {\n return Statistic.create(item);\n }));\n}\n\nStatisticGroup.handledProps = [\"as\", \"children\", \"className\", \"color\", \"content\", \"horizontal\", \"inverted\", \"items\", \"size\", \"widths\"];\nStatisticGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A statistic group can be formatted to be different colors. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A statistic group can present its measurement horizontally. */\n horizontal: PropTypes.bool,\n\n /** A statistic group can be formatted to fit on a dark background. */\n inverted: PropTypes.bool,\n\n /** Array of props for Statistic. */\n items: customPropTypes.collectionShorthand,\n\n /** A statistic group can vary in size. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'big', 'massive', 'medium')),\n\n /** A statistic group can have its items divided evenly. */\n widths: PropTypes.oneOf(SUI.WIDTHS)\n} : {};\nexport default StatisticGroup;","import _has from \"lodash/has\";\nimport _keys from \"lodash/keys\";\nimport _forEach from \"lodash/forEach\";\nimport _filter from \"lodash/filter\";\nimport _keyBy from \"lodash/keyBy\";\nimport { Children, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {object} children Element's children\n * @return {object} Mapping of key to child\n */\n\nexport var getChildMapping = function getChildMapping(children) {\n return _keyBy(_filter(Children.toArray(children), isValidElement), 'key');\n};\n\nvar getPendingKeys = function getPendingKeys(prev, next) {\n var nextKeysPending = {};\n var pendingKeys = [];\n\n _forEach(_keys(prev), function (prevKey) {\n if (!_has(next, prevKey)) {\n pendingKeys.push(prevKey);\n return;\n }\n\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n });\n\n return [nextKeysPending, pendingKeys];\n};\n\nvar getValue = function getValue(key, prev, next) {\n return _has(next, key) ? next[key] : prev[key];\n};\n/**\n * When you're adding or removing children some may be added or removed in the same render pass. We want to show *both*\n * since we want to simultaneously animate elements in and out. This function takes a previous set of keys and a new set\n * of keys and merges them with its best guess of the correct ordering.\n *\n * @param {object} prev Prev children as returned from `getChildMapping()`\n * @param {object} next Next children as returned from `getChildMapping()`\n * @return {object} A key set that contains all keys in `prev` and all keys in `next` in a reasonable order\n */\n\n\nexport var mergeChildMappings = function mergeChildMappings(prev, next) {\n if (prev === void 0) {\n prev = {};\n }\n\n if (next === void 0) {\n next = {};\n }\n\n var childMapping = {};\n\n var _getPendingKeys = getPendingKeys(prev, next),\n nextKeysPending = _getPendingKeys[0],\n pendingKeys = _getPendingKeys[1];\n\n _forEach(_keys(next), function (nextKey) {\n if (_has(nextKeysPending, nextKey)) {\n _forEach(nextKeysPending[nextKey], function (pendingKey) {\n childMapping[pendingKey] = getValue(pendingKey, prev, next);\n });\n }\n\n childMapping[nextKey] = getValue(nextKey, prev, next);\n });\n\n _forEach(pendingKeys, function (pendingKey) {\n childMapping[pendingKey] = getValue(pendingKey, prev, next);\n });\n\n return childMapping;\n};","import React from 'react';\nimport Transition from '../Transition';\n/**\n * Wraps a React element with a Transition component.\n *\n * @param {React.ReactElement} child\n * @param {Function} onHide\n * @param {Object} [options={}]\n * @param {String} [options.animation]\n * @param {Number} [options.duration]\n * @param {Boolean} [options.directional]\n * @param {Boolean} [options.transitionOnMount=false]\n * @param {Boolean} [options.visible=true]\n */\n\nexport default function wrapChild(child, onHide, options) {\n if (options === void 0) {\n options = {};\n }\n\n var key = child.key;\n var _options = options,\n animation = _options.animation,\n directional = _options.directional,\n duration = _options.duration,\n _options$transitionOn = _options.transitionOnMount,\n transitionOnMount = _options$transitionOn === void 0 ? false : _options$transitionOn,\n _options$visible = _options.visible,\n visible = _options$visible === void 0 ? true : _options$visible;\n return /*#__PURE__*/React.createElement(Transition, {\n animation: animation,\n directional: directional,\n duration: duration,\n key: key,\n onHide: onHide,\n reactKey: key,\n transitionOnMount: transitionOnMount,\n visible: visible\n }, child);\n}\nwrapChild.handledProps = [];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _values from \"lodash/values\";\nimport _get from \"lodash/get\";\nimport _has from \"lodash/has\";\nimport _forEach from \"lodash/forEach\";\nimport _mapValues from \"lodash/mapValues\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getElementType, getUnhandledProps, SUI } from '../../lib';\nimport { getChildMapping, mergeChildMappings } from './utils/childMapping';\nimport wrapChild from './utils/wrapChild';\n\n/**\n * A Transition.Group animates children as they mount and unmount.\n */\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n // Keeping a callback under the state is a hack to make it accessible under getDerivedStateFromProps()\n handleOnHide: function handleOnHide(nothing, childProps) {\n var reactKey = childProps.reactKey;\n\n _this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[reactKey];\n return {\n children: children\n };\n });\n }\n };\n return _this;\n }\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var animation = props.animation,\n duration = props.duration,\n directional = props.directional;\n var prevMapping = state.children; // A short circuit for an initial render as there will be no `prevMapping`\n\n if (typeof prevMapping === 'undefined') {\n return {\n children: _mapValues(getChildMapping(props.children), function (child) {\n return wrapChild(child, state.handleOnHide, {\n animation: animation,\n duration: duration,\n directional: directional\n });\n })\n };\n }\n\n var nextMapping = getChildMapping(props.children);\n var children = mergeChildMappings(prevMapping, nextMapping);\n\n _forEach(children, function (child, key) {\n var hasPrev = _has(prevMapping, key);\n\n var hasNext = _has(nextMapping, key);\n\n var prevChild = prevMapping[key];\n var isLeaving = !_get(prevChild, 'props.visible'); // Heads up!\n // An item is new (entering), it will be picked from `nextChildren`, so it should be wrapped\n\n if (hasNext && (!hasPrev || isLeaving)) {\n children[key] = wrapChild(child, state.handleOnHide, {\n animation: animation,\n duration: duration,\n directional: directional,\n transitionOnMount: true\n });\n return;\n } // Heads up!\n // An item is old (exiting), it will be picked from `prevChildren`, so it has been already\n // wrapped, so should be only updated\n\n\n if (!hasNext && hasPrev && !isLeaving) {\n children[key] = /*#__PURE__*/React.cloneElement(prevChild, {\n visible: false\n });\n return;\n } // Heads up!\n // An item item hasn't changed transition states, but it will be picked from `nextChildren`,\n // so we should wrap it again\n\n\n var _prevChild$props = prevChild.props,\n visible = _prevChild$props.visible,\n transitionOnMount = _prevChild$props.transitionOnMount;\n children[key] = wrapChild(child, state.handleOnHide, {\n animation: animation,\n duration: duration,\n directional: directional,\n transitionOnMount: transitionOnMount,\n visible: visible\n });\n });\n\n return {\n children: children\n };\n };\n\n var _proto = TransitionGroup.prototype;\n\n _proto.render = function render() {\n var children = this.state.children;\n var ElementType = getElementType(TransitionGroup, this.props);\n var rest = getUnhandledProps(TransitionGroup, this.props);\n return /*#__PURE__*/React.createElement(ElementType, rest, _values(children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.handledProps = [\"animation\", \"as\", \"children\", \"directional\", \"duration\"];\nexport { TransitionGroup as default };\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Named animation event to used. Must be defined in CSS. */\n animation: PropTypes.oneOfType([PropTypes.oneOf(SUI.TRANSITIONS), PropTypes.string]),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Whether it is directional animation event or not. Use it only for custom transitions. */\n directional: PropTypes.bool,\n\n /** Duration of the CSS transition animation in milliseconds. */\n duration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n hide: PropTypes.number.isRequired,\n show: PropTypes.number.isRequired\n }), PropTypes.string])\n} : {};\nTransitionGroup.defaultProps = {\n as: React.Fragment,\n animation: 'fade',\n duration: 500\n};","/**\n * Normalizes the duration of a transition.\n * @param {number|object} duration The value to normalize.\n * @param {'hide'|'show'} type The type of transition.\n * @returns {number}\n */\nexport default (function (duration, type) {\n return typeof duration === 'number' || typeof duration === 'string' ? duration : duration[type];\n});","import React from 'react';\nimport isBrowser from '../isBrowser'; // useLayoutEffect() produces a warning with SSR rendering\n// https://medium.com/@alexandereardon/uselayouteffect-and-ssr-192986cdcf7a\n\nvar useIsomorphicLayoutEffect = isBrowser() && process.env.NODE_ENV !== 'test' ? React.useLayoutEffect : React.useEffect;\nexport default useIsomorphicLayoutEffect;","import { isRefObject } from '@fluentui/react-component-ref';\nimport React from 'react';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nvar CLASS_NAME_DELITIMITER = /\\s+/;\n/**\n * Accepts a set of ref objects that contain classnames as a string and returns an array of unique\n * classNames.\n *\n * @param {Set|undefined} classNameRefs\n * @returns String[]\n */\n\nexport function computeClassNames(classNameRefs) {\n var classNames = [];\n\n if (classNameRefs) {\n classNameRefs.forEach(function (classNameRef) {\n if (typeof classNameRef.current === 'string') {\n var classNamesForRef = classNameRef.current.split(CLASS_NAME_DELITIMITER);\n classNamesForRef.forEach(function (className) {\n classNames.push(className);\n });\n }\n });\n return classNames.filter(function (className, i, array) {\n return className.length > 0 && array.indexOf(className) === i;\n });\n }\n\n return [];\n}\n/**\n * Computes classnames that should be removed and added to a node based on input differences.\n *\n * @param {String[]} prevClassNames\n * @param {String[]} currentClassNames\n */\n\nexport function computeClassNamesDifference(prevClassNames, currentClassNames) {\n return [currentClassNames.filter(function (className) {\n return prevClassNames.indexOf(className) === -1;\n }), prevClassNames.filter(function (className) {\n return currentClassNames.indexOf(className) === -1;\n })];\n}\nvar prevClassNames = new Map();\n/**\n * @param {HTMLElement} node\n * @param {Set|undefined} classNameRefs\n */\n\nexport var handleClassNamesChange = function handleClassNamesChange(node, classNameRefs) {\n var currentClassNames = computeClassNames(classNameRefs);\n\n var _computeClassNamesDif = computeClassNamesDifference(prevClassNames.get(node) || [], currentClassNames),\n forAdd = _computeClassNamesDif[0],\n forRemoval = _computeClassNamesDif[1];\n\n if (node) {\n forAdd.forEach(function (className) {\n return node.classList.add(className);\n });\n forRemoval.forEach(function (className) {\n return node.classList.remove(className);\n });\n }\n\n prevClassNames.set(node, currentClassNames);\n};\nexport var NodeRegistry = function NodeRegistry() {\n var _this = this;\n\n this.add = function (node, classNameRef) {\n if (_this.nodes.has(node)) {\n var _set = _this.nodes.get(node);\n\n _set.add(classNameRef);\n\n return;\n } // IE11 does not support constructor params\n\n\n var set = new Set();\n set.add(classNameRef);\n\n _this.nodes.set(node, set);\n };\n\n this.del = function (node, classNameRef) {\n if (!_this.nodes.has(node)) {\n return;\n }\n\n var set = _this.nodes.get(node);\n\n if (set.size === 1) {\n _this.nodes.delete(node);\n\n return;\n }\n\n set.delete(classNameRef);\n };\n\n this.emit = function (node, callback) {\n callback(node, _this.nodes.get(node));\n };\n\n this.nodes = new Map();\n};\nvar nodeRegistry = new NodeRegistry();\n/**\n * A React hooks that allows to manage classNames on a DOM node in declarative manner. Accepts\n * a HTML element or React ref objects with it.\n *\n * @param {HTMLElement|React.RefObject} node\n * @param {String} className\n */\n\nexport default function useClassNamesOnNode(node, className) {\n var classNameRef = React.useRef();\n var isMounted = React.useRef(false);\n useIsomorphicLayoutEffect(function () {\n classNameRef.current = className;\n\n if (isMounted.current) {\n var element = isRefObject(node) ? node.current : node;\n nodeRegistry.emit(element, handleClassNamesChange);\n }\n\n isMounted.current = true;\n }, [className]);\n useIsomorphicLayoutEffect(function () {\n var element = isRefObject(node) ? node.current : node;\n nodeRegistry.add(element, classNameRef);\n nodeRegistry.emit(element, handleClassNamesChange);\n return function () {\n nodeRegistry.del(element, classNameRef);\n nodeRegistry.emit(element, handleClassNamesChange);\n };\n }, [node]);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useTextAlignProp, useValueAndKey } from '../../lib';\nimport SegmentGroup from './SegmentGroup';\nimport SegmentInline from './SegmentInline';\n/**\n * A segment is used to create a grouping of related content.\n */\n\nfunction Segment(props) {\n var attached = props.attached,\n basic = props.basic,\n children = props.children,\n circular = props.circular,\n className = props.className,\n clearing = props.clearing,\n color = props.color,\n compact = props.compact,\n content = props.content,\n disabled = props.disabled,\n floated = props.floated,\n inverted = props.inverted,\n loading = props.loading,\n placeholder = props.placeholder,\n padded = props.padded,\n piled = props.piled,\n raised = props.raised,\n secondary = props.secondary,\n size = props.size,\n stacked = props.stacked,\n tertiary = props.tertiary,\n textAlign = props.textAlign,\n vertical = props.vertical;\n var classes = cx('ui', color, size, useKeyOnly(basic, 'basic'), useKeyOnly(circular, 'circular'), useKeyOnly(clearing, 'clearing'), useKeyOnly(compact, 'compact'), useKeyOnly(disabled, 'disabled'), useKeyOnly(inverted, 'inverted'), useKeyOnly(loading, 'loading'), useKeyOnly(placeholder, 'placeholder'), useKeyOnly(piled, 'piled'), useKeyOnly(raised, 'raised'), useKeyOnly(secondary, 'secondary'), useKeyOnly(stacked, 'stacked'), useKeyOnly(tertiary, 'tertiary'), useKeyOnly(vertical, 'vertical'), useKeyOrValueAndKey(attached, 'attached'), useKeyOrValueAndKey(padded, 'padded'), useTextAlignProp(textAlign), useValueAndKey(floated, 'floated'), 'segment', className);\n var rest = getUnhandledProps(Segment, props);\n var ElementType = getElementType(Segment, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSegment.handledProps = [\"as\", \"attached\", \"basic\", \"children\", \"circular\", \"className\", \"clearing\", \"color\", \"compact\", \"content\", \"disabled\", \"floated\", \"inverted\", \"loading\", \"padded\", \"piled\", \"placeholder\", \"raised\", \"secondary\", \"size\", \"stacked\", \"tertiary\", \"textAlign\", \"vertical\"];\nSegment.Group = SegmentGroup;\nSegment.Inline = SegmentInline;\nSegment.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Attach segment to other content, like a header. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n\n /** A basic segment has no special formatting. */\n basic: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** A segment can be circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A segment can clear floated content. */\n clearing: PropTypes.bool,\n\n /** Segment can be colored. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** A segment may take up only as much space as is necessary. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A segment may show its content is disabled. */\n disabled: PropTypes.bool,\n\n /** Segment content can be floated to the left or right. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A segment can have its colors inverted for contrast. */\n inverted: PropTypes.bool,\n\n /** A segment may show its content is being loaded. */\n loading: PropTypes.bool,\n\n /** A segment can increase its padding. */\n padded: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** A segment can be used to reserve space for conditionally displayed content. */\n placeholder: PropTypes.bool,\n\n /** Formatted to look like a pile of pages. */\n piled: PropTypes.bool,\n\n /** A segment may be formatted to raise above the page. */\n raised: PropTypes.bool,\n\n /** A segment can be formatted to appear less noticeable. */\n secondary: PropTypes.bool,\n\n /** A segment can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** Formatted to show it contains multiple pages. */\n stacked: PropTypes.bool,\n\n /** A segment can be formatted to appear even less noticeable. */\n tertiary: PropTypes.bool,\n\n /** Formats content to be aligned as part of a vertical group. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified')),\n\n /** Formats content to be aligned vertically. */\n vertical: PropTypes.bool\n} : {};\nexport default Segment;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _set from \"lodash/set\";\nimport _invoke from \"lodash/invoke\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { createRef } from 'react';\nimport { ModernAutoControlledComponent as Component, createHTMLLabel, customPropTypes, getElementType, getUnhandledProps, htmlInputAttrs, partitionHTMLProps, useKeyOnly } from '../../lib';\n\n/**\n * A checkbox allows a user to select a value from a small set of options, often binary.\n * @see Form\n * @see Radio\n */\nvar Checkbox = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Checkbox, _Component);\n\n function Checkbox() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.inputRef = /*#__PURE__*/createRef();\n _this.labelRef = /*#__PURE__*/createRef();\n\n _this.canToggle = function () {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n radio = _this$props.radio,\n readOnly = _this$props.readOnly;\n var checked = _this.state.checked;\n return !disabled && !readOnly && !(radio && checked);\n };\n\n _this.computeTabIndex = function () {\n var _this$props2 = _this.props,\n disabled = _this$props2.disabled,\n tabIndex = _this$props2.tabIndex;\n if (!_isNil(tabIndex)) return tabIndex;\n return disabled ? -1 : 0;\n };\n\n _this.handleClick = function (e) {\n var id = _this.props.id;\n var _this$state = _this.state,\n checked = _this$state.checked,\n indeterminate = _this$state.indeterminate;\n\n var isInputClick = _invoke(_this.inputRef.current, 'contains', e.target);\n\n var isLabelClick = _invoke(_this.labelRef.current, 'contains', e.target);\n\n var isRootClick = !isLabelClick && !isInputClick;\n var hasId = !_isNil(id);\n var isLabelClickAndForwardedToInput = isLabelClick && hasId; // https://github.com/Semantic-Org/Semantic-UI-React/pull/3351\n\n if (!isLabelClickAndForwardedToInput) {\n _invoke(_this.props, 'onClick', e, _extends({}, _this.props, {\n checked: !checked,\n indeterminate: !!indeterminate\n }));\n }\n\n if (_this.isClickFromMouse) {\n _this.isClickFromMouse = false;\n\n if (isLabelClick && !hasId) {\n _this.handleChange(e);\n } // Changes should be triggered for the slider variation\n\n\n if (isRootClick) {\n _this.handleChange(e);\n }\n\n if (isLabelClick && hasId) {\n // To prevent two clicks from being fired from the component we have to stop the propagation\n // from the \"input\" click: https://github.com/Semantic-Org/Semantic-UI-React/issues/3433\n e.stopPropagation();\n }\n }\n };\n\n _this.handleChange = function (e) {\n var checked = _this.state.checked;\n if (!_this.canToggle()) return;\n\n _invoke(_this.props, 'onChange', e, _extends({}, _this.props, {\n checked: !checked,\n indeterminate: false\n }));\n\n _this.setState({\n checked: !checked,\n indeterminate: false\n });\n };\n\n _this.handleMouseDown = function (e) {\n var _this$state2 = _this.state,\n checked = _this$state2.checked,\n indeterminate = _this$state2.indeterminate;\n\n _invoke(_this.props, 'onMouseDown', e, _extends({}, _this.props, {\n checked: !!checked,\n indeterminate: !!indeterminate\n }));\n\n if (!e.defaultPrevented) {\n _invoke(_this.inputRef.current, 'focus');\n } // Heads up!\n // We need to call \"preventDefault\" to keep element focused.\n\n\n e.preventDefault();\n };\n\n _this.handleMouseUp = function (e) {\n var _this$state3 = _this.state,\n checked = _this$state3.checked,\n indeterminate = _this$state3.indeterminate;\n _this.isClickFromMouse = true;\n\n _invoke(_this.props, 'onMouseUp', e, _extends({}, _this.props, {\n checked: !!checked,\n indeterminate: !!indeterminate\n }));\n };\n\n _this.setIndeterminate = function () {\n var indeterminate = _this.state.indeterminate;\n\n _set(_this.inputRef, 'current.indeterminate', !!indeterminate);\n };\n\n return _this;\n }\n\n var _proto = Checkbox.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.setIndeterminate();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.setIndeterminate();\n };\n\n _proto.render = function render() {\n var _this$props3 = this.props,\n className = _this$props3.className,\n disabled = _this$props3.disabled,\n label = _this$props3.label,\n id = _this$props3.id,\n name = _this$props3.name,\n radio = _this$props3.radio,\n readOnly = _this$props3.readOnly,\n slider = _this$props3.slider,\n toggle = _this$props3.toggle,\n type = _this$props3.type,\n value = _this$props3.value;\n var _this$state4 = this.state,\n checked = _this$state4.checked,\n indeterminate = _this$state4.indeterminate;\n var classes = cx('ui', useKeyOnly(checked, 'checked'), useKeyOnly(disabled, 'disabled'), useKeyOnly(indeterminate, 'indeterminate'), // auto apply fitted class to compact white space when there is no label\n // https://semantic-ui.com/modules/checkbox.html#fitted\n useKeyOnly(_isNil(label), 'fitted'), useKeyOnly(radio, 'radio'), useKeyOnly(readOnly, 'read-only'), useKeyOnly(slider, 'slider'), useKeyOnly(toggle, 'toggle'), 'checkbox', className);\n var unhandled = getUnhandledProps(Checkbox, this.props);\n var ElementType = getElementType(Checkbox, this.props);\n\n var _partitionHTMLProps = partitionHTMLProps(unhandled, {\n htmlProps: htmlInputAttrs\n }),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1]; // Heads Up!\n // Do not remove empty labels, they are required by SUI CSS\n\n\n var labelElement = createHTMLLabel(label, {\n defaultProps: {\n htmlFor: id\n },\n autoGenerateKey: false\n }) || /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: id\n });\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick,\n onChange: this.handleChange,\n onMouseDown: this.handleMouseDown,\n onMouseUp: this.handleMouseUp\n }), /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.inputRef\n }, /*#__PURE__*/React.createElement(\"input\", _extends({}, htmlInputProps, {\n checked: checked,\n className: \"hidden\",\n disabled: disabled,\n id: id,\n name: name,\n readOnly: true,\n tabIndex: this.computeTabIndex(),\n type: type,\n value: value\n }))), /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.labelRef\n }, labelElement));\n };\n\n return Checkbox;\n}(Component);\n\nCheckbox.handledProps = [\"as\", \"checked\", \"className\", \"defaultChecked\", \"defaultIndeterminate\", \"disabled\", \"fitted\", \"id\", \"indeterminate\", \"label\", \"name\", \"onChange\", \"onClick\", \"onMouseDown\", \"onMouseUp\", \"radio\", \"readOnly\", \"slider\", \"tabIndex\", \"toggle\", \"type\", \"value\"];\nexport { Checkbox as default };\nCheckbox.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Whether or not checkbox is checked. */\n checked: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** The initial value of checked. */\n defaultChecked: PropTypes.bool,\n\n /** Whether or not checkbox is indeterminate. */\n defaultIndeterminate: PropTypes.bool,\n\n /** A checkbox can appear disabled and be unable to change states */\n disabled: PropTypes.bool,\n\n /** Removes padding for a label. Auto applied when there is no label. */\n fitted: PropTypes.bool,\n\n /** A unique identifier. */\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Whether or not checkbox is indeterminate. */\n indeterminate: PropTypes.bool,\n\n /** The text of the associated label element. */\n label: customPropTypes.itemShorthand,\n\n /** The HTML input name. */\n name: PropTypes.string,\n\n /**\n * Called when the user attempts to change the checked state.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and proposed checked/indeterminate state.\n */\n onChange: PropTypes.func,\n\n /**\n * Called when the checkbox or label is clicked.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and current checked/indeterminate state.\n */\n onClick: PropTypes.func,\n\n /**\n * Called when the user presses down on the mouse.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and current checked/indeterminate state.\n */\n onMouseDown: PropTypes.func,\n\n /**\n * Called when the user releases the mouse.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and current checked/indeterminate state.\n */\n onMouseUp: PropTypes.func,\n\n /** Format as a radio element. This means it is an exclusive option. */\n radio: customPropTypes.every([PropTypes.bool, customPropTypes.disallow(['slider', 'toggle'])]),\n\n /** A checkbox can be read-only and unable to change states. */\n readOnly: PropTypes.bool,\n\n /** Format to emphasize the current selection state. */\n slider: customPropTypes.every([PropTypes.bool, customPropTypes.disallow(['radio', 'toggle'])]),\n\n /** A checkbox can receive focus. */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Format to show an on or off choice. */\n toggle: customPropTypes.every([PropTypes.bool, customPropTypes.disallow(['radio', 'slider'])]),\n\n /** HTML input type, either checkbox or radio. */\n type: PropTypes.oneOf(['checkbox', 'radio']),\n\n /** The HTML input value. */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n} : {};\nCheckbox.defaultProps = {\n type: 'checkbox'\n};\nCheckbox.autoControlledProps = ['checked', 'indeterminate'];","/**\n * Normalizes the offset value.\n * @param {number|array} value The value to normalize.\n * @returns {number}\n */\nexport default (function (value) {\n return typeof value === 'number' || typeof value === 'string' ? [value, value] : value;\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getUnhandledProps, useKeyOnly } from '../../lib';\nimport AccordionAccordion from './AccordionAccordion';\nimport AccordionContent from './AccordionContent';\nimport AccordionPanel from './AccordionPanel';\nimport AccordionTitle from './AccordionTitle';\n/**\n * An accordion allows users to toggle the display of sections of content.\n */\n\nfunction Accordion(props) {\n var className = props.className,\n fluid = props.fluid,\n inverted = props.inverted,\n styled = props.styled;\n var classes = cx('ui', useKeyOnly(fluid, 'fluid'), useKeyOnly(inverted, 'inverted'), useKeyOnly(styled, 'styled'), className);\n var rest = getUnhandledProps(Accordion, props);\n return /*#__PURE__*/React.createElement(AccordionAccordion, _extends({}, rest, {\n className: classes\n }));\n}\n\nAccordion.handledProps = [\"className\", \"fluid\", \"inverted\", \"styled\"];\nAccordion.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Format to take up the width of its container. */\n fluid: PropTypes.bool,\n\n /** Format for dark backgrounds. */\n inverted: PropTypes.bool,\n\n /** Adds some basic styling to accordion panels. */\n styled: PropTypes.bool\n} : {};\nAccordion.Accordion = AccordionAccordion;\nAccordion.Content = AccordionContent;\nAccordion.Panel = AccordionPanel;\nAccordion.Title = AccordionTitle;\nexport default Accordion;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useMultipleProp, useTextAlignProp, useVerticalAlignProp, useWidthProp } from '../../lib';\nimport GridColumn from './GridColumn';\nimport GridRow from './GridRow';\n/**\n * A grid is used to harmonize negative space in a layout.\n */\n\nfunction Grid(props) {\n var celled = props.celled,\n centered = props.centered,\n children = props.children,\n className = props.className,\n columns = props.columns,\n container = props.container,\n divided = props.divided,\n doubling = props.doubling,\n inverted = props.inverted,\n padded = props.padded,\n relaxed = props.relaxed,\n reversed = props.reversed,\n stackable = props.stackable,\n stretched = props.stretched,\n textAlign = props.textAlign,\n verticalAlign = props.verticalAlign;\n var classes = cx('ui', useKeyOnly(centered, 'centered'), useKeyOnly(container, 'container'), useKeyOnly(doubling, 'doubling'), useKeyOnly(inverted, 'inverted'), useKeyOnly(stackable, 'stackable'), useKeyOnly(stretched, 'stretched'), useKeyOrValueAndKey(celled, 'celled'), useKeyOrValueAndKey(divided, 'divided'), useKeyOrValueAndKey(padded, 'padded'), useKeyOrValueAndKey(relaxed, 'relaxed'), useMultipleProp(reversed, 'reversed'), useTextAlignProp(textAlign), useVerticalAlignProp(verticalAlign), useWidthProp(columns, 'column', true), 'grid', className);\n var rest = getUnhandledProps(Grid, props);\n var ElementType = getElementType(Grid, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n}\n\nGrid.handledProps = [\"as\", \"celled\", \"centered\", \"children\", \"className\", \"columns\", \"container\", \"divided\", \"doubling\", \"inverted\", \"padded\", \"relaxed\", \"reversed\", \"stackable\", \"stretched\", \"textAlign\", \"verticalAlign\"];\nGrid.Column = GridColumn;\nGrid.Row = GridRow;\nGrid.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A grid can have rows divided into cells. */\n celled: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['internally'])]),\n\n /** A grid can have its columns centered. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Represents column count per row in Grid. */\n columns: PropTypes.oneOf([].concat(SUI.WIDTHS, ['equal'])),\n\n /** A grid can be combined with a container to use the available layout and alignment. */\n container: PropTypes.bool,\n\n /** A grid can have dividers between its columns. */\n divided: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['vertically'])]),\n\n /** A grid can double its column width on tablet and mobile sizes. */\n doubling: PropTypes.bool,\n\n /** A grid's colors can be inverted. */\n inverted: PropTypes.bool,\n\n /** A grid can preserve its vertical and horizontal gutters on first and last columns. */\n padded: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['horizontally', 'vertically'])]),\n\n /** A grid can increase its gutters to allow for more negative space. */\n relaxed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** A grid can specify that its columns should reverse order at different device sizes. */\n reversed: customPropTypes.multipleProp(['computer', 'computer vertically', 'mobile', 'mobile vertically', 'tablet', 'tablet vertically']),\n\n /** A grid can have its columns stack on-top of each other after reaching mobile breakpoints. */\n stackable: PropTypes.bool,\n\n /** A grid can stretch its contents to take up the entire grid height. */\n stretched: PropTypes.bool,\n\n /** A grid can specify its text alignment. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS),\n\n /** A grid can specify its vertical alignment to have all its columns vertically centered. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nexport default Grid;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash/without\";\nimport _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, childrenUtils, customPropTypes, createShorthandFactory, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey, useWidthProp } from '../../lib';\nimport MenuHeader from './MenuHeader';\nimport MenuItem from './MenuItem';\nimport MenuMenu from './MenuMenu';\n/**\n * A menu displays grouped navigation actions.\n * @see Dropdown\n */\n\nvar Menu = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Menu, _Component);\n\n function Menu() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleItemOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e, itemProps) {\n var index = itemProps.index;\n\n _this.setState({\n activeIndex: index\n });\n\n _invoke(predefinedProps, 'onClick', e, itemProps);\n\n _invoke(_this.props, 'onItemClick', e, itemProps);\n }\n };\n };\n\n return _this;\n }\n\n var _proto = Menu.prototype;\n\n _proto.renderItems = function renderItems() {\n var _this2 = this;\n\n var items = this.props.items;\n var activeIndex = this.state.activeIndex;\n return _map(items, function (item, index) {\n return MenuItem.create(item, {\n defaultProps: {\n active: parseInt(activeIndex, 10) === index,\n index: index\n },\n overrideProps: _this2.handleItemOverrides\n });\n });\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n attached = _this$props.attached,\n borderless = _this$props.borderless,\n children = _this$props.children,\n className = _this$props.className,\n color = _this$props.color,\n compact = _this$props.compact,\n fixed = _this$props.fixed,\n floated = _this$props.floated,\n fluid = _this$props.fluid,\n icon = _this$props.icon,\n inverted = _this$props.inverted,\n pagination = _this$props.pagination,\n pointing = _this$props.pointing,\n secondary = _this$props.secondary,\n size = _this$props.size,\n stackable = _this$props.stackable,\n tabular = _this$props.tabular,\n text = _this$props.text,\n vertical = _this$props.vertical,\n widths = _this$props.widths;\n var classes = cx('ui', color, size, useKeyOnly(borderless, 'borderless'), useKeyOnly(compact, 'compact'), useKeyOnly(fluid, 'fluid'), useKeyOnly(inverted, 'inverted'), useKeyOnly(pagination, 'pagination'), useKeyOnly(pointing, 'pointing'), useKeyOnly(secondary, 'secondary'), useKeyOnly(stackable, 'stackable'), useKeyOnly(text, 'text'), useKeyOnly(vertical, 'vertical'), useKeyOrValueAndKey(attached, 'attached'), useKeyOrValueAndKey(floated, 'floated'), useKeyOrValueAndKey(icon, 'icon'), useKeyOrValueAndKey(tabular, 'tabular'), useValueAndKey(fixed, 'fixed'), useWidthProp(widths, 'item'), className, 'menu');\n var rest = getUnhandledProps(Menu, this.props);\n var ElementType = getElementType(Menu, this.props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? this.renderItems() : children);\n };\n\n return Menu;\n}(Component);\n\nMenu.handledProps = [\"activeIndex\", \"as\", \"attached\", \"borderless\", \"children\", \"className\", \"color\", \"compact\", \"defaultActiveIndex\", \"fixed\", \"floated\", \"fluid\", \"icon\", \"inverted\", \"items\", \"onItemClick\", \"pagination\", \"pointing\", \"secondary\", \"size\", \"stackable\", \"tabular\", \"text\", \"vertical\", \"widths\"];\nMenu.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Index of the currently active item. */\n activeIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** A menu may be attached to other content segments. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n\n /** A menu item or menu can have no borders. */\n borderless: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Additional colors can be specified. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** A menu can take up only the space necessary to fit its content. */\n compact: PropTypes.bool,\n\n /** Initial activeIndex value. */\n defaultActiveIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** A menu can be fixed to a side of its context. */\n fixed: PropTypes.oneOf(['left', 'right', 'bottom', 'top']),\n\n /** A menu can be floated. */\n floated: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['right'])]),\n\n /** A vertical menu may take the size of its container. */\n fluid: PropTypes.bool,\n\n /** A menu may have just icons (bool) or labeled icons. */\n icon: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['labeled'])]),\n\n /** A menu may have its colors inverted to show greater contrast. */\n inverted: PropTypes.bool,\n\n /** Shorthand array of props for Menu. */\n items: customPropTypes.collectionShorthand,\n\n /**\n * onClick handler for MenuItem. Mutually exclusive with children.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All item props.\n */\n onItemClick: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.func]),\n\n /** A pagination menu is specially formatted to present links to pages of content. */\n pagination: PropTypes.bool,\n\n /** A menu can point to show its relationship to nearby content. */\n pointing: PropTypes.bool,\n\n /** A menu can adjust its appearance to de-emphasize its contents. */\n secondary: PropTypes.bool,\n\n /** A menu can vary in size. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium', 'big')),\n\n /** A menu can stack at mobile resolutions. */\n stackable: PropTypes.bool,\n\n /** A menu can be formatted to show tabs of information. */\n tabular: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['right'])]),\n\n /** A menu can be formatted for text content. */\n text: PropTypes.bool,\n\n /** A vertical menu displays elements vertically. */\n vertical: PropTypes.bool,\n\n /** A menu can have its items divided evenly. */\n widths: PropTypes.oneOf(SUI.WIDTHS)\n} : {};\nMenu.autoControlledProps = ['activeIndex'];\nMenu.Header = MenuHeader;\nMenu.Item = MenuItem;\nMenu.Menu = MenuMenu;\nMenu.create = createShorthandFactory(Menu, function (items) {\n return {\n items: items\n };\n});\nexport default Menu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _includes from \"lodash/includes\";\nimport _isNil from \"lodash/isNil\";\nimport _get from \"lodash/get\";\nimport _invoke from \"lodash/invoke\";\n\nvar _TRANSITION_CALLBACK_, _TRANSITION_STYLE_TYP;\n\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { cloneElement, Component } from 'react';\nimport { normalizeTransitionDuration, SUI, useKeyOnly } from '../../lib';\nimport TransitionGroup from './TransitionGroup';\nimport { computeStatuses, TRANSITION_STATUS_ENTERED, TRANSITION_STATUS_ENTERING, TRANSITION_STATUS_EXITED, TRANSITION_STATUS_EXITING, TRANSITION_STATUS_INITIAL, TRANSITION_STATUS_UNMOUNTED } from './utils/computeStatuses';\nvar TRANSITION_CALLBACK_TYPE = (_TRANSITION_CALLBACK_ = {}, _TRANSITION_CALLBACK_[TRANSITION_STATUS_ENTERED] = 'show', _TRANSITION_CALLBACK_[TRANSITION_STATUS_EXITED] = 'hide', _TRANSITION_CALLBACK_);\nvar TRANSITION_STYLE_TYPE = (_TRANSITION_STYLE_TYP = {}, _TRANSITION_STYLE_TYP[TRANSITION_STATUS_ENTERING] = 'show', _TRANSITION_STYLE_TYP[TRANSITION_STATUS_EXITING] = 'hide', _TRANSITION_STYLE_TYP);\n/**\n * A transition is an animation usually used to move content in or out of view.\n */\n\nvar Transition = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Transition, _Component);\n\n function Transition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.state = {\n status: TRANSITION_STATUS_INITIAL\n };\n\n _this.handleStart = function (nextStatus) {\n var duration = _this.props.duration;\n var durationType = TRANSITION_CALLBACK_TYPE[nextStatus];\n var durationValue = normalizeTransitionDuration(duration, durationType);\n clearTimeout(_this.timeoutId);\n _this.timeoutId = setTimeout(function () {\n return _this.setState(function (state) {\n return {\n status: state.nextStatus\n };\n });\n }, durationValue);\n };\n\n _this.updateStatus = function (prevState) {\n if (_this.state.status !== _this.state.nextStatus && _this.state.nextStatus) {\n _this.handleStart(_this.state.nextStatus);\n }\n\n if (!prevState.animating && _this.state.animating) {\n _invoke(_this.props, 'onStart', null, _extends({}, _this.props, {\n status: _this.state.status\n }));\n }\n\n if (prevState.animating && !_this.state.animating) {\n var callback = _this.state.status === TRANSITION_STATUS_ENTERED ? 'onShow' : 'onHide';\n\n _invoke(_this.props, 'onComplete', null, _extends({}, _this.props, {\n status: _this.state.status\n }));\n\n _invoke(_this.props, callback, null, _extends({}, _this.props, {\n status: _this.state.status\n }));\n }\n };\n\n _this.computeClasses = function () {\n var _this$props = _this.props,\n animation = _this$props.animation,\n directional = _this$props.directional,\n children = _this$props.children;\n var _this$state = _this.state,\n animating = _this$state.animating,\n status = _this$state.status;\n\n var childClasses = _get(children, 'props.className');\n\n var isDirectional = _isNil(directional) ? _includes(SUI.DIRECTIONAL_TRANSITIONS, animation) : directional;\n\n if (isDirectional) {\n return cx(animation, childClasses, useKeyOnly(animating, 'animating'), useKeyOnly(status === TRANSITION_STATUS_ENTERING, 'in'), useKeyOnly(status === TRANSITION_STATUS_EXITING, 'out'), useKeyOnly(status === TRANSITION_STATUS_EXITED, 'hidden'), useKeyOnly(status !== TRANSITION_STATUS_EXITED, 'visible'), 'transition');\n }\n\n return cx(animation, childClasses, useKeyOnly(animating, 'animating transition'));\n };\n\n _this.computeStyle = function () {\n var _this$props2 = _this.props,\n children = _this$props2.children,\n duration = _this$props2.duration;\n var status = _this.state.status;\n\n var childStyle = _get(children, 'props.style');\n\n var type = TRANSITION_STYLE_TYPE[status];\n var animationDuration = type && normalizeTransitionDuration(duration, type) + \"ms\";\n return _extends({}, childStyle, {\n animationDuration: animationDuration\n });\n };\n\n return _this;\n }\n\n // ----------------------------------------\n // Lifecycle\n // ----------------------------------------\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var derivedState = computeStatuses({\n mountOnShow: props.mountOnShow,\n status: state.status,\n transitionOnMount: props.transitionOnMount,\n visible: props.visible,\n unmountOnHide: props.unmountOnHide\n });\n return derivedState;\n };\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus({});\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n this.updateStatus(prevState);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n clearTimeout(this.timeoutId);\n } // ----------------------------------------\n // Callback handling\n // ----------------------------------------\n ;\n\n // ----------------------------------------\n // Render\n // ----------------------------------------\n _proto.render = function render() {\n var children = this.props.children;\n var status = this.state.status;\n\n if (status === TRANSITION_STATUS_UNMOUNTED) {\n return null;\n }\n\n return /*#__PURE__*/cloneElement(children, {\n className: this.computeClasses(),\n style: this.computeStyle()\n });\n };\n\n return Transition;\n}(Component);\n\nTransition.INITIAL = TRANSITION_STATUS_INITIAL;\nTransition.ENTERED = TRANSITION_STATUS_ENTERED;\nTransition.ENTERING = TRANSITION_STATUS_ENTERING;\nTransition.EXITED = TRANSITION_STATUS_EXITED;\nTransition.EXITING = TRANSITION_STATUS_EXITING;\nTransition.UNMOUNTED = TRANSITION_STATUS_UNMOUNTED;\nTransition.Group = TransitionGroup;\nTransition.handledProps = [\"animation\", \"children\", \"directional\", \"duration\", \"mountOnShow\", \"onComplete\", \"onHide\", \"onShow\", \"onStart\", \"reactKey\", \"transitionOnMount\", \"unmountOnHide\", \"visible\"];\nexport { Transition as default };\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Named animation event to used. Must be defined in CSS. */\n animation: PropTypes.oneOfType([PropTypes.oneOf(SUI.TRANSITIONS), PropTypes.string]),\n\n /** Primary content. */\n children: PropTypes.element.isRequired,\n\n /** Whether it is directional animation event or not. Use it only for custom transitions. */\n directional: PropTypes.bool,\n\n /** Duration of the CSS transition animation in milliseconds. */\n duration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n hide: PropTypes.number,\n show: PropTypes.number\n }), PropTypes.string]),\n\n /** Show the component; triggers the enter or exit animation. */\n visible: PropTypes.bool,\n\n /** Wait until the first \"enter\" transition to mount the component (add it to the DOM). */\n mountOnShow: PropTypes.bool,\n\n /**\n * Callback on each transition that changes visibility to shown.\n *\n * @param {null}\n * @param {object} data - All props with status.\n */\n onComplete: PropTypes.func,\n\n /**\n * Callback on each transition that changes visibility to hidden.\n *\n * @param {null}\n * @param {object} data - All props with status.\n */\n onHide: PropTypes.func,\n\n /**\n * Callback on each transition that changes visibility to shown.\n *\n * @param {null}\n * @param {object} data - All props with status.\n */\n onShow: PropTypes.func,\n\n /**\n * Callback on animation start.\n *\n * @param {null}\n * @param {object} data - All props with status.\n */\n onStart: PropTypes.func,\n\n /** React's key of the element. */\n reactKey: PropTypes.string,\n\n /** Run the enter animation when the component mounts, if it is initially shown. */\n transitionOnMount: PropTypes.bool,\n\n /** Unmount the component (remove it from the DOM) when it is not shown. */\n unmountOnHide: PropTypes.bool\n} : {};\nTransition.defaultProps = {\n animation: 'fade',\n duration: 500,\n visible: true,\n mountOnShow: true,\n transitionOnMount: false,\n unmountOnHide: false\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _uniq from \"lodash/uniq\";\nimport _isArray from \"lodash/isArray\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNumber from \"lodash/isNumber\";\nimport _isString from \"lodash/isString\";\nimport _isBoolean from \"lodash/isBoolean\";\nimport _isNil from \"lodash/isNil\";\nimport cx from 'clsx';\nimport * as React from 'react'; // ============================================================\n// Factories\n// ============================================================\n\n/**\n * A more robust React.createElement. It can create elements from primitive values.\n *\n * @param {function|string} Component A ReactClass or string\n * @param {function} mapValueToProps A function that maps a primitive value to the Component props\n * @param {string|object|function} val The value to create a ReactElement from\n * @param {Object} [options={}]\n * @param {object} [options.defaultProps={}] Default props object\n * @param {object|function} [options.overrideProps={}] Override props object or function (called with regular props)\n * @param {boolean} [options.autoGenerateKey=true] Whether or not automatic key generation is allowed\n * @returns {object|null}\n */\n\nexport function createShorthand(Component, mapValueToProps, val, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof Component !== 'function' && typeof Component !== 'string') {\n throw new Error('createShorthand() Component must be a string or function.');\n } // short circuit noop values\n\n\n if (_isNil(val) || _isBoolean(val)) return null;\n\n var valIsString = _isString(val);\n\n var valIsNumber = _isNumber(val);\n\n var valIsFunction = _isFunction(val);\n\n var valIsReactElement = /*#__PURE__*/React.isValidElement(val);\n\n var valIsPropsObject = _isPlainObject(val);\n\n var valIsPrimitiveValue = valIsString || valIsNumber || _isArray(val); // unhandled type return null\n\n /* eslint-disable no-console */\n\n\n if (!valIsFunction && !valIsReactElement && !valIsPropsObject && !valIsPrimitiveValue) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['Shorthand value must be a string|number|array|object|ReactElement|function.', ' Use null|undefined|boolean for none', \" Received \" + typeof val + \".\"].join(''));\n }\n\n return null;\n }\n /* eslint-enable no-console */\n // ----------------------------------------\n // Build up props\n // ----------------------------------------\n\n\n var _options = options,\n _options$defaultProps = _options.defaultProps,\n defaultProps = _options$defaultProps === void 0 ? {} : _options$defaultProps; // User's props\n\n var usersProps = valIsReactElement && val.props || valIsPropsObject && val || valIsPrimitiveValue && mapValueToProps(val); // Override props\n\n var _options2 = options,\n _options2$overridePro = _options2.overrideProps,\n overrideProps = _options2$overridePro === void 0 ? {} : _options2$overridePro;\n overrideProps = _isFunction(overrideProps) ? overrideProps(_extends({}, defaultProps, usersProps)) : overrideProps; // Merge props\n\n /* eslint-disable react/prop-types */\n\n var props = _extends({}, defaultProps, usersProps, overrideProps); // Merge className\n\n\n if (defaultProps.className || overrideProps.className || usersProps.className) {\n var mergedClassesNames = cx(defaultProps.className, overrideProps.className, usersProps.className);\n props.className = _uniq(mergedClassesNames.split(' ')).join(' ');\n } // Merge style\n\n\n if (defaultProps.style || overrideProps.style || usersProps.style) {\n props.style = _extends({}, defaultProps.style, usersProps.style, overrideProps.style);\n } // ----------------------------------------\n // Get key\n // ----------------------------------------\n // Use key, childKey, or generate key\n\n\n if (_isNil(props.key)) {\n var childKey = props.childKey;\n var _options3 = options,\n _options3$autoGenerat = _options3.autoGenerateKey,\n autoGenerateKey = _options3$autoGenerat === void 0 ? true : _options3$autoGenerat;\n\n if (!_isNil(childKey)) {\n // apply and consume the childKey\n props.key = typeof childKey === 'function' ? childKey(props) : childKey;\n delete props.childKey;\n } else if (autoGenerateKey && (valIsString || valIsNumber)) {\n // use string/number shorthand values as the key\n props.key = val;\n }\n } // ----------------------------------------\n // Create Element\n // ----------------------------------------\n // Clone ReactElements\n\n\n if (valIsReactElement) return /*#__PURE__*/React.cloneElement(val, props); // Create ReactElements from built up props\n\n if (valIsPrimitiveValue || valIsPropsObject) {\n return /*#__PURE__*/React.createElement(Component, props);\n } // Call functions with args similar to createElement()\n\n\n if (valIsFunction) return val(Component, props, props.children);\n /* eslint-enable react/prop-types */\n} // ============================================================\n// Factory Creators\n// ============================================================\n\n/**\n * Creates a `createShorthand` function that is waiting for a value and options.\n *\n * @param {function|string} Component A ReactClass or string\n * @param {function} mapValueToProps A function that maps a primitive value to the Component props\n * @returns {function} A shorthand factory function waiting for `val` and `defaultProps`.\n */\n\nexport function createShorthandFactory(Component, mapValueToProps) {\n if (typeof Component !== 'function' && typeof Component !== 'string') {\n throw new Error('createShorthandFactory() Component must be a string or function.');\n }\n\n return function (val, options) {\n return createShorthand(Component, mapValueToProps, val, options);\n };\n} // ============================================================\n// HTML Factories\n// ============================================================\n\nexport var createHTMLDivision = /* #__PURE__ */createShorthandFactory('div', function (val) {\n return {\n children: val\n };\n});\nexport var createHTMLIframe = /* #__PURE__ */createShorthandFactory('iframe', function (src) {\n return {\n src: src\n };\n});\nexport var createHTMLImage = /* #__PURE__ */createShorthandFactory('img', function (val) {\n return {\n src: val\n };\n});\nexport var createHTMLInput = /* #__PURE__ */createShorthandFactory('input', function (val) {\n return {\n type: val\n };\n});\nexport var createHTMLLabel = /* #__PURE__ */createShorthandFactory('label', function (val) {\n return {\n children: val\n };\n});\nexport var createHTMLParagraph = /* #__PURE__ */createShorthandFactory('p', function (val) {\n return {\n children: val\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Icon from '../Icon';\nimport StepContent from './StepContent';\nimport StepDescription from './StepDescription';\nimport StepGroup from './StepGroup';\nimport StepTitle from './StepTitle';\n/**\n * A step shows the completion status of an activity in a series of activities.\n */\n\nvar Step = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Step, _Component);\n\n function Step() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.computeElementType = function () {\n var onClick = _this.props.onClick;\n if (onClick) return 'a';\n };\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n if (!disabled) _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = Step.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n children = _this$props.children,\n className = _this$props.className,\n completed = _this$props.completed,\n content = _this$props.content,\n description = _this$props.description,\n disabled = _this$props.disabled,\n href = _this$props.href,\n icon = _this$props.icon,\n link = _this$props.link,\n title = _this$props.title;\n var classes = cx(useKeyOnly(active, 'active'), useKeyOnly(completed, 'completed'), useKeyOnly(disabled, 'disabled'), useKeyOnly(link, 'link'), 'step', className);\n var rest = getUnhandledProps(Step, this.props);\n var ElementType = getElementType(Step, this.props, this.computeElementType);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), Icon.create(icon, {\n autoGenerateKey: false\n }), StepContent.create({\n description: description,\n title: title\n }, {\n autoGenerateKey: false\n }));\n };\n\n return Step;\n}(Component);\n\nStep.handledProps = [\"active\", \"as\", \"children\", \"className\", \"completed\", \"content\", \"description\", \"disabled\", \"href\", \"icon\", \"link\", \"onClick\", \"ordered\", \"title\"];\nStep.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A step can be highlighted as active. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A step can show that a user has completed it. */\n completed: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for StepDescription. */\n description: customPropTypes.itemShorthand,\n\n /** Show that the Loader is inactive. */\n disabled: PropTypes.bool,\n\n /** Render as an `a` tag instead of a `div` and adds the href attribute. */\n href: PropTypes.string,\n\n /** Shorthand for Icon. */\n icon: customPropTypes.itemShorthand,\n\n /** A step can be link. */\n link: PropTypes.bool,\n\n /**\n * Called on click. When passed, the component will render as an `a`\n * tag by default instead of a `div`.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /** A step can show a ordered sequence of steps. Passed from StepGroup. */\n ordered: PropTypes.bool,\n\n /** Shorthand for StepTitle. */\n title: customPropTypes.itemShorthand\n} : {};\nStep.Content = StepContent;\nStep.Description = StepDescription;\nStep.Group = StepGroup;\nStep.Title = StepTitle;\nStep.create = createShorthandFactory(Step, function (content) {\n return {\n content: content\n };\n});\nexport default Step;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport ItemContent from './ItemContent';\nimport ItemDescription from './ItemDescription';\nimport ItemExtra from './ItemExtra';\nimport ItemGroup from './ItemGroup';\nimport ItemHeader from './ItemHeader';\nimport ItemImage from './ItemImage';\nimport ItemMeta from './ItemMeta';\n/**\n * An item view presents large collections of site content for display.\n */\n\nfunction Item(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n description = props.description,\n extra = props.extra,\n header = props.header,\n image = props.image,\n meta = props.meta;\n var classes = cx('item', className);\n var rest = getUnhandledProps(Item, props);\n var ElementType = getElementType(Item, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), ItemImage.create(image, {\n autoGenerateKey: false\n }), /*#__PURE__*/React.createElement(ItemContent, {\n content: content,\n description: description,\n extra: extra,\n header: header,\n meta: meta\n }));\n}\n\nItem.handledProps = [\"as\", \"children\", \"className\", \"content\", \"description\", \"extra\", \"header\", \"image\", \"meta\"];\nItem.Content = ItemContent;\nItem.Description = ItemDescription;\nItem.Extra = ItemExtra;\nItem.Group = ItemGroup;\nItem.Header = ItemHeader;\nItem.Image = ItemImage;\nItem.Meta = ItemMeta;\nItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for ItemContent component. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for ItemDescription component. */\n description: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemExtra component. */\n extra: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemHeader component. */\n header: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemImage component. */\n image: customPropTypes.itemShorthand,\n\n /** Shorthand for ItemMeta component. */\n meta: customPropTypes.itemShorthand\n} : {};\nexport default Item;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useValueAndKey } from '../../lib';\nimport StatisticGroup from './StatisticGroup';\nimport StatisticLabel from './StatisticLabel';\nimport StatisticValue from './StatisticValue';\n/**\n * A statistic emphasizes the current value of an attribute.\n */\n\nfunction Statistic(props) {\n var children = props.children,\n className = props.className,\n color = props.color,\n content = props.content,\n floated = props.floated,\n horizontal = props.horizontal,\n inverted = props.inverted,\n label = props.label,\n size = props.size,\n text = props.text,\n value = props.value;\n var classes = cx('ui', color, size, useValueAndKey(floated, 'floated'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(inverted, 'inverted'), 'statistic', className);\n var rest = getUnhandledProps(Statistic, props);\n var ElementType = getElementType(Statistic, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n if (!childrenUtils.isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), StatisticValue.create(value, {\n defaultProps: {\n text: text\n },\n autoGenerateKey: false\n }), StatisticLabel.create(label, {\n autoGenerateKey: false\n }));\n}\n\nStatistic.handledProps = [\"as\", \"children\", \"className\", \"color\", \"content\", \"floated\", \"horizontal\", \"inverted\", \"label\", \"size\", \"text\", \"value\"];\nStatistic.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A statistic can be formatted to be different colors. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A statistic can sit to the left or right of other content. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A statistic can present its measurement horizontally. */\n horizontal: PropTypes.bool,\n\n /** A statistic can be formatted to fit on a dark background. */\n inverted: PropTypes.bool,\n\n /** Label content of the Statistic. */\n label: customPropTypes.contentShorthand,\n\n /** A statistic can vary in size. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'big', 'massive', 'medium')),\n\n /** Format the StatisticValue with smaller font size to fit nicely beside number values. */\n text: PropTypes.bool,\n\n /** Value content of the Statistic. */\n value: customPropTypes.contentShorthand\n} : {};\nStatistic.Group = StatisticGroup;\nStatistic.Label = StatisticLabel;\nStatistic.Value = StatisticValue;\nStatistic.create = createShorthandFactory(Statistic, function (content) {\n return {\n content: content\n };\n});\nexport default Statistic;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ALL_ICONS_IN_ALL_CONTEXTS = exports.COMPONENT_CONTEXT_SPECIFIC_ICONS = exports.ICONS_AND_ALIASES = exports.ICON_ALIASES = exports.ICONS = exports.BRANDS = exports.WRITING = exports.VEHICLES = exports.USERS_PEOPLE = exports.STATUS = exports.SPORTS = exports.SPINNERS = exports.SHAPES = exports.PAYMENTS_SHOPPING = exports.OBJECTS = exports.MEDICAL = exports.MAPS = exports.LOGISTICS = exports.INTERFACES = exports.IMAGES = exports.HEALTH = exports.HANDS_GESTURES = exports.GENDERS = exports.FILES = exports.EDITORS = exports.DESIGN = exports.DATE_TIME = exports.CURRENCY = exports.COMPUTERS = exports.COMMUNICATION = exports.CODE = exports.CHESS = exports.BUSINESS = exports.AUDIO_VIDEO = exports.ARROWS = exports.ACCESSIBILITY = exports.TRANSITIONS = exports.STATIC_TRANSITIONS = exports.DIRECTIONAL_TRANSITIONS = exports.WIDTHS = exports.VISIBILITY = exports.VERTICAL_ALIGNMENTS = exports.TEXT_ALIGNMENTS = exports.SIZES = exports.FLOATS = exports.COLORS = void 0;\n\nvar _uniq2 = _interopRequireDefault(require(\"lodash/uniq\"));\n\nvar _values2 = _interopRequireDefault(require(\"lodash/values\"));\n\nvar _keys2 = _interopRequireDefault(require(\"lodash/keys\"));\n\nvar _numberToWord = require(\"./numberToWord\");\n\nvar COLORS = ['red', 'orange', 'yellow', 'olive', 'green', 'teal', 'blue', 'violet', 'purple', 'pink', 'brown', 'grey', 'black'];\nexports.COLORS = COLORS;\nvar FLOATS = ['left', 'right'];\nexports.FLOATS = FLOATS;\nvar SIZES = ['mini', 'tiny', 'small', 'medium', 'large', 'big', 'huge', 'massive'];\nexports.SIZES = SIZES;\nvar TEXT_ALIGNMENTS = ['left', 'center', 'right', 'justified'];\nexports.TEXT_ALIGNMENTS = TEXT_ALIGNMENTS;\nvar VERTICAL_ALIGNMENTS = ['bottom', 'middle', 'top'];\nexports.VERTICAL_ALIGNMENTS = VERTICAL_ALIGNMENTS;\nvar VISIBILITY = ['mobile', 'tablet', 'computer', 'large screen', 'widescreen'];\nexports.VISIBILITY = VISIBILITY;\nvar WIDTHS = [].concat((0, _keys2.default)(_numberToWord.numberToWordMap), (0, _keys2.default)(_numberToWord.numberToWordMap).map(Number), (0, _values2.default)(_numberToWord.numberToWordMap));\nexports.WIDTHS = WIDTHS;\nvar DIRECTIONAL_TRANSITIONS = ['browse', 'browse right', 'drop', 'fade', 'fade up', 'fade down', 'fade left', 'fade right', 'fly up', 'fly down', 'fly left', 'fly right', 'horizontal flip', 'vertical flip', 'scale', 'slide up', 'slide down', 'slide left', 'slide right', 'swing up', 'swing down', 'swing left', 'swing right', 'zoom'];\nexports.DIRECTIONAL_TRANSITIONS = DIRECTIONAL_TRANSITIONS;\nvar STATIC_TRANSITIONS = ['jiggle', 'flash', 'shake', 'pulse', 'tada', 'bounce', 'glow'];\nexports.STATIC_TRANSITIONS = STATIC_TRANSITIONS;\nvar TRANSITIONS = [].concat(DIRECTIONAL_TRANSITIONS, STATIC_TRANSITIONS); // Generated from:\n// https://github.com/Semantic-Org/Semantic-UI/blob/master/dist/components/icon.css\n\nexports.TRANSITIONS = TRANSITIONS;\nvar ACCESSIBILITY = ['american sign language interpreting', 'assistive listening systems', 'audio description', 'blind', 'braille', 'closed captioning', 'closed captioning outline', 'deaf', 'low vision', 'phone volume', 'question circle', 'question circle outline', 'sign language', 'tty', 'universal access', 'wheelchair'];\nexports.ACCESSIBILITY = ACCESSIBILITY;\nvar ARROWS = ['angle double down', 'angle double left', 'angle double right', 'angle double up', 'angle down', 'angle left', 'angle right', 'angle up', 'arrow alternate circle down', 'arrow alternate circle down outline', 'arrow alternate circle left', 'arrow alternate circle left outline', 'arrow alternate circle right', 'arrow alternate circle right outline', 'arrow alternate circle up', 'arrow alternate circle up outline', 'arrow circle down', 'arrow circle left', 'arrow circle right', 'arrow circle up', 'arrow down', 'arrow left', 'arrow right', 'arrow up', 'arrows alternate', 'arrows alternate horizontal', 'arrows alternate vertical', 'caret down', 'caret left', 'caret right', 'caret square down', 'caret square down outline', 'caret square left', 'caret square left outline', 'caret square right', 'caret square right outline', 'caret square up', 'caret square up outline', 'caret up', 'cart arrow down', 'chart line', 'chevron circle down', 'chevron circle left', 'chevron circle right', 'chevron circle up', 'chevron down', 'chevron left', 'chevron right', 'chevron up', 'cloud download', 'cloud upload', 'download', 'exchange', 'expand arrows alternate', 'external alternate', 'external square alternate', 'hand point down', 'hand point down outline', 'hand point left', 'hand point left outline', 'hand point right', 'hand point right outline', 'hand point up', 'hand point up outline', 'hand pointer', 'hand pointer outline', 'history', 'level down alternate', 'level up alternate', 'location arrow', 'long arrow alternate down', 'long arrow alternate left', 'long arrow alternate right', 'long arrow alternate up', 'mouse pointer', 'play', 'random', 'recycle', 'redo', 'redo alternate', 'reply', 'reply all', 'retweet', 'share', 'share square', 'share square outline', 'sign-in', 'sign-out', 'sign-in alternate', 'sign-out alternate', 'sort', 'sort alphabet down', 'sort alphabet up', 'sort amount down', 'sort amount up', 'sort down', 'sort numeric down', 'sort numeric up', 'sort up', 'sync', 'sync alternate', 'text height', 'text width', 'undo', 'undo alternate', 'upload', 'zoom-in', 'zoom-out'];\nexports.ARROWS = ARROWS;\nvar AUDIO_VIDEO = ['audio description', 'backward', 'circle', 'circle outline', 'closed captioning', 'closed captioning outline', 'compress', 'eject', 'expand', 'expand arrows alternate', 'fast backward', 'fast forward', 'file audio', 'file audio outline', 'file video', 'file video outline', 'film', 'forward', 'headphones', 'microphone', 'microphone slash', 'music', 'pause', 'pause circle', 'pause circle outline', 'phone volume', 'play', 'play circle', 'play circle outline', 'podcast', 'random', 'redo', 'redo alternate', 'rss', 'rss square', 'step backward', 'step forward', 'stop', 'stop circle', 'stop circle outline', 'sync', 'sync alternate', 'undo', 'undo alternate', 'video', 'volume down', 'volume off', 'volume up'];\nexports.AUDIO_VIDEO = AUDIO_VIDEO;\nvar BUSINESS = ['address book', 'address book outline', 'address card', 'address card outline', 'archive', 'balance scale', 'birthday cake', 'book', 'briefcase', 'building', 'building outline', 'bullhorn', 'bullseye', 'calculator', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'certificate', 'chart area', 'chart bar', 'chart bar outline', 'chart line', 'chart pie', 'clipboard', 'clipboard outline', 'coffee', 'columns', 'compass', 'compass outline', 'copy', 'copy outline', 'copyright', 'copyright outline', 'cut', 'edit', 'edit outline', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'envelope square', 'eraser', 'fax', 'file', 'file outline', 'file alternate', 'file alternate outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'globe', 'industry', 'paperclip', 'paste', 'pen square', 'pencil alternate', 'percent', 'phone', 'phone square', 'phone volume', 'registered', 'registered outline', 'save', 'save outline', 'sitemap', 'sticky note', 'sticky note outline', 'suitcase', 'table', 'tag', 'tags', 'tasks', 'thumbtack', 'trademark'];\nexports.BUSINESS = BUSINESS;\nvar CHESS = ['chess', 'chess bishop', 'chess board', 'chess king', 'chess knight', 'chess pawn', 'chess queen', 'chess rook', 'square full'];\nexports.CHESS = CHESS;\nvar CODE = ['archive', 'barcode', 'bath', 'bug', 'code', 'code branch', 'coffee', 'file', 'file outline', 'file alternate', 'file alternate outline', 'file code', 'file code outline', 'filter', 'fire extinguisher', 'folder', 'folder outline', 'folder open', 'folder open outline', 'keyboard', 'keyboard outline', 'microchip', 'qrcode', 'shield alternate', 'sitemap', 'terminal', 'user secret', 'window close', 'window close outline', 'window maximize', 'window maximize outline', 'window minimize', 'window minimize outline', 'window restore', 'window restore outline'];\nexports.CODE = CODE;\nvar COMMUNICATION = ['address book', 'address book outline', 'address card', 'address card outline', 'american sign language interpreting', 'assistive listening systems', 'at', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'bullhorn', 'comment', 'comment outline', 'comment alternate', 'comment alternate outline', 'comments', 'comments outline', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'envelope square', 'fax', 'inbox', 'language', 'microphone', 'microphone slash', 'mobile', 'mobile alternate', 'paper plane', 'paper plane outline', 'phone', 'phone square', 'phone volume', 'rss', 'rss square', 'tty', 'wifi'];\nexports.COMMUNICATION = COMMUNICATION;\nvar COMPUTERS = ['desktop', 'download', 'hdd', 'hdd outline', 'headphones', 'keyboard', 'keyboard outline', 'laptop', 'microchip', 'mobile', 'mobile alternate', 'plug', 'power off', 'print', 'save', 'save outline', 'server', 'tablet', 'tablet alternate', 'tv', 'upload'];\nexports.COMPUTERS = COMPUTERS;\nvar CURRENCY = ['dollar sign', 'euro sign', 'lira sign', 'money bill alternate', 'money bill alternate outline', 'pound sign', 'ruble sign', 'rupee sign', 'shekel sign', 'won sign', 'yen sign'];\nexports.CURRENCY = CURRENCY;\nvar DATE_TIME = ['bell', 'bell outline', 'bell slash', 'bell slash outline', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'calendar check', 'calendar check outline', 'calendar minus', 'calendar minus outline', 'calendar plus', 'calendar plus outline', 'calendar times', 'calendar times outline', 'clock', 'clock outline', 'hourglass', 'hourglass outline', 'hourglass end', 'hourglass half', 'hourglass start', 'stopwatch'];\nexports.DATE_TIME = DATE_TIME;\nvar DESIGN = ['adjust', 'clone', 'clone outline', 'copy', 'copy outline', 'crop', 'crosshairs', 'cut', 'edit', 'edit outline', 'eraser', 'eye', 'eye dropper', 'eye slash', 'eye slash outline', 'object group', 'object group outline', 'object ungroup', 'object ungroup outline', 'paint brush', 'paste', 'pencil alternate', 'save', 'save outline', 'tint'];\nexports.DESIGN = DESIGN;\nvar EDITORS = ['align center', 'align justify', 'align left', 'align right', 'bold', 'clipboard', 'clipboard outline', 'clone', 'clone outline', 'columns', 'copy', 'copy outline', 'cut', 'edit', 'edit outline', 'eraser', 'file', 'file outline', 'file alternate', 'file alternate outline', 'font', 'heading', 'i cursor', 'indent', 'italic', 'linkify', 'list', 'list alternate', 'list alternate outline', 'list ol', 'list ul', 'outdent', 'paper plane', 'paper plane outline', 'paperclip', 'paragraph', 'paste', 'pencil alternate', 'print', 'quote left', 'quote right', 'redo', 'redo alternate', 'reply', 'reply all', 'share', 'strikethrough', 'subscript', 'superscript', 'sync', 'sync alternate', 'table', 'tasks', 'text height', 'text width', 'th', 'th large', 'th list', 'trash', 'trash alternate', 'trash alternate outline', 'underline', 'undo', 'undo alternate', 'unlink'];\nexports.EDITORS = EDITORS;\nvar FILES = ['archive', 'clone', 'clone outline', 'copy', 'copy outline', 'cut', 'file', 'file outline', 'file alternate', 'file alternate outline', 'file archive', 'file archive outline', 'file audio', 'file audio outline', 'file code', 'file code outline', 'file excel', 'file excel outline', 'file image', 'file image outline', 'file pdf', 'file pdf outline', 'file powerpoint', 'file powerpoint outline', 'file video', 'file video outline', 'file word', 'file word outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'paste', 'save', 'save outline', 'sticky note', 'sticky note outline'];\nexports.FILES = FILES;\nvar GENDERS = ['genderless', 'mars', 'mars double', 'mars stroke', 'mars stroke horizontal', 'mars stroke vertical', 'mercury', 'neuter', 'transgender', 'transgender alternate', 'venus', 'venus double', 'venus mars'];\nexports.GENDERS = GENDERS;\nvar HANDS_GESTURES = ['hand lizard', 'hand lizard outline', 'hand paper', 'hand paper outline', 'hand peace', 'hand peace outline', 'hand point down', 'hand point down outline', 'hand point left', 'hand point left outline', 'hand point right', 'hand point right outline', 'hand point up', 'hand point up outline', 'hand pointer', 'hand pointer outline', 'hand rock', 'hand rock outline', 'hand scissors', 'hand scissors outline', 'hand spock', 'hand spock outline', 'handshake', 'handshake outline', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline'];\nexports.HANDS_GESTURES = HANDS_GESTURES;\nvar HEALTH = ['ambulance', 'h square', 'heart', 'heart outline', 'heartbeat', 'hospital', 'hospital outline', 'medkit', 'plus square', 'plus square outline', 'stethoscope', 'user md', 'wheelchair'];\nexports.HEALTH = HEALTH;\nvar IMAGES = ['adjust', 'bolt', 'camera', 'camera retro', 'clone', 'clone outline', 'compress', 'expand', 'eye', 'eye dropper', 'eye slash', 'eye slash outline', 'file image', 'file image outline', 'film', 'id badge', 'id badge outline', 'id card', 'id card outline', 'image', 'image outline', 'images', 'images outline', 'sliders horizontal', 'tint'];\nexports.IMAGES = IMAGES;\nvar INTERFACES = ['ban', 'barcode', 'bars', 'beer', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'bug', 'bullhorn', 'bullseye', 'calculator', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'calendar check', 'calendar check outline', 'calendar minus', 'calendar minus outline', 'calendar plus', 'calendar plus outline', 'calendar times', 'calendar times outline', 'certificate', 'check', 'check circle', 'check circle outline', 'check square', 'check square outline', 'circle', 'circle outline', 'clipboard', 'clipboard outline', 'clone', 'clone outline', 'cloud', 'cloud download', 'cloud upload', 'coffee', 'cog', 'cogs', 'copy', 'copy outline', 'cut', 'database', 'dot circle', 'dot circle outline', 'download', 'edit', 'edit outline', 'ellipsis horizontal', 'ellipsis vertical', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'eraser', 'exclamation', 'exclamation circle', 'exclamation triangle', 'external alternate', 'external square alternate', 'eye', 'eye slash', 'eye slash outline', 'file', 'file outline', 'file alternate', 'file alternate outline', 'filter', 'flag', 'flag outline', 'flag checkered', 'folder', 'folder outline', 'folder open', 'folder open outline', 'frown', 'frown outline', 'hashtag', 'heart', 'heart outline', 'history', 'home', 'i cursor', 'info', 'info circle', 'language', 'magic', 'meh', 'meh outline', 'microphone', 'microphone slash', 'minus', 'minus circle', 'minus square', 'minus square outline', 'paste', 'pencil alternate', 'plus', 'plus circle', 'plus square', 'plus square outline', 'qrcode', 'question', 'question circle', 'question circle outline', 'quote left', 'quote right', 'redo', 'redo alternate', 'reply', 'reply all', 'rss', 'rss square', 'save', 'save outline', 'search', 'search minus', 'search plus', 'share', 'share alternate', 'share alternate square', 'share square', 'share square outline', 'shield alternate', 'sign-in', 'sign-out', 'signal', 'sitemap', 'sliders horizontal', 'smile', 'smile outline', 'sort', 'sort alphabet down', 'sort alphabet up', 'sort amount down', 'sort amount up', 'sort down', 'sort numeric down', 'sort numeric up', 'sort up', 'star', 'star outline', 'star half', 'star half outline', 'sync', 'sync alternate', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline', 'times', 'times circle', 'times circle outline', 'toggle off', 'toggle on', 'trash', 'trash alternate', 'trash alternate outline', 'trophy', 'undo', 'undo alternate', 'upload', 'user', 'user outline', 'user circle', 'user circle outline', 'wifi'];\nexports.INTERFACES = INTERFACES;\nvar LOGISTICS = ['box', 'boxes', 'clipboard check', 'clipboard list', 'dolly', 'dolly flatbed', 'pallet', 'shipping fast', 'truck', 'warehouse'];\nexports.LOGISTICS = LOGISTICS;\nvar MAPS = ['ambulance', 'anchor', 'balance scale', 'bath', 'bed', 'beer', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'bicycle', 'binoculars', 'birthday cake', 'blind', 'bomb', 'book', 'bookmark', 'bookmark outline', 'briefcase', 'building', 'building outline', 'car', 'coffee', 'crosshairs', 'dollar sign', 'eye', 'eye slash', 'eye slash outline', 'fighter jet', 'fire', 'fire extinguisher', 'flag', 'flag outline', 'flag checkered', 'flask', 'gamepad', 'gavel', 'gift', 'glass martini', 'globe', 'graduation cap', 'h square', 'heart', 'heart outline', 'heartbeat', 'home', 'hospital', 'hospital outline', 'image', 'image outline', 'images', 'images outline', 'industry', 'info', 'info circle', 'key', 'leaf', 'lemon', 'lemon outline', 'life ring', 'life ring outline', 'lightbulb', 'lightbulb outline', 'location arrow', 'low vision', 'magnet', 'male', 'map', 'map outline', 'map marker', 'map marker alternate', 'map pin', 'map signs', 'medkit', 'money bill alternate', 'money bill alternate outline', 'motorcycle', 'music', 'newspaper', 'newspaper outline', 'paw', 'phone', 'phone square', 'phone volume', 'plane', 'plug', 'plus', 'plus square', 'plus square outline', 'print', 'recycle', 'road', 'rocket', 'search', 'search minus', 'search plus', 'ship', 'shopping bag', 'shopping basket', 'shopping cart', 'shower', 'street view', 'subway', 'suitcase', 'tag', 'tags', 'taxi', 'thumbtack', 'ticket alternate', 'tint', 'train', 'tree', 'trophy', 'truck', 'tty', 'umbrella', 'university', 'utensil spoon', 'utensils', 'wheelchair', 'wifi', 'wrench'];\nexports.MAPS = MAPS;\nvar MEDICAL = ['ambulance', 'band aid', 'dna', 'first aid', 'heart', 'heart outline', 'heartbeat', 'hospital', 'hospital outline', 'hospital symbol', 'pills', 'plus', 'stethoscope', 'syringe', 'thermometer', 'user md', 'weight'];\nexports.MEDICAL = MEDICAL;\nvar OBJECTS = ['ambulance', 'anchor', 'archive', 'balance scale', 'bath', 'bed', 'beer', 'bell', 'bell outline', 'bicycle', 'binoculars', 'birthday cake', 'bomb', 'book', 'bookmark', 'bookmark outline', 'briefcase', 'bug', 'building', 'building outline', 'bullhorn', 'bullseye', 'bus', 'calculator', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'camera', 'camera retro', 'car', 'clipboard', 'clipboard outline', 'cloud', 'coffee', 'cog', 'cogs', 'compass', 'compass outline', 'copy', 'copy outline', 'cube', 'cubes', 'cut', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'eraser', 'eye', 'eye dropper', 'fax', 'fighter jet', 'file', 'file outline', 'file alternate', 'file alternate outline', 'film', 'fire', 'fire extinguisher', 'flag', 'flag outline', 'flag checkered', 'flask', 'futbol', 'futbol outline', 'gamepad', 'gavel', 'gem', 'gem outline', 'gift', 'glass martini', 'globe', 'graduation cap', 'hdd', 'hdd outline', 'headphones', 'heart', 'heart outline', 'home', 'hospital', 'hospital outline', 'hourglass', 'hourglass outline', 'image', 'image outline', 'images', 'images outline', 'industry', 'key', 'keyboard', 'keyboard outline', 'laptop', 'leaf', 'lemon', 'lemon outline', 'life ring', 'life ring outline', 'lightbulb', 'lightbulb outline', 'lock', 'lock open', 'magic', 'magnet', 'map', 'map outline', 'map marker', 'map marker alternate', 'map pin', 'map signs', 'medkit', 'microchip', 'microphone', 'mobile', 'mobile alternate', 'money bill alternate', 'money bill alternate outline', 'moon', 'moon outline', 'motorcycle', 'newspaper', 'newspaper outline', 'paint brush', 'paper plane', 'paper plane outline', 'paperclip', 'paste', 'paw', 'pencil alternate', 'phone', 'plane', 'plug', 'print', 'puzzle piece', 'road', 'rocket', 'save', 'save outline', 'search', 'shield alternate', 'shopping bag', 'shopping basket', 'shopping cart', 'shower', 'snowflake', 'snowflake outline', 'space shuttle', 'star', 'star outline', 'sticky note', 'sticky note outline', 'stopwatch', 'subway', 'suitcase', 'sun', 'sun outline', 'tablet', 'tablet alternate', 'tachometer alternate', 'tag', 'tags', 'taxi', 'thumbtack', 'ticket alternate', 'train', 'trash', 'trash alternate', 'trash alternate outline', 'tree', 'trophy', 'truck', 'tv', 'umbrella', 'university', 'unlock', 'unlock alternate', 'utensil spoon', 'utensils', 'wheelchair', 'wrench'];\nexports.OBJECTS = OBJECTS;\nvar PAYMENTS_SHOPPING = ['bell', 'bell outline', 'bookmark', 'bookmark outline', 'bullhorn', 'camera', 'camera retro', 'cart arrow down', 'cart plus', 'certificate', 'credit card', 'credit card outline', 'gem', 'gem outline', 'gift', 'handshake', 'handshake outline', 'heart', 'heart outline', 'key', 'shopping bag', 'shopping basket', 'shopping cart', 'star', 'star outline', 'tag', 'tags', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline', 'trophy'];\nexports.PAYMENTS_SHOPPING = PAYMENTS_SHOPPING;\nvar SHAPES = ['bookmark', 'bookmark outline', 'calendar', 'calendar outline', 'certificate', 'circle', 'circle outline', 'cloud', 'comment', 'comment outline', 'file', 'file outline', 'folder', 'folder outline', 'heart', 'heart outline', 'map marker', 'play', 'square', 'square outline', 'star', 'star outline'];\nexports.SHAPES = SHAPES;\nvar SPINNERS = ['asterisk', 'certificate', 'circle notch', 'cog', 'compass', 'compass outline', 'crosshairs', 'life ring', 'life ring outline', 'snowflake', 'snowflake outline', 'spinner', 'sun', 'sun outline', 'sync'];\nexports.SPINNERS = SPINNERS;\nvar SPORTS = ['baseball ball', 'basketball ball', 'bowling ball', 'football ball', 'futbol', 'futbol outline', 'golf ball', 'hockey puck', 'quidditch', 'table tennis', 'volleyball ball'];\nexports.SPORTS = SPORTS;\nvar STATUS = ['ban', 'battery empty', 'battery full', 'battery half', 'battery quarter', 'battery three quarters', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'calendar check', 'calendar check outline', 'calendar minus', 'calendar minus outline', 'calendar plus', 'calendar plus outline', 'calendar times', 'calendar times outline', 'cart arrow down', 'cart plus', 'exclamation', 'exclamation circle', 'exclamation triangle', 'eye', 'eye slash', 'eye slash outline', 'file', 'file outline', 'file alternate', 'file alternate outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'info', 'info circle', 'lock', 'lock open', 'minus', 'minus circle', 'minus square', 'minus square outline', 'plus', 'plus circle', 'plus square', 'plus square outline', 'question', 'question circle', 'question circle outline', 'shield alternate', 'shopping cart', 'sign in alternate', 'sign out alternate', 'thermometer empty', 'thermometer full', 'thermometer half', 'thermometer quarter', 'thermometer three quarters', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline', 'toggle off', 'toggle on', 'unlock', 'unlock alternate'];\nexports.STATUS = STATUS;\nvar USERS_PEOPLE = ['address book', 'address book outline', 'address card', 'address card outline', 'bed', 'blind', 'child', 'female', 'frown', 'frown outline', 'id badge', 'id badge outline', 'id card', 'id card outline', 'male', 'meh', 'meh outline', 'power off', 'smile', 'smile outline', 'street view', 'user', 'user outline', 'user circle', 'user circle outline', 'user md', 'user plus', 'user secret', 'user times', 'users', 'wheelchair'];\nexports.USERS_PEOPLE = USERS_PEOPLE;\nvar VEHICLES = ['ambulance', 'bicycle', 'bus', 'car', 'fighter jet', 'motorcycle', 'paper plane', 'paper plane outline', 'plane', 'rocket', 'ship', 'shopping cart', 'space shuttle', 'subway', 'taxi', 'train', 'truck', 'wheelchair'];\nexports.VEHICLES = VEHICLES;\nvar WRITING = ['archive', 'book', 'bookmark', 'bookmark outline', 'edit', 'edit outline', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'eraser', 'file', 'file outline', 'file alternate', 'file alternate outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'keyboard', 'keyboard outline', 'newspaper', 'newspaper outline', 'paper plane', 'paper plane outline', 'paperclip', 'paragraph', 'pen square', 'pencil alternate', 'quote left', 'quote right', 'sticky note', 'sticky note outline', 'thumbtack'];\nexports.WRITING = WRITING;\nvar BRANDS = ['500px', 'accessible', 'accusoft', 'adn', 'adversal', 'affiliatetheme', 'algolia', 'amazon', 'amazon pay', 'amilia', 'android', 'angellist', 'angrycreative', 'angular', 'app store', 'app store ios', 'apper', 'apple', 'apple pay', 'asymmetrik', 'audible', 'autoprefixer', 'avianex', 'aviato', 'aws', 'bandcamp', 'behance', 'behance square', 'bimobject', 'bitbucket', 'bitcoin', 'bity', 'black tie', 'blackberry', 'blogger', 'blogger b', 'bluetooth', 'bluetooth b', 'btc', 'buromobelexperte', 'buysellads', 'cc amazon pay', 'cc amex', 'cc apple pay', 'cc diners club', 'cc discover', 'cc jcb', 'cc mastercard', 'cc paypal', 'cc stripe', 'cc visa', 'centercode', 'chrome', 'cloudscale', 'cloudsmith', 'cloudversify', 'codepen', 'codiepie', 'connectdevelop', 'contao', 'cpanel', 'creative commons', 'css3', 'css3 alternate', 'cuttlefish', 'd and d', 'dashcube', 'delicious', 'deploydog', 'deskpro', 'deviantart', 'digg', 'digital ocean', 'discord', 'discourse', 'dochub', 'docker', 'draft2digital', 'dribbble', 'dribbble square', 'dropbox', 'drupal', 'dyalog', 'earlybirds', 'edge', 'elementor', 'ember', 'empire', 'envira', 'erlang', 'ethereum', 'etsy', 'expeditedssl', 'facebook', 'facebook f', 'facebook messenger', 'facebook square', 'firefox', 'first order', 'firstdraft', 'flickr', 'flipboard', 'fly', 'font awesome', 'font awesome alternate', 'font awesome flag', 'fonticons', 'fonticons fi', 'fort awesome', 'fort awesome alternate', 'forumbee', 'foursquare', 'free code camp', 'freebsd', 'get pocket', 'gg', 'gg circle', 'git', 'git square', 'github', 'github alternate', 'github square', 'gitkraken', 'gitlab', 'gitter', 'glide', 'glide g', 'gofore', 'goodreads', 'goodreads g', 'google', 'google drive', 'google play', 'google plus', 'google plus g', 'google plus square', 'google wallet', 'gratipay', 'grav', 'gripfire', 'grunt', 'gulp', 'hacker news', 'hacker news square', 'hips', 'hire a helper', 'hooli', 'hotjar', 'houzz', 'html5', 'hubspot', 'imdb', 'instagram', 'internet explorer', 'ioxhost', 'itunes', 'itunes note', 'jenkins', 'joget', 'joomla', 'js', 'js square', 'jsfiddle', 'keycdn', 'kickstarter', 'kickstarter k', 'korvue', 'laravel', 'lastfm', 'lastfm square', 'leanpub', 'less', 'linechat', 'linkedin', 'linkedin alternate', 'linode', 'linux', 'lyft', 'magento', 'maxcdn', 'medapps', 'medium', 'medium m', 'medrt', 'meetup', 'microsoft', 'mix', 'mixcloud', 'mizuni', 'modx', 'monero', 'napster', 'nintendo switch', 'node', 'node js', 'npm', 'ns8', 'nutritionix', 'odnoklassniki', 'odnoklassniki square', 'opencart', 'openid', 'opera', 'optin monster', 'osi', 'page4', 'pagelines', 'palfed', 'patreon', 'paypal', 'periscope', 'phabricator', 'phoenix framework', 'php', 'pied piper', 'pied piper alternate', 'pied piper pp', 'pinterest', 'pinterest p', 'pinterest square', 'playstation', 'product hunt', 'pushed', 'python', 'qq', 'quinscape', 'quora', 'ravelry', 'react', 'rebel', 'redriver', 'reddit', 'reddit alien', 'reddit square', 'rendact', 'renren', 'replyd', 'resolving', 'rocketchat', 'rockrms', 'safari', 'sass', 'schlix', 'scribd', 'searchengin', 'sellcast', 'sellsy', 'servicestack', 'shirtsinbulk', 'simplybuilt', 'sistrix', 'skyatlas', 'skype', 'slack', 'slack hash', 'slideshare', 'snapchat', 'snapchat ghost', 'snapchat square', 'soundcloud', 'speakap', 'spotify', 'stack exchange', 'stack overflow', 'staylinked', 'steam', 'steam square', 'steam symbol', 'sticker mule', 'strava', 'stripe', 'stripe s', 'studiovinari', 'stumbleupon', 'stumbleupon circle', 'superpowers', 'supple', 'telegram', 'telegram plane', 'tencent weibo', 'themeisle', 'trello', 'tripadvisor', 'tumblr', 'tumblr square', 'twitch', 'twitter', 'twitter square', 'typo3', 'uber', 'uikit', 'uniregistry', 'untappd', 'usb', 'ussunnah', 'vaadin', 'viacoin', 'viadeo', 'viadeo square', 'viber', 'vimeo', 'vimeo square', 'vimeo v', 'vine', 'vk', 'vnv', 'vuejs', 'wechat', 'weibo', 'weixin', 'whatsapp', 'whatsapp square', 'whmcs', 'wikipedia w', 'windows', 'wordpress', 'wordpress simple', 'wpbeginner', 'wpexplorer', 'wpforms', 'xbox', 'xing', 'xing square', 'y combinator', 'yahoo', 'yandex', 'yandex international', 'yelp', 'yoast', 'youtube', 'youtube square'];\nexports.BRANDS = BRANDS;\nvar ICONS = (0, _uniq2.default)([].concat(ACCESSIBILITY, ARROWS, AUDIO_VIDEO, BUSINESS, CHESS, CODE, COMMUNICATION, COMPUTERS, CURRENCY, DATE_TIME, DESIGN, EDITORS, FILES, GENDERS, HANDS_GESTURES, HEALTH, IMAGES, INTERFACES, LOGISTICS, MAPS, MEDICAL, OBJECTS, PAYMENTS_SHOPPING, SHAPES, SPINNERS, SPORTS, STATUS, USERS_PEOPLE, VEHICLES, WRITING, BRANDS));\nexports.ICONS = ICONS;\nvar ICON_ALIASES = ['chess rock', 'ordered list', 'unordered list', 'user doctor', 'shield', 'puzzle', 'add circle', 'add square', 'add to calendar', 'add to cart', 'add user', 'add', 'alarm mute', 'alarm', 'ald', 'als', 'announcement', 'area chart', 'area graph', 'arrow down cart', 'asexual', 'asl interpreting', 'asl', 'assistive listening devices', 'attach', 'attention', 'balance', 'bar', 'bathtub', 'battery four', 'battery high', 'battery low', 'battery one', 'battery three', 'battery two', 'battery zero', 'birthday', 'block layout', 'bluetooth alternative', 'broken chain', 'browser', 'call square', 'call', 'cancel', 'cart', 'cc', 'chain', 'chat', 'checked calendar', 'checkmark', 'circle notched', 'close', 'cny', 'cocktail', 'commenting', 'computer', 'configure', 'content', 'deafness', 'delete calendar', 'delete', 'detective', 'discussions', 'doctor', 'dollar', 'dont', 'drivers license', 'dropdown', 'emergency', 'envira gallery', 'erase', 'eur', 'euro', 'eyedropper', 'factory', 'favorite', 'feed', 'female homosexual', 'file text', 'file text outline', 'find', 'first aid', 'fork', 'game', 'gay', 'gbp', 'google plus circle', 'google plus official', 'grab', 'graduation', 'grid layout', 'group', 'h', 'hand victory', 'handicap', 'hard of hearing', 'header', 'help circle', 'help', 'heterosexual', 'hide', 'hotel', 'hourglass four', 'hourglass full', 'hourglass one', 'hourglass three', 'hourglass two', 'idea', 'ils', 'in cart', 'inr', 'intergender', 'intersex', 'jpy', 'krw', 'lab', 'law', 'legal', 'lesbian', 'lightning', 'like', 'line graph', 'linkedin square', 'linkify', 'lira', 'list layout', 'magnify', 'mail forward', 'mail outline', 'mail square', 'mail', 'male homosexual', 'man', 'marker', 'mars alternate', 'mars horizontal', 'mars vertical', 'microsoft edge', 'military', 'ms edge', 'mute', 'new pied piper', 'non binary transgender', 'numbered list', 'options', 'other gender horizontal', 'other gender vertical', 'other gender', 'payment', 'paypal card', 'pencil square', 'photo', 'picture', 'pie chart', 'pie graph', 'pied piper hat', 'pin', 'plus cart', 'point', 'pointing down', 'pointing left', 'pointing right', 'pointing up', 'pound', 'power cord', 'power', 'privacy', 'r circle', 'rain', 'record', 'refresh', 'remove circle', 'remove from calendar', 'remove user', 'remove', 'repeat', 'rmb', 'rouble', 'rub', 'ruble', 'rupee', 's15', 'selected radio', 'send', 'setting', 'settings', 'shekel', 'sheqel', 'shipping', 'shop', 'shuffle', 'shutdown', 'sidebar', 'signing', 'signup', 'sliders', 'soccer', 'sort alphabet ascending', 'sort alphabet descending', 'sort ascending', 'sort content ascending', 'sort content descending', 'sort descending', 'sort numeric ascending', 'sort numeric descending', 'sound', 'spy', 'stripe card', 'student', 'talk', 'target', 'teletype', 'television', 'text cursor', 'text telephone', 'theme', 'thermometer', 'thumb tack', 'time', 'tm', 'toggle down', 'toggle left', 'toggle right', 'toggle up', 'translate', 'travel', 'treatment', 'triangle down', 'triangle left', 'triangle right', 'triangle up', 'try', 'unhide', 'unlinkify', 'unmute', 'usd', 'user cancel', 'user close', 'user delete', 'user x', 'vcard', 'video camera', 'video play', 'volume control phone', 'wait', 'warning circle', 'warning sign', 'warning', 'wi-fi', 'winner', 'wizard', 'woman', 'won', 'wordpress beginner', 'wordpress forms', 'world', 'write square', 'x', 'yen', 'zip', 'zoom in', 'zoom out', 'zoom', 'bitbucket square', 'checkmark box', 'circle thin', 'cloud download', 'cloud upload', 'compose', 'conversation', 'credit card alternative', 'currency', 'dashboard', 'diamond', 'disk', 'exchange', 'external share', 'external square', 'external', 'facebook official', 'food', 'hourglass zero', 'level down', 'level up', 'log out', 'meanpath', 'money', 'move', 'pencil', 'protect', 'radio', 'remove bookmark', 'resize horizontal', 'resize vertical', 'sign in', 'sign out', 'spoon', 'star half empty', 'star half full', 'ticket', 'times rectangle', 'write', 'youtube play'];\nexports.ICON_ALIASES = ICON_ALIASES;\nvar ICONS_AND_ALIASES = (0, _uniq2.default)([].concat(ICONS, ICON_ALIASES)); // Some icon names are not part of icons.css.\n// These are only valid as children of other components.\n// Their CSS rules are defined by a specific component's CSS.\n// We don't want to show name warnings for those usages so we add them as valid names here.\n\nexports.ICONS_AND_ALIASES = ICONS_AND_ALIASES;\nvar COMPONENT_CONTEXT_SPECIFIC_ICONS = ['left dropdown' // nested dropdown menu direction icon\n];\nexports.COMPONENT_CONTEXT_SPECIFIC_ICONS = COMPONENT_CONTEXT_SPECIFIC_ICONS;\nvar ALL_ICONS_IN_ALL_CONTEXTS = (0, _uniq2.default)([].concat(ICONS_AND_ALIASES, COMPONENT_CONTEXT_SPECIFIC_ICONS));\nexports.ALL_ICONS_IN_ALL_CONTEXTS = ALL_ICONS_IN_ALL_CONTEXTS;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { getUnhandledProps } from '../../lib';\nimport Checkbox from '../../modules/Checkbox';\n/**\n * A Radio is sugar for .\n * Useful for exclusive groups of sliders or toggles.\n * @see Checkbox\n * @see Form\n */\n\nfunction Radio(props) {\n var slider = props.slider,\n toggle = props.toggle,\n type = props.type;\n var rest = getUnhandledProps(Radio, props); // const ElementType = getElementType(Radio, props)\n // radio, slider, toggle are exclusive\n // use an undefined radio if slider or toggle are present\n\n var radio = !(slider || toggle) || undefined;\n return /*#__PURE__*/React.createElement(Checkbox, _extends({}, rest, {\n type: type,\n radio: radio,\n slider: slider,\n toggle: toggle\n }));\n}\n\nRadio.handledProps = [\"slider\", \"toggle\", \"type\"];\nRadio.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Format to emphasize the current selection state. */\n slider: Checkbox.propTypes.slider,\n\n /** Format to show an on or off choice. */\n toggle: Checkbox.propTypes.toggle,\n\n /** HTML input type, either checkbox or radio. */\n type: Checkbox.propTypes.type\n} : {};\nRadio.defaultProps = {\n type: 'radio'\n};\nexport default Radio;","// https://github.com/Semantic-Org/Semantic-UI/blob/2.4.1/src/definitions/modules/modal.js#L956\nvar OFFSET = 0; // https://github.com/Semantic-Org/Semantic-UI/blob/2.4.1/src/definitions/modules/modal.js#L990\n\nvar PADDING = 50;\n/**\n * Ensures that modal can fit viewport without scroll.\n *\n * @param modalRect {DOMRect}\n *\n * @see https://github.com/Semantic-Org/Semantic-UI/blob/2.4.1/src/definitions/modules/modal.js#L608\n */\n\nexport var canFit = function canFit(modalRect) {\n // original: scrollHeight = $module.prop('scrollHeight'),\n // is replaced by .height because scrollHeight provides integer which produces glitches\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/2221\n var scrollHeight = modalRect.height + OFFSET; // $module.outerHeight() + settings.offset\n\n var height = modalRect.height + OFFSET; // original: $(window).height()\n\n var contextHeight = window.innerHeight;\n var verticalCenter = contextHeight / 2;\n var topOffset = -(height / 2); // padding with edge of page\n\n var paddingHeight = PADDING;\n var startPosition = verticalCenter + topOffset; // 0\n // original: scrollHeight > height\n // ? startPosition + scrollHeight + paddingHeight < contextHeight\n // : height + paddingHeight * 2 < contextHeight\n\n return startPosition + scrollHeight + paddingHeight < contextHeight;\n};\n/**\n * Creates legacy styles for IE11.\n *\n * @param isFitted {Boolean}\n * @param centered {Boolean}\n * @param modalRect {DOMRect}\n *\n * @see https://github.com/Semantic-Org/Semantic-UI/blob/2.4.1/src/definitions/modules/modal.js#L718\n */\n\nexport var getLegacyStyles = function getLegacyStyles(isFitted, centered, modalRect) {\n var marginTop = centered && isFitted ? -(modalRect.height / 2) : 0;\n var marginLeft = -(modalRect.width / 2);\n return {\n marginLeft: marginLeft,\n marginTop: marginTop\n };\n}; // https://github.com/Semantic-Org/Semantic-UI/blob/2.4.1/src/definitions/modules/modal.js#L631\n\n/* istanbul ignore next */\n\nexport var isLegacy = function isLegacy() {\n return !window.ActiveXObject && 'ActiveXObject' in window;\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _pick from \"lodash/pick\";\nimport _includes from \"lodash/includes\";\nimport _reduce from \"lodash/reduce\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _invoke from \"lodash/invoke\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { createRef, isValidElement } from 'react';\nimport shallowEqual from 'shallowequal';\nimport { ModernAutoControlledComponent as Component, childrenUtils, customPropTypes, doesNodeContainClick, eventStack, getElementType, getUnhandledProps, isBrowser, useKeyOnly } from '../../lib';\nimport Icon from '../../elements/Icon';\nimport Portal from '../../addons/Portal';\nimport ModalActions from './ModalActions';\nimport ModalContent from './ModalContent';\nimport ModalDescription from './ModalDescription';\nimport ModalDimmer from './ModalDimmer';\nimport ModalHeader from './ModalHeader';\nimport { canFit, getLegacyStyles, isLegacy } from './utils';\n\n/**\n * A modal displays content that temporarily blocks interactions with the main view of a site.\n * @see Confirm\n * @see Portal\n */\nvar Modal = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Modal, _Component);\n\n function Modal() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.legacy = isBrowser() && isLegacy();\n _this.ref = /*#__PURE__*/createRef();\n _this.dimmerRef = /*#__PURE__*/createRef();\n _this.latestDocumentMouseDownEvent = null;\n\n _this.getMountNode = function () {\n return isBrowser() ? _this.props.mountNode || document.body : null;\n };\n\n _this.handleActionsOverrides = function (predefinedProps) {\n return {\n onActionClick: function onActionClick(e, actionProps) {\n _invoke(predefinedProps, 'onActionClick', e, actionProps);\n\n _invoke(_this.props, 'onActionClick', e, _this.props);\n\n _this.handleClose(e);\n }\n };\n };\n\n _this.handleClose = function (e) {\n _invoke(_this.props, 'onClose', e, _this.props);\n\n _this.setState({\n open: false\n });\n };\n\n _this.handleDocumentMouseDown = function (e) {\n _this.latestDocumentMouseDownEvent = e;\n };\n\n _this.handleDocumentClick = function (e) {\n var closeOnDimmerClick = _this.props.closeOnDimmerClick;\n var currentDocumentMouseDownEvent = _this.latestDocumentMouseDownEvent;\n _this.latestDocumentMouseDownEvent = null;\n if (!closeOnDimmerClick || doesNodeContainClick(_this.ref.current, currentDocumentMouseDownEvent) || doesNodeContainClick(_this.ref.current, e)) return;\n\n _invoke(_this.props, 'onClose', e, _this.props);\n\n _this.setState({\n open: false\n });\n };\n\n _this.handleIconOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e) {\n _invoke(predefinedProps, 'onClick', e);\n\n _this.handleClose(e);\n }\n };\n };\n\n _this.handleOpen = function (e) {\n _invoke(_this.props, 'onOpen', e, _this.props);\n\n _this.setState({\n open: true\n });\n };\n\n _this.handlePortalMount = function (e) {\n var eventPool = _this.props.eventPool;\n\n _this.setState({\n scrolling: false\n });\n\n _this.setPositionAndClassNames();\n\n eventStack.sub('mousedown', _this.handleDocumentMouseDown, {\n pool: eventPool,\n target: _this.dimmerRef.current\n });\n eventStack.sub('click', _this.handleDocumentClick, {\n pool: eventPool,\n target: _this.dimmerRef.current\n });\n\n _invoke(_this.props, 'onMount', e, _this.props);\n };\n\n _this.handlePortalUnmount = function (e) {\n var eventPool = _this.props.eventPool;\n cancelAnimationFrame(_this.animationRequestId);\n eventStack.unsub('mousedown', _this.handleDocumentMouseDown, {\n pool: eventPool,\n target: _this.dimmerRef.current\n });\n eventStack.unsub('click', _this.handleDocumentClick, {\n pool: eventPool,\n target: _this.dimmerRef.current\n });\n\n _invoke(_this.props, 'onUnmount', e, _this.props);\n };\n\n _this.setPositionAndClassNames = function () {\n var centered = _this.props.centered;\n var scrolling;\n var newState = {};\n\n if (_this.ref.current) {\n var rect = _this.ref.current.getBoundingClientRect();\n\n var isFitted = canFit(rect);\n scrolling = !isFitted; // Styles should be computed for IE11\n\n var legacyStyles = _this.legacy ? getLegacyStyles(isFitted, centered, rect) : {};\n\n if (!shallowEqual(_this.state.legacyStyles, legacyStyles)) {\n newState.legacyStyles = legacyStyles;\n }\n\n if (_this.state.scrolling !== scrolling) {\n newState.scrolling = scrolling;\n }\n }\n\n if (!_isEmpty(newState)) _this.setState(newState);\n _this.animationRequestId = requestAnimationFrame(_this.setPositionAndClassNames);\n };\n\n _this.renderContent = function (rest) {\n var _this$props = _this.props,\n actions = _this$props.actions,\n basic = _this$props.basic,\n children = _this$props.children,\n className = _this$props.className,\n closeIcon = _this$props.closeIcon,\n content = _this$props.content,\n header = _this$props.header,\n size = _this$props.size,\n style = _this$props.style;\n var _this$state = _this.state,\n legacyStyles = _this$state.legacyStyles,\n scrolling = _this$state.scrolling;\n var classes = cx('ui', size, useKeyOnly(basic, 'basic'), useKeyOnly(_this.legacy, 'legacy'), useKeyOnly(scrolling, 'scrolling'), 'modal transition visible active', className);\n var ElementType = getElementType(Modal, _this.props);\n var closeIconName = closeIcon === true ? 'close' : closeIcon;\n var closeIconJSX = Icon.create(closeIconName, {\n overrideProps: _this.handleIconOverrides\n });\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: _this.ref\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n style: _extends({}, legacyStyles, style)\n }), closeIconJSX, childrenUtils.isNil(children) ? /*#__PURE__*/React.createElement(React.Fragment, null, ModalHeader.create(header, {\n autoGenerateKey: false\n }), ModalContent.create(content, {\n autoGenerateKey: false\n }), ModalActions.create(actions, {\n overrideProps: _this.handleActionsOverrides\n })) : children));\n };\n\n return _this;\n }\n\n var _proto = Modal.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.handlePortalUnmount();\n } // Do not access document when server side rendering\n ;\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n centered = _this$props2.centered,\n closeOnDocumentClick = _this$props2.closeOnDocumentClick,\n dimmer = _this$props2.dimmer,\n eventPool = _this$props2.eventPool,\n trigger = _this$props2.trigger;\n var _this$state2 = this.state,\n open = _this$state2.open,\n scrolling = _this$state2.scrolling;\n var mountNode = this.getMountNode(); // Short circuit when server side rendering\n\n if (!isBrowser()) {\n return /*#__PURE__*/isValidElement(trigger) ? trigger : null;\n }\n\n var unhandled = getUnhandledProps(Modal, this.props);\n var portalPropNames = Portal.handledProps;\n\n var rest = _reduce(unhandled, function (acc, val, key) {\n if (!_includes(portalPropNames, key)) acc[key] = val;\n return acc;\n }, {});\n\n var portalProps = _pick(unhandled, portalPropNames); // Heads up!\n //\n // The SUI CSS selector to prevent the modal itself from blurring requires an immediate .dimmer child:\n // .blurring.dimmed.dimmable>:not(.dimmer) { ... }\n //\n // The .blurring.dimmed.dimmable is the body, so that all body content inside is blurred.\n // We need the immediate child to be the dimmer to :not() blur the modal itself!\n // Otherwise, the portal div is also blurred, blurring the modal.\n //\n // We cannot them wrap the modalJSX in an actual instead, we apply the dimmer classes to the .\n\n\n return /*#__PURE__*/React.createElement(Portal, _extends({\n closeOnDocumentClick: closeOnDocumentClick\n }, portalProps, {\n trigger: trigger,\n eventPool: eventPool,\n mountNode: mountNode,\n open: open,\n onClose: this.handleClose,\n onMount: this.handlePortalMount,\n onOpen: this.handleOpen,\n onUnmount: this.handlePortalUnmount\n }), /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.dimmerRef\n }, ModalDimmer.create(_isPlainObject(dimmer) ? dimmer : {}, {\n autoGenerateKey: false,\n defaultProps: {\n blurring: dimmer === 'blurring',\n inverted: dimmer === 'inverted'\n },\n overrideProps: {\n children: this.renderContent(rest),\n centered: centered,\n mountNode: mountNode,\n scrolling: scrolling\n }\n })));\n };\n\n return Modal;\n}(Component);\n\nModal.handledProps = [\"actions\", \"as\", \"basic\", \"centered\", \"children\", \"className\", \"closeIcon\", \"closeOnDimmerClick\", \"closeOnDocumentClick\", \"content\", \"defaultOpen\", \"dimmer\", \"eventPool\", \"header\", \"mountNode\", \"onActionClick\", \"onClose\", \"onMount\", \"onOpen\", \"onUnmount\", \"open\", \"size\", \"style\", \"trigger\"];\nModal.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Shorthand for Modal.Actions. Typically an array of button shorthand. */\n actions: customPropTypes.itemShorthand,\n\n /** A modal can reduce its complexity */\n basic: PropTypes.bool,\n\n /** A modal can be vertically centered in the viewport */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for the close icon. Closes the modal on click. */\n closeIcon: PropTypes.oneOfType([PropTypes.node, PropTypes.object, PropTypes.bool]),\n\n /** Whether or not the Modal should close when the dimmer is clicked. */\n closeOnDimmerClick: PropTypes.bool,\n\n /** Whether or not the Modal should close when the document is clicked. */\n closeOnDocumentClick: PropTypes.bool,\n\n /** Simple text content for the Modal. */\n content: customPropTypes.itemShorthand,\n\n /** Initial value of open. */\n defaultOpen: PropTypes.bool,\n\n /** A Modal can appear in a dimmer. */\n dimmer: PropTypes.oneOfType([PropTypes.bool, PropTypes.func, PropTypes.object, PropTypes.oneOf(['inverted', 'blurring'])]),\n\n /** Event pool namespace that is used to handle component events */\n eventPool: PropTypes.string,\n\n /** Modal displayed above the content in bold. */\n header: customPropTypes.itemShorthand,\n\n /** The node where the modal should mount. Defaults to document.body. */\n mountNode: PropTypes.any,\n\n /**\n * Action onClick handler when using shorthand `actions`.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onActionClick: PropTypes.func,\n\n /**\n * Called when a close event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClose: PropTypes.func,\n\n /**\n * Called when the portal is mounted on the DOM.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onMount: PropTypes.func,\n\n /**\n * Called when an open event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onOpen: PropTypes.func,\n\n /**\n * Called when the portal is unmounted from the DOM.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onUnmount: PropTypes.func,\n\n /** Controls whether or not the Modal is displayed. */\n open: PropTypes.bool,\n\n /** A modal can vary in size */\n size: PropTypes.oneOf(['mini', 'tiny', 'small', 'large', 'fullscreen']),\n\n /** Custom styles. */\n style: PropTypes.object,\n\n /** Element to be rendered in-place where the portal is defined. */\n trigger: PropTypes.node\n /**\n * NOTE: Any unhandled props that are defined in Portal are passed-through\n * to the wrapping Portal.\n */\n\n} : {};\nModal.defaultProps = {\n centered: true,\n dimmer: true,\n closeOnDimmerClick: true,\n closeOnDocumentClick: false,\n eventPool: 'Modal'\n};\nModal.autoControlledProps = ['open'];\nModal.Actions = ModalActions;\nModal.Content = ModalContent;\nModal.Description = ModalDescription;\nModal.Dimmer = ModalDimmer;\nModal.Header = ModalHeader;\nexport default Modal;","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { customPropTypes, useClassNamesOnNode } from '../../lib';\n/**\n * A component that allows to manage classNames on a DOM node in declarative manner.\n *\n * @deprecated This component is deprecated and will be removed in next major release.\n */\n\nfunction MountNode(props) {\n useClassNamesOnNode(props.node, props.className); // A workaround for `react-docgen`: https://github.com/reactjs/react-docgen/issues/336\n\n if (process.env.NODE_ENV === 'test') {\n return /*#__PURE__*/React.createElement(\"div\", null);\n }\n /* istanbul ignore next */\n\n\n return null;\n}\n\nMountNode.handledProps = [\"className\", \"node\"];\nMountNode.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Additional classes. */\n className: PropTypes.string,\n\n /** The DOM node where we will apply class names. Defaults to document.body. */\n node: PropTypes.oneOfType([customPropTypes.domNode, customPropTypes.refObject])\n} : {};\nexport default MountNode;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport keyboardKey from 'keyboard-key';\nimport PropTypes from 'prop-types';\nimport { Component } from 'react';\nimport { createShorthandFactory } from '../../lib';\nimport MenuItem from '../../collections/Menu/MenuItem';\n/**\n * An item of a pagination.\n */\n\nvar PaginationItem = /*#__PURE__*/function (_Component) {\n _inheritsLoose(PaginationItem, _Component);\n\n function PaginationItem() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n _this.handleKeyDown = function (e) {\n _invoke(_this.props, 'onKeyDown', e, _this.props);\n\n if (keyboardKey.getCode(e) === keyboardKey.Enter) _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n _this.handleOverrides = function () {\n return {\n onClick: _this.handleClick,\n onKeyDown: _this.handleKeyDown\n };\n };\n\n return _this;\n }\n\n var _proto = PaginationItem.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n type = _this$props.type;\n var disabled = this.props.disabled || type === 'ellipsisItem';\n return MenuItem.create(this.props, {\n defaultProps: {\n active: active,\n 'aria-current': active,\n 'aria-disabled': disabled,\n disabled: disabled,\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n tabIndex: disabled ? -1 : 0\n },\n overrideProps: this.handleOverrides\n });\n };\n\n return PaginationItem;\n}(Component);\n\nPaginationItem.handledProps = [\"active\", \"disabled\", \"onClick\", \"onKeyDown\", \"type\"];\nPaginationItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** A pagination item can be active. */\n active: PropTypes.bool,\n\n /** A pagination item can be disabled. */\n disabled: PropTypes.bool,\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * Called on key down.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onKeyDown: PropTypes.func,\n\n /** A pagination should have a type. */\n type: PropTypes.oneOf(['ellipsisItem', 'firstItem', 'prevItem', 'pageItem', 'nextItem', 'lastItem'])\n} : {};\nPaginationItem.create = createShorthandFactory(PaginationItem, function (content) {\n return {\n content: content\n };\n});\nexport default PaginationItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _map from \"lodash/map\";\nimport _isNil from \"lodash/isNil\";\nimport _invoke from \"lodash/invoke\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, createPaginationItems, customPropTypes, getUnhandledProps } from '../../lib';\nimport Menu from '../../collections/Menu';\nimport PaginationItem from './PaginationItem';\n/**\n * A component to render a pagination.\n */\n\nvar Pagination = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Pagination, _Component);\n\n function Pagination() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleItemClick = function (e, _ref) {\n var nextActivePage = _ref.value;\n var prevActivePage = _this.state.activePage; // Heads up! We need the cast to the \"number\" type there, as `activePage` can be a string\n\n if (+prevActivePage === +nextActivePage) return;\n\n _this.setState({\n activePage: nextActivePage\n });\n\n _invoke(_this.props, 'onPageChange', e, _extends({}, _this.props, {\n activePage: nextActivePage\n }));\n };\n\n _this.handleItemOverrides = function (active, type, value) {\n return function (predefinedProps) {\n return {\n active: active,\n type: type,\n key: type + \"-\" + value,\n onClick: function onClick(e, itemProps) {\n _invoke(predefinedProps, 'onClick', e, itemProps);\n\n if (itemProps.type !== 'ellipsisItem') _this.handleItemClick(e, itemProps);\n }\n };\n };\n };\n\n return _this;\n }\n\n var _proto = Pagination.prototype;\n\n _proto.getInitialAutoControlledState = function getInitialAutoControlledState() {\n return {\n activePage: 1\n };\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n ariaLabel = _this$props['aria-label'],\n boundaryRange = _this$props.boundaryRange,\n disabled = _this$props.disabled,\n ellipsisItem = _this$props.ellipsisItem,\n siblingRange = _this$props.siblingRange,\n totalPages = _this$props.totalPages;\n var activePage = this.state.activePage;\n var items = createPaginationItems({\n activePage: activePage,\n boundaryRange: boundaryRange,\n hideEllipsis: _isNil(ellipsisItem),\n siblingRange: siblingRange,\n totalPages: totalPages\n });\n var rest = getUnhandledProps(Pagination, this.props);\n return /*#__PURE__*/React.createElement(Menu, _extends({}, rest, {\n \"aria-label\": ariaLabel,\n pagination: true,\n role: \"navigation\"\n }), _map(items, function (_ref2) {\n var active = _ref2.active,\n type = _ref2.type,\n value = _ref2.value;\n return PaginationItem.create(_this2.props[type], {\n defaultProps: {\n content: value,\n disabled: disabled,\n value: value\n },\n overrideProps: _this2.handleItemOverrides(active, type, value)\n });\n }));\n };\n\n return Pagination;\n}(Component);\n\nPagination.handledProps = [\"activePage\", \"aria-label\", \"boundaryRange\", \"defaultActivePage\", \"disabled\", \"ellipsisItem\", \"firstItem\", \"lastItem\", \"nextItem\", \"onPageChange\", \"pageItem\", \"prevItem\", \"siblingRange\", \"totalPages\"];\nexport { Pagination as default };\nPagination.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** A pagination item can have an aria label. */\n 'aria-label': PropTypes.string,\n\n /** Initial activePage value. */\n defaultActivePage: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Index of the currently active page. */\n activePage: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Number of always visible pages at the beginning and end. */\n boundaryRange: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** A pagination can be disabled. */\n disabled: PropTypes.bool,\n\n /** A shorthand for PaginationItem. */\n ellipsisItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n firstItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n lastItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n nextItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n pageItem: customPropTypes.itemShorthand,\n\n /** A shorthand for PaginationItem. */\n prevItem: customPropTypes.itemShorthand,\n\n /**\n * Called on change of an active page.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onPageChange: PropTypes.func,\n\n /** Number of always visible pages before and after the current one. */\n siblingRange: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Total number of pages. */\n totalPages: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired\n} : {};\nPagination.autoControlledProps = ['activePage'];\nPagination.defaultProps = {\n 'aria-label': 'Pagination Navigation',\n boundaryRange: 1,\n ellipsisItem: '...',\n firstItem: {\n 'aria-label': 'First item',\n content: '«'\n },\n lastItem: {\n 'aria-label': 'Last item',\n content: '»'\n },\n nextItem: {\n 'aria-label': 'Next item',\n content: '⟩'\n },\n pageItem: {},\n prevItem: {\n 'aria-label': 'Previous item',\n content: '⟨'\n },\n siblingRange: 1\n};\nPagination.Item = PaginationItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport _isUndefined from \"lodash/isUndefined\";\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport Portal from '../Portal';\nimport Transition from '../../modules/Transition';\nimport { TRANSITION_STATUS_ENTERING } from '../../modules/Transition/utils/computeStatuses';\nimport { getUnhandledProps } from '../../lib';\n\n/**\n * A sugar for `Portal` and `Transition`.\n * @see Portal\n * @see Transition\n */\nvar TransitionablePortal = /*#__PURE__*/function (_Component) {\n _inheritsLoose(TransitionablePortal, _Component);\n\n function TransitionablePortal() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.state = {};\n\n _this.handlePortalClose = function () {\n _this.setState({\n portalOpen: -1\n });\n };\n\n _this.handlePortalOpen = function () {\n _this.setState({\n portalOpen: true\n });\n };\n\n _this.handleTransitionHide = function (nothing, data) {\n var portalOpen = _this.state.portalOpen;\n\n _this.setState({\n transitionVisible: false\n });\n\n _invoke(_this.props, 'onClose', null, _extends({}, data, {\n portalOpen: false,\n transitionVisible: false\n }));\n\n _invoke(_this.props, 'onHide', null, _extends({}, data, {\n portalOpen: portalOpen,\n transitionVisible: false\n }));\n };\n\n _this.handleTransitionStart = function (nothing, data) {\n var portalOpen = _this.state.portalOpen;\n var status = data.status;\n var transitionVisible = status === TRANSITION_STATUS_ENTERING;\n\n _invoke(_this.props, 'onStart', null, _extends({}, data, {\n portalOpen: portalOpen,\n transitionVisible: transitionVisible\n })); // Heads up! TransitionablePortal fires onOpen callback on the start of transition animation\n\n\n if (!transitionVisible) return;\n\n _this.setState({\n transitionVisible: transitionVisible\n });\n\n _invoke(_this.props, 'onOpen', null, _extends({}, data, {\n transitionVisible: transitionVisible,\n portalOpen: true\n }));\n };\n\n return _this;\n }\n\n // ----------------------------------------\n // Lifecycle\n // ----------------------------------------\n TransitionablePortal.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n // This is definitely a hack :(\n //\n // It's coupled with handlePortalClose() for force set the state of `portalOpen` omitting\n // props.open. It's related to implementation of the component itself as `onClose()` will be\n // called after a transition will end.\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/2382\n if (state.portalOpen === -1) {\n return {\n portalOpen: false\n };\n }\n\n if (_isUndefined(props.open)) {\n return null;\n }\n\n return {\n portalOpen: props.open\n };\n } // ----------------------------------------\n // Callback handling\n // ----------------------------------------\n ;\n\n var _proto = TransitionablePortal.prototype;\n\n // ----------------------------------------\n // Render\n // ----------------------------------------\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n transition = _this$props.transition;\n var _this$state = this.state,\n portalOpen = _this$state.portalOpen,\n transitionVisible = _this$state.transitionVisible;\n var open = portalOpen || transitionVisible;\n var rest = getUnhandledProps(TransitionablePortal, this.props);\n return /*#__PURE__*/React.createElement(Portal, _extends({}, rest, {\n open: open,\n onOpen: this.handlePortalOpen,\n onClose: this.handlePortalClose\n }), /*#__PURE__*/React.createElement(Transition, _extends({}, transition, {\n transitionOnMount: true,\n onStart: this.handleTransitionStart,\n onHide: this.handleTransitionHide,\n visible: portalOpen\n }), children));\n };\n\n return TransitionablePortal;\n}(Component);\n\nTransitionablePortal.handledProps = [\"children\", \"onClose\", \"onHide\", \"onOpen\", \"onStart\", \"open\", \"transition\"];\nexport { TransitionablePortal as default };\nTransitionablePortal.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Primary content. */\n children: PropTypes.node.isRequired,\n\n /**\n * Called when a close event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and internal state.\n */\n onClose: PropTypes.func,\n\n /**\n * Callback on each transition that changes visibility to hidden.\n *\n * @param {null}\n * @param {object} data - All props with transition status and internal state.\n */\n onHide: PropTypes.func,\n\n /**\n * Called when an open event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and internal state.\n */\n onOpen: PropTypes.func,\n\n /**\n * Callback on animation start.\n *\n * @param {null}\n * @param {object} data - All props with transition status and internal state.\n */\n onStart: PropTypes.func,\n\n /** Controls whether or not the portal is displayed. */\n open: PropTypes.bool,\n\n /** Transition props. */\n transition: PropTypes.object\n} : {};\nTransitionablePortal.defaultProps = {\n transition: {\n animation: 'scale',\n duration: 400\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport _forEach from \"lodash/forEach\";\nimport _without from \"lodash/without\";\nimport _includes from \"lodash/includes\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { eventStack, getElementType, getUnhandledProps, normalizeOffset, isBrowser } from '../../lib';\n/**\n * Visibility provides a set of callbacks for when a content appears in the viewport.\n */\n\nvar Visibility = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Visibility, _Component);\n\n function Visibility() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.calculations = {\n bottomPassed: false,\n bottomVisible: false,\n fits: false,\n passing: false,\n offScreen: false,\n onScreen: false,\n topPassed: false,\n topVisible: false\n };\n _this.firedCallbacks = [];\n _this.ref = /*#__PURE__*/createRef();\n\n _this.fire = function (_ref, value, reverse) {\n var callback = _ref.callback,\n name = _ref.name;\n\n if (reverse === void 0) {\n reverse = false;\n }\n\n var _this$props = _this.props,\n continuous = _this$props.continuous,\n once = _this$props.once; // Heads up! For the execution is required:\n // - current value correspond to the fired direction\n // - `continuous` is true or calculation values are different\n\n var matchesDirection = _this.calculations[value] !== reverse;\n var executionPossible = continuous || _this.calculations[value] !== _this.oldCalculations[value];\n if (matchesDirection && executionPossible) _this.execute(callback, name); // Heads up! We should remove callback from the happened when it's not `once`\n\n if (!once) _this.firedCallbacks = _without(_this.firedCallbacks, name);\n };\n\n _this.handleUpdate = function () {\n if (_this.ticking) return;\n _this.ticking = true;\n _this.frameId = requestAnimationFrame(_this.update);\n };\n\n _this.update = function () {\n if (!_this.mounted) return;\n _this.ticking = false;\n _this.oldCalculations = _this.calculations;\n _this.calculations = _this.computeCalculations();\n _this.pageYOffset = _this.getPageYOffset();\n var _this$props2 = _this.props,\n onBottomPassed = _this$props2.onBottomPassed,\n onBottomPassedReverse = _this$props2.onBottomPassedReverse,\n onBottomVisible = _this$props2.onBottomVisible,\n onBottomVisibleReverse = _this$props2.onBottomVisibleReverse,\n onPassing = _this$props2.onPassing,\n onPassingReverse = _this$props2.onPassingReverse,\n onTopPassed = _this$props2.onTopPassed,\n onTopPassedReverse = _this$props2.onTopPassedReverse,\n onTopVisible = _this$props2.onTopVisible,\n onTopVisibleReverse = _this$props2.onTopVisibleReverse,\n onOffScreen = _this$props2.onOffScreen,\n onOnScreen = _this$props2.onOnScreen,\n updateOn = _this$props2.updateOn;\n var forward = {\n bottomPassed: {\n callback: onBottomPassed,\n name: 'onBottomPassed'\n },\n bottomVisible: {\n callback: onBottomVisible,\n name: 'onBottomVisible'\n },\n passing: {\n callback: onPassing,\n name: 'onPassing'\n },\n offScreen: {\n callback: onOffScreen,\n name: 'onOffScreen'\n },\n onScreen: {\n callback: onOnScreen,\n name: 'onOnScreen'\n },\n topPassed: {\n callback: onTopPassed,\n name: 'onTopPassed'\n },\n topVisible: {\n callback: onTopVisible,\n name: 'onTopVisible'\n }\n };\n var reverse = {\n bottomPassed: {\n callback: onBottomPassedReverse,\n name: 'onBottomPassedReverse'\n },\n bottomVisible: {\n callback: onBottomVisibleReverse,\n name: 'onBottomVisibleReverse'\n },\n passing: {\n callback: onPassingReverse,\n name: 'onPassingReverse'\n },\n topPassed: {\n callback: onTopPassedReverse,\n name: 'onTopPassedReverse'\n },\n topVisible: {\n callback: onTopVisibleReverse,\n name: 'onTopVisibleReverse'\n }\n };\n\n _invoke(_this.props, 'onUpdate', null, _extends({}, _this.props, {\n calculations: _this.calculations\n }));\n\n _this.fireOnPassed(); // Heads up! Reverse callbacks should be fired first\n\n\n _forEach(reverse, function (data, value) {\n return _this.fire(data, value, true);\n });\n\n _forEach(forward, function (data, value) {\n return _this.fire(data, value);\n });\n\n if (updateOn === 'repaint') _this.handleUpdate();\n };\n\n return _this;\n }\n\n var _proto = Visibility.prototype;\n\n // ----------------------------------------\n // Lifecycle\n // ----------------------------------------\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n if (!isBrowser()) return;\n var _this$props3 = this.props,\n context = _this$props3.context,\n fireOnMount = _this$props3.fireOnMount,\n updateOn = _this$props3.updateOn;\n this.pageYOffset = this.getPageYOffset();\n this.attachHandlers(context, updateOn);\n if (fireOnMount) this.update();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var cleanHappened = prevProps.continuous !== this.props.continuous || prevProps.once !== this.props.once || prevProps.updateOn !== this.props.updateOn; // Heads up! We should clean up array of happened callbacks, if values of these props are changed\n\n if (cleanHappened) this.firedCallbacks = [];\n\n if (prevProps.context !== this.props.context || prevProps.updateOn !== this.props.updateOn) {\n this.unattachHandlers(prevProps.context);\n this.attachHandlers(this.props.context, this.props.updateOn);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var context = this.props.context;\n this.unattachHandlers(context);\n this.mounted = false;\n };\n\n _proto.attachHandlers = function attachHandlers(context, updateOn) {\n if (updateOn === 'events') {\n if (context) {\n eventStack.sub('resize', this.handleUpdate, {\n target: context\n });\n eventStack.sub('scroll', this.handleUpdate, {\n target: context\n });\n }\n\n return;\n } // Heads up!\n // We will deal with `repaint` there\n\n\n this.handleUpdate();\n };\n\n _proto.unattachHandlers = function unattachHandlers(context) {\n if (context) {\n eventStack.unsub('resize', this.handleUpdate, {\n target: context\n });\n eventStack.unsub('scroll', this.handleUpdate, {\n target: context\n });\n }\n\n if (this.frameId) cancelAnimationFrame(this.frameId);\n } // ----------------------------------------\n // Callback handling\n // ----------------------------------------\n ;\n\n _proto.execute = function execute(callback, name) {\n var continuous = this.props.continuous;\n if (!callback) return; // Heads up! When `continuous` is true, callback will be fired always\n\n if (!continuous && _includes(this.firedCallbacks, name)) return;\n callback(null, _extends({}, this.props, {\n calculations: this.calculations\n }));\n this.firedCallbacks.push(name);\n };\n\n _proto.fireOnPassed = function fireOnPassed() {\n var _this2 = this;\n\n var _this$calculations = this.calculations,\n percentagePassed = _this$calculations.percentagePassed,\n pixelsPassed = _this$calculations.pixelsPassed;\n var onPassed = this.props.onPassed;\n\n _forEach(onPassed, function (callback, passed) {\n var pixelsValue = Number(passed);\n\n if (pixelsValue && pixelsPassed >= pixelsValue) {\n _this2.execute(callback, passed);\n\n return;\n }\n\n var matchPercentage = (\"\" + passed).match(/^(\\d+)%$/);\n if (!matchPercentage) return;\n var percentageValue = Number(matchPercentage[1]) / 100;\n if (percentagePassed >= percentageValue) _this2.execute(callback, passed);\n });\n };\n\n // ----------------------------------------\n // Helpers\n // ----------------------------------------\n _proto.computeCalculations = function computeCalculations() {\n var offset = this.props.offset;\n\n var _this$ref$current$get = this.ref.current.getBoundingClientRect(),\n bottom = _this$ref$current$get.bottom,\n height = _this$ref$current$get.height,\n top = _this$ref$current$get.top,\n width = _this$ref$current$get.width;\n\n var _normalizeOffset = normalizeOffset(offset),\n topOffset = _normalizeOffset[0],\n bottomOffset = _normalizeOffset[1];\n\n var newOffset = this.getPageYOffset();\n var direction = newOffset > this.pageYOffset ? 'down' : 'up';\n var topPassed = top < topOffset;\n var bottomPassed = bottom < bottomOffset;\n var pixelsPassed = bottomPassed ? 0 : Math.max(top * -1, 0);\n var percentagePassed = pixelsPassed / height;\n var bottomVisible = bottom >= bottomOffset && bottom <= window.innerHeight;\n var topVisible = top >= topOffset && top <= window.innerHeight;\n var fits = topVisible && bottomVisible;\n var passing = topPassed && !bottomPassed;\n var onScreen = (topVisible || topPassed) && !bottomPassed;\n var offScreen = !onScreen;\n return {\n bottomPassed: bottomPassed,\n bottomVisible: bottomVisible,\n direction: direction,\n fits: fits,\n height: height,\n passing: passing,\n percentagePassed: percentagePassed,\n pixelsPassed: pixelsPassed,\n offScreen: offScreen,\n onScreen: onScreen,\n topPassed: topPassed,\n topVisible: topVisible,\n width: width\n };\n };\n\n _proto.getPageYOffset = function getPageYOffset() {\n var context = this.props.context;\n\n if (context) {\n // Heads up! `window` doesn't have `pageYOffset` property\n return context === window ? window.pageYOffset : context.scrollTop;\n }\n\n return 0;\n } // ----------------------------------------\n // Render\n // ----------------------------------------\n ;\n\n _proto.render = function render() {\n var children = this.props.children;\n var ElementType = getElementType(Visibility, this.props);\n var rest = getUnhandledProps(Visibility, this.props);\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(ElementType, rest, children));\n };\n\n return Visibility;\n}(Component);\n\nVisibility.handledProps = [\"as\", \"children\", \"context\", \"continuous\", \"fireOnMount\", \"offset\", \"onBottomPassed\", \"onBottomPassedReverse\", \"onBottomVisible\", \"onBottomVisibleReverse\", \"onOffScreen\", \"onOnScreen\", \"onPassed\", \"onPassing\", \"onPassingReverse\", \"onTopPassed\", \"onTopPassedReverse\", \"onTopVisible\", \"onTopVisibleReverse\", \"onUpdate\", \"once\", \"updateOn\"];\nexport { Visibility as default };\nVisibility.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Context which visibility should attach onscroll events. */\n context: PropTypes.object,\n\n /**\n * When set to true a callback will occur anytime an element passes a condition not just immediately after the\n * threshold is met.\n */\n continuous: PropTypes.bool,\n\n /** Fires callbacks immediately after mount. */\n fireOnMount: PropTypes.bool,\n\n /**\n * Element's bottom edge has passed top of screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onBottomPassed: PropTypes.func,\n\n /**\n * Element's bottom edge has not passed top of screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onBottomPassedReverse: PropTypes.func,\n\n /**\n * Element's bottom edge has passed bottom of screen\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onBottomVisible: PropTypes.func,\n\n /**\n * Element's bottom edge has not passed bottom of screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onBottomVisibleReverse: PropTypes.func,\n\n /**\n * Value that context should be adjusted in pixels. Useful for making content appear below content fixed to the\n * page.\n */\n offset: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))]),\n\n /** When set to false a callback will occur each time an element passes the threshold for a condition. */\n once: PropTypes.bool,\n\n /** Element is not visible on the screen. */\n onPassed: PropTypes.object,\n\n /**\n * Any part of an element is visible on screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onPassing: PropTypes.func,\n\n /**\n * Element's top has not passed top of screen but bottom has.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onPassingReverse: PropTypes.func,\n\n /**\n * Element is not visible on the screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onOffScreen: PropTypes.func,\n\n /**\n * Element is visible on the screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onOnScreen: PropTypes.func,\n\n /**\n * Element's top edge has passed top of the screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onTopPassed: PropTypes.func,\n\n /**\n * Element's top edge has not passed top of the screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onTopPassedReverse: PropTypes.func,\n\n /**\n * Element's top edge has passed bottom of screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onTopVisible: PropTypes.func,\n\n /**\n * Element's top edge has not passed bottom of screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onTopVisibleReverse: PropTypes.func,\n\n /**\n * Element's top edge has passed bottom of screen.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onUpdate: PropTypes.func,\n\n /**\n * Allows to choose the mode of the position calculations:\n * - `events` - (default) update and fire callbacks only on scroll/resize events\n * - `repaint` - update and fire callbacks on browser repaint (animation frames)\n */\n updateOn: PropTypes.oneOf(['events', 'repaint'])\n} : {};\nVisibility.defaultProps = {\n context: isBrowser() ? window : null,\n continuous: false,\n offset: [0, 0],\n once: true,\n updateOn: 'events'\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _isNil from \"lodash/isNil\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getUnhandledProps, getElementType } from '../../lib';\nimport Icon from '../../elements/Icon';\n/**\n * A divider sub-component for Breadcrumb component.\n */\n\nfunction BreadcrumbDivider(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n icon = props.icon;\n var classes = cx('divider', className);\n var rest = getUnhandledProps(BreadcrumbDivider, props);\n var ElementType = getElementType(BreadcrumbDivider, props);\n\n if (!_isNil(icon)) {\n return Icon.create(icon, {\n defaultProps: _extends({}, rest, {\n className: classes\n }),\n autoGenerateKey: false\n });\n }\n\n if (!_isNil(content)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? '/' : children);\n}\n\nBreadcrumbDivider.handledProps = [\"as\", \"children\", \"className\", \"content\", \"icon\"];\nBreadcrumbDivider.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Render as an `Icon` component with `divider` class instead of a `div`. */\n icon: customPropTypes.itemShorthand\n} : {};\nBreadcrumbDivider.create = createShorthandFactory(BreadcrumbDivider, function (icon) {\n return {\n icon: icon\n };\n});\nexport default BreadcrumbDivider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getUnhandledProps, getElementType, useKeyOnly } from '../../lib';\n/**\n * A section sub-component for Breadcrumb component.\n */\n\nvar BreadcrumbSection = /*#__PURE__*/function (_Component) {\n _inheritsLoose(BreadcrumbSection, _Component);\n\n function BreadcrumbSection() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.computeElementType = function () {\n var _this$props = _this.props,\n link = _this$props.link,\n onClick = _this$props.onClick;\n if (link || onClick) return 'a';\n };\n\n _this.handleClick = function (e) {\n return _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = BreadcrumbSection.prototype;\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n active = _this$props2.active,\n children = _this$props2.children,\n className = _this$props2.className,\n content = _this$props2.content,\n href = _this$props2.href;\n var classes = cx(useKeyOnly(active, 'active'), 'section', className);\n var rest = getUnhandledProps(BreadcrumbSection, this.props);\n var ElementType = getElementType(BreadcrumbSection, this.props, this.computeElementType);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n href: href,\n onClick: this.handleClick\n }), childrenUtils.isNil(children) ? content : children);\n };\n\n return BreadcrumbSection;\n}(Component);\n\nBreadcrumbSection.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"href\", \"link\", \"onClick\"];\nexport { BreadcrumbSection as default };\nBreadcrumbSection.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Style as the currently active section. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Render as an `a` tag instead of a `div` and adds the href attribute. */\n href: customPropTypes.every([customPropTypes.disallow(['link']), PropTypes.string]),\n\n /** Render as an `a` tag instead of a `div`. */\n link: customPropTypes.every([customPropTypes.disallow(['href']), PropTypes.bool]),\n\n /**\n * Called on click. When passed, the component will render as an `a`\n * tag by default instead of a `div`.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func\n} : {};\nBreadcrumbSection.create = createShorthandFactory(BreadcrumbSection, function (content) {\n return {\n content: content,\n link: true\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport _each from \"lodash/each\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getUnhandledProps, getElementType, SUI } from '../../lib';\nimport BreadcrumbDivider from './BreadcrumbDivider';\nimport BreadcrumbSection from './BreadcrumbSection';\n/**\n * A breadcrumb is used to show hierarchy between content.\n */\n\nfunction Breadcrumb(props) {\n var children = props.children,\n className = props.className,\n divider = props.divider,\n icon = props.icon,\n sections = props.sections,\n size = props.size;\n var classes = cx('ui', size, 'breadcrumb', className);\n var rest = getUnhandledProps(Breadcrumb, props);\n var ElementType = getElementType(Breadcrumb, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n var childElements = [];\n\n _each(sections, function (section, index) {\n // section\n var breadcrumbElement = BreadcrumbSection.create(section);\n childElements.push(breadcrumbElement); // divider\n\n if (index !== sections.length - 1) {\n var key = breadcrumbElement.key + \"_divider\" || JSON.stringify(section);\n childElements.push(BreadcrumbDivider.create({\n content: divider,\n icon: icon,\n key: key\n }));\n }\n });\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childElements);\n}\n\nBreadcrumb.handledProps = [\"as\", \"children\", \"className\", \"divider\", \"icon\", \"sections\", \"size\"];\nBreadcrumb.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content of the Breadcrumb.Divider. */\n divider: customPropTypes.every([customPropTypes.disallow(['icon']), customPropTypes.contentShorthand]),\n\n /** For use with the sections prop. Render as an `Icon` component with `divider` class instead of a `div` in\n * Breadcrumb.Divider. */\n icon: customPropTypes.every([customPropTypes.disallow(['divider']), customPropTypes.itemShorthand]),\n\n /** Shorthand array of props for Breadcrumb.Section. */\n sections: customPropTypes.collectionShorthand,\n\n /** Size of Breadcrumb. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium'))\n} : {};\nBreadcrumb.Divider = BreadcrumbDivider;\nBreadcrumb.Section = BreadcrumbSection;\nexport default Breadcrumb;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\n/**\n * A rail is used to show accompanying content outside the boundaries of the main view of a site.\n */\n\nfunction Rail(props) {\n var attached = props.attached,\n children = props.children,\n className = props.className,\n close = props.close,\n content = props.content,\n dividing = props.dividing,\n internal = props.internal,\n position = props.position,\n size = props.size;\n var classes = cx('ui', position, size, useKeyOnly(attached, 'attached'), useKeyOnly(dividing, 'dividing'), useKeyOnly(internal, 'internal'), useKeyOrValueAndKey(close, 'close'), 'rail', className);\n var rest = getUnhandledProps(Rail, props);\n var ElementType = getElementType(Rail, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nRail.handledProps = [\"as\", \"attached\", \"children\", \"className\", \"close\", \"content\", \"dividing\", \"internal\", \"position\", \"size\"];\nRail.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A rail can appear attached to the main viewport. */\n attached: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A rail can appear closer to the main viewport. */\n close: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A rail can create a division between itself and a container. */\n dividing: PropTypes.bool,\n\n /** A rail can attach itself to the inside of a container. */\n internal: PropTypes.bool,\n\n /** A rail can be presented on the left or right side of a container. */\n position: PropTypes.oneOf(SUI.FLOATS).isRequired,\n\n /** A rail can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium'))\n} : {};\nexport default Rail;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A content sub-component for the Reveal.\n */\n\nfunction RevealContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n hidden = props.hidden,\n visible = props.visible;\n var classes = cx('ui', useKeyOnly(hidden, 'hidden'), useKeyOnly(visible, 'visible'), 'content', className);\n var rest = getUnhandledProps(RevealContent, props);\n var ElementType = getElementType(RevealContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nRevealContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"hidden\", \"visible\"];\nRevealContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A reveal may contain content that is visible before interaction. */\n hidden: PropTypes.bool,\n\n /** A reveal may contain content that is hidden before user interaction. */\n visible: PropTypes.bool\n} : {};\nexport default RevealContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport RevealContent from './RevealContent';\n/**\n * A reveal displays additional content in place of previous content when activated.\n */\n\nfunction Reveal(props) {\n var active = props.active,\n animated = props.animated,\n children = props.children,\n className = props.className,\n content = props.content,\n disabled = props.disabled,\n instant = props.instant;\n var classes = cx('ui', animated, useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(instant, 'instant'), 'reveal', className);\n var rest = getUnhandledProps(Reveal, props);\n var ElementType = getElementType(Reveal, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nReveal.handledProps = [\"active\", \"animated\", \"as\", \"children\", \"className\", \"content\", \"disabled\", \"instant\"];\nReveal.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** An active reveal displays its hidden content. */\n active: PropTypes.bool,\n\n /** An animation name that will be applied to Reveal. */\n animated: PropTypes.oneOf(['fade', 'small fade', 'move', 'move right', 'move up', 'move down', 'rotate', 'rotate left']),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A disabled reveal will not animate when hovered. */\n disabled: PropTypes.bool,\n\n /** An element can show its content without delay. */\n instant: PropTypes.bool\n} : {};\nReveal.Content = RevealContent;\nexport default Reveal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, childrenUtils, createHTMLIframe, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport Icon from '../../elements/Icon';\n/**\n * An embed displays content from other websites like YouTube videos or Google Maps.\n */\n\nvar Embed = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Embed, _Component);\n\n function Embed() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n var active = _this.state.active;\n if (onClick) onClick(e, _extends({}, _this.props, {\n active: true\n }));\n if (!active) _this.setState({\n active: true\n });\n };\n\n return _this;\n }\n\n var _proto = Embed.prototype;\n\n _proto.getSrc = function getSrc() {\n var _this$props = this.props,\n _this$props$autoplay = _this$props.autoplay,\n autoplay = _this$props$autoplay === void 0 ? true : _this$props$autoplay,\n _this$props$brandedUI = _this$props.brandedUI,\n brandedUI = _this$props$brandedUI === void 0 ? false : _this$props$brandedUI,\n _this$props$color = _this$props.color,\n color = _this$props$color === void 0 ? '#444444' : _this$props$color,\n _this$props$hd = _this$props.hd,\n hd = _this$props$hd === void 0 ? true : _this$props$hd,\n id = _this$props.id,\n source = _this$props.source,\n url = _this$props.url;\n\n if (source === 'youtube') {\n return [\"//www.youtube.com/embed/\" + id, '?autohide=true', \"&autoplay=\" + autoplay, \"&color=\" + encodeURIComponent(color), \"&hq=\" + hd, '&jsapi=false', \"&modestbranding=\" + brandedUI, \"&rel=\" + (brandedUI ? 0 : 1)].join('');\n }\n\n if (source === 'vimeo') {\n return [\"//player.vimeo.com/video/\" + id, '?api=false', \"&autoplay=\" + autoplay, '&byline=false', \"&color=\" + encodeURIComponent(color), '&portrait=false', '&title=false'].join('');\n }\n\n return url;\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n aspectRatio = _this$props2.aspectRatio,\n className = _this$props2.className,\n icon = _this$props2.icon,\n placeholder = _this$props2.placeholder;\n var active = this.state.active;\n var classes = cx('ui', aspectRatio, useKeyOnly(active, 'active'), 'embed', className);\n var rest = getUnhandledProps(Embed, this.props);\n var ElementType = getElementType(Embed, this.props);\n var iconShorthand = icon !== undefined ? icon : 'video play';\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), Icon.create(iconShorthand, {\n autoGenerateKey: false\n }), placeholder && /*#__PURE__*/React.createElement(\"img\", {\n className: \"placeholder\",\n src: placeholder\n }), this.renderEmbed());\n };\n\n _proto.renderEmbed = function renderEmbed() {\n var _this$props3 = this.props,\n children = _this$props3.children,\n content = _this$props3.content,\n iframe = _this$props3.iframe,\n source = _this$props3.source;\n var active = this.state.active;\n if (!active) return null;\n if (!childrenUtils.isNil(children)) return /*#__PURE__*/React.createElement(\"div\", {\n className: \"embed\"\n }, children);\n if (!childrenUtils.isNil(content)) return /*#__PURE__*/React.createElement(\"div\", {\n className: \"embed\"\n }, content);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"embed\"\n }, createHTMLIframe(childrenUtils.isNil(iframe) ? this.getSrc() : iframe, {\n defaultProps: {\n allowFullScreen: false,\n frameBorder: 0,\n height: '100%',\n scrolling: 'no',\n src: this.getSrc(),\n title: \"Embedded content from \" + source + \".\",\n width: '100%'\n },\n autoGenerateKey: false\n }));\n };\n\n return Embed;\n}(Component);\n\nEmbed.handledProps = [\"active\", \"as\", \"aspectRatio\", \"autoplay\", \"brandedUI\", \"children\", \"className\", \"color\", \"content\", \"defaultActive\", \"hd\", \"icon\", \"id\", \"iframe\", \"onClick\", \"placeholder\", \"source\", \"url\"];\nexport { Embed as default };\nEmbed.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** An embed can be active. */\n active: PropTypes.bool,\n\n /** An embed can specify an alternative aspect ratio. */\n aspectRatio: PropTypes.oneOf(['4:3', '16:9', '21:9']),\n\n /** Setting to true or false will force autoplay. */\n autoplay: customPropTypes.every([customPropTypes.demand(['source']), PropTypes.bool]),\n\n /** Whether to show networks branded UI like title cards, or after video calls to action. */\n brandedUI: customPropTypes.every([customPropTypes.demand(['source']), PropTypes.bool]),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Specifies a default chrome color with Vimeo or YouTube. */\n color: customPropTypes.every([customPropTypes.demand(['source']), PropTypes.string]),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Initial value of active. */\n defaultActive: PropTypes.bool,\n\n /** Whether to prefer HD content. */\n hd: customPropTypes.every([customPropTypes.demand(['source']), PropTypes.bool]),\n\n /** Specifies an icon to use with placeholder content. */\n icon: customPropTypes.itemShorthand,\n\n /** Specifies an id for source. */\n id: customPropTypes.every([customPropTypes.demand(['source']), PropTypes.string]),\n\n /** Shorthand for HTML iframe. */\n iframe: customPropTypes.every([customPropTypes.demand(['source']), customPropTypes.itemShorthand]),\n\n /**\n * Сalled on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and proposed value.\n */\n onClick: PropTypes.func,\n\n /** A placeholder image for embed. */\n placeholder: PropTypes.string,\n\n /** Specifies a source to use. */\n source: customPropTypes.every([customPropTypes.disallow(['sourceUrl']), PropTypes.oneOf(['youtube', 'vimeo'])]),\n\n /** Specifies a url to use for embed. */\n url: customPropTypes.every([customPropTypes.disallow(['source']), PropTypes.string])\n} : {};\nEmbed.autoControlledProps = ['active'];","import PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction SearchCategoryLayout(props) {\n var categoryContent = props.categoryContent,\n resultsContent = props.resultsContent;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"name\"\n }, categoryContent), /*#__PURE__*/React.createElement(\"div\", {\n className: \"results\"\n }, resultsContent));\n}\n\nSearchCategoryLayout.handledProps = [\"categoryContent\", \"resultsContent\"];\nSearchCategoryLayout.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** The rendered category content */\n categoryContent: PropTypes.element.isRequired,\n\n /** The rendered results content */\n resultsContent: PropTypes.element.isRequired\n} : {};\nexport default SearchCategoryLayout;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport SearchCategoryLayout from './SearchCategoryLayout';\n\nfunction SearchCategory(props) {\n var active = props.active,\n children = props.children,\n className = props.className,\n content = props.content,\n layoutRenderer = props.layoutRenderer,\n renderer = props.renderer;\n var classes = cx(useKeyOnly(active, 'active'), 'category', className);\n var rest = getUnhandledProps(SearchCategory, props);\n var ElementType = getElementType(SearchCategory, props);\n var categoryContent = renderer(props);\n var resultsContent = childrenUtils.isNil(children) ? content : children;\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), layoutRenderer({\n categoryContent: categoryContent,\n resultsContent: resultsContent\n }));\n}\n\nSearchCategory.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"layoutRenderer\", \"name\", \"renderer\", \"results\"];\nSearchCategory.defaultProps = {\n layoutRenderer: SearchCategoryLayout,\n renderer: function renderer(_ref) {\n var name = _ref.name;\n return name;\n }\n};\nSearchCategory.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** The item currently selected by keyboard shortcut. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Display name. */\n name: PropTypes.string,\n\n /**\n * Renders the category layout contents.\n *\n * @param {object} props - The SearchCategoryLayout props object.\n * @returns {*} - Renderable category layout contents.\n */\n layoutRenderer: PropTypes.func,\n\n /**\n * Renders the category contents.\n *\n * @param {object} props - The SearchCategory props object.\n * @returns {*} - Renderable category contents.\n */\n renderer: PropTypes.func,\n\n /** Array of Search.Result props. */\n results: PropTypes.array\n} : {};\nexport default SearchCategory;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { createHTMLImage, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib'; // Note: You technically only need the 'content' wrapper when there's an\n// image. However, optionally wrapping it makes this function a lot more\n// complicated and harder to read. Since always wrapping it doesn't affect\n// the style in any way let's just do that.\n//\n// Note: To avoid requiring a wrapping div, we return an array here so to\n// prevent rendering issues each node needs a unique key.\n\nvar defaultRenderer = function defaultRenderer(_ref) {\n var image = _ref.image,\n price = _ref.price,\n title = _ref.title,\n description = _ref.description;\n return [image && /*#__PURE__*/React.createElement(\"div\", {\n key: \"image\",\n className: \"image\"\n }, createHTMLImage(image, {\n autoGenerateKey: false\n })), /*#__PURE__*/React.createElement(\"div\", {\n key: \"content\",\n className: \"content\"\n }, price && /*#__PURE__*/React.createElement(\"div\", {\n className: \"price\"\n }, price), title && /*#__PURE__*/React.createElement(\"div\", {\n className: \"title\"\n }, title), description && /*#__PURE__*/React.createElement(\"div\", {\n className: \"description\"\n }, description))];\n};\n\ndefaultRenderer.handledProps = [];\n\nvar SearchResult = /*#__PURE__*/function (_Component) {\n _inheritsLoose(SearchResult, _Component);\n\n function SearchResult() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n if (onClick) onClick(e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = SearchResult.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n className = _this$props.className,\n renderer = _this$props.renderer;\n var classes = cx(useKeyOnly(active, 'active'), 'result', className);\n var rest = getUnhandledProps(SearchResult, this.props);\n var ElementType = getElementType(SearchResult, this.props); // Note: You technically only need the 'content' wrapper when there's an\n // image. However, optionally wrapping it makes this function a lot more\n // complicated and harder to read. Since always wrapping it doesn't affect\n // the style in any way let's just do that.\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), renderer(this.props));\n };\n\n return SearchResult;\n}(Component);\n\nSearchResult.handledProps = [\"active\", \"as\", \"className\", \"content\", \"description\", \"id\", \"image\", \"onClick\", \"price\", \"renderer\", \"title\"];\nexport { SearchResult as default };\nSearchResult.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** The item currently selected by keyboard shortcut. */\n active: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Additional text with less emphasis. */\n description: PropTypes.string,\n\n /** A unique identifier. */\n id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Add an image to the item. */\n image: PropTypes.string,\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /** Customized text for price. */\n price: PropTypes.string,\n\n /**\n * Renders the result contents.\n *\n * @param {object} props - The SearchResult props object.\n * @returns {*} - Renderable result contents.\n */\n renderer: PropTypes.func,\n\n /** Display title. */\n title: PropTypes.string.isRequired\n} : {};\nSearchResult.defaultProps = {\n renderer: defaultRenderer\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n\nfunction SearchResults(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('results transition', className);\n var rest = getUnhandledProps(SearchResults, props);\n var ElementType = getElementType(SearchResults, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nSearchResults.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nSearchResults.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default SearchResults;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _partialRight from \"lodash/partialRight\";\nimport _inRange from \"lodash/inRange\";\nimport _map from \"lodash/map\";\nimport _get from \"lodash/get\";\nimport _reduce from \"lodash/reduce\";\nimport _invoke from \"lodash/invoke\";\nimport _isPlainObject from \"lodash/isPlainObject\";\nimport _isUndefined from \"lodash/isUndefined\";\nimport cx from 'clsx';\nimport keyboardKey from 'keyboard-key';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport shallowEqual from 'shallowequal';\nimport { ModernAutoControlledComponent as Component, customPropTypes, eventStack, getElementType, getUnhandledProps, htmlInputAttrs, isBrowser, objectDiff, partitionHTMLProps, SUI, useKeyOnly, useValueAndKey } from '../../lib';\nimport Input from '../../elements/Input';\nimport SearchCategory from './SearchCategory';\nimport SearchResult from './SearchResult';\nimport SearchResults from './SearchResults';\n\nvar overrideSearchInputProps = function overrideSearchInputProps(predefinedProps) {\n var input = predefinedProps.input;\n\n if (_isUndefined(input)) {\n return _extends({}, predefinedProps, {\n input: {\n className: 'prompt'\n }\n });\n }\n\n if (_isPlainObject(input)) {\n return _extends({}, predefinedProps, {\n input: _extends({}, input, {\n className: cx(input.className, 'prompt')\n })\n });\n }\n\n return predefinedProps;\n};\n/**\n * A search module allows a user to query for results from a selection of data\n */\n\n\nvar Search = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Search, _Component);\n\n function Search() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleResultSelect = function (e, result) {\n _invoke(_this.props, 'onResultSelect', e, _extends({}, _this.props, {\n result: result\n }));\n };\n\n _this.handleSelectionChange = function (e) {\n var result = _this.getSelectedResult();\n\n _invoke(_this.props, 'onSelectionChange', e, _extends({}, _this.props, {\n result: result\n }));\n };\n\n _this.closeOnEscape = function (e) {\n if (keyboardKey.getCode(e) !== keyboardKey.Escape) return;\n e.preventDefault();\n\n _this.close();\n };\n\n _this.moveSelectionOnKeyDown = function (e) {\n switch (keyboardKey.getCode(e)) {\n case keyboardKey.ArrowDown:\n e.preventDefault();\n\n _this.moveSelectionBy(e, 1);\n\n break;\n\n case keyboardKey.ArrowUp:\n e.preventDefault();\n\n _this.moveSelectionBy(e, -1);\n\n break;\n\n default:\n break;\n }\n };\n\n _this.selectItemOnEnter = function (e) {\n if (keyboardKey.getCode(e) !== keyboardKey.Enter) return;\n\n var result = _this.getSelectedResult(); // prevent selecting null if there was no selected item value\n\n\n if (!result) return;\n e.preventDefault(); // notify the onResultSelect prop that the user is trying to change value\n\n _this.setValue(result.title);\n\n _this.handleResultSelect(e, result);\n\n _this.close();\n };\n\n _this.closeOnDocumentClick = function (e) {\n _this.close();\n };\n\n _this.handleMouseDown = function (e) {\n _this.isMouseDown = true;\n\n _invoke(_this.props, 'onMouseDown', e, _this.props);\n\n eventStack.sub('mouseup', _this.handleDocumentMouseUp);\n };\n\n _this.handleDocumentMouseUp = function () {\n _this.isMouseDown = false;\n eventStack.unsub('mouseup', _this.handleDocumentMouseUp);\n };\n\n _this.handleInputClick = function (e) {\n // prevent closeOnDocumentClick()\n e.nativeEvent.stopImmediatePropagation();\n\n _this.tryOpen();\n };\n\n _this.handleItemClick = function (e, _ref) {\n var id = _ref.id;\n\n var result = _this.getSelectedResult(id); // prevent closeOnDocumentClick()\n\n\n e.nativeEvent.stopImmediatePropagation(); // notify the onResultSelect prop that the user is trying to change value\n\n _this.setValue(result.title);\n\n _this.handleResultSelect(e, result);\n\n _this.close();\n };\n\n _this.handleItemMouseDown = function (e) {\n // Heads up! We should prevent default to prevent blur events.\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/3298\n e.preventDefault();\n };\n\n _this.handleFocus = function (e) {\n _invoke(_this.props, 'onFocus', e, _this.props);\n\n _this.setState({\n focus: true\n });\n };\n\n _this.handleBlur = function (e) {\n _invoke(_this.props, 'onBlur', e, _this.props);\n\n _this.setState({\n focus: false\n });\n };\n\n _this.handleSearchChange = function (e) {\n // prevent propagating to this.props.onChange()\n e.stopPropagation();\n var minCharacters = _this.props.minCharacters;\n var open = _this.state.open;\n var newQuery = e.target.value;\n\n _invoke(_this.props, 'onSearchChange', e, _extends({}, _this.props, {\n value: newQuery\n })); // open search dropdown on search query\n\n\n if (newQuery.length < minCharacters) {\n _this.close();\n } else if (!open) {\n _this.tryOpen(newQuery);\n }\n\n _this.setValue(newQuery);\n };\n\n _this.getFlattenedResults = function () {\n var _this$props = _this.props,\n category = _this$props.category,\n results = _this$props.results;\n return !category ? results : _reduce(results, function (memo, categoryData) {\n return memo.concat(categoryData.results);\n }, []);\n };\n\n _this.getSelectedResult = function (index) {\n if (index === void 0) {\n index = _this.state.selectedIndex;\n }\n\n var results = _this.getFlattenedResults();\n\n return _get(results, index);\n };\n\n _this.setValue = function (value) {\n var selectFirstResult = _this.props.selectFirstResult;\n\n _this.setState({\n value: value,\n selectedIndex: selectFirstResult ? 0 : -1\n });\n };\n\n _this.moveSelectionBy = function (e, offset) {\n var selectedIndex = _this.state.selectedIndex;\n\n var results = _this.getFlattenedResults();\n\n var lastIndex = results.length - 1; // next is after last, wrap to beginning\n // next is before first, wrap to end\n\n var nextIndex = selectedIndex + offset;\n if (nextIndex > lastIndex) nextIndex = 0;else if (nextIndex < 0) nextIndex = lastIndex;\n\n _this.setState({\n selectedIndex: nextIndex\n });\n\n _this.scrollSelectedItemIntoView();\n\n _this.handleSelectionChange(e);\n };\n\n _this.scrollSelectedItemIntoView = function () {\n // Do not access document when server side rendering\n if (!isBrowser()) return;\n var menu = document.querySelector('.ui.search.active.visible .results.visible');\n if (!menu) return;\n var item = menu.querySelector('.result.active');\n if (!item) return;\n var isOutOfUpperView = item.offsetTop < menu.scrollTop;\n var isOutOfLowerView = item.offsetTop + item.clientHeight > menu.scrollTop + menu.clientHeight;\n\n if (isOutOfUpperView) {\n menu.scrollTop = item.offsetTop;\n } else if (isOutOfLowerView) {\n menu.scrollTop = item.offsetTop + item.clientHeight - menu.clientHeight;\n }\n };\n\n _this.tryOpen = function (currentValue) {\n if (currentValue === void 0) {\n currentValue = _this.state.value;\n }\n\n var minCharacters = _this.props.minCharacters;\n if (currentValue.length < minCharacters) return;\n\n _this.open();\n };\n\n _this.open = function () {\n _this.setState({\n open: true\n });\n };\n\n _this.close = function () {\n _this.setState({\n open: false\n });\n };\n\n _this.renderSearchInput = function (rest) {\n var _this$props2 = _this.props,\n icon = _this$props2.icon,\n input = _this$props2.input;\n var value = _this.state.value;\n return Input.create(input, {\n autoGenerateKey: false,\n defaultProps: _extends({}, rest, {\n autoComplete: 'off',\n icon: icon,\n onChange: _this.handleSearchChange,\n onClick: _this.handleInputClick,\n tabIndex: '0',\n value: value\n }),\n // Nested shorthand props need special treatment to survive the shallow merge\n overrideProps: overrideSearchInputProps\n });\n };\n\n _this.renderNoResults = function () {\n var _this$props3 = _this.props,\n noResultsDescription = _this$props3.noResultsDescription,\n noResultsMessage = _this$props3.noResultsMessage;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"message empty\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"header\"\n }, noResultsMessage), noResultsDescription && /*#__PURE__*/React.createElement(\"div\", {\n className: \"description\"\n }, noResultsDescription));\n };\n\n _this.renderResult = function (_ref2, index, _array, offset) {\n var childKey = _ref2.childKey,\n result = _objectWithoutPropertiesLoose(_ref2, [\"childKey\"]);\n\n if (offset === void 0) {\n offset = 0;\n }\n\n var resultRenderer = _this.props.resultRenderer;\n var selectedIndex = _this.state.selectedIndex;\n var offsetIndex = index + offset;\n return /*#__PURE__*/React.createElement(SearchResult, _extends({\n key: childKey || result.id || result.title,\n active: selectedIndex === offsetIndex,\n onClick: _this.handleItemClick,\n onMouseDown: _this.handleItemMouseDown,\n renderer: resultRenderer\n }, result, {\n id: offsetIndex // Used to lookup the result on item click\n\n }));\n };\n\n _this.renderResults = function () {\n var results = _this.props.results;\n return _map(results, _this.renderResult);\n };\n\n _this.renderCategories = function () {\n var _this$props4 = _this.props,\n categoryLayoutRenderer = _this$props4.categoryLayoutRenderer,\n categoryRenderer = _this$props4.categoryRenderer,\n categories = _this$props4.results;\n var selectedIndex = _this.state.selectedIndex;\n var count = 0;\n return _map(categories, function (_ref3) {\n var childKey = _ref3.childKey,\n category = _objectWithoutPropertiesLoose(_ref3, [\"childKey\"]);\n\n var categoryProps = _extends({\n key: childKey || category.name,\n active: _inRange(selectedIndex, count, count + category.results.length),\n layoutRenderer: categoryLayoutRenderer,\n renderer: categoryRenderer\n }, category);\n\n var renderFn = _partialRight(_this.renderResult, count);\n\n count += category.results.length;\n return /*#__PURE__*/React.createElement(SearchCategory, categoryProps, category.results.map(renderFn));\n });\n };\n\n _this.renderMenuContent = function () {\n var _this$props5 = _this.props,\n category = _this$props5.category,\n showNoResults = _this$props5.showNoResults,\n results = _this$props5.results;\n\n if (_isEmpty(results)) {\n return showNoResults ? _this.renderNoResults() : null;\n }\n\n return category ? _this.renderCategories() : _this.renderResults();\n };\n\n _this.renderResultsMenu = function () {\n var open = _this.state.open;\n var resultsClasses = open ? 'visible' : '';\n\n var menuContent = _this.renderMenuContent();\n\n if (!menuContent) return;\n return /*#__PURE__*/React.createElement(SearchResults, {\n className: resultsClasses\n }, menuContent);\n };\n\n return _this;\n }\n\n Search.getAutoControlledStateFromProps = function getAutoControlledStateFromProps(props, state) {\n // We need to store a `prevValue` to compare as in `getDerivedStateFromProps` we don't have\n // prevState\n if (typeof state.prevValue !== 'undefined' && shallowEqual(state.prevValue, state.value)) {\n return {\n prevValue: state.value\n };\n }\n\n var selectedIndex = props.selectFirstResult ? 0 : -1;\n return {\n prevValue: state.value,\n selectedIndex: selectedIndex\n };\n };\n\n var _proto = Search.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !shallowEqual(nextProps, this.props) || !shallowEqual(nextState, this.state);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // eslint-disable-line complexity\n // focused / blurred\n if (!prevState.focus && this.state.focus) {\n if (!this.isMouseDown) {\n this.tryOpen();\n }\n\n if (this.state.open) {\n eventStack.sub('keydown', [this.moveSelectionOnKeyDown, this.selectItemOnEnter]);\n }\n } else if (prevState.focus && !this.state.focus) {\n if (!this.isMouseDown) {\n this.close();\n }\n\n eventStack.unsub('keydown', [this.moveSelectionOnKeyDown, this.selectItemOnEnter]);\n } // opened / closed\n\n\n if (!prevState.open && this.state.open) {\n this.open();\n eventStack.sub('click', this.closeOnDocumentClick);\n eventStack.sub('keydown', [this.closeOnEscape, this.moveSelectionOnKeyDown, this.selectItemOnEnter]);\n } else if (prevState.open && !this.state.open) {\n this.close();\n eventStack.unsub('click', this.closeOnDocumentClick);\n eventStack.unsub('keydown', [this.closeOnEscape, this.moveSelectionOnKeyDown, this.selectItemOnEnter]);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n eventStack.unsub('click', this.closeOnDocumentClick);\n eventStack.unsub('keydown', [this.closeOnEscape, this.moveSelectionOnKeyDown, this.selectItemOnEnter]);\n } // ----------------------------------------\n // Document Event Handlers\n // ----------------------------------------\n ;\n\n _proto.render = function render() {\n var _this$state = this.state,\n searchClasses = _this$state.searchClasses,\n focus = _this$state.focus,\n open = _this$state.open;\n var _this$props6 = this.props,\n aligned = _this$props6.aligned,\n category = _this$props6.category,\n className = _this$props6.className,\n fluid = _this$props6.fluid,\n loading = _this$props6.loading,\n size = _this$props6.size; // Classes\n\n var classes = cx('ui', open && 'active visible', size, searchClasses, useKeyOnly(category, 'category'), useKeyOnly(focus, 'focus'), useKeyOnly(fluid, 'fluid'), useKeyOnly(loading, 'loading'), useValueAndKey(aligned, 'aligned'), 'search', className);\n var unhandled = getUnhandledProps(Search, this.props);\n var ElementType = getElementType(Search, this.props);\n\n var _partitionHTMLProps = partitionHTMLProps(unhandled, {\n htmlProps: htmlInputAttrs\n }),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onBlur: this.handleBlur,\n onFocus: this.handleFocus,\n onMouseDown: this.handleMouseDown\n }), this.renderSearchInput(htmlInputProps), this.renderResultsMenu());\n };\n\n return Search;\n}(Component);\n\nSearch.handledProps = [\"aligned\", \"as\", \"category\", \"categoryLayoutRenderer\", \"categoryRenderer\", \"className\", \"defaultOpen\", \"defaultValue\", \"fluid\", \"icon\", \"input\", \"loading\", \"minCharacters\", \"noResultsDescription\", \"noResultsMessage\", \"onBlur\", \"onFocus\", \"onMouseDown\", \"onResultSelect\", \"onSearchChange\", \"onSelectionChange\", \"open\", \"resultRenderer\", \"results\", \"selectFirstResult\", \"showNoResults\", \"size\", \"value\"];\nexport { Search as default };\nSearch.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n // ------------------------------------\n // Behavior\n // ------------------------------------\n\n /** Initial value of open. */\n defaultOpen: PropTypes.bool,\n\n /** Initial value. */\n defaultValue: PropTypes.string,\n\n /** Shorthand for Icon. */\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n\n /** Minimum characters to query for results */\n minCharacters: PropTypes.number,\n\n /** Additional text for \"No Results\" message with less emphasis. */\n noResultsDescription: PropTypes.node,\n\n /** Message to display when there are no results. */\n noResultsMessage: PropTypes.node,\n\n /** Controls whether or not the results menu is displayed. */\n open: PropTypes.bool,\n\n /**\n * One of:\n * - array of Search.Result props e.g. `{ title: '', description: '' }` or\n * - object of categories e.g. `{ name: '', results: [{ title: '', description: '' }]`\n */\n results: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape(SearchResult.propTypes)), PropTypes.shape(SearchCategory.propTypes)]),\n\n /** Whether the search should automatically select the first result after searching. */\n selectFirstResult: PropTypes.bool,\n\n /** Whether a \"no results\" message should be shown if no results are found. */\n showNoResults: PropTypes.bool,\n\n /** Current value of the search input. Creates a controlled component. */\n value: PropTypes.string,\n // ------------------------------------\n // Rendering\n // ------------------------------------\n\n /**\n * Renders the SearchCategory layout.\n *\n * @param {object} categoryContent - The Renderable SearchCategory contents.\n * @param {object} resultsContent - The Renderable SearchResult contents.\n * @returns {*} - Renderable SearchCategory layout.\n */\n categoryLayoutRenderer: PropTypes.func,\n\n /**\n * Renders the SearchCategory contents.\n *\n * @param {object} props - The SearchCategory props object.\n * @returns {*} - Renderable SearchCategory contents.\n */\n categoryRenderer: PropTypes.func,\n\n /**\n * Renders the SearchResult contents.\n *\n * @param {object} props - The SearchResult props object.\n * @returns {*} - Renderable SearchResult contents.\n */\n resultRenderer: PropTypes.func,\n // ------------------------------------\n // Callbacks\n // ------------------------------------\n\n /**\n * Called on blur.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onBlur: PropTypes.func,\n\n /**\n * Called on focus.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onFocus: PropTypes.func,\n\n /**\n * Called on mousedown.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onMouseDown: PropTypes.func,\n\n /**\n * Called when a result is selected.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onResultSelect: PropTypes.func,\n\n /**\n * Called on search input change.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props, includes current value of search input.\n */\n onSearchChange: PropTypes.func,\n\n /**\n * Called when the active selection index is changed.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onSelectionChange: PropTypes.func,\n // ------------------------------------\n // Style\n // ------------------------------------\n\n /** A search can have its results aligned to its left or right container edge. */\n aligned: PropTypes.string,\n\n /** A search can display results from remote content ordered by categories. */\n category: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A search can have its results take up the width of its container. */\n fluid: PropTypes.bool,\n\n /** Shorthand for input element. */\n input: customPropTypes.itemShorthand,\n\n /** A search can show a loading indicator. */\n loading: PropTypes.bool,\n\n /** A search can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium'))\n} : {};\nSearch.defaultProps = {\n icon: 'search',\n input: 'text',\n minCharacters: 1,\n noResultsMessage: 'No results found.',\n showNoResults: true\n};\nSearch.autoControlledProps = ['open', 'value'];\nSearch.Category = SearchCategory;\nSearch.Result = SearchResult;\nSearch.Results = SearchResults;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * An ad displays third-party promotional content.\n */\n\nfunction Advertisement(props) {\n var centered = props.centered,\n children = props.children,\n className = props.className,\n content = props.content,\n test = props.test,\n unit = props.unit;\n var classes = cx('ui', unit, useKeyOnly(centered, 'centered'), useKeyOnly(test, 'test'), 'ad', className);\n var rest = getUnhandledProps(Advertisement, props);\n var ElementType = getElementType(Advertisement, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n \"data-text\": test\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nAdvertisement.handledProps = [\"as\", \"centered\", \"children\", \"className\", \"content\", \"test\", \"unit\"];\nAdvertisement.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Center the advertisement. */\n centered: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Text to be displayed on the advertisement. */\n test: PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string]),\n\n /** Varies the size of the advertisement. */\n unit: PropTypes.oneOf(['medium rectangle', 'large rectangle', 'vertical rectangle', 'small rectangle', 'mobile banner', 'banner', 'vertical banner', 'top banner', 'half banner', 'button', 'square button', 'small button', 'skyscraper', 'wide skyscraper', 'leaderboard', 'large leaderboard', 'mobile leaderboard', 'billboard', 'panorama', 'netboard', 'half page', 'square', 'small square']).isRequired\n} : {};\nexport default Advertisement;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A comment can contain an action.\n */\n\nfunction CommentAction(props) {\n var active = props.active,\n className = props.className,\n children = props.children,\n content = props.content;\n var classes = cx(useKeyOnly(active, 'active'), className);\n var rest = getUnhandledProps(CommentAction, props);\n var ElementType = getElementType(CommentAction, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCommentAction.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\"];\nCommentAction.defaultProps = {\n as: 'a'\n};\nCommentAction.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Style as the currently active action. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default CommentAction;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A comment can contain an list of actions a user may perform related to this comment.\n */\n\nfunction CommentActions(props) {\n var className = props.className,\n children = props.children,\n content = props.content;\n var classes = cx('actions', className);\n var rest = getUnhandledProps(CommentActions, props);\n var ElementType = getElementType(CommentActions, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCommentActions.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nCommentActions.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default CommentActions;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A comment can contain an author.\n */\n\nfunction CommentAuthor(props) {\n var className = props.className,\n children = props.children,\n content = props.content;\n var classes = cx('author', className);\n var rest = getUnhandledProps(CommentAuthor, props);\n var ElementType = getElementType(CommentAuthor, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCommentAuthor.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nCommentAuthor.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default CommentAuthor;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { createHTMLImage, getElementType, getUnhandledProps, htmlImageProps, partitionHTMLProps } from '../../lib';\n/**\n * A comment can contain an image or avatar.\n */\n\nfunction CommentAvatar(props) {\n var className = props.className,\n src = props.src;\n var classes = cx('avatar', className);\n var rest = getUnhandledProps(CommentAvatar, props);\n\n var _partitionHTMLProps = partitionHTMLProps(rest, {\n htmlProps: htmlImageProps\n }),\n imageProps = _partitionHTMLProps[0],\n rootProps = _partitionHTMLProps[1];\n\n var ElementType = getElementType(CommentAvatar, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rootProps, {\n className: classes\n }), createHTMLImage(src, {\n autoGenerateKey: false,\n defaultProps: imageProps\n }));\n}\n\nCommentAvatar.handledProps = [\"as\", \"className\", \"src\"];\nCommentAvatar.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Specifies the URL of the image. */\n src: PropTypes.string\n} : {};\nexport default CommentAvatar;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A comment can contain content.\n */\n\nfunction CommentContent(props) {\n var className = props.className,\n children = props.children,\n content = props.content;\n var classes = cx(className, 'content');\n var rest = getUnhandledProps(CommentContent, props);\n var ElementType = getElementType(CommentContent, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCommentContent.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nCommentContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default CommentContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly } from '../../lib';\n/**\n * Comments can be grouped.\n */\n\nfunction CommentGroup(props) {\n var className = props.className,\n children = props.children,\n collapsed = props.collapsed,\n content = props.content,\n minimal = props.minimal,\n size = props.size,\n threaded = props.threaded;\n var classes = cx('ui', size, useKeyOnly(collapsed, 'collapsed'), useKeyOnly(minimal, 'minimal'), useKeyOnly(threaded, 'threaded'), 'comments', className);\n var rest = getUnhandledProps(CommentGroup, props);\n var ElementType = getElementType(CommentGroup, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCommentGroup.handledProps = [\"as\", \"children\", \"className\", \"collapsed\", \"content\", \"minimal\", \"size\", \"threaded\"];\nCommentGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Comments can be collapsed, or hidden from view. */\n collapsed: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Comments can hide extra information unless a user shows intent to interact with a comment. */\n minimal: PropTypes.bool,\n\n /** Comments can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** A comment list can be threaded to showing the relationship between conversations. */\n threaded: PropTypes.bool\n} : {};\nexport default CommentGroup;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A comment can contain metadata about the comment, an arbitrary amount of metadata may be defined.\n */\n\nfunction CommentMetadata(props) {\n var className = props.className,\n children = props.children,\n content = props.content;\n var classes = cx('metadata', className);\n var rest = getUnhandledProps(CommentMetadata, props);\n var ElementType = getElementType(CommentMetadata, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCommentMetadata.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nCommentMetadata.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default CommentMetadata;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A comment can contain text.\n */\n\nfunction CommentText(props) {\n var className = props.className,\n children = props.children,\n content = props.content;\n var classes = cx(className, 'text');\n var rest = getUnhandledProps(CommentText, props);\n var ElementType = getElementType(CommentText, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nCommentText.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nCommentText.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default CommentText;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport CommentAction from './CommentAction';\nimport CommentActions from './CommentActions';\nimport CommentAuthor from './CommentAuthor';\nimport CommentAvatar from './CommentAvatar';\nimport CommentContent from './CommentContent';\nimport CommentGroup from './CommentGroup';\nimport CommentMetadata from './CommentMetadata';\nimport CommentText from './CommentText';\n/**\n * A comment displays user feedback to site content.\n */\n\nfunction Comment(props) {\n var className = props.className,\n children = props.children,\n collapsed = props.collapsed,\n content = props.content;\n var classes = cx(useKeyOnly(collapsed, 'collapsed'), 'comment', className);\n var rest = getUnhandledProps(Comment, props);\n var ElementType = getElementType(Comment, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nComment.handledProps = [\"as\", \"children\", \"className\", \"collapsed\", \"content\"];\nComment.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Comment can be collapsed, or hidden from view. */\n collapsed: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nComment.Author = CommentAuthor;\nComment.Action = CommentAction;\nComment.Actions = CommentActions;\nComment.Avatar = CommentAvatar;\nComment.Content = CommentContent;\nComment.Group = CommentGroup;\nComment.Metadata = CommentMetadata;\nComment.Text = CommentText;\nexport default Comment;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * An event or an event summary can contain a date.\n */\n\nfunction FeedDate(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('date', className);\n var rest = getUnhandledProps(FeedDate, props);\n var ElementType = getElementType(FeedDate, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nFeedDate.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nFeedDate.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nexport default FeedDate;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _map from \"lodash/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createHTMLImage, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A feed can contain an extra content.\n */\n\nfunction FeedExtra(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n images = props.images,\n text = props.text;\n var classes = cx(useKeyOnly(images, 'images'), useKeyOnly(content || text, 'text'), 'extra', className);\n var rest = getUnhandledProps(FeedExtra, props);\n var ElementType = getElementType(FeedExtra, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n } // TODO need a \"collection factory\" to handle creating multiple image elements and their keys\n\n\n var imageElements = _map(images, function (image, index) {\n var key = [index, image].join('-');\n return createHTMLImage(image, {\n key: key\n });\n });\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content, imageElements);\n}\n\nFeedExtra.handledProps = [\"as\", \"children\", \"className\", \"content\", \"images\", \"text\"];\nFeedExtra.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** An event can contain additional information like a set of images. */\n images: customPropTypes.every([customPropTypes.disallow(['text']), PropTypes.oneOfType([PropTypes.bool, customPropTypes.collectionShorthand])]),\n\n /** An event can contain additional text information. */\n text: PropTypes.bool\n} : {};\nexport default FeedExtra;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport Icon from '../../elements/Icon';\n/**\n * A feed can contain a like element.\n */\n\nfunction FeedLike(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n icon = props.icon;\n var classes = cx('like', className);\n var rest = getUnhandledProps(FeedLike, props);\n var ElementType = getElementType(FeedLike, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), Icon.create(icon, {\n autoGenerateKey: false\n }), content);\n}\n\nFeedLike.handledProps = [\"as\", \"children\", \"className\", \"content\", \"icon\"];\nFeedLike.defaultProps = {\n as: 'a'\n};\nFeedLike.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for icon. Mutually exclusive with children. */\n icon: customPropTypes.itemShorthand\n} : {};\nexport default FeedLike;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthand, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport FeedLike from './FeedLike';\n/**\n * A feed can contain a meta.\n */\n\nfunction FeedMeta(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n like = props.like;\n var classes = cx('meta', className);\n var rest = getUnhandledProps(FeedMeta, props);\n var ElementType = getElementType(FeedMeta, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), createShorthand(FeedLike, function (val) {\n return {\n content: val\n };\n }, like, {\n autoGenerateKey: false\n }), content);\n}\n\nFeedMeta.handledProps = [\"as\", \"children\", \"className\", \"content\", \"like\"];\nFeedMeta.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for FeedLike. */\n like: customPropTypes.itemShorthand\n} : {};\nexport default FeedMeta;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\n/**\n * A feed can contain a user element.\n */\n\nfunction FeedUser(props) {\n var children = props.children,\n className = props.className,\n content = props.content;\n var classes = cx('user', className);\n var rest = getUnhandledProps(FeedUser, props);\n var ElementType = getElementType(FeedUser, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nFeedUser.handledProps = [\"as\", \"children\", \"className\", \"content\"];\nFeedUser.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand\n} : {};\nFeedUser.defaultProps = {\n as: 'a'\n};\nexport default FeedUser;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthand, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport FeedDate from './FeedDate';\nimport FeedUser from './FeedUser';\n/**\n * A feed can contain a summary.\n */\n\nfunction FeedSummary(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n date = props.date,\n user = props.user;\n var classes = cx('summary', className);\n var rest = getUnhandledProps(FeedSummary, props);\n var ElementType = getElementType(FeedSummary, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), createShorthand(FeedUser, function (val) {\n return {\n content: val\n };\n }, user, {\n autoGenerateKey: false\n }), content && ' ', content, content && ' ', createShorthand(FeedDate, function (val) {\n return {\n content: val\n };\n }, date, {\n autoGenerateKey: false\n }));\n}\n\nFeedSummary.handledProps = [\"as\", \"children\", \"className\", \"content\", \"date\", \"user\"];\nFeedSummary.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Shorthand for FeedDate. */\n date: customPropTypes.itemShorthand,\n\n /** Shorthand for FeedUser. */\n user: customPropTypes.itemShorthand\n} : {};\nexport default FeedSummary;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createShorthand, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport FeedDate from './FeedDate';\nimport FeedExtra from './FeedExtra';\nimport FeedMeta from './FeedMeta';\nimport FeedSummary from './FeedSummary';\n\nfunction FeedContent(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n extraImages = props.extraImages,\n extraText = props.extraText,\n date = props.date,\n meta = props.meta,\n summary = props.summary;\n var classes = cx('content', className);\n var rest = getUnhandledProps(FeedContent, props);\n var ElementType = getElementType(FeedContent, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), createShorthand(FeedDate, function (val) {\n return {\n content: val\n };\n }, date, {\n autoGenerateKey: false\n }), createShorthand(FeedSummary, function (val) {\n return {\n content: val\n };\n }, summary, {\n autoGenerateKey: false\n }), content, createShorthand(FeedExtra, function (val) {\n return {\n text: true,\n content: val\n };\n }, extraText, {\n autoGenerateKey: false\n }), createShorthand(FeedExtra, function (val) {\n return {\n images: val\n };\n }, extraImages, {\n autoGenerateKey: false\n }), createShorthand(FeedMeta, function (val) {\n return {\n content: val\n };\n }, meta, {\n autoGenerateKey: false\n }));\n}\n\nFeedContent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"date\", \"extraImages\", \"extraText\", \"meta\", \"summary\"];\nFeedContent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** An event can contain a date. */\n date: customPropTypes.itemShorthand,\n\n /** Shorthand for FeedExtra with images. */\n extraImages: FeedExtra.propTypes.images,\n\n /** Shorthand for FeedExtra with text. */\n extraText: customPropTypes.itemShorthand,\n\n /** Shorthand for FeedMeta. */\n meta: customPropTypes.itemShorthand,\n\n /** Shorthand for FeedSummary. */\n summary: customPropTypes.itemShorthand\n} : {};\nexport default FeedContent;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, createHTMLImage, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport Icon from '../../elements/Icon';\n/**\n * An event can contain an image or icon label.\n */\n\nfunction FeedLabel(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n icon = props.icon,\n image = props.image;\n var classes = cx('label', className);\n var rest = getUnhandledProps(FeedLabel, props);\n var ElementType = getElementType(FeedLabel, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content, Icon.create(icon, {\n autoGenerateKey: false\n }), createHTMLImage(image));\n}\n\nFeedLabel.handledProps = [\"as\", \"children\", \"className\", \"content\", \"icon\", \"image\"];\nFeedLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** An event can contain icon label. */\n icon: customPropTypes.itemShorthand,\n\n /** An event can contain image label. */\n image: customPropTypes.itemShorthand\n} : {};\nexport default FeedLabel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { createShorthand, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport FeedContent from './FeedContent';\nimport FeedLabel from './FeedLabel';\n/**\n * A feed contains an event.\n */\n\nfunction FeedEvent(props) {\n var content = props.content,\n children = props.children,\n className = props.className,\n date = props.date,\n extraImages = props.extraImages,\n extraText = props.extraText,\n image = props.image,\n icon = props.icon,\n meta = props.meta,\n summary = props.summary;\n var classes = cx('event', className);\n var rest = getUnhandledProps(FeedEvent, props);\n var ElementType = getElementType(FeedEvent, props);\n var hasContentProp = content || date || extraImages || extraText || meta || summary;\n var contentProps = {\n content: content,\n date: date,\n extraImages: extraImages,\n extraText: extraText,\n meta: meta,\n summary: summary\n };\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), createShorthand(FeedLabel, function (val) {\n return {\n icon: val\n };\n }, icon, {\n autoGenerateKey: false\n }), createShorthand(FeedLabel, function (val) {\n return {\n image: val\n };\n }, image, {\n autoGenerateKey: false\n }), hasContentProp && /*#__PURE__*/React.createElement(FeedContent, contentProps), children);\n}\n\nFeedEvent.handledProps = [\"as\", \"children\", \"className\", \"content\", \"date\", \"extraImages\", \"extraText\", \"icon\", \"image\", \"meta\", \"summary\"];\nFeedEvent.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for FeedContent. */\n content: customPropTypes.itemShorthand,\n\n /** Shorthand for FeedDate. */\n date: customPropTypes.itemShorthand,\n\n /** Shorthand for FeedExtra with images. */\n extraImages: customPropTypes.itemShorthand,\n\n /** Shorthand for FeedExtra with content. */\n extraText: customPropTypes.itemShorthand,\n\n /** An event can contain icon label. */\n icon: customPropTypes.itemShorthand,\n\n /** An event can contain image label. */\n image: customPropTypes.itemShorthand,\n\n /** Shorthand for FeedMeta. */\n meta: customPropTypes.itemShorthand,\n\n /** Shorthand for FeedSummary. */\n summary: customPropTypes.itemShorthand\n} : {};\nexport default FeedEvent;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport _map from \"lodash/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI } from '../../lib';\nimport FeedContent from './FeedContent';\nimport FeedDate from './FeedDate';\nimport FeedEvent from './FeedEvent';\nimport FeedExtra from './FeedExtra';\nimport FeedLabel from './FeedLabel';\nimport FeedLike from './FeedLike';\nimport FeedMeta from './FeedMeta';\nimport FeedSummary from './FeedSummary';\nimport FeedUser from './FeedUser';\n/**\n * A feed presents user activity chronologically.\n */\n\nfunction Feed(props) {\n var children = props.children,\n className = props.className,\n events = props.events,\n size = props.size;\n var classes = cx('ui', size, 'feed', className);\n var rest = getUnhandledProps(Feed, props);\n var ElementType = getElementType(Feed, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n var eventElements = _map(events, function (eventProps) {\n var childKey = eventProps.childKey,\n date = eventProps.date,\n meta = eventProps.meta,\n summary = eventProps.summary,\n eventData = _objectWithoutPropertiesLoose(eventProps, [\"childKey\", \"date\", \"meta\", \"summary\"]);\n\n var finalKey = childKey || [date, meta, summary].join('-');\n return /*#__PURE__*/React.createElement(FeedEvent, _extends({\n date: date,\n key: finalKey,\n meta: meta,\n summary: summary\n }, eventData));\n });\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), eventElements);\n}\n\nFeed.handledProps = [\"as\", \"children\", \"className\", \"events\", \"size\"];\nFeed.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand array of props for FeedEvent. */\n events: customPropTypes.collectionShorthand,\n\n /** A feed can have different sizes. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'mini', 'tiny', 'medium', 'big', 'huge', 'massive'))\n} : {};\nFeed.Content = FeedContent;\nFeed.Date = FeedDate;\nFeed.Event = FeedEvent;\nFeed.Extra = FeedExtra;\nFeed.Label = FeedLabel;\nFeed.Like = FeedLike;\nFeed.Meta = FeedMeta;\nFeed.Summary = FeedSummary;\nFeed.User = FeedUser;\nexport default Feed;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { childrenUtils, customPropTypes, createShorthandFactory, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey } from '../../lib';\nimport Icon from '../Icon/Icon';\nimport Label from '../Label/Label';\nimport ButtonContent from './ButtonContent';\nimport ButtonGroup from './ButtonGroup';\nimport ButtonOr from './ButtonOr';\n/**\n * A Button indicates a possible user action.\n * @see Form\n * @see Icon\n * @see Label\n */\n\nvar Button = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Button, _Component);\n\n function Button() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.ref = /*#__PURE__*/createRef();\n\n _this.computeElementType = function () {\n var _this$props = _this.props,\n attached = _this$props.attached,\n label = _this$props.label;\n if (!_isNil(attached) || !_isNil(label)) return 'div';\n };\n\n _this.computeTabIndex = function (ElementType) {\n var _this$props2 = _this.props,\n disabled = _this$props2.disabled,\n tabIndex = _this$props2.tabIndex;\n if (!_isNil(tabIndex)) return tabIndex;\n if (disabled) return -1;\n if (ElementType === 'div') return 0;\n };\n\n _this.focus = function () {\n return _invoke(_this.ref.current, 'focus');\n };\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n _this.hasIconClass = function () {\n var _this$props3 = _this.props,\n labelPosition = _this$props3.labelPosition,\n children = _this$props3.children,\n content = _this$props3.content,\n icon = _this$props3.icon;\n if (icon === true) return true;\n return icon && (labelPosition || childrenUtils.isNil(children) && _isNil(content));\n };\n\n return _this;\n }\n\n var _proto = Button.prototype;\n\n _proto.computeButtonAriaRole = function computeButtonAriaRole(ElementType) {\n var role = this.props.role;\n if (!_isNil(role)) return role;\n if (ElementType !== 'button') return 'button';\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n active = _this$props4.active,\n animated = _this$props4.animated,\n attached = _this$props4.attached,\n basic = _this$props4.basic,\n children = _this$props4.children,\n circular = _this$props4.circular,\n className = _this$props4.className,\n color = _this$props4.color,\n compact = _this$props4.compact,\n content = _this$props4.content,\n disabled = _this$props4.disabled,\n floated = _this$props4.floated,\n fluid = _this$props4.fluid,\n icon = _this$props4.icon,\n inverted = _this$props4.inverted,\n label = _this$props4.label,\n labelPosition = _this$props4.labelPosition,\n loading = _this$props4.loading,\n negative = _this$props4.negative,\n positive = _this$props4.positive,\n primary = _this$props4.primary,\n secondary = _this$props4.secondary,\n size = _this$props4.size,\n toggle = _this$props4.toggle;\n var baseClasses = cx(color, size, useKeyOnly(active, 'active'), useKeyOnly(basic, 'basic'), useKeyOnly(circular, 'circular'), useKeyOnly(compact, 'compact'), useKeyOnly(fluid, 'fluid'), useKeyOnly(this.hasIconClass(), 'icon'), useKeyOnly(inverted, 'inverted'), useKeyOnly(loading, 'loading'), useKeyOnly(negative, 'negative'), useKeyOnly(positive, 'positive'), useKeyOnly(primary, 'primary'), useKeyOnly(secondary, 'secondary'), useKeyOnly(toggle, 'toggle'), useKeyOrValueAndKey(animated, 'animated'), useKeyOrValueAndKey(attached, 'attached'));\n var labeledClasses = cx(useKeyOrValueAndKey(labelPosition || !!label, 'labeled'));\n var wrapperClasses = cx(useKeyOnly(disabled, 'disabled'), useValueAndKey(floated, 'floated'));\n var rest = getUnhandledProps(Button, this.props);\n var ElementType = getElementType(Button, this.props, this.computeElementType);\n var tabIndex = this.computeTabIndex(ElementType);\n\n if (!_isNil(label)) {\n var buttonClasses = cx('ui', baseClasses, 'button', className);\n var containerClasses = cx('ui', labeledClasses, 'button', className, wrapperClasses);\n var labelElement = Label.create(label, {\n defaultProps: {\n basic: true,\n pointing: labelPosition === 'left' ? 'right' : 'left'\n },\n autoGenerateKey: false\n });\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: containerClasses,\n onClick: this.handleClick\n }), labelPosition === 'left' && labelElement, /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(\"button\", {\n className: buttonClasses,\n \"aria-pressed\": toggle ? !!active : undefined,\n disabled: disabled,\n tabIndex: tabIndex\n }, Icon.create(icon, {\n autoGenerateKey: false\n }), \" \", content)), (labelPosition === 'right' || !labelPosition) && labelElement);\n }\n\n var classes = cx('ui', baseClasses, wrapperClasses, labeledClasses, 'button', className);\n var hasChildren = !childrenUtils.isNil(children);\n var role = this.computeButtonAriaRole(ElementType);\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n \"aria-pressed\": toggle ? !!active : undefined,\n disabled: disabled && ElementType === 'button' || undefined,\n onClick: this.handleClick,\n role: role,\n tabIndex: tabIndex\n }), hasChildren && children, !hasChildren && Icon.create(icon, {\n autoGenerateKey: false\n }), !hasChildren && content));\n };\n\n return Button;\n}(Component);\n\nButton.handledProps = [\"active\", \"animated\", \"as\", \"attached\", \"basic\", \"children\", \"circular\", \"className\", \"color\", \"compact\", \"content\", \"disabled\", \"floated\", \"fluid\", \"icon\", \"inverted\", \"label\", \"labelPosition\", \"loading\", \"negative\", \"onClick\", \"positive\", \"primary\", \"role\", \"secondary\", \"size\", \"tabIndex\", \"toggle\"];\nButton.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A button can show it is currently the active user selection. */\n active: PropTypes.bool,\n\n /** A button can animate to show hidden content. */\n animated: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['fade', 'vertical'])]),\n\n /** A button can be attached to other content. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right', 'top', 'bottom'])]),\n\n /** A basic button is less pronounced. */\n basic: PropTypes.bool,\n\n /** Primary content. */\n children: customPropTypes.every([PropTypes.node, customPropTypes.disallow(['label']), customPropTypes.givenProps({\n icon: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.object.isRequired, PropTypes.element.isRequired])\n }, customPropTypes.disallow(['icon']))]),\n\n /** A button can be circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A button can have different colors */\n color: PropTypes.oneOf([].concat(SUI.COLORS, ['facebook', 'google plus', 'instagram', 'linkedin', 'twitter', 'vk', 'youtube'])),\n\n /** A button can reduce its padding to fit into tighter spaces. */\n compact: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A button can show it is currently unable to be interacted with. */\n disabled: PropTypes.bool,\n\n /** A button can be aligned to the left or right of its container. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** A button can take the width of its container. */\n fluid: PropTypes.bool,\n\n /** Add an Icon by name, props object, or pass an . */\n icon: customPropTypes.some([PropTypes.bool, PropTypes.string, PropTypes.object, PropTypes.element]),\n\n /** A button can be formatted to appear on dark backgrounds. */\n inverted: PropTypes.bool,\n\n /** Add a Label by text, props object, or pass a . */\n label: customPropTypes.some([PropTypes.string, PropTypes.object, PropTypes.element]),\n\n /** A labeled button can format a Label or Icon to appear on the left or right. */\n labelPosition: PropTypes.oneOf(['right', 'left']),\n\n /** A button can show a loading indicator. */\n loading: PropTypes.bool,\n\n /** A button can hint towards a negative consequence. */\n negative: PropTypes.bool,\n\n /**\n * Called after user's click.\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /** A button can hint towards a positive consequence. */\n positive: PropTypes.bool,\n\n /** A button can be formatted to show different levels of emphasis. */\n primary: PropTypes.bool,\n\n /** The role of the HTML element. */\n role: PropTypes.string,\n\n /** A button can be formatted to show different levels of emphasis. */\n secondary: PropTypes.bool,\n\n /** A button can have different sizes. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** A button can receive focus. */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** A button can be formatted to toggle on and off. */\n toggle: PropTypes.bool\n} : {};\nButton.defaultProps = {\n as: 'button'\n};\nButton.Content = ButtonContent;\nButton.Group = ButtonGroup;\nButton.Or = ButtonOr;\nButton.create = createShorthandFactory(Button, function (value) {\n return {\n content: value\n };\n});\nexport default Button;","import _find from \"lodash/find\";\nimport _some from \"lodash/some\";\nimport { Children } from 'react';\n/**\n * Determine if child by type exists in children.\n * @param {Object} children The children prop of a component.\n * @param {string|Function} type An html tag name string or React component.\n * @returns {Boolean}\n */\n\nexport var someByType = function someByType(children, type) {\n return _some(Children.toArray(children), {\n type: type\n });\n};\n/**\n * Find child by type.\n * @param {Object} children The children prop of a component.\n * @param {string|Function} type An html tag name string or React component.\n * @returns {undefined|Object}\n */\n\nexport var findByType = function findByType(children, type) {\n return _find(Children.toArray(children), {\n type: type\n });\n};\n/**\n * Tests if children are nil in React and Preact.\n * @param {Object} children The children prop of a component.\n * @returns {Boolean}\n */\n\nexport var isNil = function isNil(children) {\n return children === null || children === undefined || Array.isArray(children) && children.length === 0;\n};","import _uniq from \"lodash/uniq\";\nimport _values from \"lodash/values\";\nimport _keys from \"lodash/keys\";\nimport { numberToWordMap } from './numberToWord';\nexport var COLORS = ['red', 'orange', 'yellow', 'olive', 'green', 'teal', 'blue', 'violet', 'purple', 'pink', 'brown', 'grey', 'black'];\nexport var FLOATS = ['left', 'right'];\nexport var SIZES = ['mini', 'tiny', 'small', 'medium', 'large', 'big', 'huge', 'massive'];\nexport var TEXT_ALIGNMENTS = ['left', 'center', 'right', 'justified'];\nexport var VERTICAL_ALIGNMENTS = ['bottom', 'middle', 'top'];\nexport var VISIBILITY = ['mobile', 'tablet', 'computer', 'large screen', 'widescreen'];\nexport var WIDTHS = [].concat(_keys(numberToWordMap), _keys(numberToWordMap).map(Number), _values(numberToWordMap));\nexport var DIRECTIONAL_TRANSITIONS = ['browse', 'browse right', 'drop', 'fade', 'fade up', 'fade down', 'fade left', 'fade right', 'fly up', 'fly down', 'fly left', 'fly right', 'horizontal flip', 'vertical flip', 'scale', 'slide up', 'slide down', 'slide left', 'slide right', 'swing up', 'swing down', 'swing left', 'swing right', 'zoom'];\nexport var STATIC_TRANSITIONS = ['jiggle', 'flash', 'shake', 'pulse', 'tada', 'bounce', 'glow'];\nexport var TRANSITIONS = [].concat(DIRECTIONAL_TRANSITIONS, STATIC_TRANSITIONS); // Generated from:\n// https://github.com/Semantic-Org/Semantic-UI/blob/master/dist/components/icon.css\n\nexport var ACCESSIBILITY = ['american sign language interpreting', 'assistive listening systems', 'audio description', 'blind', 'braille', 'closed captioning', 'closed captioning outline', 'deaf', 'low vision', 'phone volume', 'question circle', 'question circle outline', 'sign language', 'tty', 'universal access', 'wheelchair'];\nexport var ARROWS = ['angle double down', 'angle double left', 'angle double right', 'angle double up', 'angle down', 'angle left', 'angle right', 'angle up', 'arrow alternate circle down', 'arrow alternate circle down outline', 'arrow alternate circle left', 'arrow alternate circle left outline', 'arrow alternate circle right', 'arrow alternate circle right outline', 'arrow alternate circle up', 'arrow alternate circle up outline', 'arrow circle down', 'arrow circle left', 'arrow circle right', 'arrow circle up', 'arrow down', 'arrow left', 'arrow right', 'arrow up', 'arrows alternate', 'arrows alternate horizontal', 'arrows alternate vertical', 'caret down', 'caret left', 'caret right', 'caret square down', 'caret square down outline', 'caret square left', 'caret square left outline', 'caret square right', 'caret square right outline', 'caret square up', 'caret square up outline', 'caret up', 'cart arrow down', 'chart line', 'chevron circle down', 'chevron circle left', 'chevron circle right', 'chevron circle up', 'chevron down', 'chevron left', 'chevron right', 'chevron up', 'cloud download', 'cloud upload', 'download', 'exchange', 'expand arrows alternate', 'external alternate', 'external square alternate', 'hand point down', 'hand point down outline', 'hand point left', 'hand point left outline', 'hand point right', 'hand point right outline', 'hand point up', 'hand point up outline', 'hand pointer', 'hand pointer outline', 'history', 'level down alternate', 'level up alternate', 'location arrow', 'long arrow alternate down', 'long arrow alternate left', 'long arrow alternate right', 'long arrow alternate up', 'mouse pointer', 'play', 'random', 'recycle', 'redo', 'redo alternate', 'reply', 'reply all', 'retweet', 'share', 'share square', 'share square outline', 'sign-in', 'sign-out', 'sign-in alternate', 'sign-out alternate', 'sort', 'sort alphabet down', 'sort alphabet up', 'sort amount down', 'sort amount up', 'sort down', 'sort numeric down', 'sort numeric up', 'sort up', 'sync', 'sync alternate', 'text height', 'text width', 'undo', 'undo alternate', 'upload', 'zoom-in', 'zoom-out'];\nexport var AUDIO_VIDEO = ['audio description', 'backward', 'circle', 'circle outline', 'closed captioning', 'closed captioning outline', 'compress', 'eject', 'expand', 'expand arrows alternate', 'fast backward', 'fast forward', 'file audio', 'file audio outline', 'file video', 'file video outline', 'film', 'forward', 'headphones', 'microphone', 'microphone slash', 'music', 'pause', 'pause circle', 'pause circle outline', 'phone volume', 'play', 'play circle', 'play circle outline', 'podcast', 'random', 'redo', 'redo alternate', 'rss', 'rss square', 'step backward', 'step forward', 'stop', 'stop circle', 'stop circle outline', 'sync', 'sync alternate', 'undo', 'undo alternate', 'video', 'volume down', 'volume off', 'volume up'];\nexport var BUSINESS = ['address book', 'address book outline', 'address card', 'address card outline', 'archive', 'balance scale', 'birthday cake', 'book', 'briefcase', 'building', 'building outline', 'bullhorn', 'bullseye', 'calculator', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'certificate', 'chart area', 'chart bar', 'chart bar outline', 'chart line', 'chart pie', 'clipboard', 'clipboard outline', 'coffee', 'columns', 'compass', 'compass outline', 'copy', 'copy outline', 'copyright', 'copyright outline', 'cut', 'edit', 'edit outline', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'envelope square', 'eraser', 'fax', 'file', 'file outline', 'file alternate', 'file alternate outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'globe', 'industry', 'paperclip', 'paste', 'pen square', 'pencil alternate', 'percent', 'phone', 'phone square', 'phone volume', 'registered', 'registered outline', 'save', 'save outline', 'sitemap', 'sticky note', 'sticky note outline', 'suitcase', 'table', 'tag', 'tags', 'tasks', 'thumbtack', 'trademark'];\nexport var CHESS = ['chess', 'chess bishop', 'chess board', 'chess king', 'chess knight', 'chess pawn', 'chess queen', 'chess rook', 'square full'];\nexport var CODE = ['archive', 'barcode', 'bath', 'bug', 'code', 'code branch', 'coffee', 'file', 'file outline', 'file alternate', 'file alternate outline', 'file code', 'file code outline', 'filter', 'fire extinguisher', 'folder', 'folder outline', 'folder open', 'folder open outline', 'keyboard', 'keyboard outline', 'microchip', 'qrcode', 'shield alternate', 'sitemap', 'terminal', 'user secret', 'window close', 'window close outline', 'window maximize', 'window maximize outline', 'window minimize', 'window minimize outline', 'window restore', 'window restore outline'];\nexport var COMMUNICATION = ['address book', 'address book outline', 'address card', 'address card outline', 'american sign language interpreting', 'assistive listening systems', 'at', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'bullhorn', 'comment', 'comment outline', 'comment alternate', 'comment alternate outline', 'comments', 'comments outline', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'envelope square', 'fax', 'inbox', 'language', 'microphone', 'microphone slash', 'mobile', 'mobile alternate', 'paper plane', 'paper plane outline', 'phone', 'phone square', 'phone volume', 'rss', 'rss square', 'tty', 'wifi'];\nexport var COMPUTERS = ['desktop', 'download', 'hdd', 'hdd outline', 'headphones', 'keyboard', 'keyboard outline', 'laptop', 'microchip', 'mobile', 'mobile alternate', 'plug', 'power off', 'print', 'save', 'save outline', 'server', 'tablet', 'tablet alternate', 'tv', 'upload'];\nexport var CURRENCY = ['dollar sign', 'euro sign', 'lira sign', 'money bill alternate', 'money bill alternate outline', 'pound sign', 'ruble sign', 'rupee sign', 'shekel sign', 'won sign', 'yen sign'];\nexport var DATE_TIME = ['bell', 'bell outline', 'bell slash', 'bell slash outline', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'calendar check', 'calendar check outline', 'calendar minus', 'calendar minus outline', 'calendar plus', 'calendar plus outline', 'calendar times', 'calendar times outline', 'clock', 'clock outline', 'hourglass', 'hourglass outline', 'hourglass end', 'hourglass half', 'hourglass start', 'stopwatch'];\nexport var DESIGN = ['adjust', 'clone', 'clone outline', 'copy', 'copy outline', 'crop', 'crosshairs', 'cut', 'edit', 'edit outline', 'eraser', 'eye', 'eye dropper', 'eye slash', 'eye slash outline', 'object group', 'object group outline', 'object ungroup', 'object ungroup outline', 'paint brush', 'paste', 'pencil alternate', 'save', 'save outline', 'tint'];\nexport var EDITORS = ['align center', 'align justify', 'align left', 'align right', 'bold', 'clipboard', 'clipboard outline', 'clone', 'clone outline', 'columns', 'copy', 'copy outline', 'cut', 'edit', 'edit outline', 'eraser', 'file', 'file outline', 'file alternate', 'file alternate outline', 'font', 'heading', 'i cursor', 'indent', 'italic', 'linkify', 'list', 'list alternate', 'list alternate outline', 'list ol', 'list ul', 'outdent', 'paper plane', 'paper plane outline', 'paperclip', 'paragraph', 'paste', 'pencil alternate', 'print', 'quote left', 'quote right', 'redo', 'redo alternate', 'reply', 'reply all', 'share', 'strikethrough', 'subscript', 'superscript', 'sync', 'sync alternate', 'table', 'tasks', 'text height', 'text width', 'th', 'th large', 'th list', 'trash', 'trash alternate', 'trash alternate outline', 'underline', 'undo', 'undo alternate', 'unlink'];\nexport var FILES = ['archive', 'clone', 'clone outline', 'copy', 'copy outline', 'cut', 'file', 'file outline', 'file alternate', 'file alternate outline', 'file archive', 'file archive outline', 'file audio', 'file audio outline', 'file code', 'file code outline', 'file excel', 'file excel outline', 'file image', 'file image outline', 'file pdf', 'file pdf outline', 'file powerpoint', 'file powerpoint outline', 'file video', 'file video outline', 'file word', 'file word outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'paste', 'save', 'save outline', 'sticky note', 'sticky note outline'];\nexport var GENDERS = ['genderless', 'mars', 'mars double', 'mars stroke', 'mars stroke horizontal', 'mars stroke vertical', 'mercury', 'neuter', 'transgender', 'transgender alternate', 'venus', 'venus double', 'venus mars'];\nexport var HANDS_GESTURES = ['hand lizard', 'hand lizard outline', 'hand paper', 'hand paper outline', 'hand peace', 'hand peace outline', 'hand point down', 'hand point down outline', 'hand point left', 'hand point left outline', 'hand point right', 'hand point right outline', 'hand point up', 'hand point up outline', 'hand pointer', 'hand pointer outline', 'hand rock', 'hand rock outline', 'hand scissors', 'hand scissors outline', 'hand spock', 'hand spock outline', 'handshake', 'handshake outline', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline'];\nexport var HEALTH = ['ambulance', 'h square', 'heart', 'heart outline', 'heartbeat', 'hospital', 'hospital outline', 'medkit', 'plus square', 'plus square outline', 'stethoscope', 'user md', 'wheelchair'];\nexport var IMAGES = ['adjust', 'bolt', 'camera', 'camera retro', 'clone', 'clone outline', 'compress', 'expand', 'eye', 'eye dropper', 'eye slash', 'eye slash outline', 'file image', 'file image outline', 'film', 'id badge', 'id badge outline', 'id card', 'id card outline', 'image', 'image outline', 'images', 'images outline', 'sliders horizontal', 'tint'];\nexport var INTERFACES = ['ban', 'barcode', 'bars', 'beer', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'bug', 'bullhorn', 'bullseye', 'calculator', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'calendar check', 'calendar check outline', 'calendar minus', 'calendar minus outline', 'calendar plus', 'calendar plus outline', 'calendar times', 'calendar times outline', 'certificate', 'check', 'check circle', 'check circle outline', 'check square', 'check square outline', 'circle', 'circle outline', 'clipboard', 'clipboard outline', 'clone', 'clone outline', 'cloud', 'cloud download', 'cloud upload', 'coffee', 'cog', 'cogs', 'copy', 'copy outline', 'cut', 'database', 'dot circle', 'dot circle outline', 'download', 'edit', 'edit outline', 'ellipsis horizontal', 'ellipsis vertical', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'eraser', 'exclamation', 'exclamation circle', 'exclamation triangle', 'external alternate', 'external square alternate', 'eye', 'eye slash', 'eye slash outline', 'file', 'file outline', 'file alternate', 'file alternate outline', 'filter', 'flag', 'flag outline', 'flag checkered', 'folder', 'folder outline', 'folder open', 'folder open outline', 'frown', 'frown outline', 'hashtag', 'heart', 'heart outline', 'history', 'home', 'i cursor', 'info', 'info circle', 'language', 'magic', 'meh', 'meh outline', 'microphone', 'microphone slash', 'minus', 'minus circle', 'minus square', 'minus square outline', 'paste', 'pencil alternate', 'plus', 'plus circle', 'plus square', 'plus square outline', 'qrcode', 'question', 'question circle', 'question circle outline', 'quote left', 'quote right', 'redo', 'redo alternate', 'reply', 'reply all', 'rss', 'rss square', 'save', 'save outline', 'search', 'search minus', 'search plus', 'share', 'share alternate', 'share alternate square', 'share square', 'share square outline', 'shield alternate', 'sign-in', 'sign-out', 'signal', 'sitemap', 'sliders horizontal', 'smile', 'smile outline', 'sort', 'sort alphabet down', 'sort alphabet up', 'sort amount down', 'sort amount up', 'sort down', 'sort numeric down', 'sort numeric up', 'sort up', 'star', 'star outline', 'star half', 'star half outline', 'sync', 'sync alternate', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline', 'times', 'times circle', 'times circle outline', 'toggle off', 'toggle on', 'trash', 'trash alternate', 'trash alternate outline', 'trophy', 'undo', 'undo alternate', 'upload', 'user', 'user outline', 'user circle', 'user circle outline', 'wifi'];\nexport var LOGISTICS = ['box', 'boxes', 'clipboard check', 'clipboard list', 'dolly', 'dolly flatbed', 'pallet', 'shipping fast', 'truck', 'warehouse'];\nexport var MAPS = ['ambulance', 'anchor', 'balance scale', 'bath', 'bed', 'beer', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'bicycle', 'binoculars', 'birthday cake', 'blind', 'bomb', 'book', 'bookmark', 'bookmark outline', 'briefcase', 'building', 'building outline', 'car', 'coffee', 'crosshairs', 'dollar sign', 'eye', 'eye slash', 'eye slash outline', 'fighter jet', 'fire', 'fire extinguisher', 'flag', 'flag outline', 'flag checkered', 'flask', 'gamepad', 'gavel', 'gift', 'glass martini', 'globe', 'graduation cap', 'h square', 'heart', 'heart outline', 'heartbeat', 'home', 'hospital', 'hospital outline', 'image', 'image outline', 'images', 'images outline', 'industry', 'info', 'info circle', 'key', 'leaf', 'lemon', 'lemon outline', 'life ring', 'life ring outline', 'lightbulb', 'lightbulb outline', 'location arrow', 'low vision', 'magnet', 'male', 'map', 'map outline', 'map marker', 'map marker alternate', 'map pin', 'map signs', 'medkit', 'money bill alternate', 'money bill alternate outline', 'motorcycle', 'music', 'newspaper', 'newspaper outline', 'paw', 'phone', 'phone square', 'phone volume', 'plane', 'plug', 'plus', 'plus square', 'plus square outline', 'print', 'recycle', 'road', 'rocket', 'search', 'search minus', 'search plus', 'ship', 'shopping bag', 'shopping basket', 'shopping cart', 'shower', 'street view', 'subway', 'suitcase', 'tag', 'tags', 'taxi', 'thumbtack', 'ticket alternate', 'tint', 'train', 'tree', 'trophy', 'truck', 'tty', 'umbrella', 'university', 'utensil spoon', 'utensils', 'wheelchair', 'wifi', 'wrench'];\nexport var MEDICAL = ['ambulance', 'band aid', 'dna', 'first aid', 'heart', 'heart outline', 'heartbeat', 'hospital', 'hospital outline', 'hospital symbol', 'pills', 'plus', 'stethoscope', 'syringe', 'thermometer', 'user md', 'weight'];\nexport var OBJECTS = ['ambulance', 'anchor', 'archive', 'balance scale', 'bath', 'bed', 'beer', 'bell', 'bell outline', 'bicycle', 'binoculars', 'birthday cake', 'bomb', 'book', 'bookmark', 'bookmark outline', 'briefcase', 'bug', 'building', 'building outline', 'bullhorn', 'bullseye', 'bus', 'calculator', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'camera', 'camera retro', 'car', 'clipboard', 'clipboard outline', 'cloud', 'coffee', 'cog', 'cogs', 'compass', 'compass outline', 'copy', 'copy outline', 'cube', 'cubes', 'cut', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'eraser', 'eye', 'eye dropper', 'fax', 'fighter jet', 'file', 'file outline', 'file alternate', 'file alternate outline', 'film', 'fire', 'fire extinguisher', 'flag', 'flag outline', 'flag checkered', 'flask', 'futbol', 'futbol outline', 'gamepad', 'gavel', 'gem', 'gem outline', 'gift', 'glass martini', 'globe', 'graduation cap', 'hdd', 'hdd outline', 'headphones', 'heart', 'heart outline', 'home', 'hospital', 'hospital outline', 'hourglass', 'hourglass outline', 'image', 'image outline', 'images', 'images outline', 'industry', 'key', 'keyboard', 'keyboard outline', 'laptop', 'leaf', 'lemon', 'lemon outline', 'life ring', 'life ring outline', 'lightbulb', 'lightbulb outline', 'lock', 'lock open', 'magic', 'magnet', 'map', 'map outline', 'map marker', 'map marker alternate', 'map pin', 'map signs', 'medkit', 'microchip', 'microphone', 'mobile', 'mobile alternate', 'money bill alternate', 'money bill alternate outline', 'moon', 'moon outline', 'motorcycle', 'newspaper', 'newspaper outline', 'paint brush', 'paper plane', 'paper plane outline', 'paperclip', 'paste', 'paw', 'pencil alternate', 'phone', 'plane', 'plug', 'print', 'puzzle piece', 'road', 'rocket', 'save', 'save outline', 'search', 'shield alternate', 'shopping bag', 'shopping basket', 'shopping cart', 'shower', 'snowflake', 'snowflake outline', 'space shuttle', 'star', 'star outline', 'sticky note', 'sticky note outline', 'stopwatch', 'subway', 'suitcase', 'sun', 'sun outline', 'tablet', 'tablet alternate', 'tachometer alternate', 'tag', 'tags', 'taxi', 'thumbtack', 'ticket alternate', 'train', 'trash', 'trash alternate', 'trash alternate outline', 'tree', 'trophy', 'truck', 'tv', 'umbrella', 'university', 'unlock', 'unlock alternate', 'utensil spoon', 'utensils', 'wheelchair', 'wrench'];\nexport var PAYMENTS_SHOPPING = ['bell', 'bell outline', 'bookmark', 'bookmark outline', 'bullhorn', 'camera', 'camera retro', 'cart arrow down', 'cart plus', 'certificate', 'credit card', 'credit card outline', 'gem', 'gem outline', 'gift', 'handshake', 'handshake outline', 'heart', 'heart outline', 'key', 'shopping bag', 'shopping basket', 'shopping cart', 'star', 'star outline', 'tag', 'tags', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline', 'trophy'];\nexport var SHAPES = ['bookmark', 'bookmark outline', 'calendar', 'calendar outline', 'certificate', 'circle', 'circle outline', 'cloud', 'comment', 'comment outline', 'file', 'file outline', 'folder', 'folder outline', 'heart', 'heart outline', 'map marker', 'play', 'square', 'square outline', 'star', 'star outline'];\nexport var SPINNERS = ['asterisk', 'certificate', 'circle notch', 'cog', 'compass', 'compass outline', 'crosshairs', 'life ring', 'life ring outline', 'snowflake', 'snowflake outline', 'spinner', 'sun', 'sun outline', 'sync'];\nexport var SPORTS = ['baseball ball', 'basketball ball', 'bowling ball', 'football ball', 'futbol', 'futbol outline', 'golf ball', 'hockey puck', 'quidditch', 'table tennis', 'volleyball ball'];\nexport var STATUS = ['ban', 'battery empty', 'battery full', 'battery half', 'battery quarter', 'battery three quarters', 'bell', 'bell outline', 'bell slash', 'bell slash outline', 'calendar', 'calendar outline', 'calendar alternate', 'calendar alternate outline', 'calendar check', 'calendar check outline', 'calendar minus', 'calendar minus outline', 'calendar plus', 'calendar plus outline', 'calendar times', 'calendar times outline', 'cart arrow down', 'cart plus', 'exclamation', 'exclamation circle', 'exclamation triangle', 'eye', 'eye slash', 'eye slash outline', 'file', 'file outline', 'file alternate', 'file alternate outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'info', 'info circle', 'lock', 'lock open', 'minus', 'minus circle', 'minus square', 'minus square outline', 'plus', 'plus circle', 'plus square', 'plus square outline', 'question', 'question circle', 'question circle outline', 'shield alternate', 'shopping cart', 'sign in alternate', 'sign out alternate', 'thermometer empty', 'thermometer full', 'thermometer half', 'thermometer quarter', 'thermometer three quarters', 'thumbs down', 'thumbs down outline', 'thumbs up', 'thumbs up outline', 'toggle off', 'toggle on', 'unlock', 'unlock alternate'];\nexport var USERS_PEOPLE = ['address book', 'address book outline', 'address card', 'address card outline', 'bed', 'blind', 'child', 'female', 'frown', 'frown outline', 'id badge', 'id badge outline', 'id card', 'id card outline', 'male', 'meh', 'meh outline', 'power off', 'smile', 'smile outline', 'street view', 'user', 'user outline', 'user circle', 'user circle outline', 'user md', 'user plus', 'user secret', 'user times', 'users', 'wheelchair'];\nexport var VEHICLES = ['ambulance', 'bicycle', 'bus', 'car', 'fighter jet', 'motorcycle', 'paper plane', 'paper plane outline', 'plane', 'rocket', 'ship', 'shopping cart', 'space shuttle', 'subway', 'taxi', 'train', 'truck', 'wheelchair'];\nexport var WRITING = ['archive', 'book', 'bookmark', 'bookmark outline', 'edit', 'edit outline', 'envelope', 'envelope outline', 'envelope open', 'envelope open outline', 'eraser', 'file', 'file outline', 'file alternate', 'file alternate outline', 'folder', 'folder outline', 'folder open', 'folder open outline', 'keyboard', 'keyboard outline', 'newspaper', 'newspaper outline', 'paper plane', 'paper plane outline', 'paperclip', 'paragraph', 'pen square', 'pencil alternate', 'quote left', 'quote right', 'sticky note', 'sticky note outline', 'thumbtack'];\nexport var BRANDS = ['500px', 'accessible', 'accusoft', 'adn', 'adversal', 'affiliatetheme', 'algolia', 'amazon', 'amazon pay', 'amilia', 'android', 'angellist', 'angrycreative', 'angular', 'app store', 'app store ios', 'apper', 'apple', 'apple pay', 'asymmetrik', 'audible', 'autoprefixer', 'avianex', 'aviato', 'aws', 'bandcamp', 'behance', 'behance square', 'bimobject', 'bitbucket', 'bitcoin', 'bity', 'black tie', 'blackberry', 'blogger', 'blogger b', 'bluetooth', 'bluetooth b', 'btc', 'buromobelexperte', 'buysellads', 'cc amazon pay', 'cc amex', 'cc apple pay', 'cc diners club', 'cc discover', 'cc jcb', 'cc mastercard', 'cc paypal', 'cc stripe', 'cc visa', 'centercode', 'chrome', 'cloudscale', 'cloudsmith', 'cloudversify', 'codepen', 'codiepie', 'connectdevelop', 'contao', 'cpanel', 'creative commons', 'css3', 'css3 alternate', 'cuttlefish', 'd and d', 'dashcube', 'delicious', 'deploydog', 'deskpro', 'deviantart', 'digg', 'digital ocean', 'discord', 'discourse', 'dochub', 'docker', 'draft2digital', 'dribbble', 'dribbble square', 'dropbox', 'drupal', 'dyalog', 'earlybirds', 'edge', 'elementor', 'ember', 'empire', 'envira', 'erlang', 'ethereum', 'etsy', 'expeditedssl', 'facebook', 'facebook f', 'facebook messenger', 'facebook square', 'firefox', 'first order', 'firstdraft', 'flickr', 'flipboard', 'fly', 'font awesome', 'font awesome alternate', 'font awesome flag', 'fonticons', 'fonticons fi', 'fort awesome', 'fort awesome alternate', 'forumbee', 'foursquare', 'free code camp', 'freebsd', 'get pocket', 'gg', 'gg circle', 'git', 'git square', 'github', 'github alternate', 'github square', 'gitkraken', 'gitlab', 'gitter', 'glide', 'glide g', 'gofore', 'goodreads', 'goodreads g', 'google', 'google drive', 'google play', 'google plus', 'google plus g', 'google plus square', 'google wallet', 'gratipay', 'grav', 'gripfire', 'grunt', 'gulp', 'hacker news', 'hacker news square', 'hips', 'hire a helper', 'hooli', 'hotjar', 'houzz', 'html5', 'hubspot', 'imdb', 'instagram', 'internet explorer', 'ioxhost', 'itunes', 'itunes note', 'jenkins', 'joget', 'joomla', 'js', 'js square', 'jsfiddle', 'keycdn', 'kickstarter', 'kickstarter k', 'korvue', 'laravel', 'lastfm', 'lastfm square', 'leanpub', 'less', 'linechat', 'linkedin', 'linkedin alternate', 'linode', 'linux', 'lyft', 'magento', 'maxcdn', 'medapps', 'medium', 'medium m', 'medrt', 'meetup', 'microsoft', 'mix', 'mixcloud', 'mizuni', 'modx', 'monero', 'napster', 'nintendo switch', 'node', 'node js', 'npm', 'ns8', 'nutritionix', 'odnoklassniki', 'odnoklassniki square', 'opencart', 'openid', 'opera', 'optin monster', 'osi', 'page4', 'pagelines', 'palfed', 'patreon', 'paypal', 'periscope', 'phabricator', 'phoenix framework', 'php', 'pied piper', 'pied piper alternate', 'pied piper pp', 'pinterest', 'pinterest p', 'pinterest square', 'playstation', 'product hunt', 'pushed', 'python', 'qq', 'quinscape', 'quora', 'ravelry', 'react', 'rebel', 'redriver', 'reddit', 'reddit alien', 'reddit square', 'rendact', 'renren', 'replyd', 'resolving', 'rocketchat', 'rockrms', 'safari', 'sass', 'schlix', 'scribd', 'searchengin', 'sellcast', 'sellsy', 'servicestack', 'shirtsinbulk', 'simplybuilt', 'sistrix', 'skyatlas', 'skype', 'slack', 'slack hash', 'slideshare', 'snapchat', 'snapchat ghost', 'snapchat square', 'soundcloud', 'speakap', 'spotify', 'stack exchange', 'stack overflow', 'staylinked', 'steam', 'steam square', 'steam symbol', 'sticker mule', 'strava', 'stripe', 'stripe s', 'studiovinari', 'stumbleupon', 'stumbleupon circle', 'superpowers', 'supple', 'telegram', 'telegram plane', 'tencent weibo', 'themeisle', 'trello', 'tripadvisor', 'tumblr', 'tumblr square', 'twitch', 'twitter', 'twitter square', 'typo3', 'uber', 'uikit', 'uniregistry', 'untappd', 'usb', 'ussunnah', 'vaadin', 'viacoin', 'viadeo', 'viadeo square', 'viber', 'vimeo', 'vimeo square', 'vimeo v', 'vine', 'vk', 'vnv', 'vuejs', 'wechat', 'weibo', 'weixin', 'whatsapp', 'whatsapp square', 'whmcs', 'wikipedia w', 'windows', 'wordpress', 'wordpress simple', 'wpbeginner', 'wpexplorer', 'wpforms', 'xbox', 'xing', 'xing square', 'y combinator', 'yahoo', 'yandex', 'yandex international', 'yelp', 'yoast', 'youtube', 'youtube square'];\nexport var ICONS = _uniq([].concat(ACCESSIBILITY, ARROWS, AUDIO_VIDEO, BUSINESS, CHESS, CODE, COMMUNICATION, COMPUTERS, CURRENCY, DATE_TIME, DESIGN, EDITORS, FILES, GENDERS, HANDS_GESTURES, HEALTH, IMAGES, INTERFACES, LOGISTICS, MAPS, MEDICAL, OBJECTS, PAYMENTS_SHOPPING, SHAPES, SPINNERS, SPORTS, STATUS, USERS_PEOPLE, VEHICLES, WRITING, BRANDS));\nexport var ICON_ALIASES = ['chess rock', 'ordered list', 'unordered list', 'user doctor', 'shield', 'puzzle', 'add circle', 'add square', 'add to calendar', 'add to cart', 'add user', 'add', 'alarm mute', 'alarm', 'ald', 'als', 'announcement', 'area chart', 'area graph', 'arrow down cart', 'asexual', 'asl interpreting', 'asl', 'assistive listening devices', 'attach', 'attention', 'balance', 'bar', 'bathtub', 'battery four', 'battery high', 'battery low', 'battery one', 'battery three', 'battery two', 'battery zero', 'birthday', 'block layout', 'bluetooth alternative', 'broken chain', 'browser', 'call square', 'call', 'cancel', 'cart', 'cc', 'chain', 'chat', 'checked calendar', 'checkmark', 'circle notched', 'close', 'cny', 'cocktail', 'commenting', 'computer', 'configure', 'content', 'deafness', 'delete calendar', 'delete', 'detective', 'discussions', 'doctor', 'dollar', 'dont', 'drivers license', 'dropdown', 'emergency', 'envira gallery', 'erase', 'eur', 'euro', 'eyedropper', 'factory', 'favorite', 'feed', 'female homosexual', 'file text', 'file text outline', 'find', 'first aid', 'fork', 'game', 'gay', 'gbp', 'google plus circle', 'google plus official', 'grab', 'graduation', 'grid layout', 'group', 'h', 'hand victory', 'handicap', 'hard of hearing', 'header', 'help circle', 'help', 'heterosexual', 'hide', 'hotel', 'hourglass four', 'hourglass full', 'hourglass one', 'hourglass three', 'hourglass two', 'idea', 'ils', 'in cart', 'inr', 'intergender', 'intersex', 'jpy', 'krw', 'lab', 'law', 'legal', 'lesbian', 'lightning', 'like', 'line graph', 'linkedin square', 'linkify', 'lira', 'list layout', 'magnify', 'mail forward', 'mail outline', 'mail square', 'mail', 'male homosexual', 'man', 'marker', 'mars alternate', 'mars horizontal', 'mars vertical', 'microsoft edge', 'military', 'ms edge', 'mute', 'new pied piper', 'non binary transgender', 'numbered list', 'options', 'other gender horizontal', 'other gender vertical', 'other gender', 'payment', 'paypal card', 'pencil square', 'photo', 'picture', 'pie chart', 'pie graph', 'pied piper hat', 'pin', 'plus cart', 'point', 'pointing down', 'pointing left', 'pointing right', 'pointing up', 'pound', 'power cord', 'power', 'privacy', 'r circle', 'rain', 'record', 'refresh', 'remove circle', 'remove from calendar', 'remove user', 'remove', 'repeat', 'rmb', 'rouble', 'rub', 'ruble', 'rupee', 's15', 'selected radio', 'send', 'setting', 'settings', 'shekel', 'sheqel', 'shipping', 'shop', 'shuffle', 'shutdown', 'sidebar', 'signing', 'signup', 'sliders', 'soccer', 'sort alphabet ascending', 'sort alphabet descending', 'sort ascending', 'sort content ascending', 'sort content descending', 'sort descending', 'sort numeric ascending', 'sort numeric descending', 'sound', 'spy', 'stripe card', 'student', 'talk', 'target', 'teletype', 'television', 'text cursor', 'text telephone', 'theme', 'thermometer', 'thumb tack', 'time', 'tm', 'toggle down', 'toggle left', 'toggle right', 'toggle up', 'translate', 'travel', 'treatment', 'triangle down', 'triangle left', 'triangle right', 'triangle up', 'try', 'unhide', 'unlinkify', 'unmute', 'usd', 'user cancel', 'user close', 'user delete', 'user x', 'vcard', 'video camera', 'video play', 'volume control phone', 'wait', 'warning circle', 'warning sign', 'warning', 'wi-fi', 'winner', 'wizard', 'woman', 'won', 'wordpress beginner', 'wordpress forms', 'world', 'write square', 'x', 'yen', 'zip', 'zoom in', 'zoom out', 'zoom', 'bitbucket square', 'checkmark box', 'circle thin', 'cloud download', 'cloud upload', 'compose', 'conversation', 'credit card alternative', 'currency', 'dashboard', 'diamond', 'disk', 'exchange', 'external share', 'external square', 'external', 'facebook official', 'food', 'hourglass zero', 'level down', 'level up', 'log out', 'meanpath', 'money', 'move', 'pencil', 'protect', 'radio', 'remove bookmark', 'resize horizontal', 'resize vertical', 'sign in', 'sign out', 'spoon', 'star half empty', 'star half full', 'ticket', 'times rectangle', 'write', 'youtube play'];\nexport var ICONS_AND_ALIASES = _uniq([].concat(ICONS, ICON_ALIASES)); // Some icon names are not part of icons.css.\n// These are only valid as children of other components.\n// Their CSS rules are defined by a specific component's CSS.\n// We don't want to show name warnings for those usages so we add them as valid names here.\n\nexport var COMPONENT_CONTEXT_SPECIFIC_ICONS = ['left dropdown' // nested dropdown menu direction icon\n];\nexport var ALL_ICONS_IN_ALL_CONTEXTS = _uniq([].concat(ICONS_AND_ALIASES, COMPONENT_CONTEXT_SPECIFIC_ICONS));","\"use strict\";\n\nexports.__esModule = true;\nexports.numberToWord = numberToWord;\nexports.numberToWordMap = void 0;\nvar numberToWordMap = {\n 1: 'one',\n 2: 'two',\n 3: 'three',\n 4: 'four',\n 5: 'five',\n 6: 'six',\n 7: 'seven',\n 8: 'eight',\n 9: 'nine',\n 10: 'ten',\n 11: 'eleven',\n 12: 'twelve',\n 13: 'thirteen',\n 14: 'fourteen',\n 15: 'fifteen',\n 16: 'sixteen'\n};\n/**\n * Return the number word for numbers 1-16.\n * Returns strings or numbers as is if there is no corresponding word.\n * Returns an empty string if value is not a string or number.\n * @param {string|number} value The value to convert to a word.\n * @returns {string}\n */\n\nexports.numberToWordMap = numberToWordMap;\n\nfunction numberToWord(value) {\n var type = typeof value;\n\n if (type === 'string' || type === 'number') {\n return numberToWordMap[value] || value;\n }\n\n return '';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { createShorthandFactory, getUnhandledProps, isBrowser } from '../../lib';\nimport Portal from '../../addons/Portal';\nimport DimmerDimmable from './DimmerDimmable';\nimport DimmerInner from './DimmerInner';\n/**\n * A dimmer hides distractions to focus attention on particular content.\n */\n\nvar Dimmer = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Dimmer, _Component);\n\n function Dimmer() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handlePortalMount = function () {\n if (!isBrowser()) return; // Heads up, IE doesn't support second argument in add()\n\n document.body.classList.add('dimmed');\n document.body.classList.add('dimmable');\n };\n\n _this.handlePortalUnmount = function () {\n if (!isBrowser()) return; // Heads up, IE doesn't support second argument in add()\n\n document.body.classList.remove('dimmed');\n document.body.classList.remove('dimmable');\n };\n\n return _this;\n }\n\n var _proto = Dimmer.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n page = _this$props.page;\n var rest = getUnhandledProps(Dimmer, this.props);\n\n if (page) {\n return /*#__PURE__*/React.createElement(Portal, {\n closeOnEscape: false,\n closeOnDocumentClick: false,\n onMount: this.handlePortalMount,\n onUnmount: this.handlePortalUnmount,\n open: active,\n openOnTriggerClick: false\n }, /*#__PURE__*/React.createElement(DimmerInner, _extends({}, rest, {\n active: active,\n page: page\n })));\n }\n\n return /*#__PURE__*/React.createElement(DimmerInner, _extends({}, rest, {\n active: active,\n page: page\n }));\n };\n\n return Dimmer;\n}(Component);\n\nDimmer.handledProps = [\"active\", \"page\"];\nexport { Dimmer as default };\nDimmer.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An active dimmer will dim its parent container. */\n active: PropTypes.bool,\n\n /** A dimmer can be formatted to be fixed to the page. */\n page: PropTypes.bool\n} : {};\nDimmer.Dimmable = DimmerDimmable;\nDimmer.Inner = DimmerInner;\nDimmer.create = createShorthandFactory(Dimmer, function (value) {\n return {\n content: value\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport EventStack from '@semantic-ui-react/event-stack';\nimport { handleRef, Ref } from '@fluentui/react-component-ref';\nimport keyboardKey from 'keyboard-key';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, customPropTypes, doesNodeContainClick } from '../../lib';\nimport validateTrigger from './utils/validateTrigger';\nimport PortalInner from './PortalInner';\n\n/**\n * A component that allows you to render children outside their parent.\n * @see Modal\n * @see Popup\n * @see Dimmer\n * @see Confirm\n */\nvar Portal = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Portal, _Component);\n\n function Portal() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.contentRef = /*#__PURE__*/React.createRef();\n _this.triggerRef = /*#__PURE__*/React.createRef();\n _this.latestDocumentMouseDownEvent = null;\n\n _this.handleDocumentMouseDown = function (e) {\n _this.latestDocumentMouseDownEvent = e;\n };\n\n _this.handleDocumentClick = function (e) {\n var closeOnDocumentClick = _this.props.closeOnDocumentClick;\n var currentMouseDownEvent = _this.latestDocumentMouseDownEvent;\n _this.latestDocumentMouseDownEvent = null;\n\n if (!_this.contentRef.current || // no portal\n doesNodeContainClick(_this.triggerRef.current, e) || // event happened in trigger (delegate to trigger handlers)\n currentMouseDownEvent && doesNodeContainClick(_this.contentRef.current, currentMouseDownEvent) || // event originated in the portal but was ended outside\n doesNodeContainClick(_this.contentRef.current, e) // event happened in the portal\n ) {\n return;\n } // ignore the click\n\n\n if (closeOnDocumentClick) {\n _this.close(e);\n }\n };\n\n _this.handleEscape = function (e) {\n if (!_this.props.closeOnEscape) return;\n if (keyboardKey.getCode(e) !== keyboardKey.Escape) return;\n\n _this.close(e);\n };\n\n _this.handlePortalMouseLeave = function (e) {\n var _this$props = _this.props,\n closeOnPortalMouseLeave = _this$props.closeOnPortalMouseLeave,\n mouseLeaveDelay = _this$props.mouseLeaveDelay;\n if (!closeOnPortalMouseLeave) return; // Do not close the portal when 'mouseleave' is triggered by children\n\n if (e.target !== _this.contentRef.current) return;\n _this.mouseLeaveTimer = _this.closeWithTimeout(e, mouseLeaveDelay);\n };\n\n _this.handlePortalMouseEnter = function () {\n // In order to enable mousing from the trigger to the portal, we need to\n // clear the mouseleave timer that was set when leaving the trigger.\n var closeOnPortalMouseLeave = _this.props.closeOnPortalMouseLeave;\n if (!closeOnPortalMouseLeave) return;\n clearTimeout(_this.mouseLeaveTimer);\n };\n\n _this.handleTriggerBlur = function (e) {\n var _this$props2 = _this.props,\n trigger = _this$props2.trigger,\n closeOnTriggerBlur = _this$props2.closeOnTriggerBlur; // Call original event handler\n\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onBlur', e].concat(rest)); // IE 11 doesn't work with relatedTarget in blur events\n\n\n var target = e.relatedTarget || document.activeElement; // do not close if focus is given to the portal\n\n var didFocusPortal = _invoke(_this.contentRef.current, 'contains', target);\n\n if (!closeOnTriggerBlur || didFocusPortal) return;\n\n _this.close(e);\n };\n\n _this.handleTriggerClick = function (e) {\n var _this$props3 = _this.props,\n trigger = _this$props3.trigger,\n closeOnTriggerClick = _this$props3.closeOnTriggerClick,\n openOnTriggerClick = _this$props3.openOnTriggerClick;\n var open = _this.state.open; // Call original event handler\n\n for (var _len3 = arguments.length, rest = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n rest[_key3 - 1] = arguments[_key3];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onClick', e].concat(rest));\n\n if (open && closeOnTriggerClick) {\n _this.close(e);\n } else if (!open && openOnTriggerClick) {\n _this.open(e);\n }\n };\n\n _this.handleTriggerFocus = function (e) {\n var _this$props4 = _this.props,\n trigger = _this$props4.trigger,\n openOnTriggerFocus = _this$props4.openOnTriggerFocus; // Call original event handler\n\n for (var _len4 = arguments.length, rest = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n rest[_key4 - 1] = arguments[_key4];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onFocus', e].concat(rest));\n\n if (!openOnTriggerFocus) return;\n\n _this.open(e);\n };\n\n _this.handleTriggerMouseLeave = function (e) {\n clearTimeout(_this.mouseEnterTimer);\n var _this$props5 = _this.props,\n trigger = _this$props5.trigger,\n closeOnTriggerMouseLeave = _this$props5.closeOnTriggerMouseLeave,\n mouseLeaveDelay = _this$props5.mouseLeaveDelay; // Call original event handler\n\n for (var _len5 = arguments.length, rest = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n rest[_key5 - 1] = arguments[_key5];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onMouseLeave', e].concat(rest));\n\n if (!closeOnTriggerMouseLeave) return;\n _this.mouseLeaveTimer = _this.closeWithTimeout(e, mouseLeaveDelay);\n };\n\n _this.handleTriggerMouseEnter = function (e) {\n clearTimeout(_this.mouseLeaveTimer);\n var _this$props6 = _this.props,\n trigger = _this$props6.trigger,\n mouseEnterDelay = _this$props6.mouseEnterDelay,\n openOnTriggerMouseEnter = _this$props6.openOnTriggerMouseEnter; // Call original event handler\n\n for (var _len6 = arguments.length, rest = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n rest[_key6 - 1] = arguments[_key6];\n }\n\n _invoke.apply(void 0, [trigger, 'props.onMouseEnter', e].concat(rest));\n\n if (!openOnTriggerMouseEnter) return;\n _this.mouseEnterTimer = _this.openWithTimeout(e, mouseEnterDelay);\n };\n\n _this.open = function (e) {\n var onOpen = _this.props.onOpen;\n if (onOpen) onOpen(e, _this.props);\n\n _this.setState({\n open: true\n });\n };\n\n _this.openWithTimeout = function (e, delay) {\n // React wipes the entire event object and suggests using e.persist() if\n // you need the event for async access. However, even with e.persist\n // certain required props (e.g. currentTarget) are null so we're forced to clone.\n var eventClone = _extends({}, e);\n\n return setTimeout(function () {\n return _this.open(eventClone);\n }, delay || 0);\n };\n\n _this.close = function (e) {\n var onClose = _this.props.onClose;\n if (onClose) onClose(e, _this.props);\n\n _this.setState({\n open: false\n });\n };\n\n _this.closeWithTimeout = function (e, delay) {\n // React wipes the entire event object and suggests using e.persist() if\n // you need the event for async access. However, even with e.persist\n // certain required props (e.g. currentTarget) are null so we're forced to clone.\n var eventClone = _extends({}, e);\n\n return setTimeout(function () {\n return _this.close(eventClone);\n }, delay || 0);\n };\n\n _this.handleMount = function () {\n _invoke(_this.props, 'onMount', null, _this.props);\n };\n\n _this.handleUnmount = function () {\n _invoke(_this.props, 'onUnmount', null, _this.props);\n };\n\n _this.handleTriggerRef = function (c) {\n _this.triggerRef.current = c;\n handleRef(_this.props.triggerRef, c);\n };\n\n return _this;\n }\n\n var _proto = Portal.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Clean up timers\n clearTimeout(this.mouseEnterTimer);\n clearTimeout(this.mouseLeaveTimer);\n } // ----------------------------------------\n // Document Event Handlers\n // ----------------------------------------\n ;\n\n _proto.render = function render() {\n var _this$props7 = this.props,\n children = _this$props7.children,\n eventPool = _this$props7.eventPool,\n mountNode = _this$props7.mountNode,\n trigger = _this$props7.trigger;\n var open = this.state.open;\n /* istanbul ignore else */\n\n if (process.env.NODE_ENV !== 'production') {\n validateTrigger(trigger);\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, open && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PortalInner, {\n innerRef: this.contentRef,\n mountNode: mountNode,\n onMount: this.handleMount,\n onUnmount: this.handleUnmount\n }, children), /*#__PURE__*/React.createElement(EventStack, {\n name: \"mouseleave\",\n on: this.handlePortalMouseLeave,\n pool: eventPool,\n target: this.contentRef\n }), /*#__PURE__*/React.createElement(EventStack, {\n name: \"mouseenter\",\n on: this.handlePortalMouseEnter,\n pool: eventPool,\n target: this.contentRef\n }), /*#__PURE__*/React.createElement(EventStack, {\n name: \"mousedown\",\n on: this.handleDocumentMouseDown,\n pool: eventPool\n }), /*#__PURE__*/React.createElement(EventStack, {\n name: \"click\",\n on: this.handleDocumentClick,\n pool: eventPool\n }), /*#__PURE__*/React.createElement(EventStack, {\n name: \"keydown\",\n on: this.handleEscape,\n pool: eventPool\n })), trigger && /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.handleTriggerRef\n }, /*#__PURE__*/React.cloneElement(trigger, {\n onBlur: this.handleTriggerBlur,\n onClick: this.handleTriggerClick,\n onFocus: this.handleTriggerFocus,\n onMouseLeave: this.handleTriggerMouseLeave,\n onMouseEnter: this.handleTriggerMouseEnter\n })));\n };\n\n return Portal;\n}(Component);\n\nPortal.handledProps = [\"children\", \"closeOnDocumentClick\", \"closeOnEscape\", \"closeOnPortalMouseLeave\", \"closeOnTriggerBlur\", \"closeOnTriggerClick\", \"closeOnTriggerMouseLeave\", \"defaultOpen\", \"eventPool\", \"mountNode\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"onClose\", \"onMount\", \"onOpen\", \"onUnmount\", \"open\", \"openOnTriggerClick\", \"openOnTriggerFocus\", \"openOnTriggerMouseEnter\", \"trigger\", \"triggerRef\"];\nPortal.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Primary content. */\n children: PropTypes.node.isRequired,\n\n /** Controls whether or not the portal should close when the document is clicked. */\n closeOnDocumentClick: PropTypes.bool,\n\n /** Controls whether or not the portal should close when escape is pressed is displayed. */\n closeOnEscape: PropTypes.bool,\n\n /**\n * Controls whether or not the portal should close when mousing out of the portal.\n * NOTE: This will prevent `closeOnTriggerMouseLeave` when mousing over the\n * gap from the trigger to the portal.\n */\n closeOnPortalMouseLeave: PropTypes.bool,\n\n /** Controls whether or not the portal should close on blur of the trigger. */\n closeOnTriggerBlur: PropTypes.bool,\n\n /** Controls whether or not the portal should close on click of the trigger. */\n closeOnTriggerClick: PropTypes.bool,\n\n /** Controls whether or not the portal should close when mousing out of the trigger. */\n closeOnTriggerMouseLeave: PropTypes.bool,\n\n /** Initial value of open. */\n defaultOpen: PropTypes.bool,\n\n /** Event pool namespace that is used to handle component events */\n eventPool: PropTypes.string,\n\n /** The node where the portal should mount. */\n mountNode: PropTypes.any,\n\n /** Milliseconds to wait before opening on mouse over */\n mouseEnterDelay: PropTypes.number,\n\n /** Milliseconds to wait before closing on mouse leave */\n mouseLeaveDelay: PropTypes.number,\n\n /**\n * Called when a close event happens\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClose: PropTypes.func,\n\n /**\n * Called when the portal is mounted on the DOM.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onMount: PropTypes.func,\n\n /**\n * Called when an open event happens\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onOpen: PropTypes.func,\n\n /**\n * Called when the portal is unmounted from the DOM.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onUnmount: PropTypes.func,\n\n /** Controls whether or not the portal is displayed. */\n open: PropTypes.bool,\n\n /** Controls whether or not the portal should open when the trigger is clicked. */\n openOnTriggerClick: PropTypes.bool,\n\n /** Controls whether or not the portal should open on focus of the trigger. */\n openOnTriggerFocus: PropTypes.bool,\n\n /** Controls whether or not the portal should open when mousing over the trigger. */\n openOnTriggerMouseEnter: PropTypes.bool,\n\n /** Element to be rendered in-place where the portal is defined. */\n trigger: PropTypes.node,\n\n /** Called with a ref to the trigger node. */\n triggerRef: customPropTypes.ref\n} : {};\nPortal.defaultProps = {\n closeOnDocumentClick: true,\n closeOnEscape: true,\n eventPool: 'default',\n openOnTriggerClick: true\n};\nPortal.autoControlledProps = ['open'];\nPortal.Inner = PortalInner;\nexport default Portal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport { createShorthandFactory, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nexport var names = ['ad', 'andorra', 'ae', 'united arab emirates', 'uae', 'af', 'afghanistan', 'ag', 'antigua', 'ai', 'anguilla', 'al', 'albania', 'am', 'armenia', 'an', 'netherlands antilles', 'ao', 'angola', 'ar', 'argentina', 'as', 'american samoa', 'at', 'austria', 'au', 'australia', 'aw', 'aruba', 'ax', 'aland islands', 'az', 'azerbaijan', 'ba', 'bosnia', 'bb', 'barbados', 'bd', 'bangladesh', 'be', 'belgium', 'bf', 'burkina faso', 'bg', 'bulgaria', 'bh', 'bahrain', 'bi', 'burundi', 'bj', 'benin', 'bm', 'bermuda', 'bn', 'brunei', 'bo', 'bolivia', 'br', 'brazil', 'bs', 'bahamas', 'bt', 'bhutan', 'bv', 'bouvet island', 'bw', 'botswana', 'by', 'belarus', 'bz', 'belize', 'ca', 'canada', 'cc', 'cocos islands', 'cd', 'congo', 'cf', 'central african republic', 'cg', 'congo brazzaville', 'ch', 'switzerland', 'ci', 'cote divoire', 'ck', 'cook islands', 'cl', 'chile', 'cm', 'cameroon', 'cn', 'china', 'co', 'colombia', 'cr', 'costa rica', 'cs', 'cu', 'cuba', 'cv', 'cape verde', 'cx', 'christmas island', 'cy', 'cyprus', 'cz', 'czech republic', 'de', 'germany', 'dj', 'djibouti', 'dk', 'denmark', 'dm', 'dominica', 'do', 'dominican republic', 'dz', 'algeria', 'ec', 'ecuador', 'england', 'gb eng', 'ee', 'estonia', 'eg', 'egypt', 'eh', 'western sahara', 'er', 'eritrea', 'es', 'spain', 'et', 'ethiopia', 'eu', 'european union', 'fi', 'finland', 'fj', 'fiji', 'fk', 'falkland islands', 'fm', 'micronesia', 'fo', 'faroe islands', 'fr', 'france', 'ga', 'gabon', 'gb', 'uk', 'united kingdom', 'gd', 'grenada', 'ge', 'georgia', 'gf', 'french guiana', 'gh', 'ghana', 'gi', 'gibraltar', 'gl', 'greenland', 'gm', 'gambia', 'gn', 'guinea', 'gp', 'guadeloupe', 'gq', 'equatorial guinea', 'gr', 'greece', 'gs', 'sandwich islands', 'gt', 'guatemala', 'gu', 'guam', 'gw', 'guinea-bissau', 'gy', 'guyana', 'hk', 'hong kong', 'hm', 'heard island', 'hn', 'honduras', 'hr', 'croatia', 'ht', 'haiti', 'hu', 'hungary', 'id', 'indonesia', 'ie', 'ireland', 'il', 'israel', 'in', 'india', 'io', 'indian ocean territory', 'iq', 'iraq', 'ir', 'iran', 'is', 'iceland', 'it', 'italy', 'jm', 'jamaica', 'jo', 'jordan', 'jp', 'japan', 'ke', 'kenya', 'kg', 'kyrgyzstan', 'kh', 'cambodia', 'ki', 'kiribati', 'km', 'comoros', 'kn', 'saint kitts and nevis', 'kp', 'north korea', 'kr', 'south korea', 'kw', 'kuwait', 'ky', 'cayman islands', 'kz', 'kazakhstan', 'la', 'laos', 'lb', 'lebanon', 'lc', 'saint lucia', 'li', 'liechtenstein', 'lk', 'sri lanka', 'lr', 'liberia', 'ls', 'lesotho', 'lt', 'lithuania', 'lu', 'luxembourg', 'lv', 'latvia', 'ly', 'libya', 'ma', 'morocco', 'mc', 'monaco', 'md', 'moldova', 'me', 'montenegro', 'mg', 'madagascar', 'mh', 'marshall islands', 'mk', 'macedonia', 'ml', 'mali', 'mm', 'myanmar', 'burma', 'mn', 'mongolia', 'mo', 'macau', 'mp', 'northern mariana islands', 'mq', 'martinique', 'mr', 'mauritania', 'ms', 'montserrat', 'mt', 'malta', 'mu', 'mauritius', 'mv', 'maldives', 'mw', 'malawi', 'mx', 'mexico', 'my', 'malaysia', 'mz', 'mozambique', 'na', 'namibia', 'nc', 'new caledonia', 'ne', 'niger', 'nf', 'norfolk island', 'ng', 'nigeria', 'ni', 'nicaragua', 'nl', 'netherlands', 'no', 'norway', 'np', 'nepal', 'nr', 'nauru', 'nu', 'niue', 'nz', 'new zealand', 'om', 'oman', 'pa', 'panama', 'pe', 'peru', 'pf', 'french polynesia', 'pg', 'new guinea', 'ph', 'philippines', 'pk', 'pakistan', 'pl', 'poland', 'pm', 'saint pierre', 'pn', 'pitcairn islands', 'pr', 'puerto rico', 'ps', 'palestine', 'pt', 'portugal', 'pw', 'palau', 'py', 'paraguay', 'qa', 'qatar', 're', 'reunion', 'ro', 'romania', 'rs', 'serbia', 'ru', 'russia', 'rw', 'rwanda', 'sa', 'saudi arabia', 'sb', 'solomon islands', 'sc', 'seychelles', 'gb sct', 'scotland', 'sd', 'sudan', 'se', 'sweden', 'sg', 'singapore', 'sh', 'saint helena', 'si', 'slovenia', 'sj', 'svalbard', 'jan mayen', 'sk', 'slovakia', 'sl', 'sierra leone', 'sm', 'san marino', 'sn', 'senegal', 'so', 'somalia', 'sr', 'suriname', 'st', 'sao tome', 'sv', 'el salvador', 'sy', 'syria', 'sz', 'swaziland', 'tc', 'caicos islands', 'td', 'chad', 'tf', 'french territories', 'tg', 'togo', 'th', 'thailand', 'tj', 'tajikistan', 'tk', 'tokelau', 'tl', 'timorleste', 'tm', 'turkmenistan', 'tn', 'tunisia', 'to', 'tonga', 'tr', 'turkey', 'tt', 'trinidad', 'tv', 'tuvalu', 'tw', 'taiwan', 'tz', 'tanzania', 'ua', 'ukraine', 'ug', 'uganda', 'um', 'us minor islands', 'us', 'america', 'united states', 'uy', 'uruguay', 'uz', 'uzbekistan', 'va', 'vatican city', 'vc', 'saint vincent', 've', 'venezuela', 'vg', 'british virgin islands', 'vi', 'us virgin islands', 'vn', 'vietnam', 'vu', 'vanuatu', 'gb wls', 'wales', 'wf', 'wallis and futuna', 'ws', 'samoa', 'ye', 'yemen', 'yt', 'mayotte', 'za', 'south africa', 'zm', 'zambia', 'zw', 'zimbabwe'];\n/**\n * A flag is is used to represent a political state.\n */\n\nvar Flag = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(Flag, _PureComponent);\n\n function Flag() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n var _proto = Flag.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n className = _this$props.className,\n name = _this$props.name;\n var classes = cx(name, 'flag', className);\n var rest = getUnhandledProps(Flag, this.props);\n var ElementType = getElementType(Flag, this.props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }));\n };\n\n return Flag;\n}(PureComponent);\n\nFlag.handledProps = [\"as\", \"className\", \"name\"];\nFlag.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Flag name, can use the two digit country code, the full name, or a common alias. */\n name: customPropTypes.suggest(names)\n} : {};\nFlag.defaultProps = {\n as: 'i'\n};\nFlag.create = createShorthandFactory(Flag, function (value) {\n return {\n name: value\n };\n});\nexport default Flag;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _includes from \"lodash/includes\";\nimport _map from \"lodash/map\";\nimport _invoke from \"lodash/invoke\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport { handleRef } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Children, cloneElement, Component, createRef } from 'react';\nimport { childrenUtils, createHTMLInput, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, partitionHTMLProps, useKeyOnly, useValueAndKey } from '../../lib';\nimport Button from '../Button';\nimport Icon from '../Icon';\nimport Label from '../Label';\n/**\n * An Input is a field used to elicit a response from a user.\n * @see Button\n * @see Form\n * @see Icon\n * @see Label\n */\n\nvar Input = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Input, _Component);\n\n function Input() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.inputRef = /*#__PURE__*/createRef();\n\n _this.computeIcon = function () {\n var _this$props = _this.props,\n loading = _this$props.loading,\n icon = _this$props.icon;\n if (!_isNil(icon)) return icon;\n if (loading) return 'spinner';\n };\n\n _this.computeTabIndex = function () {\n var _this$props2 = _this.props,\n disabled = _this$props2.disabled,\n tabIndex = _this$props2.tabIndex;\n if (!_isNil(tabIndex)) return tabIndex;\n if (disabled) return -1;\n };\n\n _this.focus = function () {\n return _this.inputRef.current.focus();\n };\n\n _this.select = function () {\n return _this.inputRef.current.select();\n };\n\n _this.handleChange = function (e) {\n var value = _get(e, 'target.value');\n\n _invoke(_this.props, 'onChange', e, _extends({}, _this.props, {\n value: value\n }));\n };\n\n _this.handleChildOverrides = function (child, defaultProps) {\n return _extends({}, defaultProps, child.props, {\n ref: function ref(c) {\n handleRef(child.ref, c);\n _this.inputRef.current = c;\n }\n });\n };\n\n _this.partitionProps = function () {\n var _this$props3 = _this.props,\n disabled = _this$props3.disabled,\n type = _this$props3.type;\n\n var tabIndex = _this.computeTabIndex();\n\n var unhandled = getUnhandledProps(Input, _this.props);\n\n var _partitionHTMLProps = partitionHTMLProps(unhandled),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n\n return [_extends({}, htmlInputProps, {\n disabled: disabled,\n type: type,\n tabIndex: tabIndex,\n onChange: _this.handleChange,\n ref: _this.inputRef\n }), rest];\n };\n\n return _this;\n }\n\n var _proto = Input.prototype;\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props4 = this.props,\n action = _this$props4.action,\n actionPosition = _this$props4.actionPosition,\n children = _this$props4.children,\n className = _this$props4.className,\n disabled = _this$props4.disabled,\n error = _this$props4.error,\n fluid = _this$props4.fluid,\n focus = _this$props4.focus,\n icon = _this$props4.icon,\n iconPosition = _this$props4.iconPosition,\n input = _this$props4.input,\n inverted = _this$props4.inverted,\n label = _this$props4.label,\n labelPosition = _this$props4.labelPosition,\n loading = _this$props4.loading,\n size = _this$props4.size,\n transparent = _this$props4.transparent,\n type = _this$props4.type;\n var classes = cx('ui', size, useKeyOnly(disabled, 'disabled'), useKeyOnly(error, 'error'), useKeyOnly(fluid, 'fluid'), useKeyOnly(focus, 'focus'), useKeyOnly(inverted, 'inverted'), useKeyOnly(loading, 'loading'), useKeyOnly(transparent, 'transparent'), useValueAndKey(actionPosition, 'action') || useKeyOnly(action, 'action'), useValueAndKey(iconPosition, 'icon') || useKeyOnly(icon || loading, 'icon'), useValueAndKey(labelPosition, 'labeled') || useKeyOnly(label, 'labeled'), 'input', className);\n var ElementType = getElementType(Input, this.props);\n\n var _this$partitionProps = this.partitionProps(),\n htmlInputProps = _this$partitionProps[0],\n rest = _this$partitionProps[1]; // Render with children\n // ----------------------------------------\n\n\n if (!childrenUtils.isNil(children)) {\n // add htmlInputProps to the `` child\n var childElements = _map(Children.toArray(children), function (child) {\n if (child.type !== 'input') return child;\n return /*#__PURE__*/cloneElement(child, _this2.handleChildOverrides(child, htmlInputProps));\n });\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childElements);\n } // Render Shorthand\n // ----------------------------------------\n\n\n var actionElement = Button.create(action, {\n autoGenerateKey: false\n });\n var labelElement = Label.create(label, {\n defaultProps: {\n className: cx('label', // add 'left|right corner'\n _includes(labelPosition, 'corner') && labelPosition)\n },\n autoGenerateKey: false\n });\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), actionPosition === 'left' && actionElement, labelPosition !== 'right' && labelElement, createHTMLInput(input || type, {\n defaultProps: htmlInputProps,\n autoGenerateKey: false\n }), Icon.create(this.computeIcon(), {\n autoGenerateKey: false\n }), actionPosition !== 'left' && actionElement, labelPosition === 'right' && labelElement);\n };\n\n return Input;\n}(Component);\n\nInput.handledProps = [\"action\", \"actionPosition\", \"as\", \"children\", \"className\", \"disabled\", \"error\", \"fluid\", \"focus\", \"icon\", \"iconPosition\", \"input\", \"inverted\", \"label\", \"labelPosition\", \"loading\", \"onChange\", \"size\", \"tabIndex\", \"transparent\", \"type\"];\nInput.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** An Input can be formatted to alert the user to an action they may perform. */\n action: PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand]),\n\n /** An action can appear along side an Input on the left or right. */\n actionPosition: PropTypes.oneOf(['left']),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** An Input field can show that it is disabled. */\n disabled: PropTypes.bool,\n\n /** An Input field can show the data contains errors. */\n error: PropTypes.bool,\n\n /** Take on the size of its container. */\n fluid: PropTypes.bool,\n\n /** An Input field can show a user is currently interacting with it. */\n focus: PropTypes.bool,\n\n /** Optional Icon to display inside the Input. */\n icon: PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand]),\n\n /** An Icon can appear inside an Input on the left or right. */\n iconPosition: PropTypes.oneOf(['left']),\n\n /** Shorthand for creating the HTML Input. */\n input: customPropTypes.itemShorthand,\n\n /** Format to appear on dark backgrounds. */\n inverted: PropTypes.bool,\n\n /** Optional Label to display along side the Input. */\n label: customPropTypes.itemShorthand,\n\n /** A Label can appear outside an Input on the left or right. */\n labelPosition: PropTypes.oneOf(['left', 'right', 'left corner', 'right corner']),\n\n /** An Icon Input field can show that it is currently loading data. */\n loading: PropTypes.bool,\n\n /**\n * Called on change.\n *\n * @param {ChangeEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and a proposed value.\n */\n onChange: PropTypes.func,\n\n /** An Input can vary in size. */\n size: PropTypes.oneOf(['mini', 'small', 'large', 'big', 'huge', 'massive']),\n\n /** An Input can receive focus. */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Transparent Input has no background. */\n transparent: PropTypes.bool,\n\n /** The HTML input type. */\n type: PropTypes.string\n} : {};\nInput.defaultProps = {\n type: 'text'\n};\nInput.create = createShorthandFactory(Input, function (type) {\n return {\n type: type\n };\n});\nexport default Input;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Dropdown from '../../modules/Dropdown';\n/**\n * A Select is sugar for .\n * @see Dropdown\n * @see Form\n */\n\nfunction Select(props) {\n return /*#__PURE__*/React.createElement(Dropdown, _extends({}, props, {\n selection: true\n }));\n}\n\nSelect.handledProps = [\"options\"];\nSelect.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** Array of Dropdown.Item props e.g. `{ text: '', value: '' }` */\n options: PropTypes.arrayOf(PropTypes.shape(Dropdown.Item.propTypes)).isRequired\n} : {};\nSelect.Divider = Dropdown.Divider;\nSelect.Header = Dropdown.Header;\nSelect.Item = Dropdown.Item;\nSelect.Menu = Dropdown.Menu;\nexport default Select;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport _get from \"lodash/get\";\nimport { Ref } from '@fluentui/react-component-ref';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { getElementType, getUnhandledProps } from '../../lib';\n/**\n * A TextArea can be used to allow for extended user input.\n * @see Form\n */\n\nvar TextArea = /*#__PURE__*/function (_Component) {\n _inheritsLoose(TextArea, _Component);\n\n function TextArea() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.ref = /*#__PURE__*/createRef();\n\n _this.focus = function () {\n return _this.ref.current.focus();\n };\n\n _this.handleChange = function (e) {\n var value = _get(e, 'target.value');\n\n _invoke(_this.props, 'onChange', e, _extends({}, _this.props, {\n value: value\n }));\n };\n\n _this.handleInput = function (e) {\n var value = _get(e, 'target.value');\n\n _invoke(_this.props, 'onInput', e, _extends({}, _this.props, {\n value: value\n }));\n };\n\n return _this;\n }\n\n var _proto = TextArea.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n rows = _this$props.rows,\n value = _this$props.value;\n var rest = getUnhandledProps(TextArea, this.props);\n var ElementType = getElementType(TextArea, this.props);\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n onChange: this.handleChange,\n onInput: this.handleInput,\n rows: rows,\n value: value\n })));\n };\n\n return TextArea;\n}(Component);\n\nTextArea.handledProps = [\"as\", \"onChange\", \"onInput\", \"rows\", \"value\"];\nTextArea.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /**\n * Called on change.\n * @param {SyntheticEvent} event - The React SyntheticEvent object\n * @param {object} data - All props and the event value.\n */\n onChange: PropTypes.func,\n\n /**\n * Called on input.\n * @param {SyntheticEvent} event - The React SyntheticEvent object\n * @param {object} data - All props and the event value.\n */\n onInput: PropTypes.func,\n\n /** Indicates row count for a TextArea. */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** The value of the textarea. */\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : {};\nTextArea.defaultProps = {\n as: 'textarea',\n rows: 3\n};\nexport default TextArea;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport { isRefObject } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { customPropTypes, eventStack, getElementType, getUnhandledProps, isBrowser } from '../../lib';\n/**\n * Sticky content stays fixed to the browser viewport while another column of content is visible on the page.\n */\n\nvar Sticky = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Sticky, _Component);\n\n function Sticky() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.state = {\n active: true,\n sticky: false\n };\n _this.stickyRef = /*#__PURE__*/createRef();\n _this.triggerRef = /*#__PURE__*/createRef();\n\n _this.addListeners = function (scrollContext) {\n var scrollContextNode = isRefObject(scrollContext) ? scrollContext.current : scrollContext;\n\n if (scrollContextNode) {\n eventStack.sub('resize', _this.handleUpdate, {\n target: scrollContextNode\n });\n eventStack.sub('scroll', _this.handleUpdate, {\n target: scrollContextNode\n });\n }\n };\n\n _this.removeListeners = function (scrollContext) {\n var scrollContextNode = isRefObject(scrollContext) ? scrollContext.current : scrollContext;\n\n if (scrollContextNode) {\n eventStack.unsub('resize', _this.handleUpdate, {\n target: scrollContextNode\n });\n eventStack.unsub('scroll', _this.handleUpdate, {\n target: scrollContextNode\n });\n }\n };\n\n _this.update = function (e) {\n var pushing = _this.state.pushing;\n _this.ticking = false;\n\n _this.assignRects();\n\n if (pushing) {\n if (_this.didReachStartingPoint()) return _this.stickToContextTop(e);\n if (_this.didTouchScreenBottom()) return _this.stickToScreenBottom(e);\n return _this.stickToContextBottom(e);\n }\n\n if (_this.isOversized()) {\n if (_this.contextRect.top > 0) return _this.stickToContextTop(e);\n if (_this.contextRect.bottom < window.innerHeight) return _this.stickToContextBottom(e);\n }\n\n if (_this.didTouchScreenTop()) {\n if (_this.didReachContextBottom()) return _this.stickToContextBottom(e);\n return _this.stickToScreenTop(e);\n }\n\n return _this.stickToContextTop(e);\n };\n\n _this.handleUpdate = function (e) {\n if (!_this.ticking) {\n _this.ticking = true;\n _this.frameId = requestAnimationFrame(function () {\n return _this.update(e);\n });\n }\n };\n\n _this.assignRects = function () {\n var context = _this.props.context;\n var contextNode = isRefObject(context) ? context.current : context || document.body;\n _this.triggerRect = _this.triggerRef.current.getBoundingClientRect();\n _this.contextRect = contextNode.getBoundingClientRect();\n _this.stickyRect = _this.stickyRef.current.getBoundingClientRect();\n };\n\n _this.didReachContextBottom = function () {\n var offset = _this.props.offset;\n return _this.stickyRect.height + offset >= _this.contextRect.bottom;\n };\n\n _this.didReachStartingPoint = function () {\n return _this.stickyRect.top <= _this.triggerRect.top;\n };\n\n _this.didTouchScreenTop = function () {\n return _this.triggerRect.top < _this.props.offset;\n };\n\n _this.didTouchScreenBottom = function () {\n var bottomOffset = _this.props.bottomOffset;\n return _this.contextRect.bottom + bottomOffset > window.innerHeight;\n };\n\n _this.isOversized = function () {\n return _this.stickyRect.height > window.innerHeight;\n };\n\n _this.pushing = function (pushing) {\n var possible = _this.props.pushing;\n if (possible) _this.setState({\n pushing: pushing\n });\n };\n\n _this.stick = function (e, bound) {\n _this.setState({\n bound: bound,\n sticky: true\n });\n\n _invoke(_this.props, 'onStick', e, _this.props);\n };\n\n _this.unstick = function (e, bound) {\n _this.setState({\n bound: bound,\n sticky: false\n });\n\n _invoke(_this.props, 'onUnstick', e, _this.props);\n };\n\n _this.stickToContextBottom = function (e) {\n _invoke(_this.props, 'onBottom', e, _this.props);\n\n _this.stick(e, true);\n\n _this.pushing(true);\n };\n\n _this.stickToContextTop = function (e) {\n _invoke(_this.props, 'onTop', e, _this.props);\n\n _this.unstick(e, false);\n\n _this.pushing(false);\n };\n\n _this.stickToScreenBottom = function (e) {\n var bottom = _this.props.bottomOffset;\n\n _this.stick(e, false);\n\n _this.setState({\n bottom: bottom,\n top: null\n });\n };\n\n _this.stickToScreenTop = function (e) {\n var top = _this.props.offset;\n\n _this.stick(e, false);\n\n _this.setState({\n top: top,\n bottom: null\n });\n };\n\n return _this;\n }\n\n var _proto = Sticky.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (!isBrowser()) return;\n var active = this.state.active;\n\n if (active) {\n this.handleUpdate();\n this.addListeners(this.props.scrollContext);\n }\n };\n\n Sticky.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (state.active !== props.active && !props.active) {\n return {\n active: props.active,\n sticky: false\n };\n }\n\n return {\n active: props.active\n };\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.active === this.state.active) {\n if (prevProps.scrollContext !== this.props.scrollContext) {\n this.removeListeners(prevProps.scrollContext);\n this.addListeners(this.props.scrollContext);\n }\n\n return;\n }\n\n if (this.state.active) {\n this.handleUpdate();\n this.addListeners(this.props.scrollContext);\n return;\n }\n\n this.removeListeners(prevProps.scrollContext);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!isBrowser()) return;\n var active = this.state.active;\n\n if (active) {\n this.removeListeners(this.props.scrollContext);\n cancelAnimationFrame(this.frameId);\n }\n } // ----------------------------------------\n // Events\n // ----------------------------------------\n ;\n\n _proto.computeStyle = function computeStyle() {\n var styleElement = this.props.styleElement;\n var _this$state = this.state,\n bottom = _this$state.bottom,\n bound = _this$state.bound,\n sticky = _this$state.sticky,\n top = _this$state.top;\n if (!sticky) return styleElement;\n return _extends({\n bottom: bound ? 0 : bottom,\n top: bound ? undefined : top,\n width: this.triggerRect.width\n }, styleElement);\n } // Return true when the component reached the bottom of the context\n ;\n\n // ----------------------------------------\n // Render\n // ----------------------------------------\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n className = _this$props.className;\n var _this$state2 = this.state,\n bottom = _this$state2.bottom,\n bound = _this$state2.bound,\n sticky = _this$state2.sticky;\n var rest = getUnhandledProps(Sticky, this.props);\n var ElementType = getElementType(Sticky, this.props);\n var containerClasses = cx(sticky && 'ui', sticky && 'stuck-container', sticky && (bound ? 'bound-container' : 'fixed-container'), className);\n var elementClasses = cx('ui', sticky && (bound ? 'bound bottom' : 'fixed'), sticky && !bound && (bottom === null ? 'top' : 'bottom'), 'sticky');\n var triggerStyles = sticky && this.stickyRect ? {\n height: this.stickyRect.height\n } : {};\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: containerClasses\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: this.triggerRef,\n style: triggerStyles\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: elementClasses,\n ref: this.stickyRef,\n style: this.computeStyle()\n }, children));\n };\n\n return Sticky;\n}(Component);\n\nSticky.handledProps = [\"active\", \"as\", \"bottomOffset\", \"children\", \"className\", \"context\", \"offset\", \"onBottom\", \"onStick\", \"onTop\", \"onUnstick\", \"pushing\", \"scrollContext\", \"styleElement\"];\nexport { Sticky as default };\nSticky.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A Sticky can be active. */\n active: PropTypes.bool,\n\n /** Offset in pixels from the bottom of the screen when fixing element to viewport. */\n bottomOffset: PropTypes.number,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Context which sticky element should stick to. */\n context: PropTypes.oneOfType([customPropTypes.domNode, customPropTypes.refObject]),\n\n /** Offset in pixels from the top of the screen when fixing element to viewport. */\n offset: PropTypes.number,\n\n /**\n * Callback when element is bound to bottom of parent container.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onBottom: PropTypes.func,\n\n /**\n * Callback when element is fixed to page.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onStick: PropTypes.func,\n\n /**\n * Callback when element is bound to top of parent container.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onTop: PropTypes.func,\n\n /**\n * Callback when element is unfixed from page.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onUnstick: PropTypes.func,\n\n /** Whether element should be \"pushed\" by the viewport, attaching to the bottom of the screen when scrolling up. */\n pushing: PropTypes.bool,\n\n /** Context which sticky should attach onscroll events. */\n scrollContext: PropTypes.oneOfType([customPropTypes.domNode, customPropTypes.refObject]),\n\n /** Custom style for sticky element. */\n styleElement: PropTypes.object\n} : {};\nSticky.defaultProps = {\n active: true,\n bottomOffset: 0,\n offset: 0,\n scrollContext: isBrowser() ? window : null\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\n/**\n * A loader alerts a user to wait for an activity to complete.\n * @see Dimmer\n */\n\nfunction Loader(props) {\n var active = props.active,\n children = props.children,\n className = props.className,\n content = props.content,\n disabled = props.disabled,\n indeterminate = props.indeterminate,\n inline = props.inline,\n inverted = props.inverted,\n size = props.size;\n var classes = cx('ui', size, useKeyOnly(active, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(indeterminate, 'indeterminate'), useKeyOnly(inverted, 'inverted'), useKeyOnly(children || content, 'text'), useKeyOrValueAndKey(inline, 'inline'), 'loader', className);\n var rest = getUnhandledProps(Loader, props);\n var ElementType = getElementType(Loader, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nLoader.handledProps = [\"active\", \"as\", \"children\", \"className\", \"content\", \"disabled\", \"indeterminate\", \"inline\", \"inverted\", \"size\"];\nLoader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A loader can be active or visible. */\n active: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A loader can be disabled or hidden. */\n disabled: PropTypes.bool,\n\n /** A loader can show it's unsure of how long a task will take. */\n indeterminate: PropTypes.bool,\n\n /** Loaders can appear inline with content. */\n inline: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['centered'])]),\n\n /** Loaders can have their colors inverted. */\n inverted: PropTypes.bool,\n\n /** Loaders can have different sizes. */\n size: PropTypes.oneOf(SUI.SIZES)\n} : {};\nexport default Loader;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash/without\";\nimport _round from \"lodash/round\";\nimport _clamp from \"lodash/clamp\";\nimport _isUndefined from \"lodash/isUndefined\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createHTMLDivision, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useValueAndKey } from '../../lib';\n/**\n * A progress bar shows the progression of a task.\n */\n\nvar Progress = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Progress, _Component);\n\n function Progress() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.calculatePercent = function () {\n var _this$props = _this.props,\n percent = _this$props.percent,\n total = _this$props.total,\n value = _this$props.value;\n if (!_isUndefined(percent)) return percent;\n if (!_isUndefined(total) && !_isUndefined(value)) return value / total * 100;\n };\n\n _this.computeValueText = function (percent) {\n var _this$props2 = _this.props,\n progress = _this$props2.progress,\n total = _this$props2.total,\n value = _this$props2.value;\n if (progress === 'value') return value;\n if (progress === 'ratio') return value + \"/\" + total;\n return percent + \"%\";\n };\n\n _this.getPercent = function () {\n var _this$props3 = _this.props,\n precision = _this$props3.precision,\n progress = _this$props3.progress,\n total = _this$props3.total,\n value = _this$props3.value;\n\n var percent = _clamp(_this.calculatePercent(), 0, 100);\n\n if (!_isUndefined(total) && !_isUndefined(value) && progress === 'value') {\n return value / total * 100;\n }\n\n if (progress === 'value') return value;\n if (_isUndefined(precision)) return percent;\n return _round(percent, precision);\n };\n\n _this.isAutoSuccess = function () {\n var _this$props4 = _this.props,\n autoSuccess = _this$props4.autoSuccess,\n percent = _this$props4.percent,\n total = _this$props4.total,\n value = _this$props4.value;\n return autoSuccess && (percent >= 100 || value >= total);\n };\n\n _this.renderLabel = function () {\n var _this$props5 = _this.props,\n children = _this$props5.children,\n content = _this$props5.content,\n label = _this$props5.label;\n if (!childrenUtils.isNil(children)) return /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, children);\n if (!childrenUtils.isNil(content)) return /*#__PURE__*/React.createElement(\"div\", {\n className: \"label\"\n }, content);\n return createHTMLDivision(label, {\n autoGenerateKey: false,\n defaultProps: {\n className: 'label'\n }\n });\n };\n\n _this.renderProgress = function (percent) {\n var _this$props6 = _this.props,\n precision = _this$props6.precision,\n progress = _this$props6.progress;\n if (!progress && _isUndefined(precision)) return;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"progress\"\n }, _this.computeValueText(percent));\n };\n\n return _this;\n }\n\n var _proto = Progress.prototype;\n\n _proto.render = function render() {\n var _this$props7 = this.props,\n active = _this$props7.active,\n attached = _this$props7.attached,\n className = _this$props7.className,\n color = _this$props7.color,\n disabled = _this$props7.disabled,\n error = _this$props7.error,\n indicating = _this$props7.indicating,\n inverted = _this$props7.inverted,\n size = _this$props7.size,\n success = _this$props7.success,\n warning = _this$props7.warning;\n var classes = cx('ui', color, size, useKeyOnly(active || indicating, 'active'), useKeyOnly(disabled, 'disabled'), useKeyOnly(error, 'error'), useKeyOnly(indicating, 'indicating'), useKeyOnly(inverted, 'inverted'), useKeyOnly(success || this.isAutoSuccess(), 'success'), useKeyOnly(warning, 'warning'), useValueAndKey(attached, 'attached'), 'progress', className);\n var rest = getUnhandledProps(Progress, this.props);\n var ElementType = getElementType(Progress, this.props);\n var percent = this.getPercent() || 0;\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n \"data-percent\": Math.floor(percent)\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"bar\",\n style: {\n width: percent + \"%\"\n }\n }, this.renderProgress(percent)), this.renderLabel());\n };\n\n return Progress;\n}(Component);\n\nProgress.handledProps = [\"active\", \"as\", \"attached\", \"autoSuccess\", \"children\", \"className\", \"color\", \"content\", \"disabled\", \"error\", \"indicating\", \"inverted\", \"label\", \"percent\", \"precision\", \"progress\", \"size\", \"success\", \"total\", \"value\", \"warning\"];\nProgress.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A progress bar can show activity. */\n active: PropTypes.bool,\n\n /** A progress bar can attach to and show the progress of an element (i.e. Card or Segment). */\n attached: PropTypes.oneOf(['top', 'bottom']),\n\n /** Whether success state should automatically trigger when progress completes. */\n autoSuccess: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A progress bar can have different colors. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A progress bar be disabled. */\n disabled: PropTypes.bool,\n\n /** A progress bar can show a error state. */\n error: PropTypes.bool,\n\n /** An indicating progress bar visually indicates the current level of progress of a task. */\n indicating: PropTypes.bool,\n\n /** A progress bar can have its colors inverted. */\n inverted: PropTypes.bool,\n\n /** Can be set to either to display progress as percent or ratio. */\n label: customPropTypes.itemShorthand,\n\n /** Current percent complete. */\n percent: customPropTypes.every([customPropTypes.disallow(['total', 'value']), PropTypes.oneOfType([PropTypes.number, PropTypes.string])]),\n\n /** Decimal point precision for calculated progress. */\n precision: PropTypes.number,\n\n /** A progress bar can contain a text value indicating current progress. */\n progress: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['percent', 'ratio', 'value'])]),\n\n /** A progress bar can vary in size. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'mini', 'huge', 'massive')),\n\n /** A progress bar can show a success state. */\n success: PropTypes.bool,\n\n /** For use with value. Together, these will calculate the percent. Mutually excludes percent. */\n total: customPropTypes.every([customPropTypes.demand(['value']), customPropTypes.disallow(['percent']), PropTypes.oneOfType([PropTypes.number, PropTypes.string])]),\n\n /** For use with total. Together, these will calculate the percent. Mutually excludes percent. */\n value: customPropTypes.every([customPropTypes.disallow(['percent']), PropTypes.oneOfType([PropTypes.number, PropTypes.string])]),\n\n /** A progress bar can show a warning state. */\n warning: PropTypes.bool\n} : {};\nexport default Progress;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useValueAndKey, useTextAlignProp, useKeyOrValueAndKey, useKeyOnly } from '../../lib';\nimport Icon from '../Icon';\nimport Image from '../Image';\nimport HeaderSubheader from './HeaderSubheader';\nimport HeaderContent from './HeaderContent';\n/**\n * A header provides a short summary of content\n */\n\nfunction Header(props) {\n var attached = props.attached,\n block = props.block,\n children = props.children,\n className = props.className,\n color = props.color,\n content = props.content,\n disabled = props.disabled,\n dividing = props.dividing,\n floated = props.floated,\n icon = props.icon,\n image = props.image,\n inverted = props.inverted,\n size = props.size,\n sub = props.sub,\n subheader = props.subheader,\n textAlign = props.textAlign;\n var classes = cx('ui', color, size, useKeyOnly(block, 'block'), useKeyOnly(disabled, 'disabled'), useKeyOnly(dividing, 'dividing'), useValueAndKey(floated, 'floated'), useKeyOnly(icon === true, 'icon'), useKeyOnly(image === true, 'image'), useKeyOnly(inverted, 'inverted'), useKeyOnly(sub, 'sub'), useKeyOrValueAndKey(attached, 'attached'), useTextAlignProp(textAlign), 'header', className);\n var rest = getUnhandledProps(Header, props);\n var ElementType = getElementType(Header, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n var iconElement = Icon.create(icon, {\n autoGenerateKey: false\n });\n var imageElement = Image.create(image, {\n autoGenerateKey: false\n });\n var subheaderElement = HeaderSubheader.create(subheader, {\n autoGenerateKey: false\n });\n\n if (iconElement || imageElement) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), iconElement || imageElement, (content || subheaderElement) && /*#__PURE__*/React.createElement(HeaderContent, null, content, subheaderElement));\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), content, subheaderElement);\n}\n\nHeader.handledProps = [\"as\", \"attached\", \"block\", \"children\", \"className\", \"color\", \"content\", \"disabled\", \"dividing\", \"floated\", \"icon\", \"image\", \"inverted\", \"size\", \"sub\", \"subheader\", \"textAlign\"];\nHeader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Attach header to other content, like a segment. */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n\n /** Format header to appear inside a content block. */\n block: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Color of the header. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Show that the header is inactive. */\n disabled: PropTypes.bool,\n\n /** Divide header from the content below it. */\n dividing: PropTypes.bool,\n\n /** Header can sit to the left or right of other content. */\n floated: PropTypes.oneOf(SUI.FLOATS),\n\n /** Add an icon by icon name or pass an Icon. */\n icon: customPropTypes.every([customPropTypes.disallow(['image']), PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand])]),\n\n /** Add an image by img src or pass an Image. */\n image: customPropTypes.every([customPropTypes.disallow(['icon']), PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand])]),\n\n /** Inverts the color of the header for dark backgrounds. */\n inverted: PropTypes.bool,\n\n /** Content headings are sized with em and are based on the font-size of their container. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'big', 'massive', 'mini')),\n\n /** Headers may be formatted to label smaller or de-emphasized content. */\n sub: PropTypes.bool,\n\n /** Shorthand for Header.Subheader. */\n subheader: customPropTypes.itemShorthand,\n\n /** Align header content. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS)\n} : {};\nHeader.Content = HeaderContent;\nHeader.Subheader = HeaderSubheader;\nexport default Header;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _has from \"lodash/has\";\nimport _invoke from \"lodash/invoke\";\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { customPropTypes, getUnhandledProps } from '../../lib';\nimport Button from '../../elements/Button';\nimport Modal from '../../modules/Modal';\n/**\n * A Confirm modal gives the user a choice to confirm or cancel an action/\n * @see Modal\n */\n\nvar Confirm = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Confirm, _Component);\n\n function Confirm() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleCancel = function (e) {\n _invoke(_this.props, 'onCancel', e, _this.props);\n };\n\n _this.handleCancelOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e, buttonProps) {\n _invoke(predefinedProps, 'onClick', e, buttonProps);\n\n _this.handleCancel(e);\n }\n };\n };\n\n _this.handleConfirmOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e, buttonProps) {\n _invoke(predefinedProps, 'onClick', e, buttonProps);\n\n _invoke(_this.props, 'onConfirm', e, _this.props);\n }\n };\n };\n\n return _this;\n }\n\n var _proto = Confirm.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n cancelButton = _this$props.cancelButton,\n confirmButton = _this$props.confirmButton,\n content = _this$props.content,\n header = _this$props.header,\n open = _this$props.open,\n size = _this$props.size;\n var rest = getUnhandledProps(Confirm, this.props); // `open` is auto controlled by the Modal\n // It cannot be present (even undefined) with `defaultOpen`\n // only apply it if the user provided an open prop\n\n var openProp = {};\n if (_has(this.props, 'open')) openProp.open = open;\n return /*#__PURE__*/React.createElement(Modal, _extends({}, rest, openProp, {\n size: size,\n onClose: this.handleCancel\n }), Modal.Header.create(header, {\n autoGenerateKey: false\n }), Modal.Content.create(content, {\n autoGenerateKey: false\n }), /*#__PURE__*/React.createElement(Modal.Actions, null, Button.create(cancelButton, {\n autoGenerateKey: false,\n overrideProps: this.handleCancelOverrides\n }), Button.create(confirmButton, {\n autoGenerateKey: false,\n defaultProps: {\n primary: true\n },\n overrideProps: this.handleConfirmOverrides\n })));\n };\n\n return Confirm;\n}(Component);\n\nConfirm.handledProps = [\"cancelButton\", \"confirmButton\", \"content\", \"header\", \"onCancel\", \"onConfirm\", \"open\", \"size\"];\nConfirm.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** The cancel button text. */\n cancelButton: customPropTypes.itemShorthand,\n\n /** The OK button text. */\n confirmButton: customPropTypes.itemShorthand,\n\n /** The ModalContent text. */\n content: customPropTypes.itemShorthand,\n\n /** The ModalHeader text. */\n header: customPropTypes.itemShorthand,\n\n /**\n * Called when the Modal is closed without clicking confirm.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onCancel: PropTypes.func,\n\n /**\n * Called when the OK button is clicked.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onConfirm: PropTypes.func,\n\n /** Whether or not the modal is visible. */\n open: PropTypes.bool,\n\n /** A Confirm can vary in size */\n size: PropTypes.oneOf(['mini', 'tiny', 'small', 'large', 'fullscreen'])\n} : {};\nConfirm.defaultProps = {\n cancelButton: 'Cancel',\n confirmButton: 'OK',\n content: 'Are you sure?',\n size: 'small'\n};\nexport default Confirm;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _without from \"lodash/without\";\nimport _map from \"lodash/map\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useTextAlignProp, useVerticalAlignProp, useWidthProp } from '../../lib';\nimport TableBody from './TableBody';\nimport TableCell from './TableCell';\nimport TableFooter from './TableFooter';\nimport TableHeader from './TableHeader';\nimport TableHeaderCell from './TableHeaderCell';\nimport TableRow from './TableRow';\n/**\n * A table displays a collections of data grouped into rows.\n */\n\nfunction Table(props) {\n var attached = props.attached,\n basic = props.basic,\n celled = props.celled,\n children = props.children,\n className = props.className,\n collapsing = props.collapsing,\n color = props.color,\n columns = props.columns,\n compact = props.compact,\n definition = props.definition,\n fixed = props.fixed,\n footerRow = props.footerRow,\n headerRow = props.headerRow,\n headerRows = props.headerRows,\n inverted = props.inverted,\n padded = props.padded,\n renderBodyRow = props.renderBodyRow,\n selectable = props.selectable,\n singleLine = props.singleLine,\n size = props.size,\n sortable = props.sortable,\n stackable = props.stackable,\n striped = props.striped,\n structured = props.structured,\n tableData = props.tableData,\n textAlign = props.textAlign,\n unstackable = props.unstackable,\n verticalAlign = props.verticalAlign;\n var classes = cx('ui', color, size, useKeyOnly(celled, 'celled'), useKeyOnly(collapsing, 'collapsing'), useKeyOnly(definition, 'definition'), useKeyOnly(fixed, 'fixed'), useKeyOnly(inverted, 'inverted'), useKeyOnly(selectable, 'selectable'), useKeyOnly(singleLine, 'single line'), useKeyOnly(sortable, 'sortable'), useKeyOnly(stackable, 'stackable'), useKeyOnly(striped, 'striped'), useKeyOnly(structured, 'structured'), useKeyOnly(unstackable, 'unstackable'), useKeyOrValueAndKey(attached, 'attached'), useKeyOrValueAndKey(basic, 'basic'), useKeyOrValueAndKey(compact, 'compact'), useKeyOrValueAndKey(padded, 'padded'), useTextAlignProp(textAlign), useVerticalAlignProp(verticalAlign), useWidthProp(columns, 'column'), 'table', className);\n var rest = getUnhandledProps(Table, props);\n var ElementType = getElementType(Table, props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), children);\n }\n\n var hasHeaderRows = headerRow || headerRows;\n var headerShorthandOptions = {\n defaultProps: {\n cellAs: 'th'\n }\n };\n var headerElement = hasHeaderRows && /*#__PURE__*/React.createElement(TableHeader, null, TableRow.create(headerRow, headerShorthandOptions), _map(headerRows, function (data) {\n return TableRow.create(data, headerShorthandOptions);\n }));\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), headerElement, /*#__PURE__*/React.createElement(TableBody, null, renderBodyRow && _map(tableData, function (data, index) {\n return TableRow.create(renderBodyRow(data, index));\n })), footerRow && /*#__PURE__*/React.createElement(TableFooter, null, TableRow.create(footerRow)));\n}\n\nTable.handledProps = [\"as\", \"attached\", \"basic\", \"celled\", \"children\", \"className\", \"collapsing\", \"color\", \"columns\", \"compact\", \"definition\", \"fixed\", \"footerRow\", \"headerRow\", \"headerRows\", \"inverted\", \"padded\", \"renderBodyRow\", \"selectable\", \"singleLine\", \"size\", \"sortable\", \"stackable\", \"striped\", \"structured\", \"tableData\", \"textAlign\", \"unstackable\", \"verticalAlign\"];\nTable.defaultProps = {\n as: 'table'\n};\nTable.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Attach table to other content */\n attached: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top', 'bottom'])]),\n\n /** A table can reduce its complexity to increase readability. */\n basic: PropTypes.oneOfType([PropTypes.oneOf(['very']), PropTypes.bool]),\n\n /** A table may be divided each row into separate cells. */\n celled: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** A table can be collapsing, taking up only as much space as its rows. */\n collapsing: PropTypes.bool,\n\n /** A table can be given a color to distinguish it from other tables. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** A table can specify its column count to divide its content evenly. */\n columns: PropTypes.oneOf(SUI.WIDTHS),\n\n /** A table may sometimes need to be more compact to make more rows visible at a time. */\n compact: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /** A table may be formatted to emphasize a first column that defines a rows content. */\n definition: PropTypes.bool,\n\n /**\n * A table can use fixed a special faster form of table rendering that does not resize table cells based on content\n */\n fixed: PropTypes.bool,\n\n /** Shorthand for a TableRow to be placed within Table.Footer. */\n footerRow: customPropTypes.itemShorthand,\n\n /** Shorthand for a TableRow to be placed within Table.Header. */\n headerRow: customPropTypes.every([customPropTypes.disallow(['headerRows']), customPropTypes.itemShorthand]),\n\n /** Shorthand for multiple TableRows to be placed within Table.Header. */\n headerRows: customPropTypes.every([customPropTypes.disallow(['headerRow']), customPropTypes.collectionShorthand]),\n\n /** A table's colors can be inverted. */\n inverted: PropTypes.bool,\n\n /** A table may sometimes need to be more padded for legibility. */\n padded: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['very'])]),\n\n /**\n * Mapped over `tableData` and should return shorthand for each Table.Row to be placed within Table.Body.\n *\n * @param {*} data - An element in the `tableData` array.\n * @param {number} index - The index of the current element in `tableData`.\n * @returns {*} Shorthand for a Table.Row.\n */\n renderBodyRow: customPropTypes.every([customPropTypes.disallow(['children']), customPropTypes.demand(['tableData']), PropTypes.func]),\n\n /** A table can have its rows appear selectable. */\n selectable: PropTypes.bool,\n\n /** A table can specify that its cell contents should remain on a single line and not wrap. */\n singleLine: PropTypes.bool,\n\n /** A table can also be small or large. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'mini', 'tiny', 'medium', 'big', 'huge', 'massive')),\n\n /** A table may allow a user to sort contents by clicking on a table header. */\n sortable: PropTypes.bool,\n\n /** A table can specify how it stacks table content responsively. */\n stackable: PropTypes.bool,\n\n /** A table can stripe alternate rows of content with a darker color to increase contrast. */\n striped: PropTypes.bool,\n\n /** A table can be formatted to display complex structured data. */\n structured: PropTypes.bool,\n\n /** Data to be passed to the renderBodyRow function. */\n tableData: customPropTypes.every([customPropTypes.disallow(['children']), customPropTypes.demand(['renderBodyRow']), PropTypes.array]),\n\n /** A table can adjust its text alignment. */\n textAlign: PropTypes.oneOf(_without(SUI.TEXT_ALIGNMENTS, 'justified')),\n\n /** A table can specify how it stacks table content responsively. */\n unstackable: PropTypes.bool,\n\n /** A table can adjust its text alignment. */\n verticalAlign: PropTypes.oneOf(SUI.VERTICAL_ALIGNMENTS)\n} : {};\nTable.Body = TableBody;\nTable.Cell = TableCell;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.HeaderCell = TableHeaderCell;\nTable.Row = TableRow;\nexport default Table;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useTextAlignProp } from '../../lib';\n/**\n * A container limits content to a maximum width.\n */\n\nfunction Container(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n fluid = props.fluid,\n text = props.text,\n textAlign = props.textAlign;\n var classes = cx('ui', useKeyOnly(text, 'text'), useKeyOnly(fluid, 'fluid'), useTextAlignProp(textAlign), 'container', className);\n var rest = getUnhandledProps(Container, props);\n var ElementType = getElementType(Container, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nContainer.handledProps = [\"as\", \"children\", \"className\", \"content\", \"fluid\", \"text\", \"textAlign\"];\nContainer.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Container has no maximum width. */\n fluid: PropTypes.bool,\n\n /** Reduce maximum width to more naturally accommodate text. */\n text: PropTypes.bool,\n\n /** Align container text. */\n textAlign: PropTypes.oneOf(SUI.TEXT_ALIGNMENTS)\n} : {};\nexport default Container;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\nimport PlaceholderHeader from './PlaceholderHeader';\nimport PlaceholderImage from './PlaceholderImage';\nimport PlaceholderLine from './PlaceholderLine';\nimport PlaceholderParagraph from './PlaceholderParagraph';\n/**\n * A placeholder is used to reserve space for content that soon will appear in a layout.\n */\n\nfunction Placeholder(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n fluid = props.fluid,\n inverted = props.inverted;\n var classes = cx('ui', useKeyOnly(fluid, 'fluid'), useKeyOnly(inverted, 'inverted'), 'placeholder', className);\n var rest = getUnhandledProps(Placeholder, props);\n var ElementType = getElementType(Placeholder, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nPlaceholder.handledProps = [\"as\", \"children\", \"className\", \"content\", \"fluid\", \"inverted\"];\nPlaceholder.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A fluid placeholder takes up the width of its container. */\n fluid: PropTypes.bool,\n\n /** A placeholder can have their colors inverted. */\n inverted: PropTypes.bool\n} : {};\nPlaceholder.Header = PlaceholderHeader;\nPlaceholder.Image = PlaceholderImage;\nPlaceholder.Line = PlaceholderLine;\nPlaceholder.Paragraph = PlaceholderParagraph;\nexport default Placeholder;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport { EventListener, documentRef } from '@fluentui/react-component-event-listener';\nimport { Ref, isRefObject } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component, createRef } from 'react';\nimport { childrenUtils, customPropTypes, doesNodeContainClick, getUnhandledProps, getElementType, useKeyOnly } from '../../lib';\nimport SidebarPushable from './SidebarPushable';\nimport SidebarPusher from './SidebarPusher';\n/**\n * A sidebar hides additional content beside a page.\n */\n\nvar Sidebar = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Sidebar, _Component);\n\n function Sidebar(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n _this.ref = /*#__PURE__*/createRef();\n\n _this.handleAnimationStart = function () {\n var visible = _this.props.visible;\n var callback = visible ? 'onVisible' : 'onHide';\n clearTimeout(_this.animationTimer);\n _this.animationTimer = setTimeout(_this.handleAnimationEnd, Sidebar.animationDuration);\n\n if (_this.skipNextCallback) {\n _this.skipNextCallback = false;\n return;\n }\n\n _invoke(_this.props, callback, null, _this.props);\n };\n\n _this.handleAnimationEnd = function () {\n var visible = _this.props.visible;\n var callback = visible ? 'onShow' : 'onHidden';\n\n _this.setState({\n animationTick: 0\n });\n\n _invoke(_this.props, callback, null, _this.props);\n };\n\n _this.handleDocumentClick = function (e) {\n if (!doesNodeContainClick(_this.ref.current, e)) {\n _this.skipNextCallback = true;\n\n _invoke(_this.props, 'onHide', e, _extends({}, _this.props, {\n visible: false\n }));\n }\n };\n\n _this.state = {\n animationTick: 0,\n visible: props.visible\n };\n return _this;\n }\n\n Sidebar.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n // We use `animationTick` to understand when an animation should be scheduled\n var tickIncrement = !!props.visible === !!state.visible ? 0 : 1;\n return {\n animationTick: state.animationTick + tickIncrement,\n visible: props.visible\n };\n };\n\n var _proto = Sidebar.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.animationTick > prevState.animationTick) {\n this.handleAnimationStart();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n clearTimeout(this.animationTimer);\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n animation = _this$props.animation,\n className = _this$props.className,\n children = _this$props.children,\n content = _this$props.content,\n direction = _this$props.direction,\n target = _this$props.target,\n visible = _this$props.visible,\n width = _this$props.width;\n var animationTick = this.state.animationTick;\n var classes = cx('ui', animation, direction, width, useKeyOnly(animationTick > 0, 'animating'), useKeyOnly(visible, 'visible'), 'sidebar', className);\n var rest = getUnhandledProps(Sidebar, this.props);\n var ElementType = getElementType(Sidebar, this.props);\n var targetProp = isRefObject(target) ? {\n targetRef: target\n } : {\n target: target\n };\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children, visible && /*#__PURE__*/React.createElement(EventListener, _extends({\n listener: this.handleDocumentClick,\n type: \"click\"\n }, targetProp))));\n };\n\n return Sidebar;\n}(Component);\n\nSidebar.handledProps = [\"animation\", \"as\", \"children\", \"className\", \"content\", \"direction\", \"onHidden\", \"onHide\", \"onShow\", \"onVisible\", \"target\", \"visible\", \"width\"];\nSidebar.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Animation style. */\n animation: PropTypes.oneOf(['overlay', 'push', 'scale down', 'uncover', 'slide out', 'slide along']),\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Direction the sidebar should appear on. */\n direction: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n\n /**\n * Called before a sidebar begins to animate out.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onHide: PropTypes.func,\n\n /**\n * Called after a sidebar has finished animating out.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onHidden: PropTypes.func,\n\n /**\n * Called when a sidebar has finished animating in.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onShow: PropTypes.func,\n\n /**\n * Called when a sidebar begins animating in.\n *\n * @param {null}\n * @param {object} data - All props.\n */\n onVisible: PropTypes.func,\n\n /** A sidebar can handle clicks on the passed element. */\n target: PropTypes.oneOfType([customPropTypes.domNode, customPropTypes.refObject]),\n\n /** Controls whether or not the sidebar is visible on the page. */\n visible: PropTypes.bool,\n\n /** Sidebar width. */\n width: PropTypes.oneOf(['very thin', 'thin', 'wide', 'very wide'])\n} : {};\nSidebar.defaultProps = {\n direction: 'left',\n target: documentRef,\n visible: false\n};\nSidebar.animationDuration = 500;\nSidebar.autoControlledProps = ['visible'];\nSidebar.Pushable = SidebarPushable;\nSidebar.Pusher = SidebarPusher;\nexport default Sidebar;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _map from \"lodash/map\";\nimport _get from \"lodash/get\";\nimport _invoke from \"lodash/invoke\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { ModernAutoControlledComponent as Component, customPropTypes, getElementType, getUnhandledProps } from '../../lib';\nimport Grid from '../../collections/Grid/Grid';\nimport GridColumn from '../../collections/Grid/GridColumn';\nimport Menu from '../../collections/Menu/Menu';\nimport TabPane from './TabPane';\n/**\n * A Tab is a hidden section of content activated by a Menu.\n * @see Menu\n * @see Segment\n */\n\nvar Tab = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Tab, _Component);\n\n function Tab() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleItemClick = function (e, _ref) {\n var index = _ref.index;\n\n _invoke(_this.props, 'onTabChange', e, _extends({}, _this.props, {\n activeIndex: index\n }));\n\n _this.setState({\n activeIndex: index\n });\n };\n\n return _this;\n }\n\n var _proto = Tab.prototype;\n\n _proto.getInitialAutoControlledState = function getInitialAutoControlledState() {\n return {\n activeIndex: 0\n };\n };\n\n _proto.renderItems = function renderItems() {\n var _this$props = this.props,\n panes = _this$props.panes,\n renderActiveOnly = _this$props.renderActiveOnly;\n var activeIndex = this.state.activeIndex;\n if (renderActiveOnly) return _invoke(_get(panes, \"[\" + activeIndex + \"]\"), 'render', this.props);\n return _map(panes, function (_ref2, index) {\n var pane = _ref2.pane;\n return TabPane.create(pane, {\n overrideProps: {\n active: index === activeIndex\n }\n });\n });\n };\n\n _proto.renderMenu = function renderMenu() {\n var _this$props2 = this.props,\n menu = _this$props2.menu,\n panes = _this$props2.panes,\n menuPosition = _this$props2.menuPosition;\n var activeIndex = this.state.activeIndex;\n\n if (menu.tabular === true && menuPosition === 'right') {\n menu.tabular = 'right';\n }\n\n return Menu.create(menu, {\n autoGenerateKey: false,\n overrideProps: {\n items: _map(panes, 'menuItem'),\n onItemClick: this.handleItemClick,\n activeIndex: activeIndex\n }\n });\n };\n\n _proto.renderVertical = function renderVertical(menu) {\n var _this$props3 = this.props,\n grid = _this$props3.grid,\n menuPosition = _this$props3.menuPosition;\n\n var paneWidth = grid.paneWidth,\n tabWidth = grid.tabWidth,\n gridProps = _objectWithoutPropertiesLoose(grid, [\"paneWidth\", \"tabWidth\"]);\n\n var position = menuPosition || menu.props.tabular === 'right' && 'right' || 'left';\n return /*#__PURE__*/React.createElement(Grid, gridProps, position === 'left' && GridColumn.create({\n width: tabWidth,\n children: menu\n }, {\n autoGenerateKey: false\n }), GridColumn.create({\n width: paneWidth,\n children: this.renderItems(),\n stretched: true\n }, {\n autoGenerateKey: false\n }), position === 'right' && GridColumn.create({\n width: tabWidth,\n children: menu\n }, {\n autoGenerateKey: false\n }));\n };\n\n _proto.render = function render() {\n var menu = this.renderMenu();\n var rest = getUnhandledProps(Tab, this.props);\n var ElementType = getElementType(Tab, this.props);\n\n if (menu.props.vertical) {\n return /*#__PURE__*/React.createElement(ElementType, rest, this.renderVertical(menu));\n }\n\n return /*#__PURE__*/React.createElement(ElementType, rest, menu.props.attached !== 'bottom' && menu, this.renderItems(), menu.props.attached === 'bottom' && menu);\n };\n\n return Tab;\n}(Component);\n\nTab.handledProps = [\"activeIndex\", \"as\", \"defaultActiveIndex\", \"grid\", \"menu\", \"menuPosition\", \"onTabChange\", \"panes\", \"renderActiveOnly\"];\nTab.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** The initial activeIndex. */\n defaultActiveIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Index of the currently active tab. */\n activeIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Shorthand props for the Menu.\n * tabular, if true, will derive final value from `menuPosition`, otherwise set 'left' or 'right' explicitly.\n */\n menu: PropTypes.object,\n\n /** Align vertical menu */\n menuPosition: PropTypes.oneOf(['left', 'right']),\n\n /** Shorthand props for the Grid. Only applicable to vertical menus. */\n grid: PropTypes.object,\n\n /**\n * Called on tab change.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and proposed new activeIndex.\n * @param {object} data.activeIndex - The new proposed activeIndex.\n */\n onTabChange: PropTypes.func,\n\n /**\n * Array of objects describing each Menu.Item and Tab.Pane:\n * { menuItem: 'Home', render: () => }\n * or\n * { menuItem: 'Home', pane: 'Welcome' }\n */\n panes: PropTypes.arrayOf(PropTypes.shape({\n menuItem: customPropTypes.itemShorthand,\n pane: customPropTypes.itemShorthand,\n render: PropTypes.func\n })),\n\n /** A Tab can render only active pane. */\n renderActiveOnly: PropTypes.bool\n} : {};\nTab.autoControlledProps = ['activeIndex'];\nTab.defaultProps = {\n grid: {\n paneWidth: 12,\n tabWidth: 4\n },\n menu: {\n attached: true,\n tabular: true\n },\n renderActiveOnly: true\n};\nTab.Pane = TabPane;\nexport default Tab;","/**\n * @param {number} pageNumber\n * @return {Object}\n */\nexport var createEllipsisItem = function createEllipsisItem(pageNumber) {\n return {\n active: false,\n type: 'ellipsisItem',\n value: pageNumber\n };\n};\n/**\n * @return {Object}\n */\n\nexport var createFirstPage = function createFirstPage() {\n return {\n active: false,\n type: 'firstItem',\n value: 1\n };\n};\n/**\n * @param {number} activePage\n * @return {Object}\n */\n\nexport var createPrevItem = function createPrevItem(activePage) {\n return {\n active: false,\n type: 'prevItem',\n value: Math.max(1, activePage - 1)\n };\n};\n/**\n * @param {number} activePage\n * @return {function}\n */\n\nexport var createPageFactory = function createPageFactory(activePage) {\n return function (pageNumber) {\n return {\n active: activePage === pageNumber,\n type: 'pageItem',\n value: pageNumber\n };\n };\n};\n/**\n * @param {number} activePage\n * @param {number} totalPages\n * @return {Object}\n */\n\nexport var createNextItem = function createNextItem(activePage, totalPages) {\n return {\n active: false,\n type: 'nextItem',\n value: Math.min(activePage + 1, totalPages)\n };\n};\n/**\n * @param {number} totalPages\n * @return {Object}\n */\n\nexport var createLastItem = function createLastItem(totalPages) {\n return {\n active: false,\n type: 'lastItem',\n value: totalPages\n };\n};","import { createEllipsisItem } from './itemFactories';\nexport var createInnerPrefix = function createInnerPrefix(firstGroupEnd, innerGroupStart, pageFactory) {\n var prefixPage = innerGroupStart - 1;\n var showEllipsis = prefixPage !== firstGroupEnd + 1;\n var prefixFactory = showEllipsis ? createEllipsisItem : pageFactory;\n return prefixFactory(prefixPage);\n};\nexport var createInnerSuffix = function createInnerSuffix(innerGroupEnd, lastGroupStart, pageFactory) {\n var suffixPage = innerGroupEnd + 1;\n var showEllipsis = suffixPage !== lastGroupStart - 1;\n var suffixFactory = showEllipsis ? createEllipsisItem : pageFactory;\n return suffixFactory(suffixPage);\n};","import _range from \"lodash/range\";\nimport _map from \"lodash/map\";\nimport { createInnerPrefix, createInnerSuffix } from './suffixFactories';\nexport var createSimpleRange = function createSimpleRange(start, end, pageFactory) {\n return _map(_range(start, end + 1), pageFactory);\n};\nexport var createComplexRange = function createComplexRange(options, pageFactory) {\n var activePage = options.activePage,\n boundaryRange = options.boundaryRange,\n hideEllipsis = options.hideEllipsis,\n siblingRange = options.siblingRange,\n totalPages = options.totalPages;\n var ellipsisSize = hideEllipsis ? 0 : 1;\n var firstGroupEnd = boundaryRange;\n var firstGroup = createSimpleRange(1, firstGroupEnd, pageFactory);\n var lastGroupStart = totalPages + 1 - boundaryRange;\n var lastGroup = createSimpleRange(lastGroupStart, totalPages, pageFactory);\n var innerGroupStart = Math.min(Math.max(activePage - siblingRange, firstGroupEnd + ellipsisSize + 1), lastGroupStart - ellipsisSize - 2 * siblingRange - 1);\n var innerGroupEnd = innerGroupStart + 2 * siblingRange;\n var innerGroup = createSimpleRange(innerGroupStart, innerGroupEnd, pageFactory);\n return [].concat(firstGroup, [!hideEllipsis && createInnerPrefix(firstGroupEnd, innerGroupStart, pageFactory)], innerGroup, [!hideEllipsis && createInnerSuffix(innerGroupEnd, lastGroupStart, pageFactory)], lastGroup).filter(Boolean);\n};","import { createFirstPage, createLastItem, createNextItem, createPageFactory, createPrevItem } from './itemFactories';\nimport { createComplexRange, createSimpleRange } from './rangeFactories';\nimport { isSimplePagination, typifyOptions } from './paginationUtils';\n/**\n * @param {object} rawOptions\n * @param {number|string} rawOptions.activePage\n * @param {number|string} rawOptions.boundaryRange Number of always visible pages at the beginning and end.\n * @param {boolean} rawOptions.hideEllipsis Marks if ellipsis should be hidden.\n * @param {number|string} rawOptions.siblingRange Number of always visible pages before and after the current one.\n * @param {number|string} rawOptions.totalPages Total number of pages.\n */\n\nvar createPaginationItems = function createPaginationItems(rawOptions) {\n var options = typifyOptions(rawOptions);\n var activePage = options.activePage,\n totalPages = options.totalPages;\n var pageFactory = createPageFactory(activePage);\n var innerRange = isSimplePagination(options) ? createSimpleRange(1, totalPages, pageFactory) : createComplexRange(options, pageFactory);\n return [createFirstPage(), createPrevItem(activePage)].concat(innerRange, [createNextItem(activePage, totalPages), createLastItem(totalPages)]);\n};\n\nexport default createPaginationItems;","/**\n * Checks the possibility of using simple range generation, if number of generated pages is equal\n * or greater than total pages to show.\n *\n * @param {object} options\n * @param {number} options.boundaryRange Number of always visible pages at the beginning and end.\n * @param {number} options.siblingRange Number of always visible pages before and after the current one.\n * @param {number} options.totalPages Total number of pages.\n * @return {boolean}\n */\nexport var isSimplePagination = function isSimplePagination(_ref) {\n var boundaryRange = _ref.boundaryRange,\n hideEllipsis = _ref.hideEllipsis,\n siblingRange = _ref.siblingRange,\n totalPages = _ref.totalPages;\n var boundaryRangeSize = 2 * boundaryRange;\n var ellipsisSize = hideEllipsis ? 0 : 2;\n var siblingRangeSize = 2 * siblingRange;\n return 1 + ellipsisSize + siblingRangeSize + boundaryRangeSize >= totalPages;\n};\nexport var typifyOptions = function typifyOptions(_ref2) {\n var activePage = _ref2.activePage,\n boundaryRange = _ref2.boundaryRange,\n hideEllipsis = _ref2.hideEllipsis,\n siblingRange = _ref2.siblingRange,\n totalPages = _ref2.totalPages;\n return {\n activePage: +activePage,\n boundaryRange: +boundaryRange,\n hideEllipsis: !!hideEllipsis,\n siblingRange: +siblingRange,\n totalPages: +totalPages\n };\n};","import _isNil from \"lodash/isNil\";\n\nvar fitsMaxWidth = function fitsMaxWidth(width, maxWidth) {\n return _isNil(maxWidth) ? true : width <= maxWidth;\n};\n\nvar fitsMinWidth = function fitsMinWidth(width, minWidth) {\n return _isNil(minWidth) ? true : width >= minWidth;\n};\n\nvar isVisible = function isVisible(width, _ref) {\n var maxWidth = _ref.maxWidth,\n minWidth = _ref.minWidth;\n return fitsMinWidth(width, minWidth) && fitsMaxWidth(width, maxWidth);\n};\n\nexport default isVisible;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _invoke from \"lodash/invoke\";\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { eventStack, getElementType, getUnhandledProps, isBrowser } from '../../lib';\nimport isVisible from './lib/isVisible';\n/**\n * Responsive can control visibility of content.\n *\n * @deprecated This component is deprecated and will be removed in next major release.\n */\n\nvar Responsive = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Responsive, _Component);\n\n function Responsive() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.state = {\n visible: true\n };\n\n _this.handleResize = function (e) {\n if (_this.ticking) return;\n _this.ticking = true;\n _this.frameId = requestAnimationFrame(function () {\n return _this.handleUpdate(e);\n });\n };\n\n _this.handleUpdate = function (e) {\n _this.ticking = false;\n var visible = _this.state.visible;\n\n var width = _invoke(_this.props, 'getWidth');\n\n var nextVisible = isVisible(width, _this.props);\n if (visible !== nextVisible) _this.setState({\n visible: nextVisible\n });\n\n _invoke(_this.props, 'onUpdate', e, _extends({}, _this.props, {\n width: width\n }));\n };\n\n return _this;\n }\n\n Responsive.getDerivedStateFromProps = function getDerivedStateFromProps(props) {\n var width = _invoke(props, 'getWidth');\n\n var visible = isVisible(width, props);\n return {\n visible: visible\n };\n };\n\n var _proto = Responsive.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var fireOnMount = this.props.fireOnMount;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!Responsive.__deprecationWarningWasRaised) {\n Responsive.__deprecationWarningWasRaised = true; // eslint-disable-next-line no-console\n\n console.warn('Warning: \"Responsive\" component from Semantic UI React is deprecated and will be removed in the next major release. Please follow our upgrade guide: https://github.com/Semantic-Org/Semantic-UI-React/pull/4008');\n }\n }\n\n eventStack.sub('resize', this.handleResize, {\n target: 'window'\n });\n if (fireOnMount) this.handleUpdate();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n eventStack.unsub('resize', this.handleResize, {\n target: 'window'\n });\n cancelAnimationFrame(this.frameId);\n } // ----------------------------------------\n // Event handlers\n // ----------------------------------------\n ;\n\n // ----------------------------------------\n // Render\n // ----------------------------------------\n _proto.render = function render() {\n var children = this.props.children;\n var visible = this.state.visible;\n var ElementType = getElementType(Responsive, this.props);\n var rest = getUnhandledProps(Responsive, this.props);\n if (visible) return /*#__PURE__*/React.createElement(ElementType, rest, children);\n return null;\n };\n\n return Responsive;\n}(Component);\n\nResponsive.handledProps = [\"as\", \"children\", \"fireOnMount\", \"getWidth\", \"maxWidth\", \"minWidth\", \"onUpdate\"];\nexport { Responsive as default };\nResponsive.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Fires callbacks immediately after mount. */\n fireOnMount: PropTypes.bool,\n\n /**\n * Called to get width of screen. Defaults to using `window.innerWidth` when in a browser;\n * otherwise, assumes a width of 0.\n */\n getWidth: PropTypes.func,\n\n /** The maximum width at which content will be displayed. */\n maxWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** The minimum width at which content will be displayed. */\n minWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Called on update.\n *\n * @param {SyntheticEvent} event - The React SyntheticEvent object\n * @param {object} data - All props and the event value.\n */\n onUpdate: PropTypes.func\n} : {};\nResponsive.defaultProps = {\n getWidth: function getWidth() {\n return isBrowser() ? window.innerWidth : 0;\n }\n};\nResponsive.onlyMobile = {\n minWidth: 320,\n maxWidth: 767\n};\nResponsive.onlyTablet = {\n minWidth: 768,\n maxWidth: 991\n};\nResponsive.onlyComputer = {\n minWidth: 992\n};\nResponsive.onlyLargeScreen = {\n minWidth: 1200,\n maxWidth: 1919\n};\nResponsive.onlyWidescreen = {\n minWidth: 1920\n};\n\nif (process.env.NODE_ENV !== 'production') {\n Responsive.__deprecationWarningWasRaised = false;\n}","import _some from \"lodash/some\";\nimport _escapeRegExp from \"lodash/escapeRegExp\";\nimport _deburr from \"lodash/deburr\";\nimport _isFunction from \"lodash/isFunction\";\nimport _includes from \"lodash/includes\";\nimport _filter from \"lodash/filter\";\nimport React from 'react'; // There are times when we need to calculate the options based on a value\n// that hasn't yet been persisted to state.\n\nexport default function getMenuOptions(config) {\n var additionLabel = config.additionLabel,\n additionPosition = config.additionPosition,\n allowAdditions = config.allowAdditions,\n deburr = config.deburr,\n multiple = config.multiple,\n options = config.options,\n search = config.search,\n searchQuery = config.searchQuery,\n value = config.value;\n var filteredOptions = options; // filter out active options\n\n if (multiple) {\n filteredOptions = _filter(filteredOptions, function (opt) {\n return !_includes(value, opt.value);\n });\n } // filter by search query\n\n\n if (search && searchQuery) {\n if (_isFunction(search)) {\n filteredOptions = search(filteredOptions, searchQuery);\n } else {\n // remove diacritics on search input and options, if deburr prop is set\n var strippedQuery = deburr ? _deburr(searchQuery) : searchQuery;\n var re = new RegExp(_escapeRegExp(strippedQuery), 'i');\n filteredOptions = _filter(filteredOptions, function (opt) {\n return re.test(deburr ? _deburr(opt.text) : opt.text);\n });\n }\n } // insert the \"add\" item\n\n\n if (allowAdditions && search && searchQuery && !_some(filteredOptions, {\n text: searchQuery\n })) {\n var additionLabelElement = /*#__PURE__*/React.isValidElement(additionLabel) ? /*#__PURE__*/React.cloneElement(additionLabel, {\n key: 'addition-label'\n }) : additionLabel || '';\n var addItem = {\n key: 'addition',\n // by using an array, we can pass multiple elements, but when doing so\n // we must specify a `key` for React to know which one is which\n text: [additionLabelElement, /*#__PURE__*/React.createElement(\"b\", {\n key: \"addition-query\"\n }, searchQuery)],\n value: searchQuery,\n className: 'addition',\n 'data-additional': true\n };\n if (additionPosition === 'top') filteredOptions.unshift(addItem);else filteredOptions.push(addItem);\n }\n\n return filteredOptions;\n}\ngetMenuOptions.handledProps = [];","import _includes from \"lodash/includes\";\nimport _find from \"lodash/find\";\nimport _findIndex from \"lodash/findIndex\";\nimport _reduce from \"lodash/reduce\";\nimport getMenuOptions from './getMenuOptions';\nexport default function getSelectedIndex(config) {\n var additionLabel = config.additionLabel,\n additionPosition = config.additionPosition,\n allowAdditions = config.allowAdditions,\n deburr = config.deburr,\n multiple = config.multiple,\n options = config.options,\n search = config.search,\n searchQuery = config.searchQuery,\n selectedIndex = config.selectedIndex,\n value = config.value;\n var menuOptions = getMenuOptions({\n value: value,\n options: options,\n searchQuery: searchQuery,\n additionLabel: additionLabel,\n additionPosition: additionPosition,\n allowAdditions: allowAdditions,\n deburr: deburr,\n multiple: multiple,\n search: search\n });\n\n var enabledIndexes = _reduce(menuOptions, function (memo, item, index) {\n if (!item.disabled) memo.push(index);\n return memo;\n }, []);\n\n var newSelectedIndex; // update the selected index\n\n if (!selectedIndex || selectedIndex < 0) {\n var firstIndex = enabledIndexes[0]; // Select the currently active item, if none, use the first item.\n // Multiple selects remove active items from the list,\n // their initial selected index should be 0.\n\n newSelectedIndex = multiple ? firstIndex : _findIndex(menuOptions, ['value', value]) || enabledIndexes[0];\n } else if (multiple) {\n newSelectedIndex = _find(enabledIndexes, function (index) {\n return index >= selectedIndex;\n }); // multiple selects remove options from the menu as they are made active\n // keep the selected index within range of the remaining items\n\n if (selectedIndex >= menuOptions.length - 1) {\n newSelectedIndex = enabledIndexes[enabledIndexes.length - 1];\n }\n } else {\n var activeIndex = _findIndex(menuOptions, ['value', value]); // regular selects can only have one active item\n // set the selected index to the currently active item\n\n\n newSelectedIndex = _includes(enabledIndexes, activeIndex) ? activeIndex : undefined;\n }\n\n if (!newSelectedIndex || newSelectedIndex < 0) {\n newSelectedIndex = enabledIndexes[0];\n }\n\n return newSelectedIndex;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _includes from \"lodash/includes\";\nimport _compact from \"lodash/compact\";\nimport _map from \"lodash/map\";\nimport _every from \"lodash/every\";\nimport _without from \"lodash/without\";\nimport _find from \"lodash/find\";\nimport _dropRight from \"lodash/dropRight\";\nimport _isEmpty from \"lodash/isEmpty\";\nimport _size from \"lodash/size\";\nimport _difference from \"lodash/difference\";\nimport _union from \"lodash/union\";\nimport _get from \"lodash/get\";\nimport _noop from \"lodash/noop\";\nimport _isUndefined from \"lodash/isUndefined\";\nimport _invoke from \"lodash/invoke\";\nimport _has from \"lodash/has\";\nimport _isEqual from \"lodash/isEqual\";\nimport _isFunction from \"lodash/isFunction\";\nimport _pick from \"lodash/pick\";\nimport _isNil from \"lodash/isNil\";\nimport EventStack from '@semantic-ui-react/event-stack';\nimport { Ref } from '@fluentui/react-component-ref';\nimport cx from 'clsx';\nimport keyboardKey from 'keyboard-key';\nimport PropTypes from 'prop-types';\nimport React, { Children, cloneElement, createRef } from 'react';\nimport shallowEqual from 'shallowequal';\nimport { ModernAutoControlledComponent as Component, childrenUtils, customPropTypes, doesNodeContainClick, getElementType, getUnhandledProps, objectDiff, useKeyOnly, useKeyOrValueAndKey } from '../../lib';\nimport Icon from '../../elements/Icon';\nimport Label from '../../elements/Label';\nimport Flag from '../../elements/Flag';\nimport Image from '../../elements/Image';\nimport DropdownDivider from './DropdownDivider';\nimport DropdownItem from './DropdownItem';\nimport DropdownHeader from './DropdownHeader';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownSearchInput from './DropdownSearchInput';\nimport DropdownText from './DropdownText';\nimport getMenuOptions from './utils/getMenuOptions';\nimport getSelectedIndex from './utils/getSelectedIndex';\n\nvar getKeyOrValue = function getKeyOrValue(key, value) {\n return _isNil(key) ? value : key;\n};\n\nvar getKeyAndValues = function getKeyAndValues(options) {\n return options ? options.map(function (option) {\n return _pick(option, ['key', 'value']);\n }) : options;\n};\n\nfunction renderItemContent(item) {\n var flag = item.flag,\n image = item.image,\n text = item.text; // TODO: remove this in v2\n // This maintains compatibility with Shorthand API in v1 as this might be called in \"Label.create()\"\n\n if ( /*#__PURE__*/React.isValidElement(text) || _isFunction(text)) {\n return text;\n }\n\n return {\n content: /*#__PURE__*/React.createElement(React.Fragment, null, Flag.create(flag), Image.create(image), text)\n };\n}\n/**\n * A dropdown allows a user to select a value from a series of options.\n * @see Form\n * @see Select\n * @see Menu\n */\n\n\nvar Dropdown = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Dropdown, _Component);\n\n function Dropdown() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n _this.searchRef = /*#__PURE__*/createRef();\n _this.sizerRef = /*#__PURE__*/createRef();\n _this.ref = /*#__PURE__*/createRef();\n\n _this.handleChange = function (e, value) {\n _invoke(_this.props, 'onChange', e, _extends({}, _this.props, {\n value: value\n }));\n };\n\n _this.closeOnChange = function (e) {\n var _this$props = _this.props,\n closeOnChange = _this$props.closeOnChange,\n multiple = _this$props.multiple;\n var shouldClose = _isUndefined(closeOnChange) ? !multiple : closeOnChange;\n\n if (shouldClose) {\n _this.close(e, _noop);\n }\n };\n\n _this.closeOnEscape = function (e) {\n if (!_this.props.closeOnEscape) return;\n if (keyboardKey.getCode(e) !== keyboardKey.Escape) return;\n e.preventDefault();\n\n _this.close(e);\n };\n\n _this.moveSelectionOnKeyDown = function (e) {\n var _moves;\n\n var _this$props2 = _this.props,\n multiple = _this$props2.multiple,\n selectOnNavigation = _this$props2.selectOnNavigation;\n var open = _this.state.open;\n\n if (!open) {\n return;\n }\n\n var moves = (_moves = {}, _moves[keyboardKey.ArrowDown] = 1, _moves[keyboardKey.ArrowUp] = -1, _moves);\n var move = moves[keyboardKey.getCode(e)];\n\n if (move === undefined) {\n return;\n }\n\n e.preventDefault();\n\n var nextIndex = _this.getSelectedIndexAfterMove(move);\n\n if (!multiple && selectOnNavigation) {\n _this.makeSelectedItemActive(e, nextIndex);\n }\n\n _this.setState({\n selectedIndex: nextIndex\n });\n };\n\n _this.openOnSpace = function (e) {\n var _e$target, _e$target2, _e$target3;\n\n var shouldHandleEvent = _this.state.focus && !_this.state.open && keyboardKey.getCode(e) === keyboardKey.Spacebar;\n var shouldPreventDefault = ((_e$target = e.target) == null ? void 0 : _e$target.tagName) !== 'INPUT' && ((_e$target2 = e.target) == null ? void 0 : _e$target2.tagName) !== 'TEXTAREA' && ((_e$target3 = e.target) == null ? void 0 : _e$target3.isContentEditable) !== true;\n\n if (shouldHandleEvent) {\n if (shouldPreventDefault) {\n e.preventDefault();\n }\n\n _this.open(e);\n }\n };\n\n _this.openOnArrow = function (e) {\n var _this$state = _this.state,\n focus = _this$state.focus,\n open = _this$state.open;\n\n if (focus && !open) {\n var code = keyboardKey.getCode(e);\n\n if (code === keyboardKey.ArrowDown || code === keyboardKey.ArrowUp) {\n e.preventDefault();\n\n _this.open(e);\n }\n }\n };\n\n _this.makeSelectedItemActive = function (e, selectedIndex) {\n var _this$state2 = _this.state,\n open = _this$state2.open,\n value = _this$state2.value;\n var multiple = _this.props.multiple;\n\n var item = _this.getSelectedItem(selectedIndex);\n\n var selectedValue = _get(item, 'value'); // prevent selecting null if there was no selected item value\n // prevent selecting duplicate items when the dropdown is closed\n\n\n if (_isNil(selectedValue) || !open) {\n return value;\n } // state value may be undefined\n\n\n var newValue = multiple ? _union(value, [selectedValue]) : selectedValue;\n var valueHasChanged = multiple ? !!_difference(newValue, value).length : newValue !== value;\n\n if (valueHasChanged) {\n // notify the onChange prop that the user is trying to change value\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue); // Heads up! This event handler should be called after `onChange`\n // Notify the onAddItem prop if this is a new value\n\n\n if (item['data-additional']) {\n _invoke(_this.props, 'onAddItem', e, _extends({}, _this.props, {\n value: selectedValue\n }));\n }\n }\n\n return value;\n };\n\n _this.selectItemOnEnter = function (e) {\n var search = _this.props.search;\n var _this$state3 = _this.state,\n open = _this$state3.open,\n selectedIndex = _this$state3.selectedIndex;\n\n if (!open) {\n return;\n }\n\n var shouldSelect = keyboardKey.getCode(e) === keyboardKey.Enter || // https://github.com/Semantic-Org/Semantic-UI-React/pull/3766\n !search && keyboardKey.getCode(e) === keyboardKey.Spacebar;\n\n if (!shouldSelect) {\n return;\n }\n\n e.preventDefault();\n\n var optionSize = _size(getMenuOptions({\n value: _this.state.value,\n options: _this.props.options,\n searchQuery: _this.state.searchQuery,\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search\n }));\n\n if (search && optionSize === 0) {\n return;\n }\n\n var nextValue = _this.makeSelectedItemActive(e, selectedIndex); // This is required as selected value may be the same\n\n\n _this.setState({\n selectedIndex: getSelectedIndex({\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search,\n selectedIndex: selectedIndex,\n value: nextValue,\n options: _this.props.options,\n searchQuery: ''\n })\n });\n\n _this.closeOnChange(e);\n\n _this.clearSearchQuery();\n\n if (search) {\n _invoke(_this.searchRef.current, 'focus');\n }\n };\n\n _this.removeItemOnBackspace = function (e) {\n var _this$props3 = _this.props,\n multiple = _this$props3.multiple,\n search = _this$props3.search;\n var _this$state4 = _this.state,\n searchQuery = _this$state4.searchQuery,\n value = _this$state4.value;\n if (keyboardKey.getCode(e) !== keyboardKey.Backspace) return;\n if (searchQuery || !search || !multiple || _isEmpty(value)) return;\n e.preventDefault(); // remove most recent value\n\n var newValue = _dropRight(value);\n\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue);\n };\n\n _this.closeOnDocumentClick = function (e) {\n if (!_this.props.closeOnBlur) return; // If event happened in the dropdown, ignore it\n\n if (_this.ref.current && doesNodeContainClick(_this.ref.current, e)) return;\n\n _this.close();\n };\n\n _this.handleMouseDown = function (e) {\n _this.isMouseDown = true;\n\n _invoke(_this.props, 'onMouseDown', e, _this.props);\n\n document.addEventListener('mouseup', _this.handleDocumentMouseUp);\n };\n\n _this.handleDocumentMouseUp = function () {\n _this.isMouseDown = false;\n document.removeEventListener('mouseup', _this.handleDocumentMouseUp);\n };\n\n _this.handleClick = function (e) {\n var _this$props4 = _this.props,\n minCharacters = _this$props4.minCharacters,\n search = _this$props4.search;\n var _this$state5 = _this.state,\n open = _this$state5.open,\n searchQuery = _this$state5.searchQuery;\n\n _invoke(_this.props, 'onClick', e, _this.props); // prevent closeOnDocumentClick()\n\n\n e.stopPropagation();\n if (!search) return _this.toggle(e);\n\n if (open) {\n _invoke(_this.searchRef.current, 'focus');\n\n return;\n }\n\n if (searchQuery.length >= minCharacters || minCharacters === 1) {\n _this.open(e);\n\n return;\n }\n\n _invoke(_this.searchRef.current, 'focus');\n };\n\n _this.handleIconClick = function (e) {\n var clearable = _this.props.clearable;\n\n var hasValue = _this.hasValue();\n\n _invoke(_this.props, 'onClick', e, _this.props); // prevent handleClick()\n\n\n e.stopPropagation();\n\n if (clearable && hasValue) {\n _this.clearValue(e);\n } else {\n _this.toggle(e);\n }\n };\n\n _this.handleItemClick = function (e, item) {\n var _this$props5 = _this.props,\n multiple = _this$props5.multiple,\n search = _this$props5.search;\n var currentValue = _this.state.value;\n var value = item.value; // prevent toggle() in handleClick()\n\n e.stopPropagation(); // prevent closeOnDocumentClick() if multiple or item is disabled\n\n if (multiple || item.disabled) {\n e.nativeEvent.stopImmediatePropagation();\n }\n\n if (item.disabled) {\n return;\n }\n\n var isAdditionItem = item['data-additional'];\n var newValue = multiple ? _union(_this.state.value, [value]) : value;\n var valueHasChanged = multiple ? !!_difference(newValue, currentValue).length : newValue !== currentValue; // notify the onChange prop that the user is trying to change value\n\n if (valueHasChanged) {\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue);\n }\n\n _this.clearSearchQuery();\n\n if (search) {\n _invoke(_this.searchRef.current, 'focus');\n } else {\n _invoke(_this.ref.current, 'focus');\n }\n\n _this.closeOnChange(e); // Heads up! This event handler should be called after `onChange`\n // Notify the onAddItem prop if this is a new value\n\n\n if (isAdditionItem) {\n _invoke(_this.props, 'onAddItem', e, _extends({}, _this.props, {\n value: value\n }));\n }\n };\n\n _this.handleFocus = function (e) {\n var focus = _this.state.focus;\n if (focus) return;\n\n _invoke(_this.props, 'onFocus', e, _this.props);\n\n _this.setState({\n focus: true\n });\n };\n\n _this.handleBlur = function (e) {\n // Heads up! Don't remove this.\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/1315\n var currentTarget = _get(e, 'currentTarget');\n\n if (currentTarget && currentTarget.contains(document.activeElement)) return;\n var _this$props6 = _this.props,\n closeOnBlur = _this$props6.closeOnBlur,\n multiple = _this$props6.multiple,\n selectOnBlur = _this$props6.selectOnBlur; // do not \"blur\" when the mouse is down inside of the Dropdown\n\n if (_this.isMouseDown) return;\n\n _invoke(_this.props, 'onBlur', e, _this.props);\n\n if (selectOnBlur && !multiple) {\n _this.makeSelectedItemActive(e, _this.state.selectedIndex);\n\n if (closeOnBlur) _this.close();\n }\n\n _this.setState({\n focus: false\n });\n\n _this.clearSearchQuery();\n };\n\n _this.handleSearchChange = function (e, _ref) {\n var value = _ref.value;\n // prevent propagating to this.props.onChange()\n e.stopPropagation();\n var minCharacters = _this.props.minCharacters;\n var open = _this.state.open;\n var newQuery = value;\n\n _invoke(_this.props, 'onSearchChange', e, _extends({}, _this.props, {\n searchQuery: newQuery\n }));\n\n _this.setState({\n searchQuery: newQuery,\n selectedIndex: 0\n }); // open search dropdown on search query\n\n\n if (!open && newQuery.length >= minCharacters) {\n _this.open();\n\n return;\n } // close search dropdown if search query is too small\n\n\n if (open && minCharacters !== 1 && newQuery.length < minCharacters) _this.close();\n };\n\n _this.handleKeyDown = function (e) {\n _this.moveSelectionOnKeyDown(e);\n\n _this.openOnArrow(e);\n\n _this.openOnSpace(e);\n\n _this.selectItemOnEnter(e);\n\n _invoke(_this.props, 'onKeyDown', e);\n };\n\n _this.getSelectedItem = function (selectedIndex) {\n var options = getMenuOptions({\n value: _this.state.value,\n options: _this.props.options,\n searchQuery: _this.state.searchQuery,\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search\n });\n return _get(options, \"[\" + selectedIndex + \"]\");\n };\n\n _this.getItemByValue = function (value) {\n var options = _this.props.options;\n return _find(options, {\n value: value\n });\n };\n\n _this.getDropdownAriaOptions = function () {\n var _this$props7 = _this.props,\n loading = _this$props7.loading,\n disabled = _this$props7.disabled,\n search = _this$props7.search,\n multiple = _this$props7.multiple;\n var open = _this.state.open;\n var ariaOptions = {\n role: search ? 'combobox' : 'listbox',\n 'aria-busy': loading,\n 'aria-disabled': disabled,\n 'aria-expanded': !!open\n };\n\n if (ariaOptions.role === 'listbox') {\n ariaOptions['aria-multiselectable'] = multiple;\n }\n\n return ariaOptions;\n };\n\n _this.clearSearchQuery = function () {\n var searchQuery = _this.state.searchQuery;\n if (searchQuery === undefined || searchQuery === '') return;\n\n _this.setState({\n searchQuery: ''\n });\n };\n\n _this.handleLabelClick = function (e, labelProps) {\n // prevent focusing search input on click\n e.stopPropagation();\n\n _this.setState({\n selectedLabel: labelProps.value\n });\n\n _invoke(_this.props, 'onLabelClick', e, labelProps);\n };\n\n _this.handleLabelRemove = function (e, labelProps) {\n // prevent focusing search input on click\n e.stopPropagation();\n var value = _this.state.value;\n\n var newValue = _without(value, labelProps.value);\n\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue);\n };\n\n _this.getSelectedIndexAfterMove = function (offset, startIndex) {\n if (startIndex === void 0) {\n startIndex = _this.state.selectedIndex;\n }\n\n var options = getMenuOptions({\n value: _this.state.value,\n options: _this.props.options,\n searchQuery: _this.state.searchQuery,\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search\n }); // Prevent infinite loop\n // TODO: remove left part of condition after children API will be removed\n\n if (options === undefined || _every(options, 'disabled')) return;\n var lastIndex = options.length - 1;\n var wrapSelection = _this.props.wrapSelection; // next is after last, wrap to beginning\n // next is before first, wrap to end\n\n var nextIndex = startIndex + offset; // if 'wrapSelection' is set to false and selection is after last or before first, it just does not change\n\n if (!wrapSelection && (nextIndex > lastIndex || nextIndex < 0)) {\n nextIndex = startIndex;\n } else if (nextIndex > lastIndex) {\n nextIndex = 0;\n } else if (nextIndex < 0) {\n nextIndex = lastIndex;\n }\n\n if (options[nextIndex].disabled) {\n return _this.getSelectedIndexAfterMove(offset, nextIndex);\n }\n\n return nextIndex;\n };\n\n _this.handleIconOverrides = function (predefinedProps) {\n var clearable = _this.props.clearable;\n var classes = cx(clearable && _this.hasValue() && 'clear', predefinedProps.className);\n return {\n className: classes,\n onClick: function onClick(e) {\n _invoke(predefinedProps, 'onClick', e, predefinedProps);\n\n _this.handleIconClick(e);\n }\n };\n };\n\n _this.clearValue = function (e) {\n var multiple = _this.props.multiple;\n var newValue = multiple ? [] : '';\n\n _this.setState({\n value: newValue\n });\n\n _this.handleChange(e, newValue);\n };\n\n _this.computeSearchInputTabIndex = function () {\n var _this$props8 = _this.props,\n disabled = _this$props8.disabled,\n tabIndex = _this$props8.tabIndex;\n if (!_isNil(tabIndex)) return tabIndex;\n return disabled ? -1 : 0;\n };\n\n _this.computeSearchInputWidth = function () {\n var searchQuery = _this.state.searchQuery;\n\n if (_this.sizerRef.current && searchQuery) {\n // resize the search input, temporarily show the sizer so we can measure it\n _this.sizerRef.current.style.display = 'inline';\n _this.sizerRef.current.textContent = searchQuery;\n var searchWidth = Math.ceil(_this.sizerRef.current.getBoundingClientRect().width);\n\n _this.sizerRef.current.style.removeProperty('display');\n\n return searchWidth;\n }\n };\n\n _this.computeTabIndex = function () {\n var _this$props9 = _this.props,\n disabled = _this$props9.disabled,\n search = _this$props9.search,\n tabIndex = _this$props9.tabIndex; // don't set a root node tabIndex as the search input has its own tabIndex\n\n if (search) return undefined;\n if (disabled) return -1;\n return _isNil(tabIndex) ? 0 : tabIndex;\n };\n\n _this.handleSearchInputOverrides = function (predefinedProps) {\n return {\n onChange: function onChange(e, inputProps) {\n _invoke(predefinedProps, 'onChange', e, inputProps);\n\n _this.handleSearchChange(e, inputProps);\n }\n };\n };\n\n _this.hasValue = function () {\n var multiple = _this.props.multiple;\n var value = _this.state.value;\n return multiple ? !_isEmpty(value) : !_isNil(value) && value !== '';\n };\n\n _this.scrollSelectedItemIntoView = function () {\n if (!_this.ref.current) return;\n\n var menu = _this.ref.current.querySelector('.menu.visible');\n\n if (!menu) return;\n var item = menu.querySelector('.item.selected');\n if (!item) return;\n var isOutOfUpperView = item.offsetTop < menu.scrollTop;\n var isOutOfLowerView = item.offsetTop + item.clientHeight > menu.scrollTop + menu.clientHeight;\n\n if (isOutOfUpperView) {\n menu.scrollTop = item.offsetTop;\n } else if (isOutOfLowerView) {\n // eslint-disable-next-line no-mixed-operators\n menu.scrollTop = item.offsetTop + item.clientHeight - menu.clientHeight;\n }\n };\n\n _this.setOpenDirection = function () {\n if (!_this.ref.current) return;\n\n var menu = _this.ref.current.querySelector('.menu.visible');\n\n if (!menu) return;\n\n var dropdownRect = _this.ref.current.getBoundingClientRect();\n\n var menuHeight = menu.clientHeight;\n var spaceAtTheBottom = document.documentElement.clientHeight - dropdownRect.top - dropdownRect.height - menuHeight;\n var spaceAtTheTop = dropdownRect.top - menuHeight;\n var upward = spaceAtTheBottom < 0 && spaceAtTheTop > spaceAtTheBottom; // set state only if there's a relevant difference\n\n if (!upward !== !_this.state.upward) {\n _this.setState({\n upward: upward\n });\n }\n };\n\n _this.open = function (e, triggerSetState) {\n if (e === void 0) {\n e = null;\n }\n\n if (triggerSetState === void 0) {\n triggerSetState = true;\n }\n\n var _this$props10 = _this.props,\n disabled = _this$props10.disabled,\n search = _this$props10.search;\n if (disabled) return;\n if (search) _invoke(_this.searchRef.current, 'focus');\n\n _invoke(_this.props, 'onOpen', e, _this.props);\n\n if (triggerSetState) {\n _this.setState({\n open: true\n });\n }\n\n _this.scrollSelectedItemIntoView();\n };\n\n _this.close = function (e, callback) {\n if (callback === void 0) {\n callback = _this.handleClose;\n }\n\n if (_this.state.open) {\n _invoke(_this.props, 'onClose', e, _this.props);\n\n _this.setState({\n open: false\n }, callback);\n }\n };\n\n _this.handleClose = function () {\n var hasSearchFocus = document.activeElement === _this.searchRef.current; // https://github.com/Semantic-Org/Semantic-UI-React/issues/627\n // Blur the Dropdown on close so it is blurred after selecting an item.\n // This is to prevent it from re-opening when switching tabs after selecting an item.\n\n if (!hasSearchFocus && _this.ref.current) {\n _this.ref.current.blur();\n }\n\n var hasDropdownFocus = document.activeElement === _this.ref.current;\n var hasFocus = hasSearchFocus || hasDropdownFocus; // We need to keep the virtual model in sync with the browser focus change\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/692\n\n _this.setState({\n focus: hasFocus\n });\n };\n\n _this.toggle = function (e) {\n return _this.state.open ? _this.close(e) : _this.open(e);\n };\n\n _this.renderText = function () {\n var _this$props11 = _this.props,\n multiple = _this$props11.multiple,\n placeholder = _this$props11.placeholder,\n search = _this$props11.search,\n text = _this$props11.text;\n var _this$state6 = _this.state,\n searchQuery = _this$state6.searchQuery,\n selectedIndex = _this$state6.selectedIndex,\n value = _this$state6.value,\n open = _this$state6.open;\n\n var hasValue = _this.hasValue();\n\n var classes = cx(placeholder && !hasValue && 'default', 'text', search && searchQuery && 'filtered');\n var _text = placeholder;\n var selectedItem;\n\n if (text) {\n _text = text;\n } else if (open && !multiple) {\n selectedItem = _this.getSelectedItem(selectedIndex);\n } else if (hasValue) {\n selectedItem = _this.getItemByValue(value);\n }\n\n return DropdownText.create(selectedItem ? renderItemContent(selectedItem) : _text, {\n defaultProps: {\n className: classes\n }\n });\n };\n\n _this.renderSearchInput = function () {\n var _this$props12 = _this.props,\n search = _this$props12.search,\n searchInput = _this$props12.searchInput;\n var searchQuery = _this.state.searchQuery;\n return search && /*#__PURE__*/React.createElement(Ref, {\n innerRef: _this.searchRef\n }, DropdownSearchInput.create(searchInput, {\n defaultProps: {\n style: {\n width: _this.computeSearchInputWidth()\n },\n tabIndex: _this.computeSearchInputTabIndex(),\n value: searchQuery\n },\n overrideProps: _this.handleSearchInputOverrides\n }));\n };\n\n _this.renderSearchSizer = function () {\n var _this$props13 = _this.props,\n search = _this$props13.search,\n multiple = _this$props13.multiple;\n return search && multiple && /*#__PURE__*/React.createElement(\"span\", {\n className: \"sizer\",\n ref: _this.sizerRef\n });\n };\n\n _this.renderLabels = function () {\n var _this$props14 = _this.props,\n multiple = _this$props14.multiple,\n renderLabel = _this$props14.renderLabel;\n var _this$state7 = _this.state,\n selectedLabel = _this$state7.selectedLabel,\n value = _this$state7.value;\n\n if (!multiple || _isEmpty(value)) {\n return;\n }\n\n var selectedItems = _map(value, _this.getItemByValue);\n\n // if no item could be found for a given state value the selected item will be undefined\n // compact the selectedItems so we only have actual objects left\n return _map(_compact(selectedItems), function (item, index) {\n var defaultProps = {\n active: item.value === selectedLabel,\n as: 'a',\n key: getKeyOrValue(item.key, item.value),\n onClick: _this.handleLabelClick,\n onRemove: _this.handleLabelRemove,\n value: item.value\n };\n return Label.create(renderLabel(item, index, defaultProps), {\n defaultProps: defaultProps\n });\n });\n };\n\n _this.renderOptions = function () {\n var _this$props15 = _this.props,\n lazyLoad = _this$props15.lazyLoad,\n multiple = _this$props15.multiple,\n search = _this$props15.search,\n noResultsMessage = _this$props15.noResultsMessage;\n var _this$state8 = _this.state,\n open = _this$state8.open,\n selectedIndex = _this$state8.selectedIndex,\n value = _this$state8.value; // lazy load, only render options when open\n\n if (lazyLoad && !open) return null;\n var options = getMenuOptions({\n value: _this.state.value,\n options: _this.props.options,\n searchQuery: _this.state.searchQuery,\n additionLabel: _this.props.additionLabel,\n additionPosition: _this.props.additionPosition,\n allowAdditions: _this.props.allowAdditions,\n deburr: _this.props.deburr,\n multiple: _this.props.multiple,\n search: _this.props.search\n });\n\n if (noResultsMessage !== null && search && _isEmpty(options)) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"message\"\n }, noResultsMessage);\n }\n\n var isActive = multiple ? function (optValue) {\n return _includes(value, optValue);\n } : function (optValue) {\n return optValue === value;\n };\n return _map(options, function (opt, i) {\n return DropdownItem.create(_extends({\n active: isActive(opt.value),\n onClick: _this.handleItemClick,\n selected: selectedIndex === i\n }, opt, {\n key: getKeyOrValue(opt.key, opt.value),\n // Needed for handling click events on disabled items\n style: _extends({}, opt.style, {\n pointerEvents: 'all'\n })\n }));\n });\n };\n\n _this.renderMenu = function () {\n var _this$props16 = _this.props,\n children = _this$props16.children,\n direction = _this$props16.direction,\n header = _this$props16.header;\n var open = _this.state.open;\n\n var ariaOptions = _this.getDropdownMenuAriaOptions(); // single menu child\n\n\n if (!childrenUtils.isNil(children)) {\n var menuChild = Children.only(children);\n var className = cx(direction, useKeyOnly(open, 'visible'), menuChild.props.className);\n return /*#__PURE__*/cloneElement(menuChild, _extends({\n className: className\n }, ariaOptions));\n }\n\n return /*#__PURE__*/React.createElement(DropdownMenu, _extends({}, ariaOptions, {\n direction: direction,\n open: open\n }), DropdownHeader.create(header, {\n autoGenerateKey: false\n }), _this.renderOptions());\n };\n\n return _this;\n }\n\n var _proto = Dropdown.prototype;\n\n _proto.getInitialAutoControlledState = function getInitialAutoControlledState() {\n return {\n focus: false,\n searchQuery: ''\n };\n };\n\n Dropdown.getAutoControlledStateFromProps = function getAutoControlledStateFromProps(nextProps, computedState, prevState) {\n // These values are stored only for a comparison on next getAutoControlledStateFromProps()\n var derivedState = {\n __options: nextProps.options,\n __value: computedState.value\n }; // The selected index is only dependent:\n\n var shouldComputeSelectedIndex = // On value change\n !shallowEqual(prevState.__value, computedState.value) || // On option keys/values, we only check those properties to avoid recursive performance impacts.\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/3000\n !_isEqual(getKeyAndValues(nextProps.options), getKeyAndValues(prevState.__options));\n\n if (shouldComputeSelectedIndex) {\n derivedState.selectedIndex = getSelectedIndex({\n additionLabel: nextProps.additionLabel,\n additionPosition: nextProps.additionPosition,\n allowAdditions: nextProps.allowAdditions,\n deburr: nextProps.deburr,\n multiple: nextProps.multiple,\n search: nextProps.search,\n selectedIndex: computedState.selectedIndex,\n value: computedState.value,\n options: nextProps.options,\n searchQuery: computedState.searchQuery\n });\n }\n\n return derivedState;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var open = this.state.open;\n\n if (open) {\n this.open(null, false);\n }\n };\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n return !shallowEqual(nextProps, this.props) || !shallowEqual(nextState, this.state);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // eslint-disable-line complexity\n var _this$props17 = this.props,\n closeOnBlur = _this$props17.closeOnBlur,\n minCharacters = _this$props17.minCharacters,\n openOnFocus = _this$props17.openOnFocus,\n search = _this$props17.search;\n /* eslint-disable no-console */\n\n if (process.env.NODE_ENV !== 'production') {\n // in development, validate value type matches dropdown type\n var isNextValueArray = Array.isArray(this.props.value);\n\n var hasValue = _has(this.props, 'value');\n\n if (hasValue && this.props.multiple && !isNextValueArray) {\n console.error('Dropdown `value` must be an array when `multiple` is set.' + (\" Received type: `\" + Object.prototype.toString.call(this.props.value) + \"`.\"));\n } else if (hasValue && !this.props.multiple && isNextValueArray) {\n console.error('Dropdown `value` must not be an array when `multiple` is not set.' + ' Either set `multiple={true}` or use a string or number value.');\n }\n }\n /* eslint-enable no-console */\n // focused / blurred\n\n\n if (!prevState.focus && this.state.focus) {\n if (!this.isMouseDown) {\n var openable = !search || search && minCharacters === 1 && !this.state.open;\n if (openOnFocus && openable) this.open();\n }\n } else if (prevState.focus && !this.state.focus) {\n if (!this.isMouseDown && closeOnBlur) {\n this.close();\n }\n } // opened / closed\n\n\n if (!prevState.open && this.state.open) {\n this.setOpenDirection();\n this.scrollSelectedItemIntoView();\n } else if (prevState.open && !this.state.open) {}\n\n if (prevState.selectedIndex !== this.state.selectedIndex) {\n this.scrollSelectedItemIntoView();\n }\n } // ----------------------------------------\n // Document Event Handlers\n // ----------------------------------------\n // onChange needs to receive a value\n // can't rely on props.value if we are controlled\n ;\n\n _proto.getDropdownMenuAriaOptions = function getDropdownMenuAriaOptions() {\n var _this$props18 = this.props,\n search = _this$props18.search,\n multiple = _this$props18.multiple;\n var ariaOptions = {};\n\n if (search) {\n ariaOptions['aria-multiselectable'] = multiple;\n ariaOptions.role = 'listbox';\n }\n\n return ariaOptions;\n } // ----------------------------------------\n // Setters\n // ----------------------------------------\n ;\n\n _proto.render = function render() {\n var _this$props19 = this.props,\n basic = _this$props19.basic,\n button = _this$props19.button,\n className = _this$props19.className,\n compact = _this$props19.compact,\n disabled = _this$props19.disabled,\n error = _this$props19.error,\n fluid = _this$props19.fluid,\n floating = _this$props19.floating,\n icon = _this$props19.icon,\n inline = _this$props19.inline,\n item = _this$props19.item,\n labeled = _this$props19.labeled,\n loading = _this$props19.loading,\n multiple = _this$props19.multiple,\n pointing = _this$props19.pointing,\n search = _this$props19.search,\n selection = _this$props19.selection,\n scrolling = _this$props19.scrolling,\n simple = _this$props19.simple,\n trigger = _this$props19.trigger;\n var _this$state9 = this.state,\n focus = _this$state9.focus,\n open = _this$state9.open,\n upward = _this$state9.upward; // Classes\n\n var classes = cx('ui', useKeyOnly(open, 'active visible'), useKeyOnly(disabled, 'disabled'), useKeyOnly(error, 'error'), useKeyOnly(loading, 'loading'), useKeyOnly(basic, 'basic'), useKeyOnly(button, 'button'), useKeyOnly(compact, 'compact'), useKeyOnly(fluid, 'fluid'), useKeyOnly(floating, 'floating'), useKeyOnly(inline, 'inline'), // TODO: consider augmentation to render Dropdowns as Button/Menu, solves icon/link item issues\n // https://github.com/Semantic-Org/Semantic-UI-React/issues/401#issuecomment-240487229\n // TODO: the icon class is only required when a dropdown is a button\n // useKeyOnly(icon, 'icon'),\n useKeyOnly(labeled, 'labeled'), useKeyOnly(item, 'item'), useKeyOnly(multiple, 'multiple'), useKeyOnly(search, 'search'), useKeyOnly(selection, 'selection'), useKeyOnly(simple, 'simple'), useKeyOnly(scrolling, 'scrolling'), useKeyOnly(upward, 'upward'), useKeyOrValueAndKey(pointing, 'pointing'), 'dropdown', className);\n var rest = getUnhandledProps(Dropdown, this.props);\n var ElementType = getElementType(Dropdown, this.props);\n var ariaOptions = this.getDropdownAriaOptions(ElementType, this.props);\n return /*#__PURE__*/React.createElement(Ref, {\n innerRef: this.ref\n }, /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, ariaOptions, {\n className: classes,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleMouseDown,\n onFocus: this.handleFocus,\n onChange: this.handleChange,\n tabIndex: this.computeTabIndex()\n }), this.renderLabels(), this.renderSearchInput(), this.renderSearchSizer(), trigger || this.renderText(), Icon.create(icon, {\n overrideProps: this.handleIconOverrides,\n autoGenerateKey: false\n }), this.renderMenu(), open && /*#__PURE__*/React.createElement(EventStack, {\n name: \"keydown\",\n on: this.closeOnEscape\n }), open && /*#__PURE__*/React.createElement(EventStack, {\n name: \"click\",\n on: this.closeOnDocumentClick\n }), focus && /*#__PURE__*/React.createElement(EventStack, {\n name: \"keydown\",\n on: this.removeItemOnBackspace\n })));\n };\n\n return Dropdown;\n}(Component);\n\nDropdown.handledProps = [\"additionLabel\", \"additionPosition\", \"allowAdditions\", \"as\", \"basic\", \"button\", \"children\", \"className\", \"clearable\", \"closeOnBlur\", \"closeOnChange\", \"closeOnEscape\", \"compact\", \"deburr\", \"defaultOpen\", \"defaultSearchQuery\", \"defaultSelectedLabel\", \"defaultUpward\", \"defaultValue\", \"direction\", \"disabled\", \"error\", \"floating\", \"fluid\", \"header\", \"icon\", \"inline\", \"item\", \"labeled\", \"lazyLoad\", \"loading\", \"minCharacters\", \"multiple\", \"noResultsMessage\", \"onAddItem\", \"onBlur\", \"onChange\", \"onClick\", \"onClose\", \"onFocus\", \"onLabelClick\", \"onMouseDown\", \"onOpen\", \"onSearchChange\", \"open\", \"openOnFocus\", \"options\", \"placeholder\", \"pointing\", \"renderLabel\", \"scrolling\", \"search\", \"searchInput\", \"searchQuery\", \"selectOnBlur\", \"selectOnNavigation\", \"selectedLabel\", \"selection\", \"simple\", \"tabIndex\", \"text\", \"trigger\", \"upward\", \"value\", \"wrapSelection\"];\nexport { Dropdown as default };\nDropdown.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Label prefixed to an option added by a user. */\n additionLabel: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n\n /** Position of the `Add: ...` option in the dropdown list ('top' or 'bottom'). */\n additionPosition: PropTypes.oneOf(['top', 'bottom']),\n\n /**\n * Allow user additions to the list of options (boolean).\n * Requires the use of `selection`, `options` and `search`.\n */\n allowAdditions: customPropTypes.every([customPropTypes.demand(['options', 'selection', 'search']), PropTypes.bool]),\n\n /** A Dropdown can reduce its complexity. */\n basic: PropTypes.bool,\n\n /** Format the Dropdown to appear as a button. */\n button: PropTypes.bool,\n\n /** Primary content. */\n children: customPropTypes.every([customPropTypes.disallow(['options', 'selection']), customPropTypes.givenProps({\n children: PropTypes.any.isRequired\n }, PropTypes.element.isRequired)]),\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Using the clearable setting will let users remove their selection from a dropdown. */\n clearable: PropTypes.bool,\n\n /** Whether or not the menu should close when the dropdown is blurred. */\n closeOnBlur: PropTypes.bool,\n\n /** Whether or not the dropdown should close when the escape key is pressed. */\n closeOnEscape: PropTypes.bool,\n\n /**\n * Whether or not the menu should close when a value is selected from the dropdown.\n * By default, multiple selection dropdowns will remain open on change, while single\n * selection dropdowns will close on change.\n */\n closeOnChange: PropTypes.bool,\n\n /** A compact dropdown has no minimum width. */\n compact: PropTypes.bool,\n\n /** Whether or not the dropdown should strip diacritics in options and input search */\n deburr: PropTypes.bool,\n\n /** Initial value of open. */\n defaultOpen: PropTypes.bool,\n\n /** Initial value of searchQuery. */\n defaultSearchQuery: PropTypes.string,\n\n /** Currently selected label in multi-select. */\n defaultSelectedLabel: customPropTypes.every([customPropTypes.demand(['multiple']), PropTypes.oneOfType([PropTypes.number, PropTypes.string])]),\n\n /** Initial value of upward. */\n defaultUpward: PropTypes.bool,\n\n /** Initial value or value array if multiple. */\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.bool]))]),\n\n /** A dropdown menu can open to the left or to the right. */\n direction: PropTypes.oneOf(['left', 'right']),\n\n /** A disabled dropdown menu or item does not allow user interaction. */\n disabled: PropTypes.bool,\n\n /** An errored dropdown can alert a user to a problem. */\n error: PropTypes.bool,\n\n /** A dropdown menu can contain floated content. */\n floating: PropTypes.bool,\n\n /** A dropdown can take the full width of its parent */\n fluid: PropTypes.bool,\n\n /** A dropdown menu can contain a header. */\n header: PropTypes.node,\n\n /** Shorthand for Icon. */\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n\n /** A dropdown can be formatted to appear inline in other content. */\n inline: PropTypes.bool,\n\n /** A dropdown can be formatted as a Menu item. */\n item: PropTypes.bool,\n\n /** A dropdown can be labeled. */\n labeled: PropTypes.bool,\n\n /** A dropdown can defer rendering its options until it is open. */\n lazyLoad: PropTypes.bool,\n\n /** A dropdown can show that it is currently loading data. */\n loading: PropTypes.bool,\n\n /** The minimum characters for a search to begin showing results. */\n minCharacters: PropTypes.number,\n\n /** A selection dropdown can allow multiple selections. */\n multiple: PropTypes.bool,\n\n /** Message to display when there are no results. */\n noResultsMessage: PropTypes.node,\n\n /**\n * Called when a user adds a new item. Use this to update the options list.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and the new item's value.\n */\n onAddItem: PropTypes.func,\n\n /**\n * Called on blur.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onBlur: PropTypes.func,\n\n /**\n * Called when the user attempts to change the value.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props and proposed value.\n */\n onChange: PropTypes.func,\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * Called when a close event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClose: PropTypes.func,\n\n /**\n * Called on focus.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onFocus: PropTypes.func,\n\n /**\n * Called when a multi-select label is clicked.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All label props.\n */\n onLabelClick: PropTypes.func,\n\n /**\n * Called on mousedown.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onMouseDown: PropTypes.func,\n\n /**\n * Called when an open event happens.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onOpen: PropTypes.func,\n\n /**\n * Called on search input change.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props, includes current value of searchQuery.\n */\n onSearchChange: PropTypes.func,\n\n /** Controls whether or not the dropdown menu is displayed. */\n open: PropTypes.bool,\n\n /** Whether or not the menu should open when the dropdown is focused. */\n openOnFocus: PropTypes.bool,\n\n /** Array of Dropdown.Item props e.g. `{ text: '', value: '' }` */\n options: customPropTypes.every([customPropTypes.disallow(['children']), PropTypes.arrayOf(PropTypes.shape(DropdownItem.propTypes))]),\n\n /** Placeholder text. */\n placeholder: PropTypes.string,\n\n /** A dropdown can be formatted so that its menu is pointing. */\n pointing: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right', 'top', 'top left', 'top right', 'bottom', 'bottom left', 'bottom right'])]),\n\n /**\n * Mapped over the active items and returns shorthand for the active item Labels.\n * Only applies to `multiple` Dropdowns.\n *\n * @param {object} item - A currently active dropdown item.\n * @param {number} index - The current index.\n * @param {object} defaultLabelProps - The default props for an active item Label.\n * @returns {*} Shorthand for a Label.\n */\n renderLabel: PropTypes.func,\n\n /** A dropdown can have its menu scroll. */\n scrolling: PropTypes.bool,\n\n /**\n * A selection dropdown can allow a user to search through a large list of choices.\n * Pass a function here to replace the default search.\n */\n search: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\n /** A shorthand for a search input. */\n searchInput: PropTypes.oneOfType([PropTypes.array, PropTypes.node, PropTypes.object]),\n\n /** Current value of searchQuery. Creates a controlled component. */\n searchQuery: PropTypes.string,\n // TODO 'searchInMenu' or 'search='in menu' or ??? How to handle this markup and functionality?\n\n /** Define whether the highlighted item should be selected on blur. */\n selectOnBlur: PropTypes.bool,\n\n /**\n * Whether or not to change the value when navigating the menu using arrow keys.\n * Setting to false will require enter or left click to confirm a choice.\n */\n selectOnNavigation: PropTypes.bool,\n\n /** Currently selected label in multi-select. */\n selectedLabel: customPropTypes.every([customPropTypes.demand(['multiple']), PropTypes.oneOfType([PropTypes.string, PropTypes.number])]),\n\n /** A dropdown can be used to select between choices in a form. */\n selection: customPropTypes.every([customPropTypes.disallow(['children']), customPropTypes.demand(['options']), PropTypes.bool]),\n\n /** A simple dropdown can open without Javascript. */\n simple: PropTypes.bool,\n\n /** A dropdown can receive focus. */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** The text displayed in the dropdown, usually for the active item. */\n text: PropTypes.string,\n\n /** Custom element to trigger the menu to become visible. Takes place of 'text'. */\n trigger: customPropTypes.every([customPropTypes.disallow(['selection', 'text']), PropTypes.node]),\n\n /** Current value or value array if multiple. Creates a controlled component. */\n value: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]))]),\n\n /** Controls whether the dropdown will open upward. */\n upward: PropTypes.bool,\n\n /**\n * A dropdown will go to the last element when ArrowUp is pressed on the first,\n * or go to the first when ArrowDown is pressed on the last( aka infinite selection )\n */\n wrapSelection: PropTypes.bool\n} : {};\nDropdown.defaultProps = {\n additionLabel: 'Add ',\n additionPosition: 'top',\n closeOnBlur: true,\n closeOnEscape: true,\n deburr: false,\n icon: 'dropdown',\n minCharacters: 1,\n noResultsMessage: 'No results found.',\n openOnFocus: true,\n renderLabel: renderItemContent,\n searchInput: 'text',\n selectOnBlur: true,\n selectOnNavigation: true,\n wrapSelection: true\n};\nDropdown.autoControlledProps = ['open', 'searchQuery', 'selectedLabel', 'value', 'upward'];\nDropdown.Divider = DropdownDivider;\nDropdown.Header = DropdownHeader;\nDropdown.Item = DropdownItem;\nDropdown.Menu = DropdownMenu;\nDropdown.SearchInput = DropdownSearchInput;\nDropdown.Text = DropdownText;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _isUndefined from \"lodash/isUndefined\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { childrenUtils, createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey } from '../../lib';\nimport Icon from '../Icon/Icon';\nimport Image from '../Image/Image';\nimport LabelDetail from './LabelDetail';\nimport LabelGroup from './LabelGroup';\n/**\n * A label displays content classification.\n */\n\nvar Label = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Label, _Component);\n\n function Label() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n if (onClick) onClick(e, _this.props);\n };\n\n _this.handleIconOverrides = function (predefinedProps) {\n return {\n onClick: function onClick(e) {\n _invoke(predefinedProps, 'onClick', e);\n\n _invoke(_this.props, 'onRemove', e, _this.props);\n }\n };\n };\n\n return _this;\n }\n\n var _proto = Label.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n active = _this$props.active,\n attached = _this$props.attached,\n basic = _this$props.basic,\n children = _this$props.children,\n circular = _this$props.circular,\n className = _this$props.className,\n color = _this$props.color,\n content = _this$props.content,\n corner = _this$props.corner,\n detail = _this$props.detail,\n empty = _this$props.empty,\n floating = _this$props.floating,\n horizontal = _this$props.horizontal,\n icon = _this$props.icon,\n image = _this$props.image,\n onRemove = _this$props.onRemove,\n pointing = _this$props.pointing,\n prompt = _this$props.prompt,\n removeIcon = _this$props.removeIcon,\n ribbon = _this$props.ribbon,\n size = _this$props.size,\n tag = _this$props.tag;\n var pointingClass = pointing === true && 'pointing' || (pointing === 'left' || pointing === 'right') && pointing + \" pointing\" || (pointing === 'above' || pointing === 'below') && \"pointing \" + pointing;\n var classes = cx('ui', color, pointingClass, size, useKeyOnly(active, 'active'), useKeyOnly(basic, 'basic'), useKeyOnly(circular, 'circular'), useKeyOnly(empty, 'empty'), useKeyOnly(floating, 'floating'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(image === true, 'image'), useKeyOnly(prompt, 'prompt'), useKeyOnly(tag, 'tag'), useKeyOrValueAndKey(corner, 'corner'), useKeyOrValueAndKey(ribbon, 'ribbon'), useValueAndKey(attached, 'attached'), 'label', className);\n var rest = getUnhandledProps(Label, this.props);\n var ElementType = getElementType(Label, this.props);\n\n if (!childrenUtils.isNil(children)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n onClick: this.handleClick\n }), children);\n }\n\n var removeIconShorthand = _isUndefined(removeIcon) ? 'delete' : removeIcon;\n return /*#__PURE__*/React.createElement(ElementType, _extends({\n className: classes,\n onClick: this.handleClick\n }, rest), Icon.create(icon, {\n autoGenerateKey: false\n }), typeof image !== 'boolean' && Image.create(image, {\n autoGenerateKey: false\n }), content, LabelDetail.create(detail, {\n autoGenerateKey: false\n }), onRemove && Icon.create(removeIconShorthand, {\n autoGenerateKey: false,\n overrideProps: this.handleIconOverrides\n }));\n };\n\n return Label;\n}(Component);\n\nLabel.handledProps = [\"active\", \"as\", \"attached\", \"basic\", \"children\", \"circular\", \"className\", \"color\", \"content\", \"corner\", \"detail\", \"empty\", \"floating\", \"horizontal\", \"icon\", \"image\", \"onClick\", \"onRemove\", \"pointing\", \"prompt\", \"removeIcon\", \"ribbon\", \"size\", \"tag\"];\nexport { Label as default };\nLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** A label can be active. */\n active: PropTypes.bool,\n\n /** A label can attach to a content segment. */\n attached: PropTypes.oneOf(['top', 'bottom', 'top right', 'top left', 'bottom left', 'bottom right']),\n\n /** A label can reduce its complexity. */\n basic: PropTypes.bool,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** A label can be circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Color of the label. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** A label can position itself in the corner of an element. */\n corner: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n\n /** Shorthand for LabelDetail. */\n detail: customPropTypes.itemShorthand,\n\n /** Formats the label as a dot. */\n empty: customPropTypes.every([PropTypes.bool, customPropTypes.demand(['circular'])]),\n\n /** Float above another element in the upper right corner. */\n floating: PropTypes.bool,\n\n /** A horizontal label is formatted to label content along-side it horizontally. */\n horizontal: PropTypes.bool,\n\n /** Shorthand for Icon. */\n icon: customPropTypes.itemShorthand,\n\n /** A label can be formatted to emphasize an image or prop can be used as shorthand for Image. */\n image: PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand]),\n\n /**\n * Called on click.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onClick: PropTypes.func,\n\n /**\n * Adds an \"x\" icon, called when \"x\" is clicked.\n *\n * @param {SyntheticEvent} event - React's original SyntheticEvent.\n * @param {object} data - All props.\n */\n onRemove: PropTypes.func,\n\n /** A label can point to content next to it. */\n pointing: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['above', 'below', 'left', 'right'])]),\n\n /** A label can prompt for an error in your forms. */\n prompt: PropTypes.bool,\n\n /** Shorthand for Icon to appear as the last child and trigger onRemove. */\n removeIcon: customPropTypes.itemShorthand,\n\n /** A label can appear as a ribbon attaching itself to an element. */\n ribbon: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['right'])]),\n\n /** A label can have different sizes. */\n size: PropTypes.oneOf(SUI.SIZES),\n\n /** A label can appear as a tag. */\n tag: PropTypes.bool\n} : {};\nLabel.Detail = LabelDetail;\nLabel.Group = LabelGroup;\nLabel.create = createShorthandFactory(Label, function (value) {\n return {\n content: value\n };\n});","/**\n * Returns an object consisting of props beyond the scope of the Component.\n * Useful for getting and spreading unknown props from the user.\n * @param {function} Component A function or ReactClass.\n * @param {object} props A ReactElement props object\n * @returns {{}} A shallow copy of the prop object\n */\nvar getUnhandledProps = function getUnhandledProps(Component, props) {\n // Note that `handledProps` are generated automatically during build with `babel-plugin-transform-react-handled-props`\n var _Component$handledPro = Component.handledProps,\n handledProps = _Component$handledPro === void 0 ? [] : _Component$handledPro;\n return Object.keys(props).reduce(function (acc, prop) {\n if (prop === 'childKey') return acc;\n if (handledProps.indexOf(prop) === -1) acc[prop] = props[prop];\n return acc;\n }, {});\n};\n\nexport default getUnhandledProps;","export var TRANSITION_STATUS_INITIAL = 'INITIAL';\nexport var TRANSITION_STATUS_ENTERED = 'ENTERED';\nexport var TRANSITION_STATUS_ENTERING = 'ENTERING';\nexport var TRANSITION_STATUS_EXITED = 'EXITED';\nexport var TRANSITION_STATUS_EXITING = 'EXITING';\nexport var TRANSITION_STATUS_UNMOUNTED = 'UNMOUNTED';\n/**\n * @param {Object} [options]\n * @param {String} [options.status]\n * @param {Boolean} [options.mountOnShow]\n * @param {Boolean} [options.transitionOnMount]\n * @param {Boolean} [options.visible]\n * @param {Boolean} [options.unmountOnHide]\n */\n\nexport function computeStatuses(options) {\n var mountOnShow = options.mountOnShow,\n status = options.status,\n transitionOnMount = options.transitionOnMount,\n visible = options.visible,\n unmountOnHide = options.unmountOnHide;\n\n if (visible) {\n if (status === TRANSITION_STATUS_INITIAL) {\n if (transitionOnMount) {\n return {\n animating: true,\n status: TRANSITION_STATUS_ENTERING,\n nextStatus: TRANSITION_STATUS_ENTERED\n };\n }\n\n return {\n animating: false,\n status: TRANSITION_STATUS_ENTERED,\n nextStatus: undefined\n };\n }\n\n if (status === TRANSITION_STATUS_UNMOUNTED) {\n return {\n animating: true,\n status: TRANSITION_STATUS_ENTERING,\n nextStatus: TRANSITION_STATUS_ENTERED\n };\n }\n\n if (status === TRANSITION_STATUS_EXITED || status === TRANSITION_STATUS_EXITING) {\n return {\n animating: true,\n status: TRANSITION_STATUS_ENTERING,\n nextStatus: TRANSITION_STATUS_ENTERED\n };\n }\n\n if (status === TRANSITION_STATUS_ENTERING) {\n return {};\n }\n /* istanbul ignore else */\n\n\n if (status === TRANSITION_STATUS_ENTERED) {\n return {\n animating: false,\n status: TRANSITION_STATUS_ENTERED,\n nextStatus: undefined\n };\n }\n }\n\n if (status === TRANSITION_STATUS_INITIAL) {\n if (mountOnShow || unmountOnHide) {\n return {\n animating: false,\n status: TRANSITION_STATUS_UNMOUNTED,\n nextStatus: undefined\n };\n }\n\n return {\n animating: false,\n status: TRANSITION_STATUS_EXITED,\n nextStatus: undefined\n };\n }\n\n if (status === TRANSITION_STATUS_ENTERED || status === TRANSITION_STATUS_ENTERING) {\n return {\n animating: true,\n status: TRANSITION_STATUS_EXITING,\n nextStatus: unmountOnHide ? TRANSITION_STATUS_UNMOUNTED : TRANSITION_STATUS_EXITED\n };\n }\n\n if (status === TRANSITION_STATUS_EXITING) {\n return {};\n }\n\n if (status === TRANSITION_STATUS_EXITED) {\n return {\n animating: false,\n status: TRANSITION_STATUS_EXITED,\n nextStatus: undefined\n };\n }\n /* istanbul ignore else */\n\n\n if (status === TRANSITION_STATUS_UNMOUNTED) {\n return {\n animating: false,\n status: TRANSITION_STATUS_UNMOUNTED,\n nextStatus: undefined\n };\n }\n /* istanbul ignore next */\n\n\n throw new Error(\"Transition:computeStatuses(): an unexpected status transition: { visible: \" + visible + \", status: \" + status + \" }\");\n}","/**\n * Returns a createElement() type based on the props of the Component.\n * Useful for calculating what type a component should render as.\n *\n * @param {function} Component A function or ReactClass.\n * @param {object} props A ReactElement props object\n * @param {function} [getDefault] A function that returns a default element type.\n * @returns {string|function} A ReactElement type\n */\nfunction getElementType(Component, props, getDefault) {\n var _Component$defaultPro = Component.defaultProps,\n defaultProps = _Component$defaultPro === void 0 ? {} : _Component$defaultPro; // ----------------------------------------\n // user defined \"as\" element type\n\n if (props.as && props.as !== defaultProps.as) return props.as; // ----------------------------------------\n // computed default element type\n\n if (getDefault) {\n var computedDefault = getDefault();\n if (computedDefault) return computedDefault;\n } // ----------------------------------------\n // infer anchor links\n\n\n if (props.href) return 'a'; // ----------------------------------------\n // use defaultProp or 'div'\n\n return defaultProps.as || 'div';\n}\n\nexport default getElementType;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _isNil from \"lodash/isNil\";\nimport _get from \"lodash/get\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { createElement } from 'react';\nimport { childrenUtils, createHTMLLabel, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useWidthProp } from '../../lib';\nimport Label from '../../elements/Label';\nimport Checkbox from '../../modules/Checkbox';\nimport Radio from '../../addons/Radio';\n/**\n * A field is a form element containing a label and an input.\n * @see Form\n * @see Button\n * @see Checkbox\n * @see Dropdown\n * @see Input\n * @see Radio\n * @see Select\n * @see Visibility\n */\n\nfunction FormField(props) {\n var children = props.children,\n className = props.className,\n content = props.content,\n control = props.control,\n disabled = props.disabled,\n error = props.error,\n inline = props.inline,\n label = props.label,\n required = props.required,\n type = props.type,\n width = props.width,\n id = props.id;\n var classes = cx(useKeyOnly(disabled, 'disabled'), useKeyOnly(error, 'error'), useKeyOnly(inline, 'inline'), useKeyOnly(required, 'required'), useWidthProp(width, 'wide'), 'field', className);\n var rest = getUnhandledProps(FormField, props);\n var ElementType = getElementType(FormField, props);\n\n var errorPointing = _get(error, 'pointing', 'above');\n\n var errorLabel = Label.create(error, {\n autoGenerateKey: false,\n defaultProps: {\n prompt: true,\n pointing: errorPointing,\n id: id ? id + \"-error-message\" : undefined,\n role: 'alert',\n 'aria-atomic': true\n }\n });\n var errorLabelBefore = (errorPointing === 'below' || errorPointing === 'right') && errorLabel;\n var errorLabelAfter = (errorPointing === 'above' || errorPointing === 'left') && errorLabel; // ----------------------------------------\n // No Control\n // ----------------------------------------\n\n if (_isNil(control)) {\n if (_isNil(label)) {\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n id: id\n }), childrenUtils.isNil(children) ? content : children);\n }\n\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes,\n id: id\n }), errorLabelBefore, createHTMLLabel(label, {\n autoGenerateKey: false\n }), errorLabelAfter);\n } // ----------------------------------------\n // Checkbox/Radio Control\n // ----------------------------------------\n\n\n var ariaDescribedBy = id && error ? id + \"-error-message\" : null;\n var ariaAttrs = {\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': error ? true : undefined\n };\n\n var controlProps = _extends({}, rest, {\n content: content,\n children: children,\n disabled: disabled,\n required: required,\n type: type,\n id: id\n }); // wrap HTML checkboxes/radios in the label\n\n\n if (control === 'input' && (type === 'checkbox' || type === 'radio')) {\n return /*#__PURE__*/React.createElement(ElementType, {\n className: classes\n }, /*#__PURE__*/React.createElement(\"label\", null, errorLabelBefore, /*#__PURE__*/createElement(control, _extends({}, ariaAttrs, controlProps)), \" \", label, errorLabelAfter));\n } // pass label prop to controls that support it\n\n\n if (control === Checkbox || control === Radio) {\n return /*#__PURE__*/React.createElement(ElementType, {\n className: classes\n }, errorLabelBefore, /*#__PURE__*/createElement(control, _extends({}, ariaAttrs, controlProps, {\n label: label\n })), errorLabelAfter);\n } // ----------------------------------------\n // Other Control\n // ----------------------------------------\n\n\n return /*#__PURE__*/React.createElement(ElementType, {\n className: classes\n }, createHTMLLabel(label, {\n defaultProps: {\n htmlFor: id\n },\n autoGenerateKey: false\n }), errorLabelBefore, /*#__PURE__*/createElement(control, _extends({}, ariaAttrs, controlProps)), errorLabelAfter);\n}\n\nFormField.handledProps = [\"as\", \"children\", \"className\", \"content\", \"control\", \"disabled\", \"error\", \"id\", \"inline\", \"label\", \"required\", \"type\", \"width\"];\nFormField.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /**\n * A form control component (i.e. Dropdown) or HTML tagName (i.e. 'input').\n * Extra FormField props are passed to the control component.\n * Mutually exclusive with children.\n */\n control: customPropTypes.some([PropTypes.func, PropTypes.oneOf(['button', 'input', 'select', 'textarea'])]),\n\n /** Individual fields may be disabled. */\n disabled: PropTypes.bool,\n\n /** Individual fields may display an error state along with a message. */\n error: PropTypes.oneOfType([PropTypes.bool, customPropTypes.itemShorthand]),\n\n /** The id of the control */\n id: PropTypes.string,\n\n /** A field can have its label next to instead of above it. */\n inline: PropTypes.bool,\n // Heads Up!\n // Do not disallow children with `label` shorthand\n // The `control` might accept a `label` prop and `children`\n\n /** Mutually exclusive with children. */\n label: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n\n /** A field can show that input is mandatory. */\n required: PropTypes.bool,\n\n /** Passed to the control component (i.e. ) */\n type: customPropTypes.every([customPropTypes.demand(['control']) // don't strictly validate HTML types\n // a control might be passed that uses a `type` prop with unknown values\n // let the control validate if for us\n ]),\n\n /** A field can specify its width in grid columns */\n width: PropTypes.oneOf(SUI.WIDTHS)\n} : {};\nexport default FormField;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { childrenUtils, customPropTypes, getElementType, getUnhandledProps, useKeyOnly } from '../../lib';\n/**\n * A divider visually segments content into groups.\n */\n\nfunction Divider(props) {\n var children = props.children,\n className = props.className,\n clearing = props.clearing,\n content = props.content,\n fitted = props.fitted,\n hidden = props.hidden,\n horizontal = props.horizontal,\n inverted = props.inverted,\n section = props.section,\n vertical = props.vertical;\n var classes = cx('ui', useKeyOnly(clearing, 'clearing'), useKeyOnly(fitted, 'fitted'), useKeyOnly(hidden, 'hidden'), useKeyOnly(horizontal, 'horizontal'), useKeyOnly(inverted, 'inverted'), useKeyOnly(section, 'section'), useKeyOnly(vertical, 'vertical'), 'divider', className);\n var rest = getUnhandledProps(Divider, props);\n var ElementType = getElementType(Divider, props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n className: classes\n }), childrenUtils.isNil(children) ? content : children);\n}\n\nDivider.handledProps = [\"as\", \"children\", \"className\", \"clearing\", \"content\", \"fitted\", \"hidden\", \"horizontal\", \"inverted\", \"section\", \"vertical\"];\nDivider.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Divider can clear the content above it. */\n clearing: PropTypes.bool,\n\n /** Shorthand for primary content. */\n content: customPropTypes.contentShorthand,\n\n /** Divider can be fitted without any space above or below it. */\n fitted: PropTypes.bool,\n\n /** Divider can divide content without creating a dividing line. */\n hidden: PropTypes.bool,\n\n /** Divider can segment content horizontally. */\n horizontal: PropTypes.bool,\n\n /** Divider can have its colours inverted. */\n inverted: PropTypes.bool,\n\n /** Divider can provide greater margins to divide sections of content. */\n section: PropTypes.bool,\n\n /** Divider can segment content vertically. */\n vertical: PropTypes.bool\n} : {};\nexport default Divider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash/without\";\nimport _invoke from \"lodash/invoke\";\nimport _isNil from \"lodash/isNil\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport { createShorthandFactory, customPropTypes, getElementType, getUnhandledProps, SUI, useKeyOnly, useKeyOrValueAndKey, useValueAndKey } from '../../lib';\nimport IconGroup from './IconGroup';\n/**\n * An icon is a glyph used to represent something else.\n * @see Image\n */\n\nvar Icon = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(Icon, _PureComponent);\n\n function Icon() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _PureComponent.call.apply(_PureComponent, [this].concat(args)) || this;\n\n _this.handleClick = function (e) {\n var disabled = _this.props.disabled;\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n _invoke(_this.props, 'onClick', e, _this.props);\n };\n\n return _this;\n }\n\n var _proto = Icon.prototype;\n\n _proto.getIconAriaOptions = function getIconAriaOptions() {\n var ariaOptions = {};\n var _this$props = this.props,\n ariaLabel = _this$props['aria-label'],\n ariaHidden = _this$props['aria-hidden'];\n\n if (_isNil(ariaLabel)) {\n ariaOptions['aria-hidden'] = 'true';\n } else {\n ariaOptions['aria-label'] = ariaLabel;\n }\n\n if (!_isNil(ariaHidden)) {\n ariaOptions['aria-hidden'] = ariaHidden;\n }\n\n return ariaOptions;\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n bordered = _this$props2.bordered,\n circular = _this$props2.circular,\n className = _this$props2.className,\n color = _this$props2.color,\n corner = _this$props2.corner,\n disabled = _this$props2.disabled,\n fitted = _this$props2.fitted,\n flipped = _this$props2.flipped,\n inverted = _this$props2.inverted,\n link = _this$props2.link,\n loading = _this$props2.loading,\n name = _this$props2.name,\n rotated = _this$props2.rotated,\n size = _this$props2.size;\n var classes = cx(color, name, size, useKeyOnly(bordered, 'bordered'), useKeyOnly(circular, 'circular'), useKeyOnly(disabled, 'disabled'), useKeyOnly(fitted, 'fitted'), useKeyOnly(inverted, 'inverted'), useKeyOnly(link, 'link'), useKeyOnly(loading, 'loading'), useKeyOrValueAndKey(corner, 'corner'), useValueAndKey(flipped, 'flipped'), useValueAndKey(rotated, 'rotated'), 'icon', className);\n var rest = getUnhandledProps(Icon, this.props);\n var ElementType = getElementType(Icon, this.props);\n var ariaOptions = this.getIconAriaOptions();\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, ariaOptions, {\n className: classes,\n onClick: this.handleClick\n }));\n };\n\n return Icon;\n}(PureComponent);\n\nIcon.handledProps = [\"aria-hidden\", \"aria-label\", \"as\", \"bordered\", \"circular\", \"className\", \"color\", \"corner\", \"disabled\", \"fitted\", \"flipped\", \"inverted\", \"link\", \"loading\", \"name\", \"rotated\", \"size\"];\nIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** Formatted to appear bordered. */\n bordered: PropTypes.bool,\n\n /** Icon can formatted to appear circular. */\n circular: PropTypes.bool,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Color of the icon. */\n color: PropTypes.oneOf(SUI.COLORS),\n\n /** Icons can display a smaller corner icon. */\n corner: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['top left', 'top right', 'bottom left', 'bottom right'])]),\n\n /** Show that the icon is inactive. */\n disabled: PropTypes.bool,\n\n /** Fitted, without space to left or right of Icon. */\n fitted: PropTypes.bool,\n\n /** Icon can be flipped. */\n flipped: PropTypes.oneOf(['horizontally', 'vertically']),\n\n /** Formatted to have its colors inverted for contrast. */\n inverted: PropTypes.bool,\n\n /** Icon can be formatted as a link. */\n link: PropTypes.bool,\n\n /** Icon can be used as a simple loader. */\n loading: PropTypes.bool,\n\n /** Name of the icon. */\n name: customPropTypes.suggest(SUI.ALL_ICONS_IN_ALL_CONTEXTS),\n\n /** Icon can rotated. */\n rotated: PropTypes.oneOf(['clockwise', 'counterclockwise']),\n\n /** Size of the icon. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** Icon can have an aria label. */\n 'aria-hidden': PropTypes.string,\n\n /** Icon can have an aria label. */\n 'aria-label': PropTypes.string\n} : {};\nIcon.defaultProps = {\n as: 'i'\n};\nIcon.Group = IconGroup;\nIcon.create = createShorthandFactory(Icon, function (value) {\n return {\n name: value\n };\n});\nexport default Icon;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _without from \"lodash/without\";\nimport _invoke from \"lodash/invoke\";\nimport cx from 'clsx';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { getElementType, getUnhandledProps, SUI, useKeyOnly, useWidthProp } from '../../lib';\nimport FormButton from './FormButton';\nimport FormCheckbox from './FormCheckbox';\nimport FormDropdown from './FormDropdown';\nimport FormField from './FormField';\nimport FormGroup from './FormGroup';\nimport FormInput from './FormInput';\nimport FormRadio from './FormRadio';\nimport FormSelect from './FormSelect';\nimport FormTextArea from './FormTextArea';\n/**\n * A Form displays a set of related user input fields in a structured way.\n * @see Button\n * @see Checkbox\n * @see Dropdown\n * @see Input\n * @see Message\n * @see Radio\n * @see Select\n * @see Visibility\n */\n\nvar Form = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Form, _Component);\n\n function Form() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(_args)) || this;\n\n _this.handleSubmit = function (e) {\n var action = _this.props.action; // Heads up! Third party libs can pass own data as first argument, we need to check that it has preventDefault()\n // method.\n\n if (typeof action !== 'string') _invoke(e, 'preventDefault');\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _invoke.apply(void 0, [_this.props, 'onSubmit', e, _this.props].concat(args));\n };\n\n return _this;\n }\n\n var _proto = Form.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n action = _this$props.action,\n children = _this$props.children,\n className = _this$props.className,\n error = _this$props.error,\n inverted = _this$props.inverted,\n loading = _this$props.loading,\n reply = _this$props.reply,\n size = _this$props.size,\n success = _this$props.success,\n unstackable = _this$props.unstackable,\n warning = _this$props.warning,\n widths = _this$props.widths;\n var classes = cx('ui', size, useKeyOnly(error, 'error'), useKeyOnly(inverted, 'inverted'), useKeyOnly(loading, 'loading'), useKeyOnly(reply, 'reply'), useKeyOnly(success, 'success'), useKeyOnly(unstackable, 'unstackable'), useKeyOnly(warning, 'warning'), useWidthProp(widths, null, true), 'form', className);\n var rest = getUnhandledProps(Form, this.props);\n var ElementType = getElementType(Form, this.props);\n return /*#__PURE__*/React.createElement(ElementType, _extends({}, rest, {\n action: action,\n className: classes,\n onSubmit: this.handleSubmit\n }), children);\n };\n\n return Form;\n}(Component);\n\nForm.handledProps = [\"action\", \"as\", \"children\", \"className\", \"error\", \"inverted\", \"loading\", \"onSubmit\", \"reply\", \"size\", \"success\", \"unstackable\", \"warning\", \"widths\"];\nForm.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /** An element type to render as (string or function). */\n as: PropTypes.elementType,\n\n /** The HTML form action */\n action: PropTypes.string,\n\n /** Primary content. */\n children: PropTypes.node,\n\n /** Additional classes. */\n className: PropTypes.string,\n\n /** Automatically show any error Message children. */\n error: PropTypes.bool,\n\n /** A form can have its color inverted for contrast. */\n inverted: PropTypes.bool,\n\n /** Automatically show a loading indicator. */\n loading: PropTypes.bool,\n\n /** The HTML form submit handler. */\n onSubmit: PropTypes.func,\n\n /** A comment can contain a form to reply to a comment. This may have arbitrary content. */\n reply: PropTypes.bool,\n\n /** A form can vary in size. */\n size: PropTypes.oneOf(_without(SUI.SIZES, 'medium')),\n\n /** Automatically show any success Message children. */\n success: PropTypes.bool,\n\n /** A form can prevent itself from stacking on mobile. */\n unstackable: PropTypes.bool,\n\n /** Automatically show any warning Message children. */\n warning: PropTypes.bool,\n\n /** Forms can automatically divide fields to be equal width. */\n widths: PropTypes.oneOf(['equal'])\n} : {};\nForm.defaultProps = {\n as: 'form'\n};\nForm.Field = FormField;\nForm.Button = FormButton;\nForm.Checkbox = FormCheckbox;\nForm.Dropdown = FormDropdown;\nForm.Group = FormGroup;\nForm.Input = FormInput;\nForm.Radio = FormRadio;\nForm.Select = FormSelect;\nForm.TextArea = FormTextArea;\nexport default Form;"],"sourceRoot":""}