{"version":3,"file":"modern.badge-detail.BnDfGcs6.js","names":[],"sources":["../../../../../../owl-nest/external/owl-kit/src/legacy/Badge.jsx","../../../../../../owl-nest/external/owl-kit/src/legacy/UserCard.jsx","../../src/modern/features/badges/detail/components/Header.js","../../src/modern/features/badges/detail/services.js","../../src/modern/features/badges/detail/components/MoreBadges.js","../../src/modern/features/badges/detail/App.js","../../src/modern/features/badges/detail/index.js"],"sourcesContent":["import * as React from 'react'\nimport * as PropTypes from 'prop-types'\nimport { styled } from 'next-yak'\n\nimport { Title2 } from './Titles.js'\nimport TextEllipsis from '../core/TextEllipsis.js'\n\nimport * as colors from '../constants/colors.ts'\nimport * as effects from '../constants/effects.ts'\nimport * as fonts from '../constants/fonts.js'\n\nconst BadgeWrapper = styled.a`\n max-width: 300px;\n min-width: 230px;\n flex: 1 1 auto;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n text-decoration: none;\n color: black;\n border: 1px solid ${colors.PRIMARY_SAND_200};\n min-height: 308px;\n position: relative;\n\n &:hover {\n transition: all 200ms ease-in-out;\n box-shadow: ${effects.SHADOW_4};\n }\n`\n\nconst BadgeContent = styled.div`\n border-top: none;\n padding: 15px;\n position: relative;\n padding-bottom: 35px;\n`\n\nconst BadgeTitle = styled(Title2)`\n color: ${(props) => props.color};\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n text-align: center;\n margin: 0;\n`\n\nconst BadgeInfos = styled.div`\n position: absolute;\n background-color: ${(props) => props.color};\n color: ${colors.PRIMARY_GREY_000};\n padding: 4px 14px;\n border-radius: 1px;\n left: 50%;\n bottom: -5px;\n font-family: ${fonts.PRIMARY_FONT};\n transform: translateX(-50%);\n\n span {\n font-size: 12px;\n font-weight: bold;\n line-height: 18px;\n }\n\n svg {\n height: 12px;\n margin-top: -1px;\n margin-right: 5px;\n }\n`\n\nconst BadgeDescription = styled.p`\n font-size: 15px;\n font-weight: 300;\n line-height: 20px;\n text-align: center;\n width: 100%;\n height: 100%;\n overflow: hidden;\n font-family: ${fonts.PRIMARY_FONT};\n`\n\nconst BadgeIcon = styled.div`\n background-color: ${(props) => props.color};\n display: flex;\n justify-content: center;\n align-items: center;\n height: 165px;\n\n img {\n width: 130px;\n height: 130px;\n }\n`\n\n/** Badge component is used for badges on user page */\nconst Badge = ({ name, icon, description, color, total, url, className }) => (\n \n \n {name}\n \n \n {name}\n \n {description}\n \n \n {total !== null && (\n \n \n \n \n {total}\n \n )}\n \n)\n\nBadge.propTypes = {\n name: PropTypes.string,\n icon: PropTypes.string,\n description: PropTypes.string,\n color: PropTypes.string,\n total: PropTypes.number,\n /** url target on click */\n url: PropTypes.string,\n className: PropTypes.string,\n}\nBadge.displayName = 'legacy.Badge'\n\nexport default Badge\n","import * as React from 'react'\nimport * as PropTypes from 'prop-types'\nimport { styled } from 'next-yak'\n\nimport * as colors from '../constants/colors.ts'\nimport * as effects from '../constants/effects.ts'\nimport * as fonts from '../constants/fonts.js'\n\nconst UserCardWrapper = styled.a`\n border: 1px solid ${colors.PRIMARY_SAND_200};\n padding: 10px;\n position: relative;\n max-width: 180px;\n color: ${colors.TEXT_PRIMARY};\n text-decoration: none;\n font-family: ${fonts.PRIMARY_FONT};\n box-sizing: border-box;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n overflow: hidden;\n\n &:hover {\n transition: all 200ms ease-in-out;\n box-shadow: ${effects.SHADOW_4};\n }\n`\n\nconst UserCardImg = styled.img`\n border-radius: 50%;\n border-style: none;\n display: block;\n margin: 0 auto 10px auto;\n max-width: 160px;\n min-width: 100px;\n width: 160px;\n`\n\nconst UserCardName = styled.span`\n text-align: center;\n display: block;\n font-weight: 500;\n color: ${colors.TEXT_PRIMARY};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`\n\n/** This component aims to serve Ulule business. It shows the support of a user to a project. */\nconst UserCard = ({ name, url, avatar }) => (\n \n \n {name}\n \n)\n\nUserCard.propTypes = {\n /** avatar of the contributor */\n avatar: PropTypes.string,\n /** name of the contributor */\n name: PropTypes.string,\n /** absolute url to the user page */\n url: PropTypes.string,\n}\n\nexport default UserCard\nUserCard.displayName = 'legacy.UserCard'\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { styled } from 'next-yak'\n\nimport { FONTS } from '@ulule/owl-kit-components'\n\nconst HeaderWrapper = styled.header`\n height: 260px;\n width: 100%;\n background-color: ${(props) => props.color};\n background-image: ${(props) => `url('${props.img}')`};\n background-position: center -20px;\n`\n\nconst HeaderInfos = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 0 20px;\n`\n\nconst HeaderImg = styled.img`\n width: 100px;\n margin-top: 30px;\n`\n\nconst HeaderBadgeInfos = styled.h4`\n font-size: 38px;\n color: white;\n font-weight: bold;\n margin-bottom: 10px;\n text-align: center;\n font-family: ${FONTS.PRIMARY_FONT};\n margin-top: 10px;\n\n span {\n color: ${(props) => props.secondaryColor};\n font-family: ${FONTS.PRIMARY_FONT};\n margin-right: 10px;\n }\n\n @media (max-width: 604px) {\n font-size: 26px;\n }\n`\n\nconst HeaderBadgeDesc = styled.h2`\n font-size: 18px;\n color: white;\n font-weight: 500;\n font-family: ${FONTS.PRIMARY_FONT};\n margin: 0;\n text-align: center;\n\n @media (max-width: 604px) {\n font-size: 13px;\n }\n`\n\nexport const Header = ({ badge, img }) => (\n \n \n \n \n {badge.users_count}\n {badge.name}\n \n {badge.description}\n \n \n)\n\nHeader.propTypes = {\n badge: PropTypes.shape({\n absolute_url: PropTypes.string,\n color: PropTypes.string,\n description: PropTypes.string,\n image: PropTypes.shape({\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.number,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n }),\n }),\n name: PropTypes.string,\n position: PropTypes.number,\n secondary_color: PropTypes.string,\n slug: PropTypes.string,\n users_count: PropTypes.number,\n }),\n img: PropTypes.string,\n}\n","import config from '$utils/config'\n\nexport const fetchUsers = (url, slug = '', since = 0) => {\n const formData = new FormData()\n formData.append('badge', slug)\n\n if (since > 0) {\n formData.append('pk', since)\n }\n\n const headers = { 'X-Requested-With': 'XMLHttpRequest' }\n return fetch(`${url}`, {\n method: 'POST',\n body: formData,\n headers,\n credentials: 'include'\n })\n .then(response => {\n if (!response.ok) {\n throw response\n }\n\n return response.json()\n })\n .then(json => {\n return {\n results: json\n }\n })\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { t } from '@owl-nest/localize'\n\nimport { Badge, PrimaryButton } from '@ulule/owl-kit-components'\n\nconst handleClick = () => {\n return (window.location.href = '/about/badges')\n}\n\nexport const MoreBadges = ({ moreBadges }) => (\n
\n

{t('Catch them all')}

\n \n
\n {t('All badges')}\n
\n
\n)\n\nMoreBadges.propTypes = {\n moreBadges: PropTypes.arrayOf(\n PropTypes.shape({\n absolute_url: PropTypes.string,\n color: PropTypes.string,\n description: PropTypes.string,\n image: PropTypes.shape({\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.number,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n }),\n }),\n name: PropTypes.string,\n position: PropTypes.number,\n secondary_color: PropTypes.string,\n slug: PropTypes.string,\n users_count: PropTypes.number,\n }),\n ),\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { t } from '@owl-nest/localize'\nimport { UserCard, LoadMoreButton } from '@ulule/owl-kit-components'\n\nimport { Header } from './components/Header'\n\nimport * as Services from './services'\nimport { MoreBadges } from './components/MoreBadges'\n\nclass App extends React.Component {\n constructor(props) {\n super(props)\n\n this.state = {\n results: {},\n isFetching: false,\n isFetchingMore: false,\n since: 0,\n }\n }\n\n componentDidMount() {\n this.requestResults('/badges/users/', this.props.badge.slug)\n }\n\n handleClick = () => {\n this.requestResults('/badges/users/', this.props.badge.slug, this.state.since)\n }\n\n requestResults = async (nextUrl = null, slug = '', since = 0) => {\n this.setState({\n results: nextUrl ? this.state.results : [],\n savedResults: this.state.results || [],\n isFetching: true,\n isFetchingMore: !!nextUrl,\n since: this.state.since || 0,\n })\n\n let response\n\n try {\n response = await Services.fetchUsers(nextUrl, slug, this.state.since)\n\n const { results, ...otherProps } = response\n const since = results && results.current && results.current.filters_options.since\n const newResults =\n Object.keys(this.state.results).length > 0\n ? [...this.state.results, ...results.awards]\n : results && results.awards\n\n this.setState({\n isFetching: false,\n isFetchingMore: false,\n results: newResults || {},\n savedResults: null,\n since,\n ...otherProps,\n })\n } catch (error) {\n const { status, statusText } = error\n\n const errorProps = {\n level: 'alert',\n message: t(\n 'Oops... an error occured. Please refresh the page to retry. If the error persists, please contact support.',\n ),\n status,\n statusText,\n }\n this.setState({\n error: errorProps,\n errorFetchingMore: this.state.isFetchingMore,\n isFetching: false,\n isFetchingMore: false,\n results: this.state.savedResults,\n savedResults: null,\n })\n }\n }\n\n render() {\n const { results, isFetchingMore } = this.state\n const { moreBadges, badge } = this.props\n const totalUsers = badge && badge.users_count\n const totalResults = results && results.length\n return (\n \n
\n
\n
    \n {results &&\n results.length > 0 &&\n results.map((award, index) => {\n return (\n
  • \n \n
  • \n )\n })}\n
\n {totalUsers > totalResults && (\n
\n \n
\n )}\n
\n
\n \n \n )\n }\n}\n\nApp.propTypes = {\n badge: PropTypes.shape({\n absolute_url: PropTypes.string,\n color: PropTypes.string,\n description: PropTypes.string,\n image: PropTypes.shape({\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.number,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n }),\n }),\n name: PropTypes.string,\n position: PropTypes.number,\n secondary_color: PropTypes.string,\n slug: PropTypes.string,\n users_count: PropTypes.number,\n }),\n img: PropTypes.string,\n moreBadges: PropTypes.arrayOf(\n PropTypes.shape({\n absolute_url: PropTypes.string,\n color: PropTypes.string,\n description: PropTypes.string,\n image: PropTypes.shape({\n versions: PropTypes.shape({\n full: PropTypes.shape({\n height: PropTypes.number,\n url: PropTypes.string,\n width: PropTypes.number,\n }),\n }),\n }),\n name: PropTypes.string,\n position: PropTypes.number,\n secondary_color: PropTypes.string,\n slug: PropTypes.string,\n users_count: PropTypes.number,\n }),\n ),\n}\n\nexport default App\n","import * as React from 'react'\nimport * as ReactDOM from 'react-dom/client'\n\nimport config from '$utils/config'\n\nimport App from './App'\n\nconst renderApp = (store) => {\n const container = document.querySelector('#react-ulule-badge-detail')\n\n const root = ReactDOM.createRoot(container)\n root.render()\n}\n\nconfig.set({\n ...window.UFE,\n ...window.BADGE_DETAIL_DATA,\n ...window.image,\n})\n\nwindow.addEventListener('js:location:loaded', async (event) => {\n renderApp()\n})\n"],"mappings":"yjBAWM,EAAe,EAAA,SAAA,EAmBf,EAAe,EAAA,UAAA,EAOf,EAAa,EAAO,CAAA,CAAA,CAAA,WAAA,CAAA,MAAA,CACd,aAAA,GAAU,EAAM,KAAA,CAAA,CAAA,EAQtB,EAAa,EAAA,WAAA,CAAA,MAAA,CAEI,aAAA,GAAU,EAAM,KAAA,CAAA,CAAA,EAsBjC,EAAmB,EAAA,UAAA,EAWnB,EAAY,EAAA,WAAA,CAAA,MAAA,CACK,aAAA,GAAU,EAAM,KAAA,CAAA,CAAA,EAajC,GAAS,CAAE,OAAM,OAAM,cAAa,QAAO,QAAO,MAAK,gBAC3D,EAAA,EAAA,KAAA,CAAC,EAAD,CAAc,KAAM,EAAgB,YAApC,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAkB,QAChB,UAAA,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,IAAK,EAAM,IAAK,CAAO,CAAA,CACnB,CAAA,GACX,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAmB,QAAQ,SAAA,CAAiB,CAAA,GAC5C,EAAA,EAAA,IAAA,CAAC,EAAD,CAAc,MAAO,EAAG,IAAK,MAAO,cAAe,MAAO,SAAU,YAAa,UAAW,GAC1F,UAAA,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAAmB,CAA8B,CAAA,CACrC,CAAA,CACF,CAAA,CAAA,EACb,IAAU,OACT,EAAA,EAAA,KAAA,CAAC,EAAD,CAAmB,QAAnB,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,MAAM,6BAA6B,QAAQ,YAC9C,UAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,seACH,CAAA,CACE,CAAA,GACL,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,SAAO,CAAY,CAAA,CACT,GAEF,IAGhB,EAAM,UAAY,CAChB,KAAM,EAAU,OAChB,KAAM,EAAU,OAChB,YAAa,EAAU,OACvB,MAAO,EAAU,OACjB,MAAO,EAAU,OAEjB,IAAK,EAAU,OACf,UAAW,EAAU,MACvB,EACA,EAAM,YAAc,eC1HpB,IAAM,EAAkB,EAAA,SAAA,EAuBlB,EAAc,EAAA,UAAA,EAUd,EAAe,EAAA,UAAA,EAWf,GAAY,CAAE,OAAM,MAAK,aAC7B,EAAA,EAAA,KAAA,CAAC,EAAD,CAAiB,KAAM,EAAvB,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,IAAK,EAAQ,IAAI,QAAU,CAAA,GACxC,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAAe,CAAmB,CAAA,CACnB,IAGnB,EAAS,UAAY,CAEnB,OAAQ,EAAU,OAElB,KAAM,EAAU,OAEhB,IAAK,EAAU,MACjB,EAGA,EAAS,YAAc,4CC/DjB,EAAgB,EAAA,UAAA,CAAA,MAAA,CAGC,aAAA,GAAU,EAAM,MAChB,aAAA,GAAU,QAAQ,EAAM,IAAI,OAI7C,EAAc,EAAA,UAAA,EAQd,EAAY,EAAA,UAAA,EAKZ,EAAmB,EAAA,WAAA,CAAA,MAAA,CAUX,aAAA,GAAU,EAAM,cAAA,CAAA,CAAA,EAUxB,EAAkB,EAAA,UAAA,EAaX,GAAU,CAAE,QAAO,UAC9B,EAAA,EAAA,IAAA,CAAC,EAAD,CAAoB,MAAK,MAAO,EAAM,MACpC,UAAA,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAW,IAAK,EAAM,MAAM,SAAS,KAAK,GAAM,CAAA,GAChD,EAAA,EAAA,KAAA,CAAC,EAAD,CAAkB,eAAgB,EAAM,gBAAxC,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,SAAO,EAAM,WAAkB,CAAA,EAC9B,EAAM,IACS,KAClB,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAAkB,EAAM,WAA6B,CAAA,CAC1C,CAAA,CAAA,CACA,CAAA,EAGjB,EAAO,UAAY,CACjB,MAAO,EAAA,QAAU,MAAM,CACrB,aAAc,EAAA,QAAU,OACxB,MAAO,EAAA,QAAU,OACjB,YAAa,EAAA,QAAU,OACvB,MAAO,EAAA,QAAU,MAAM,CACrB,SAAU,EAAA,QAAU,MAAM,CACxB,KAAM,EAAA,QAAU,MAAM,CACpB,OAAQ,EAAA,QAAU,OAClB,IAAK,EAAA,QAAU,OACf,MAAO,EAAA,QAAU,MACnB,CAAA,CACF,CAAA,CACF,CAAA,EACA,KAAM,EAAA,QAAU,OAChB,SAAU,EAAA,QAAU,OACpB,gBAAiB,EAAA,QAAU,OAC3B,KAAM,EAAA,QAAU,OAChB,YAAa,EAAA,QAAU,MACzB,CAAA,EACA,IAAK,EAAA,QAAU,MACjB,EC5FA,IAAa,GAAc,EAAK,EAAO,GAAI,EAAQ,IAAM,CACvD,IAAM,EAAW,IAAI,SAQrB,OAPA,EAAS,OAAO,QAAS,CAAI,EAEzB,EAAQ,GACV,EAAS,OAAO,KAAM,CAAK,EAItB,MAAM,GAAG,IAAO,CACrB,OAAQ,OACR,KAAM,EACN,QAAA,CAJgB,mBAAoB,gBAIpC,EACA,YAAa,SACf,CAAC,CAAC,CACC,KAAK,GAAY,CAChB,GAAI,CAAC,EAAS,GACZ,MAAM,EAGR,OAAO,EAAS,KAAK,CACvB,CAAC,CAAC,CACD,KAAK,IACG,CACL,QAAS,CACX,EACD,CACL,ECtBM,MACI,OAAO,SAAS,KAAO,gBAGpB,GAAc,CAAE,iBAC3B,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,WAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,qBAAsB,SAAA,EAAE,gBAAgB,CAAK,CAAA,GAC1D,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,SACX,SAAA,GACC,EAAW,OAAS,GACpB,EAAW,KAAK,EAAO,KAEnB,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,eACZ,UAAA,EAAA,EAAA,IAAA,CAAC,EAAD,CAEE,IAAK,EAAM,aACX,KAAM,EAAM,KACZ,KAAM,EAAM,MAAM,SAAS,KAAK,IAChC,YAAa,EAAM,YACnB,MAAO,EAAM,MACb,MAAO,EAAM,WACd,EAPM,CAON,CACC,EAV8B,CAU9B,CAEP,CACD,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,mBACb,UAAA,EAAA,EAAA,IAAA,CAAC,EAAD,CAAe,QAAS,EAAc,SAAA,EAAE,YAAY,CAAiB,CAAA,CAClE,CAAA,CACF,IAGP,EAAW,UAAY,CACrB,WAAY,EAAA,QAAU,QACpB,EAAA,QAAU,MAAM,CACd,aAAc,EAAA,QAAU,OACxB,MAAO,EAAA,QAAU,OACjB,YAAa,EAAA,QAAU,OACvB,MAAO,EAAA,QAAU,MAAM,CACrB,SAAU,EAAA,QAAU,MAAM,CACxB,KAAM,EAAA,QAAU,MAAM,CACpB,OAAQ,EAAA,QAAU,OAClB,IAAK,EAAA,QAAU,OACf,MAAO,EAAA,QAAU,MACnB,CAAC,CACH,CAAC,CACH,CAAC,EACD,KAAM,EAAA,QAAU,OAChB,SAAU,EAAA,QAAU,OACpB,gBAAiB,EAAA,QAAU,OAC3B,KAAM,EAAA,QAAU,OAChB,YAAa,EAAA,QAAU,MACzB,CAAC,CACH,CACF,EClDA,IAAM,EAAN,cAAA,EAAwB,SAAU,CAChC,YAAY,EAAO,CACjB,MAAM,CAAK,EAcb,EAAA,KAAA,kBAAoB,CAClB,KAAK,eAAe,iBAAkB,KAAK,MAAM,MAAM,KAAM,KAAK,MAAM,KAAK,CAC/E,CAAA,EAEA,EAAA,KAAA,iBAAiB,MAAO,EAAU,KAAM,EAAO,GAAI,EAAQ,IAAM,CAC/D,KAAK,SAAS,CACZ,QAAS,EAAU,KAAK,MAAM,QAAU,CAAC,EACzC,aAAc,KAAK,MAAM,SAAW,CAAC,EACrC,WAAY,GACZ,eAAgB,CAAC,CAAC,EAClB,MAAO,KAAK,MAAM,OAAS,CAC7B,CAAC,EAED,IAAI,EAEJ,GAAI,CACF,EAAW,MAAM,EAAoB,EAAS,EAAM,KAAK,MAAM,KAAK,EAEpE,GAAM,CAAE,UAAS,GAAG,GAAe,EAC7B,EAAQ,GAAW,EAAQ,SAAW,EAAQ,QAAQ,gBAAgB,MACtE,EACJ,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC,CAAC,OAAS,EACrC,CAAC,GAAG,KAAK,MAAM,QAAS,GAAG,EAAQ,MAAM,EACzC,GAAW,EAAQ,OAEzB,KAAK,SAAS,CACZ,WAAY,GACZ,eAAgB,GAChB,QAAS,GAAc,CAAC,EACxB,aAAc,KACd,QACA,GAAG,CACL,CAAC,CACH,OAAS,EAAO,CACd,GAAM,CAAE,SAAQ,cAAe,EAEzB,EAAa,CACjB,MAAO,QACP,QAAS,EACP,4GACF,EACA,SACA,YACF,EACA,KAAK,SAAS,CACZ,MAAO,EACP,kBAAmB,KAAK,MAAM,eAC9B,WAAY,GACZ,eAAgB,GAChB,QAAS,KAAK,MAAM,aACpB,aAAc,IAChB,CAAC,CACH,CACF,CAAA,EAjEE,KAAK,MAAQ,CACX,QAAS,CAAC,EACV,WAAY,GACZ,eAAgB,GAChB,MAAO,CACT,CACF,CAEA,mBAAoB,CAClB,KAAK,eAAe,iBAAkB,KAAK,MAAM,MAAM,IAAI,CAC7D,CAyDA,QAAS,CACP,GAAM,CAAE,UAAS,kBAAmB,KAAK,MACnC,CAAE,aAAY,SAAU,KAAK,MAC7B,EAAa,GAAS,EAAM,YAC5B,EAAe,GAAW,EAAQ,OACxC,OACE,EAAA,EAAA,KAAA,CAAA,EAAO,SAAP,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAQ,IAAK,KAAK,MAAM,IAAK,MAAO,KAAK,MAAM,KAAQ,CAAA,GACvD,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,qCAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,wBACX,SAAA,GACC,EAAQ,OAAS,GACjB,EAAQ,KAAK,EAAO,KAEhB,EAAA,EAAA,IAAA,CAAC,KAAD,CAAgB,UAAU,uCACxB,UAAA,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAM,EAAM,KAAK,KACjB,OAAQ,EAAM,OAAO,SAAS,UAAU,CAAC,IACzC,IAAK,EAAM,KAAK,YACjB,CAAA,CACC,EANK,CAML,CAEP,CACD,CAAA,EACH,EAAa,IACZ,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,mBACb,UAAA,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAS,EACT,QAAS,KAAK,YACd,aAAc,CACZ,aAAc,EAAE,WAAW,EAC3B,WAAY,EAAE,OAAO,CACvB,CACD,CAAA,CACE,CAAA,CAEJ,KACL,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,gBAAkB,CAAA,GAChC,EAAA,EAAA,IAAA,CAAC,EAAD,CAAwB,YAAa,CAAA,CACvB,CAAA,CAAA,CAEpB,CACF,EAEA,EAAI,UAAY,CACd,MAAO,EAAA,QAAU,MAAM,CACrB,aAAc,EAAA,QAAU,OACxB,MAAO,EAAA,QAAU,OACjB,YAAa,EAAA,QAAU,OACvB,MAAO,EAAA,QAAU,MAAM,CACrB,SAAU,EAAA,QAAU,MAAM,CACxB,KAAM,EAAA,QAAU,MAAM,CACpB,OAAQ,EAAA,QAAU,OAClB,IAAK,EAAA,QAAU,OACf,MAAO,EAAA,QAAU,MACnB,CAAC,CACH,CAAC,CACH,CAAC,EACD,KAAM,EAAA,QAAU,OAChB,SAAU,EAAA,QAAU,OACpB,gBAAiB,EAAA,QAAU,OAC3B,KAAM,EAAA,QAAU,OAChB,YAAa,EAAA,QAAU,MACzB,CAAC,EACD,IAAK,EAAA,QAAU,OACf,WAAY,EAAA,QAAU,QACpB,EAAA,QAAU,MAAM,CACd,aAAc,EAAA,QAAU,OACxB,MAAO,EAAA,QAAU,OACjB,YAAa,EAAA,QAAU,OACvB,MAAO,EAAA,QAAU,MAAM,CACrB,SAAU,EAAA,QAAU,MAAM,CACxB,KAAM,EAAA,QAAU,MAAM,CACpB,OAAQ,EAAA,QAAU,OAClB,IAAK,EAAA,QAAU,OACf,MAAO,EAAA,QAAU,MACnB,CAAC,CACH,CAAC,CACH,CAAC,EACD,KAAM,EAAA,QAAU,OAChB,SAAU,EAAA,QAAU,OACpB,gBAAiB,EAAA,QAAU,OAC3B,KAAM,EAAA,QAAU,OAChB,YAAa,EAAA,QAAU,MACzB,CAAC,CACH,CACF,ECjKA,IAAM,EAAa,GAAU,CAC3B,IAAM,EAAY,SAAS,cAAc,2BAA2B,EAGpE,EADsB,WAAW,CACjC,CAAA,CAAK,QAAO,EAAA,EAAA,IAAA,CAAC,EAAD,CAAK,MAAO,EAAO,IAAI,OAAO,EAAG,IAAK,EAAO,IAAI,KAAK,EAAG,WAAY,EAAO,IAAI,aAAa,CAAI,CAAA,CAAC,CAChH,EAEA,EAAO,IAAI,CACT,GAAG,OAAO,IACV,GAAG,OAAO,kBACV,GAAG,OAAO,KACZ,CAAC,EAED,OAAO,iBAAiB,qBAAsB,KAAO,IAAU,CAC7D,EAAU,CACZ,CAAC"}