{"version":3,"file":"static/chunks/6101-c3eaeb58a1e5bfd2.js","mappings":"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","sources":["webpack://_N_E/./src/app/ui/footer.tsx","webpack://_N_E/./src/app/ui/header.tsx","webpack://_N_E/./src/app/ui/headernav.tsx","webpack://_N_E/./src/app/utils/MixinSize.tsx","webpack://_N_E/./src/app/utils/constant/odd.tsx","webpack://_N_E/./src/app/utils/request/query.ts","webpack://_N_E/./src/app/utils/request/index.ts","webpack://_N_E/./src/app/utils/request/requestList.ts","webpack://_N_E/./src/app/style/Footer.scss","webpack://_N_E/./src/app/style/comm.scss","webpack://_N_E/./src/app/style/header.scss","webpack://_N_E/./src/app/style/headernav.scss"],"sourcesContent":["\"use client\"\nimport { getFooterMenu, getRGPBanner } from \"@/app/utils/request/requestList\";\nimport { useEffect, useState } from 'react';\nimport '../style/Footer.scss';\nimport { GET_FOOTER_MENU, GET_RGPBanner } from '../utils/request/query';\nimport { useLanguage } from \"../utils/LanguageContext\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { theme } from \"@/app/utils/Common\";\nimport \"@/app/style/comm.scss\";\n\ntype propType = {\n  data?: any;\n};\n\nconst Footer = (props: propType) => {\n  const { state: lang } = useLanguage();\n  const { t } = lang;\n  const [isOpen, setIsOpen] = useState<any>([])\n  const setIsOpenHandle = (index: any) => {\n    let currentOpen = !isOpen[index];\n\n    let reSetOpen = [];\n    reSetOpen[index] = currentOpen\n\n    setIsOpen([...reSetOpen])\n  }\n\n  const [footerMenu, setFooterMenu] = useState<any>(null);\n  const [footerRGBbanner, setFooterRGBbanner] = useState<any>(null);\n\n  //get CMS Data\n  useEffect(() => {\n    getFooterMenu({\n      language: lang.langCode,\n    }, GET_FOOTER_MENU, \"cms\").then((res) => {\n      setFooterMenu(res?.item);\n      console.log(\"footer menu\", res);\n    });\n\n    getRGPBanner({\n      language: lang.langCode,\n    }, GET_RGPBanner, \"cms\").then((res) => {\n      setFooterRGBbanner(res?.item?.RGPBanner);\n      console.log(\"RGP banner\", res);\n    });\n  }, [])\n\n  var htmlText = footerMenu?.sitemap.value;\n  var parser = new DOMParser();\n  var doc = parser.parseFromString(htmlText, 'text/html');\n  var htmlFragment: any = doc.body.firstChild;\n  const isMobile = useMediaQuery(theme.breakpoints.down(\"lg\")) ?? false;\n  return (\n    <>\n      <div id=\"seo\" className=\"fiveCol\">\n        <div className=\"content\">\n          { htmlText==null || htmlText==\"\" ? <></> : [...htmlFragment?.children].map((item, index) => {\n            return (\n              <>\n                {item.tagName !== \"DL\" ? <span dangerouslySetInnerHTML={{ __html: item.outerHTML }}></span> :\n\n                  <dl className={`${isOpen[index] ? 'isOpen' : ''}`} >\n                    <dt onClick={() => { setIsOpenHandle(index) }}>{item?.firstElementChild.textContent} <span className={`open-button`}></span></dt>\n                    {[...item?.children].map((itemdd, indexdd) => {\n                      return (\n                        itemdd.tagName === \"DD\" || itemdd.tagName === \"UL\" ? <span dangerouslySetInnerHTML={{ __html: itemdd.outerHTML }}></span > : <></>\n                      )\n                    })}\n                  </dl>\n\n                }\n              </>\n            )\n          })}\n        </div>\n      </div>\n      <div className=\"footer\">\n        <div className=\"commBContent\" style={{ padding: isMobile ? \"12px 12px 0 12px\" : \"0 16px\"}}>\n        <span dangerouslySetInnerHTML={{ __html: footerRGBbanner?.rendered }} id=\"footer-top\"></span>\n        <div className=\"footer-buttom\" dangerouslySetInnerHTML={{ __html: footerMenu?.bottomlink.value }} id=\"footer-bottom\">\n        </div>\n        </div>\n      </div>\n    </>\n  );\n};\n\nexport default Footer","\"use client\"\nimport React, { useState, useEffect } from 'react';\nimport { Grid } from '@mui/material';\nimport \"@/app/style/header.scss\";\nimport { switchLanguage, openTarget } from '@/app/utils/Common';\nimport { GET_HEADER } from \"@/app/utils/request/query\";\nimport { getHeader } from \"@/app/utils/request/requestList\";\nimport { LANGTYPE_CT, LANGTYPE_EN, LANGUAGE, str2LangCode, useLanguage } from '@/app/utils/LanguageContext';\nimport { redirectPage, theme, getLoginInfo } from \"@/app/utils/Common\";\nimport { useMediaQuery } from \"@mui/material\";\nimport cookie from 'react-cookies';\nimport \"@/app/style/comm.scss\";\nimport { useMyContext } from '@/app/utils/MyContext';\n\nconst Header = () => {\n  const { state: myContextState } = useMyContext();\n  const { state: lang } = useLanguage();\n  const { t: dict } = lang;\n  const [headerData, setHeader] = useState<any>();\n  const [salut, setSalut] = useState<string>(\"\");\n  const [searchTxt, setSearchTxt] = useState<string>(\"\");\n  const isMobile = useMediaQuery(theme.breakpoints.down(\"lg\")) ?? false;\n  const [isLogin, setIsLogin] = useState<boolean>(false);\n  const [showDisplayName, setShowDisplayName] = useState(\"\");\n\n  useEffect(() => {\n    getHeader(\n      {\n        path: \"/sitecore/content/Sites/JCRW/SiteConfiguration/Header\",\n        language: lang.langCode,\n      },\n      GET_HEADER,\n      \"cms\"\n    )\n      .then((res: any) => {\n        normalizeMainMenu(res);\n      })\n      .catch((e: any) => {\n        console.log(e);\n      });\n  }, []);\n\n  const normalizeMainMenu = (res: any) => {\n    const data = res?.item;\n    if (data !== null && data !== undefined) {\n      setHeader(data);\n    }\n  }\n\n  const submitSearch = (e?: any) => {\n    if( e && e.keyCode != '13'){\n      return;\n    }\n    const searchVlaue = btoa(encodeURIComponent(searchTxt.replace(/^\\s+/, '').replace(/\\s+$/, '')));\n    let url = \"\";\n    if (searchVlaue == \"\") {\n      if (lang.langType === LANGTYPE_EN)\n        alert(\"Please input a search query\");\n      if (lang.langType === LANGTYPE_CT)\n        alert(\"請輸入搜尋字串\");\n    } else {\n      if (lang.langType === LANGTYPE_EN)\n        url = window.globalConfig?.LINKED_PAGES?.SEARCHPAGEENG + \"?g=all&k=\" + searchVlaue;\n      if (lang.langType === LANGTYPE_CT)\n        url = window.globalConfig?.LINKED_PAGES?.SEARCHPAGECHI + \"?g=all&k=\" + searchVlaue;\n      window.location.href = url;\n    }\n  } \n\n  useEffect(() => {  \n\n    if(!isMobile)\n      getLoginStatus()\n  \n  }, [isMobile])\n\n  let count = 0;\n  const getLoginStatus = () => {\n    const isUserProfileLoaded = localStorage.getItem(\"IsUserProfileLoaded\");\n    console.log(\"getLoginInfo getLoginStatus isUserProfileLoaded\", isUserProfileLoaded)\n    if(count <= 10 && (isUserProfileLoaded == \"false\" || !isUserProfileLoaded)) {\n      console.log(\"getLoginInfo getLoginStatus count\", count) \n        setTimeout(() => {\n          count++; \n          console.log(\"getLoginInfo getLoginStatus no\")\n          return getLoginStatus()\n        }, 1000);  \n    }else if(isUserProfileLoaded || count > 10 || WCIPCookie.isLoggedIn()){\n      console.log(\"getLoginInfo getLoginStatus end\")\n      refreshGlobalLoginControl();\n    }  \n  };\n\n  const refreshGlobalLoginControl = () => {\n    const custProIn = cookie.load(\"custProIn\");\n    const {isLogin, displayName} = getLoginInfo(custProIn, lang.langType);\n    setIsLogin(isLogin);\n    setShowDisplayName(displayName);\n    console.log(\"getLoginInfo\", isLogin, displayName, window.WCIPCookie?.isLoggedIn())\n  };\n \n  return (\n    <div id=\"header\">\n      <Grid spacing={0} className=\"commBContent\" container sx={{ maxWidth: \"1808px\", margin: \"0 auto\", padding: isMobile ? \"\" : \"0 16px\" }}>\n        <Grid item lg={3}>\n          {lang.langType === LANGTYPE_EN ? (<a id=\"logo\" className=\"logo_en\" href={headerData?.LeftLink?.value} target={openTarget(headerData?.LeftLinkNewWindow?.value)}>{headerData?.LeftImage?.value ? (<img src={headerData?.LeftImage?.src} alt={headerData?.LeftImage?.alt} id=\"imgMainLogo\" />) : (<img src={`${myContextState.assetPrefix}/commonImg/logo_hkjc_e.png`} alt=\"The Hong Kong Jockey Club\" id=\"imgMainLogo\" />)}</a>) : (<a id=\"logo\" className=\"logo_ch\" href={headerData?.LeftLink?.value} target={openTarget(headerData?.LeftLinkNewWindow?.value)}>{headerData?.LeftImage?.value ? (<img src={headerData?.LeftImage?.src} alt={headerData?.LeftImage?.alt} id=\"imgMainLogo\" />) : (<img src={`${myContextState.assetPrefix}/commonImg/logo_hkjc_c.png`} alt=\"香港賽馬會\" id=\"imgMainLogo\" />)}</a>)}\n        </Grid>\n        <Grid item lg={9} sx={{ display: { xs: 'none', lg: 'block' } }}>\n          <div id=\"header_nav\" className=\"nav\">\n            <div id=\"topNav\">\n              <div>\n                <input name=\"searchkey\" id=\"searchkey\" type=\"hidden\" />\n                {\n                  Object.keys(LANGUAGE).map((key: string) => {\n                    const code = str2LangCode(key)\n                    if (lang.langCode === code) return\n                    const homepage = lang.langType === LANGTYPE_EN ? window.globalConfig?.LINKED_PAGES?.HOMEPAGEENG : window.globalConfig?.LINKED_PAGES?.HOMEPAGECHI\n                    return (\n                      <>\n                        <a href={homepage}>{dict(\"home\")}</a><a onClick={() => switchLanguage(code)} className=\"lang\">{LANGUAGE[code].display}</a>\n                      </>\n                    )\n                  })\n                }\n                <input maxLength={166} title=\"\" placeholder={dict(\"search\")} type=\"text\" name=\"\" id=\"searchtxt\" onChange={(e) => setSearchTxt(e.target.value)} onKeyUp={(e) => submitSearch(e)} />\n                <input className=\"iconToggle\" type=\"image\" name=\"\" id=\"searchimg\" src={`${myContextState.assetPrefix}/commonImg/icon_toggle.gif`} alt={dict(\"search\")} onClick={() => submitSearch()} />\n              </div>\n              <div id=\"globalLoginControl\">\n                <div className=\"beforelogin\" style={{ display: isLogin ? \"none\" : \"\"  }}><a className=\"login\" href=\"javascript:;\" onClick={(e) => redirectPage(e, 'login', lang.langType)}>{dict(\"login\")}</a> / <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'register', lang.langType)}>{dict(\"register\")}</a><a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'help', lang.langType)} className=\"faq\">{dict(\"faq\")}</a></div>\n                <div className=\"afterlogin\" style={{ display: isLogin ? '' : \"none\"}}><div className=\"hkjc_login_message\">\n                  <span className=\"hkjc_greeting_name\">{dict(\"hi\")}{showDisplayName}</span><a className=\"logout\" href=\"javascript:;\" onClick={(e) => redirectPage(e, 'logout', lang.langType)}>{dict(\"logout\")}</a> / </div><a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'preference', lang.langType)}>{dict(\"preference\")}</a><a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'help', lang.langType)} className=\"faq\">{dict(\"faq\")}</a></div>\n              </div>\n              {/* <div id=\"ssoDiv\"></div> */}\n            </div>\n            <div id=\"ewinContainer\">\n              <a className=\"ewin\" onClick={(e) => waTracker('header_ewin_home')} href={headerData?.RightLink?.value} target={openTarget(headerData?.RightLinkNewWindow?.value)}><img src={headerData?.RightImage?.src ? headerData?.RightImage?.src : `${myContextState.assetPrefix}/commonImg/icon_ewin.png`} style={{ border: 0, width: 39, height: 40 }} alt={headerData?.RightImage?.alt} id=\"imgSubLogo\" /></a>\n              <a onClick={(e) => waTracker('header_ewin_racing')} href={headerData?.HRRedirectionLink?.value} target={openTarget(headerData?.HRRedirectionNewWindow?.value)} id=\"lblHR\">{headerData?.HRLabel?.value}</a>\n              <a onClick={(e) => waTracker('header_ewin_football')} href={headerData?.FBRedirectionLink?.value} target={openTarget(headerData?.FBRedirectionNewWindow?.value)} id=\"lblFB\">{headerData?.FBLabel?.value}</a>\n              <a onClick={(e) => { waTracker('header_ewin_marksix') }} href={headerData?.M6RedirectionLink?.value} target={openTarget(headerData?.M6RedirectionNewWindow?.value)} id=\"lblM6\">{headerData?.M6Label?.value}</a>\n            </div>\n          </div>\n        </Grid>\n      </Grid>\n    </div>\n  )\n}\n\nfunction waTracker(name: string) {\n  console.log('tracker name: ', name);\n  // WATracker.trackClickEvent(name)\n}\n\nexport default Header","\"use client\"\nimport React, { useState, useEffect } from 'react';\nimport { Container, Drawer } from '@mui/material';\nimport { headernavType } from '@/app/lib/definitions';\nimport { GET_HEADER, GET_HEADER_NAV_MAIN, GET_RACE_SITE_MENU } from \"@/app/utils/request/query\";\nimport { getHeader, getHeaderNavMain, getRaceSiteMenu } from \"@/app/utils/request/requestList\";\nimport \"@/app/style/headernav.scss\";\nimport _ from 'lodash';\nimport { switchLanguage, openTarget, openNewWindow } from \"@/app/utils/Common\";\nimport { LANGTYPE_EN, LANGUAGE, str2LangCode, useLanguage } from '@/app/utils/LanguageContext';\nimport SearchIcon from '@mui/icons-material/Search';\nimport { redirectPage, theme, getLoginInfo} from \"@/app/utils/Common\";\nimport { textSize } from \"@/app/utils/MixinSize\";\nimport { useMediaQuery } from \"@mui/material\";\nimport \"@/app/style/comm.scss\";\nimport { useMyContext } from '@/app/utils/MyContext';\nimport cookie from 'react-cookies';\nimport Script from 'next/script';\nimport { getAssetPrefix } from '@/app/utils/Metadata';\n\ntype propType = {\n  data?: any;\n};\n\nconst HeaderNav = (props: propType) => {\n  const assetPrefix = getAssetPrefix();\n  const { state: myContextState } = useMyContext();\n  const { state: lang } = useLanguage();\n  const { t: dict } = lang;\n  const [headerData, setHeader] = useState<any>();\n  const [open, setMainMenuOpen] = useState<boolean>(false);\n  const [mainMenu, setMainMenu] = useState<any[]>([]);\n  // const [raceSiteMenu, setRaceSiteMenu] = useState<any[]>([]);\n  const isMobile = useMediaQuery(theme.breakpoints.down(\"lg\")) ?? false;\n  const [isLogin, setIsLogin] = useState<boolean>(false);\n  const [showDisplayName, setShowDisplayName] = useState(\"\");\n\n  const toggleMainMenu = (open: boolean) => () => {\n    setMainMenuOpen(open);\n  };\n  const [simulcastMainMenu, setSimulcastMainMenu] = useState<any>(null);\n  const clientQuery = props.data?.simulcastMainMenu;\n  useEffect(() => {\n    setSimulcastMainMenu(clientQuery);\n  }, [])\n\n  const changeMenu = (e: any, hiddenId: string, displayId: string) => {\n    const hideElement = document.getElementById(hiddenId);\n    if (!!hideElement) hideElement.className = \"inactive\";\n    const displayElement = document.getElementById(displayId);\n    if (!!displayElement) displayElement.className = \"active\";\n  }\n\n  useEffect(() => {\n    getHeaderNavMain(\n      {\n        path: \"/sitecore/content/Sites/CorpWebCommon/InformationArchitercutre/\",\n        language: lang.langCode\n      },\n      GET_HEADER_NAV_MAIN,\n      \"cms\"\n    )\n      .then((res: any) => {\n        normalizeMainMenu(res);\n      })\n      .catch((e: any) => {\n        console.log(e);\n      });\n  }, []);\n\n  useEffect(() => {\n    // getRaceSiteMenu(\n    //   {\n    //     path: \"/sitecore/content/Sites/JCRW/Simulcast/MeetingSummaryMenu\",\n    //     language: lang.langCode\n    //   },\n    //   GET_RACE_SITE_MENU,\n    //   \"cms\"\n    // )\n    //   .then((res: any) => {\n    //     setRaceSiteMenu(res?.item?.children);\n    //   })\n    //   .catch((e: any) => {\n    //     console.log(e);\n    //   });\n  }, []);\n\n  useEffect(() => {  \n    if(isMobile)\n      getLoginStatus(); \n  }, [isMobile]);\n  let count = 0;\n  const getLoginStatus = () => {\n    const isUserProfileLoaded = localStorage.getItem(\"IsUserProfileLoaded\");\n    console.log(\"getLoginInfo getLoginStatus isUserProfileLoaded\", isUserProfileLoaded)\n    if(count <= 10 && (isUserProfileLoaded == \"false\" || !isUserProfileLoaded)) { \n        setTimeout(() => {\n          count++;\n          console.log(\"getLoginInfo Mobile getLoginStatus no\")\n          return getLoginStatus()\n        }, 1000);  \n    } else if (isUserProfileLoaded || count > 10 || WCIPCookie.isLoggedIn()){\n      console.log(\"getLoginInfo Mobile getLoginStatus end\")\n      refreshGlobalLoginControl();\n    }\n  };\n\n  const refreshGlobalLoginControl = () => {\n    const custProIn = cookie.load(\"custProIn\");\n    const {isLogin, displayName} = getLoginInfo(custProIn, lang.langType);\n    setIsLogin(isLogin);\n    setShowDisplayName(displayName);\n    console.log(\"getLoginInfo\", isLogin, displayName, window.WCIPCookie?.isLoggedIn())\n  };\n\n  useEffect(() => {\n    getHeader(\n      {\n        path: \"/sitecore/content/Sites/JCRW/SiteConfiguration/Header\",\n        language: lang.langCode,\n      },\n      GET_HEADER,\n      \"cms\"\n    )\n      .then((res: any) => {\n        const data = res?.item;\n        if (data !== null && data !== undefined) {\n          setHeader(data);\n        }\n      })\n      .catch((e: any) => {\n        console.log(e);\n      });\n  }, []);\n  \n  const normalizeMainMenu = (res: any) => {\n    const data = res?.item?.data;\n    if (data !== null && data !== undefined) {\n      _.forEach(data, function(item1) {\n        item1.seqIndex = Number(item1?.seq?.value || \"999\") ;\n        if(item1.children !== null && item1.children !== undefined){\n          _.forEach(item1.children, function(item2) {\n            item2.seqIndex = Number(item2?.seq?.value || \"999\") ;\n            if(item2.children !== null && item2.children !== undefined){\n              _.forEach(item2.children, function(item3) {\n                item3.seqIndex = Number(item3?.seq?.value || \"999\") ;\n                if(item3.children !== null && item3.children !== undefined){\n                  _.forEach(item3.children, function(item4) {\n                    item4.seqIndex = Number(item4?.seq?.value || \"999\") ;\n                  });\n                }\n              });\n            }\n          });\n        }\n      });\n      const sortedData = _.sortBy(data, ['seqIndex']); \n      setMainMenu(sortedData);\n    }\n  }\n\n  const subMena = _.sortBy((mainMenu.filter((item) => item.name === '02-Racing' && item.label.value)[0]?.children || []), ['seqIndex']);\n  return (\n    <>\n      <Container disableGutters maxWidth={false} sx={{ display: { xs: 'none', lg: 'block' } }}>\n        <div className=\"nav-block\" id=\"mainNav\">\n          <div className=\"nav-block\">\n            <div className=\"container\">\n              <div className=\"navbar\">\n                <div className=\"collapse navbar-collapse\" id=\"bs-example-navbar-collapse-1\">\n                  <nav className=\"main-nav nav-en\">\n                    <ul className={`nav nav-level-1 ${lang.langType === LANGTYPE_EN?\"\": \"nav-level-1-ch\"} commBContent`} style={{padding: isMobile ? \"\" : \"0 16px\"}}>\n                      {mainMenu.map((item, index) => {\n                        if (item.label?.value) {\n                          return (\n                            <li key={\"nav\" + index} id={item.name} style={{ borderLeft: index === 0 ? '1px solid #003c84' : '', borderRight: index === mainMenu.length - 1 ? '1px solid #003c84' : '' }}>\n                              {item.name === '02-Racing' ? (<a className='active' target={openNewWindow(item?.target?.value)} href={item.link?.value || 'javascript:;'}>{item.label?.value}</a>) : (<a target={openNewWindow(item?.target?.value)} href={item.link?.value || 'javascript:;'}>{item.label?.value}</a>)}\n                            </li>\n                          )\n                        }\n                      })}\n                    </ul>\n                  </nav>\n                  <nav className=\"second-nav\" id=\"second-nav-container\">\n                    <ul className={`dropdown ${lang.langType === LANGTYPE_EN?\"\": \"dropdown_ch\"} navbar-hkjc index commBContent`} id=\"nav-racing\" style={{padding: isMobile ? \"\" : \"10px 16px\"}}>\n                      {subMena.map((sub: any, idx) => {\n                        if (sub?.label?.value) {\n                          return (\n                            <li key={`subMena_${idx}`} onMouseLeave={hideSubMenu}>\n                              <a id={sub.name} href={sub.link.value || 'javascript:;'} target={openNewWindow(sub?.target?.value)} onMouseEnter={displaySubMenu}>{sub?.label?.value}</a>\n                              <ul>\n                                {!!sub.children ? _.sortBy(sub.children, ['seqIndex']).map((lvl: any, i: number) => {\n                                  if (lvl.label.value) {\n                                    return (\n                                      <li key={`sub_${i}`}>\n                                        <a id={lvl.name} href={lvl.link.value} target={openNewWindow(lvl?.target?.value)} className={lvl.children.length > 0 ? 'nav-arrow' : ''} onMouseEnter={displaySubMenu2}>{lvl.label.value}</a>\n                                        <ul>\n                                          {!!lvl.children ? _.sortBy(lvl.children, ['seqIndex']).map((last: any, j: number) => {\n                                            if (last.label.value) {\n                                              return (\n                                                <li key={`last_${j}`}>\n                                                  <a id={last.name} href={last.link.value} target={openNewWindow(last?.target?.value)}>{last.label.value}</a>\n                                                </li>\n                                              )\n                                            }\n                                          }) : <></>}\n                                        </ul>\n                                      </li>\n                                    )\n                                  }\n                                }) : <></>}\n                              </ul>\n                            </li>\n                          )\n                        }\n                      })\n                      }\n                    </ul>\n                  </nav>\n                </div>\n                <div className=\"clear\"></div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </Container>\n      <Container sx={{ display: { lg: 'none' } }}>\n        <div style={{ position: 'absolute', top: '15px', right: '15px' }} onClick={toggleMainMenu(true)}>\n          <a id=\"btn-menu-mobile\" />\n        </div>\n        <Drawer open={open} onClose={toggleMainMenu(false)} anchor={'right'}>\n          <nav id=\"mainNav-mobile\">\n            <div className=\"mobileTitle\" style={{display:\"flex\"}}>\n              {/* <div id=\"ewinContainer\" className=\"mobile-top-ewin\">\n                <a className=\"ewin\" onClick={(e) => waTracker('header_ewin_home')} href=\"//bet.hkjc.com/default.aspx?lang=en\" target=\"_blank\">\n                  <img src={getStaticSrcPath(\"/commonImg/spacer.png\")} style={{ border: 0, width: 39, height: 40 }} alt=\"eWin\" />\n                </a>\n              </div> */}\n              <span className=\"mobile-top-login\" style={{display:\"flex\"}}>\n                <span><a className=\"ewin\" onClick={(e) => waTracker('header_ewin_home')} href={headerData?.RightLink?.value} target={openTarget(headerData?.RightLinkNewWindow?.value)}><img src={headerData?.RightImage?.src ? headerData?.RightImage?.src : `${myContextState.assetPrefix}/commonImg/icon_ewin.png`} style={{ border: 0, width: 39, height: 40 }} alt={headerData?.RightImage?.alt} id=\"imgSubLogo\" /></a></span>\n                <span className=\"beforelogin\" style={{display: isLogin ? \"none\" : \"\" }}>\n                  <a className=\"login\" href=\"javascript:;\" onClick={(e) => redirectPage(e, 'login', lang.langType)}>{dict(\"login\")}</a> /\n                  <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'register', lang.langType)}>{dict(\"register\")}</a> /\n                  <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'help', lang.langType)} className=\"faq\">{dict(\"faq\")}</a>&nbsp;&nbsp;\n                  <a href={lang.langType === LANGTYPE_EN ? window.globalConfig?.LINKED_PAGES?.SEARCHPAGEENG : window.globalConfig?.LINKED_PAGES?.SEARCHPAGECHI} target=\"_blank\"><SearchIcon sx={{ color:\"#FFF\",...textSize(22), verticalAlign: \"middle\"}} ></SearchIcon></a>\n                  \n                </span>\n                <span className=\"afterlogin\" style={{display: isLogin ? \"\" : \"none\", paddingLeft: '10px' }}>\n                  <div className=\"mobile_login_message\">\n                    <span className=\"hkjc_greeting_name\">{dict(\"hi\")}{showDisplayName}</span>&nbsp;\n                    <a className=\"logout\" href=\"javascript:;\" onClick={(e) => redirectPage(e, 'logout', lang.langType)}>{dict(\"logout\")}</a> /\n                  </div>\n                  <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'preference', lang.langType)}>{dict(\"preference\")}</a>&nbsp;&nbsp;&nbsp;\n                  <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'help', lang.langType)} className=\"faq\">{dict(\"faq\")}</a>&nbsp;&nbsp;\n                  <a href={lang.langType === LANGTYPE_EN ? window.globalConfig?.LINKED_PAGES?.SEARCHPAGEENG : window.globalConfig?.LINKED_PAGES?.SEARCHPAGECHI} target=\"_blank\"><SearchIcon sx={{ color:\"#FFF\",...textSize(22), verticalAlign: \"middle\"}} ></SearchIcon></a>\n                </span>\n              </span>\n              <span className=\"mobile-top-lang\">                \n              {\n                Object.keys(LANGUAGE).map((key: string) => {\n                  const code = str2LangCode(key)\n                  if (lang.langCode === code) return\n                  return <a key={`languageBtn_${key}`} onClick={() => switchLanguage(code)} className=\"lang\">{LANGUAGE[code].display}</a>\n                })\n              }\n              </span>\n            </div>\n            <div className=\"mm-panel\">\n              <div className=\"active\" id=\"mm-1\">\n                <div className=\"mm-navbar\">\n                  <a className=\"mm-title\" id=\"nav_title_hkjc\">{lang.langType === LANGTYPE_EN ? \"HKJC\" : \"香港賽馬會\"}</a>\n                </div>\n                <ul className=\"mm-listview\">\n                  <li><a id=\"home\" href={lang.langType === LANGTYPE_EN ? window.globalConfig?.LINKED_PAGES?.HOMEPAGEENG : window.globalConfig?.LINKED_PAGES?.HOMEPAGECHI}>{dict(\"home\")}</a></li>\n                  {mainMenu.map((item, index) => {\n                    if (item?.label?.value) {\n                      return (\n                        <li key={`${item}_${index}`}>\n                          <a id={item?.name} href={item?.link.value} target={openNewWindow(item?.target?.value)}>{item?.label?.value}</a>\n                          {item.name === '02-Racing' ? <a className=\"mm-next\" id=\"nav_next_mm_2\" href=\"javascript:;\" data-target=\"#mm-2\" onClick={(e) => changeMenu(e, 'mm-1', 'mm-2')}></a> : <></>}\n                        </li>\n                      )\n                    }\n                  })}\n                </ul>\n              </div>\n              <div className=\"inactive\" id=\"mm-2\">\n                <div className=\"mm-navbar\">\n                  <a className=\"mm-prev\" id=\"nav_prew_mm_1\" href=\"javascript:;\" data-target=\"#mm-1\" onClick={(e) => changeMenu(e, 'mm-2', 'mm-1')}></a>\n                  <a className=\"mm-title\" id=\"nav_title_02_Racing\">{mainMenu.filter((item) => item.name === '02-Racing')[0]?.label.value}</a>\n                </div>\n                <ul className=\"mm-listview\">\n                  {subMena.map((sub, idx) => {\n                    if (sub.label.value) {\n                      return (\n                        <li key={`${sub}_${idx}`}>\n                          <a id={sub.name} href={sub.link.value} target={openNewWindow(sub?.target?.value)}>{sub.label.value}</a>\n                          {!!(sub.children.length > 0) ? <a className=\"mm-next\" id=\"nav_next_mm_3\" href=\"javascript:;\" data-target={\"#mm-3\" + idx} onClick={(e) => changeMenu(e, 'mm-2', \"mm-3\" + idx)}></a> : <></>}\n                        </li>\n                      )\n                    }\n                  })}\n                </ul>\n              </div>\n              {subMena.map((sub, idx) => {\n                if (sub.label.value) {\n                  return (!!sub.children ? (\n                    <div className=\"inactive\" id={\"mm-3\" + idx} key={\"mm-3\" + idx}>\n                      <div className=\"mm-navbar\">\n                        <a className=\"mm-prev\" id=\"nav_prew_mm_2\" href=\"javascript:;\" data-target=\"#mm-2\" onClick={(e) => changeMenu(e, \"mm-3\" + idx, 'mm-2')}></a>\n                        <a className=\"mm-title\" id={\"nav_title_mm_3\" + idx}>{sub.label.value}</a>\n                      </div>\n                      <ul className=\"mm-listview\">\n                        {_.sortBy(sub.children, ['seqIndex']).map((lvl: any, indx: number) => {\n                          if (lvl.label.value) {\n                            return (\n                              <li key={`${lvl}_${indx}`}>\n                                <a id={lvl.name} href={lvl.link.value} target={openNewWindow(lvl?.target?.value)}>{lvl.label.value}</a>\n                                {!!(lvl.children.length > 0) ? <a className=\"mm-next\" id=\"nav_next_mm_4\" href=\"javascript:;\" data-target={\"#mm-4\" + indx} onClick={(e) => changeMenu(e, \"mm-3\" + idx, \"mm-4\" + indx)}></a> : <></>}\n                              </li>\n                            )\n                          }\n                        })}\n                      </ul>\n                    </div>\n                  ) : (<></>))\n                }\n              })}\n              {subMena.map((sub, idx) => {\n                return (!!sub.children ? (\n                  _.sortBy(sub.children, ['seqIndex']).map((lvl: any, indx: number) => {\n                    if (lvl.label.value) {\n                      return (!!lvl.children ? (\n                        <div className=\"inactive\" id={\"mm-4\" + indx} key={\"mm-4\" + indx} onClick={(e) => changeMenu(e, \"mm-4\" + indx, \"mm-3\" + idx)}>\n                          <div className=\"mm-navbar\">\n                            <a className=\"mm-prev\" id=\"nav_prew_mm_3\" href=\"javascript:;\" data-target={\"#mm-3\" + idx}></a>\n                            <a className=\"mm-title\" id={\"nav_title_mm_4\" + indx}>{lvl.label.value}</a>\n                          </div>\n                          <ul className=\"mm-listview\">\n                            {_.sortBy(lvl.children, ['seqIndex']).map((lvllast: any, ix: number) => {\n                              if (lvllast.label.value) {\n                                return (\n                                  <li key={`${lvllast}_${ix}`}>\n                                    <a id={lvllast.name} href={lvllast.link.value} target={openNewWindow(lvllast?.target?.value)}>{lvllast.label.value}</a>\n                                  </li>\n                                )\n                              }\n                            })}\n                          </ul>\n                        </div>\n                      ) : (<></>))\n                    }\n                  })\n                ) : (<></>))\n              })}\n            </div>\n          </nav>\n        </Drawer>\n      </Container>\n      {/* <Script src={`${assetPrefix}/js/loadSSO.js`}   /> */}\n    </>\n  );\n}\n\nfunction displaySubMenu(e: any) {\n  e.preventDefault();\n  e.target.parentElement.parentElement.classList.add('dim');\n  e.target.classList.add('active');\n  e.target.parentElement.parentElement.classList.remove('first');\n  adjustPosition(e.target, e.target.nextElementSibling)\n}\n\nfunction displaySubMenu2(e: any) {\n  e.preventDefault();\n  adjustPosition2(e.target, e.target.nextElementSibling);\n  \n}\n\nfunction adjustPosition(curentTab:any, ele:any) {\n  const rect = curentTab.getBoundingClientRect();\n  const viewportWidth = window.innerWidth;\n  if(viewportWidth - rect.right < 210) {\n    ele.style.left = 'auto';\n    ele.style.right = '0';\n  } else {\n    ele.style.left = '0';\n    ele.style.right = 'auto';\n  }\n}\nfunction hideSubMenu(e: any) {\n  e.preventDefault();\n  e.target.parentElement.parentElement.classList.remove('dim');\n  const children = e.target.parentElement.children;\n  for (const child of children) {\n    child.classList.remove('active');\n  }\n  e.target.parentElement.parentElement.classList.remove('first');\n}\nfunction adjustPosition2(curentTab:any, ele:any) {\n  const rect = curentTab.getBoundingClientRect();\n  const viewportWidth = window.innerWidth;\n  if(viewportWidth - rect.right < 210) {\n    ele.style.left = 'auto';\n    ele.style.right = '100%';\n  } else {\n    ele.style.left = '100%';\n    ele.style.right = 'auto';\n  }\n}\nfunction waTracker(name: string) {\n  console.log('tracker name: ', name);\n  // WATracker.trackClickEvent(name)\n}\n\nexport default HeaderNav","\n\nexport const textSize =(value:number)=>{\n  return {\n    fontSize: value+\"px\",\n    [`@media only screen and (min-width: 1680px)`]: {\n        fontSize: (value+2) +\"px\",\n    },\n  }\n};\n\nexport const text_size = (value:number)=>{\n  return `\n    font-size: ${value}px;\n    @media only screen and (min-width: 1680px) {\n        font-size: ${value+2}px;\n    }`\n};","export const oddType = {\n  WIN: \"WIN\",\n  PLA: \"PLA\",\n  QIN: \"QIN\",\n  QPL: \"QPL\",\n  IWN: \"IWN\",\n  FCT: \"FCT\",\n  TCE: \"TCE\",\n  QTT: \"QTT\",\n  TRI: \"TRI\",\n  FF: \"FF\",\n  DBL: \"DBL\",\n  TBL: \"TBL\",\n  DT: \"DT\",\n  TT: \"TT\",\n  SIX_UP: \"SixUP\",\n  CWA: \"CWA\",\n  CWB: \"CWB\",\n  CWC: \"CWC\",\n  JKC: \"JKC\",\n  TNC: \"TNC\",\n}\nexport const singlePools = [\n  oddType.WIN,\n  oddType.PLA,\n  oddType.QIN,\n  oddType.QPL,\n  oddType.IWN,\n  oddType.CWA,\n  oddType.CWB,\n  oddType.CWC,\n  oddType.FCT,\n  oddType.TCE,\n  oddType.TRI,\n  oddType.FF,\n  oddType.QTT,\n];","export const GET_RACE_CARD_LIST = `\nquery RaceCardProfile($date: String, $venueCode: String, $type: STStatType, $ids: [String!], $raceNumber: String, $meetingDate: String) {\n  raceMeetingProfile(date: $date, venueCode: $venueCode) {\n    totalNumberOfRace\n    status\n    pmPools {\n      leg {\n        races\n      }\n      status\n      oddsType\n    }\n    races {\n      id\n      no\n      status\n      postTime\n      raceName_en\n      raceName_ch\n      raceResults {\n        status\n      }\n      countryCodeNm {\n        code\n        english\n        chinese\n      }\n      distance\n      raceCourse {\n        code\n        description_en\n        description_ch\n      }\n      raceTrack {\n        code\n        description_en\n        description_ch\n      }\n      raceType_en\n      raceType_ch\n      raceClass_en\n      raceClass_ch\n      country_en\n      country_ch\n      winningMargin {\n        seqNo\n        lbw\n      }\n      go_en\n      go_ch\n      remarks {\n        name_en\n        name_ch\n        seqNo\n      }\n      runners {\n        horse {\n          name_en\n          name_ch\n          id\n        }\n        status\n        color\n        no\n        handicapWeight\n        jockey {\n          code\n          name_en\n          name_ch\n        }\n        trainer {\n          code\n          name_en\n          name_ch\n        }\n        id\n        last6run\n        internationalRating\n        currentRating \n        sire\n        sexNm {\n          chinese\n          english\n          code\n        }\n        age\n        barrierDrawNumber\n        gearInfo\n        stat(type: $type) {\n          statType\n          numStarts\n          numFirst\n          numSecond\n          numThird\n        }\n        damNm {\n          code\n          chinese\n          english\n        }\n        sireOfDamNm {\n          code\n          chinese\n          english\n        }\n        ownerNm {\n          code\n          chinese\n          english\n        }\n        colorNm {\n          code\n          chinese\n          english\n        }\n      }\n    }\n    date\n    venueCode\n  }\n\n  simulcastHorse(ids: $ids, raceNumber: $raceNumber, meetingDate: $meetingDate, venCode: $venueCode) {\n    id\n    brandNumber\n    earings\n    performanceStats {\n      type\n      firstPlace\n      secondPlace\n      thirdPlace\n      totalRun\n      ssn\n    } \n  }\n}\n`;\nexport const GET_RACE_INFO_LIST = `\nquery SimulcastRaceInfo($ids: [String!], $raceNumber: String, $meetingDate: String, $venCode: String) {\n  simulcastHorse(ids: $ids, raceNumber: $raceNumber, meetingDate: $meetingDate, venCode: $venCode) {\n    id\n    horseFormRecord {\n      id\n      date\n      jockey {\n        code\n        name_ch\n        name_en\n      }\n      trainer {\n        name_ch\n        name_en\n      }\n      raceNo\n      placeNo\n      ruPlace\n      venue {\n        code\n        chinese\n        english\n      }\n      track {\n        english\n        chinese\n        code\n      }\n      gear\n      comments {\n        code\n        chinese\n        english\n      }\n      winners{\n        pos\n        name {\n          chinese\n          english\n        }\n        cnty {\n          code\n          chinese\n          english\n        }\n      }\n      med {\n        code\n        chinese\n        english\n      }\n      raceName {\n        code\n        chinese\n        english\n      }\n      course {\n        code\n        chinese\n        english\n      }\n      raceId\n      raceIndex\n      runnerStatus\n      racingComments {\n        name\n        date\n      }\n      winOdds\n      resultIndex\n      horseWeight\n      actualWeight\n      marginOrLBW {\n        code\n        chinese\n        english\n      }\n      season\n      runnerResults {\n        id\n      }\n      racecourse {\n        code\n        chinese\n        english\n      }\n      going {\n        code\n        chinese\n        english\n      }\n      sectionTimeSplits {\n        sectionTime\n        gpSec\n        sectionNo\n      }\n      raceTimeSplits {\n        sectionNo\n        gpSec\n        sectionTime\n      }\n      sectionInfos {\n        sectionNo\n        ruPos\n        sectionTime\n      }\n      barrierDrNo\n      distance\n      finalTimeOfRace\n      raceCountry {\n        code\n        chinese\n        english\n      }\n      cntyShortNm {\n        code\n        chinese\n        english\n      }\n      racecourse {\n        code\n        chinese\n        english\n      }\n      numOfStarters\n      currency {\n        english\n        code\n        chinese\n      }\n      ageCondition {\n        code\n        english\n        chinese\n      } \n      condition {\n        code\n        english\n        chinese\n      }\n      prizeMoney\n      fav\n      placingRemarks\n      className {\n        chinese\n        code\n        english\n      }\n      raceTurn {\n        chinese\n        code\n        english\n      }\n    }\n    brandNumber\n  }\n}\n`;\nexport const GET_HEADER_NAV_MAIN = `\n    query SiteHeaderNavMain($path: String, $language: String) {\n      item(path: $path, language: $language) {\n        data: children {\n          name\n          hasChildren\n          label: field(name: \"label\") {\n            ... on TextField {\n              value\n            }\n          }\n          link: field(name: \"link\") {\n            ... on TextField {\n              value\n            }\n          }\n          seq: field(name: \"seq\") {\n            ... on TextField {\n              value\n            }\n          }\n          target: field(name: \"newwindow\") {\n            ... on CheckboxField {\n              value\n            }\n          }\n          newwindow: field(name: \"newwindow\") {\n            name\n            value \n          }\n          children {\n            name\n            hasChildren\n            label: field(name: \"label\") {\n              ... on TextField {\n                value\n              }\n            }\n            link: field(name: \"link\") {\n              ... on TextField {\n                value\n              }\n            }\n            seq: field(name: \"seq\") {\n              ... on TextField {\n                value\n              }\n            }\n            target: field(name: \"newwindow\") {\n              ... on CheckboxField {\n                value\n              }\n            }\n            newwindow: field(name: \"newwindow\") {\n              name\n              value \n            }\n            children {\n              name\n              hasChildren\n              label: field(name: \"label\") {\n                ... on TextField {\n                  value\n                }\n              }\n              link: field(name: \"link\") {\n                ... on TextField {\n                  value\n                }\n              }\n              seq: field(name: \"seq\") {\n                ... on TextField {\n                  value\n                }\n              }\n              target: field(name: \"newwindow\") {\n                ... on CheckboxField {\n                  value\n                }\n              }\n              newwindow: field(name: \"newwindow\") {\n                name\n                value \n              }\n              children {\n                name\n                hasChildren\n                label: field(name: \"label\") {\n                  ... on TextField {\n                    value\n                  }\n                }\n                link: field(name: \"link\") {\n                  ... on TextField {\n                    value\n                  }\n                }\n                seq: field(name: \"seq\") {\n                  ... on TextField {\n                    value\n                  }\n                }\n                target: field(name: \"newwindow\") {\n                  ... on CheckboxField {\n                    value\n                  }\n                }\n                newwindow: field(name: \"newwindow\") {\n                  name\n                  value \n                }\n              }\n            }\n          }\n        }\n      }\n    }\n    `;\n\nexport const GET_HEADER = `\n    query SiteHeader($path: String, $language: String) {\n      item(path: $path, language: $language) {\n        displayName\n        HRLabel: field(name: \"HRLabel\") {\n          value\n        }\n        LeftImage: field(name: \"LeftImage\") {\n          ... on ImageField {\n            value\n            size\n            src\n            title\n          }\n        }\n        RightImage: field(name: \"RightImage\") {\n          ... on ImageField {\n            value\n            size\n            src\n            title\n            alt\n          }\n        }\n        HRRedirectionLink: field(name: \"HRRedirectionLink\") {\n          value\n        }\n        LeftLink: field(name: \"LeftLink\") {\n          value\n        }\n        RightLink: field(name: \"RightLink\") {\n          value\n        }\n        HRRedirectionNewWindow: field(name: \"HRRedirectionNewWindow\") {\n          value\n        }\n        LeftLinkNewWindow: field(name: \"LeftLinkNewWindow\") {\n          value\n        }\n        RightLinkNewWindow: field(name: \"RightLinkNewWindow\") {\n          value\n        }\n        FBLabel: field(name: \"FBLabel\") {\n          value\n        }\n        FBRedirectionLink: field(name: \"FBRedirectionLink\") {\n          value\n        }\n        FBRedirectionNewWindow: field(name: \"FBRedirectionNewWindow\") {\n          value\n        }\n        M6Label: field(name: \"M6Label\") {\n          value\n        }\n        M6RedirectionLink: field(name: \"M6RedirectionLink\") {\n          value\n        }\n        M6RedirectionNewWindow: field(name: \"M6RedirectionNewWindow\") {\n          value\n        }\n      }\n    } \n    `;\n\nexport const GET_RACE_SITE_MENU = `\n  query SiteRacingMenu($path: String, $language: String) {\n    item(path: $path, language: $language) {\n      children {\n        name\n        hasChildren\n        label: field(name: \"Label\") {\n          ... on TextField {\n            value\n          }\n        }\n        link: field(name: \"RedirectionURL\") {\n          ... on TextField {\n            value\n          }\n        }\n        target: field(name: \"Target\") {\n          ... on TextField {\n            value\n          }\n        }\n        targetJCRWPage: field(name: \"RedirectionJCRWPage\") {\n          ... on TextField {\n            value\n          }\n        }\n        redirectionTarget: field(name: \"Redirection\") {\n          ... on TextField {\n            value\n          }\n        }\n        children {\n          name\n          hasChildren\n          label: field(name: \"Label\") {\n            ... on TextField {\n              value\n            }\n          }\n          link: field(name: \"RedirectionURL\") {\n            ... on TextField {\n              value\n            }\n          }\n          target: field(name: \"Target\") {\n            ... on TextField {\n              value\n            }\n          }\n          targetJCRWPage: field(name: \"RedirectionJCRWPage\") {\n            ... on TextField {\n              value\n            }\n          }\n          redirectionTarget: field(name: \"Redirection\") {\n            ... on TextField {\n              value\n            }\n          }\n          children {\n            name\n            hasChildren\n            label: field(name: \"Label\") {\n              ... on TextField {\n                value\n              }\n            }\n            link: field(name: \"RedirectionURL\") {\n              ... on TextField {\n                value\n              }\n            }\n            target: field(name: \"Target\") {\n              ... on TextField {\n                value\n              }\n            }\n            targetJCRWPage: field(name: \"RedirectionJCRWPage\") {\n              ... on TextField {\n                value\n              }\n            }\n            redirectionTarget: field(name: \"Redirection\") {\n              ... on TextField {\n                value\n              }\n            }\n            children {\n              name\n              hasChildren\n              label: field(name: \"Label\") {\n                ... on TextField {\n                  value\n                }\n              }\n              link: field(name: \"RedirectionURL\") {\n                ... on TextField {\n                  value\n                }\n              }\n              target: field(name: \"Target\") {\n                ... on TextField {\n                  value\n                }\n              }\n              targetJCRWPage: field(name: \"RedirectionJCRWPage\") {\n                ... on TextField {\n                  value\n                }\n              }\n              redirectionTarget: field(name: \"Redirection\") {\n                ... on TextField {\n                  value\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  } \n`;\n\nexport const GET_RACE_MEETING_PROFILE = `\n  query RaceMeetingProfile($date: String, $oddsTypes: [OddsType], $venueCode: String) {\n    raceMeetingProfile(date: $date, venueCode: $venueCode) {\n      races {\n        runners {\n          jockey {\n            id\n            code\n            name_en\n            name_ch\n            status\n          }\n          trainer {\n            id\n            code\n            name_en\n            name_ch\n          }\n          horse {\n            name_en\n            name_ch\n            id\n          }\n          id\n          no\n          winOdds\n          status\n        }\n        distance\n        raceClass_en\n        raceClass_ch\n        no\n        raceTrack {\n          code\n          description_en\n          description_ch\n        }\n        id\n        raceName_en\n        raceName_ch\n        status\n      }\n      venueCode\n      date\n      status\n      pmPools(oddsTypes: $oddsTypes) {\n        status\n        sellStatus \n        id \n        leg {\n          number\n          races\n        }\n        oddsNodes {\n          oddsValue \n          combString\n          hotFavourite\n        }\n      }\n      changeHistories {\n        type\n        raceNo\n        runnerNo\n      }\n    } \n  }\n`;\n\nexport const GET_FOOTER_MENU = `\n  query FooterMenu($language: String, $path: String) { \n    item(language: $language, path: $path) {\n      sitemap: field(name: \"Sitemap\") {\n        ... on TextField {\n          value\n        }\n      } \n      bottomlink: field(name: \"BottomLink\") {\n        ... on TextField {\n          value\n        }\n      }\n    }\n  } \n  `;\n\nexport const GET_RGPBanner = `  \n  query RGPBanner($language: String, $path: String) { \n    item(language: $language, path: $path) {\n      RGPBanner: field(name: \"RGPBanner\") {\n        ... on TextField {\n          rendered \n        }\n      }\n    }\n  } \n  `;\n\nexport const GET_SELECTED_MEETING_RACES_INFO = `\n  query SelectedMeetingRacingInfo($language: String, $path: String, $entriesFolderTemplateIDs: [String]) {\n    item (language: $language, path: $path){\n      displayName\n      hasChildren\n      races: children {\n        id\n        displayName\n        hasChildren        \n        ... on Race {\n          raceName {\n            value\n          }\n          venueCode {\n            value\n          }\n          raceDatetime {\n            value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n          }\n          raceDistance {\n            value\n          }\n          group {\n            value\n          }\n          trackMap {\n            targetItem {\n              ... on TrackImage {\n                trackImage {\n                  src\n                  alt\n                }\n              }\n            }\n          }\n          raceDescription {\n            value\n          }\n        }\n        entries: children (includeTemplateIDs: $entriesFolderTemplateIDs) {\n          displayName\n          hasChildren     \n          ... on Entries {\n            entries {\n              value\n            } \n          }\n        }\n      }\n    }\n  }\n  `;\n\nexport const GET_SIMPLIFIED_MEETING_RACES_INFO = `\n  query SimpifedMeetingRacingInfo($language: String, $path: String) {\n    item(language: $language, path: $path) {\n      displayName\n      hasChildren\n      races: children {\n        displayName\n        hasChildren\n        ... on Race {\n          venueCode {\n            value\n          }\n          raceDistance {\n            value\n          }\n          group {\n            value\n          }\n        }\n      }\n    }\n  }\n`;\n\n\nexport const SEARCH_MEETINGS_BY_DATE = `\nfragment menuInfo on MeetingSummaryMenu {\n  displayName\n  name\n  hasChildren\n  label {\n    value\n    name\n  }\n  redirection {\n    value\n  }\n  redirectionJCRWPage {\n    value\n  }\n  redirectionURL {\n    value\n  }\n  target {\n    value\n  }\n}\n\nfragment meetingSummaryMenu on MeetingSummaryMenu {\n  ...menuInfo\n  children{\n    ...menuInfo\n    children {\n    ...menuInfo\n    }\n  }\n}\n\nquery SearchMeetingsByDate($path: String!, $language: String!, $meetingDate: String!) {\n  search(\n    rootItem: $path, \n    language: $language,\n    fieldsEqual: [{name: \"MeetingDate\", value: $meetingDate}]\n    ) {\n    results {\n      items {\n        meeting: item {\n          ... on MeetingDate {\n            id\n            name\n            displayName\n            hasChildren\n            path\n            season: parent {\n              name\n            }\n            presite {\n              boolValue\n            }\n            meetingDate {\n              value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n            }\n            meetingVenueCode {\n              value\n            }\n            meetingCountry {\n              value\n            }\n            countryName {\n              value\n            }\n            racedayName {\n              value\n              rendered\n            }\n            racedayImage {\n              alt\n              src\n            }\n            carnivalInfo {\n              value\n            }\n            racecourseName {\n              value\n            }\n            noOfRaces {\n              value\n            }\n            mainRace {\n              targetItem {\n                displayName\n                path\n                template {\n                  id\n                }\n              }\n            }\n            meetingDescription {\n              value\n              rendered\n            }\n            MeetingSummaryMenu: meetingSummaryMenu {\n              targetItems {\n                ...meetingSummaryMenu\n              }\n            }\n            RaceImages: raceImages {\n              targetItems {\n                ... on RaceImage {\n                  RaceimageURL: raceimage {\n                    src\n                    alt\n                  }\n                }\n              } \n            }\n            finalDeclarationsAndBarrierDraws {\n              displayName\n              rendered\n              value\n              url\n            }\n          }\n        }\n      }\n      totalCount\n    }\n  }\n}\n`;\n\nexport const GET_MEETING_BROADCAST = ` \nquery MeetingBroadcast($path: String, $language: String) {\n  items: item(path: $path, language: $language) {\n    remarks: field(name: \"remarks\") {\n      value\n    }\n    content:children {\n     ... on BroadcastTable {\n      title {\n        value\n      }\n     }\n     broadcasts: children {\n        ... on BroadcastRow {\n          displayName\n          broadcastTime {\n            value\n          }\n          channels {\n            value\n          }\n          languages {\n            value\n          }\n          reserved1 {\n            value\n          }\n          reserved2 {\n            value\n          }\n          reserved3 {\n            value\n          }\n        }\n      }\n    }\n  }\n}\n`;\n\nexport const GET_MEETING_BROADCASTCONFIG = ` \nquery MeetingBroadcastConfig($path: String, $language: String) {  \n  config: item(path: $path, language: $language) {\n    ... on BroadcastConfig {\n      displayName\n      title {\n        value\n      }\n      enableBroadcastTime {\n        value: boolValue\n      }\n      enableChannels {\n        value: boolValue\n      }\n      enableLanguages {\n        value: boolValue\n      }\n      enableReserved1 {\n        value: boolValue\n      }\n      enableReserved2 {\n        value: boolValue\n      }\n      enableReserved3 {\n        value: boolValue\n      }\n    }\n  }\n}\n`;\n\nexport const GET_RACE_PASTWINNERS = ` \nquery PastWinners($path: String, $language: String) {\n  data: item(path: $path, language: $language) {\n    pastWinners: children{\n      ... on PastWinner {\n        year {\n          value\n        }\n        horse {\n          value\n        }\n        jockey {\n          value\n        }\n        trainer {\n          value\n        }\n        replayVideo {\n          value\n        }\n      }\n    }\n  }\n  config: item(path: \"/sitecore/content/Sites/JCRW/Simulcast/PastWinnersConfig\", language: $language) {\n    ... on PassWinnersConfig {\n      displayName\n      label1 {\n        value\n      }\n      label2 {\n        value\n      }\n      label3 {\n        value\n      }\n      label4 {\n        value\n      }\n      label5 {\n        value\n      }\n      enabled1 {\n        value\n      }\n      enabled2 {\n        value\n      }\n      enabled3 {\n        value\n      }\n      enabled4 {\n        value\n      }\n      enabled5 {\n        value\n      }\n      isVideo1 {\n        value\n      }\n      isVideo2 {\n        value\n      }\n      isVideo3 {\n        value\n      }\n      isVideo4 {\n        value\n      }\n      isVideo5 {\n        value\n      }\n    }\n    \n  }\n}\n`;\n\nexport const GET_HORSE_PROFILE = `\nquery SimulcastHorseProfile($ids: [String!], $meetingDate: String, $raceNumber: String) {\n  simulcastHorse(ids: $ids, meetingDate: $meetingDate, raceNumber: $raceNumber) {\n    age\n    brandNumber\n    earings\n    colour {\n      code\n      chinese\n      english\n    }\n    dam\n    countryOfOrigin {\n      chinese\n      code\n      english\n    }\n    sire\n    sireOfDam\n    rating\n    name_ch\n    name_en\n    gender {\n      chinese\n      code\n      english\n    }\n    id\n    trainer {\n      name_ch\n      name_en\n    }\n    ownerName {\n      chinese\n      code\n      english\n    }\n    winningRecord {\n      totalStakes\n      firstPlace\n      secondPlace\n      thirdPlace\n      totalRun\n    }\n    performanceStats {\n      type\n      firstPlace\n      secondPlace\n      thirdPlace\n      totalRun\n      ssn\n    }\n    horseFormRecord {\n      id\n    }  \n  }\n}\n`;\nexport const GET_HORSE_PERFORMANCE = `\nquery SimulcastHorse_Performance($raceNumber: String, $meetingDate: String, $ids: [String!]) {\n  simulcastHorse(raceNumber: $raceNumber, meetingDate: $meetingDate, ids: $ids) {\n    performanceStats {\n      type\n      firstPlace\n      secondPlace\n      thirdPlace\n      totalRun\n      ssn\n    }  \n    earings\n  }\n}\n`;\n\nexport const GET_RACE_RESULTS_LIST = `\n    query RaceResultsProfile($date: String, $venueCode: String) {\n      videoReplay(date: $date, venueCode: $venueCode) {\n        hkRaceDate\n        raceNo\n        overseasRaceIndicator\n        videoPresentOrNot\n        isVideoReplayOn\n        language\n      }\n      raceMeetingProfile(date: $date, venueCode: $venueCode) {\n        totalNumberOfRace\n        currentNumberOfRace\n        races {\n          id\n          no\n          status\n          runners {\n            horse {\n              id\n              name_en\n              name_ch\n            }\n            color\n            id\n            no\n            handicapWeight\n            jockey {\n              code\n              name_en\n              name_ch\n            }\n            trainer {\n              code\n              name_en\n              name_ch\n            }\n            last6run\n            internationalRating\n            sire\n            sexNm {\n              chinese\n              english\n            }\n            age\n            barrierDrawNumber\n            gearInfo\n            margin\n            marginNm {\n              chinese\n              english\n            }\n            lbwNm {\n              chinese\n              english\n            }\n            winOdds\n            finalPosition\n            deadHeat\n            status\n          }\n          judgeSigns {\n            value_en\n          }\n          raceName_en\n          raceName_ch\n          postTime\n          country_en\n          country_ch\n          distance\n          go_en\n          go_ch\n          raceTrack {\n            description_en\n            description_ch\n          }\n          raceCourse {\n            description_en\n            description_ch\n            displayCode\n          }\n          raceClass_en\n          raceClass_ch\n          raceResults {\n            status\n            raceTime\n            mgnInd\n          }\n        }\n        date\n        venueCode\n        pmPools {\n          leg {\n            number\n            races\n          }\n          status\n          comingleStatus \n          oddsType\n          name_en\n          name_ch\n          lastUpdateTime\n          dividends(officialOnly: true) {\n            winComb\n            type\n            div\n            seq\n            status\n            guarantee\n            partial\n            partialUnit\n          }\n        }\n        status\n      }\n    }\n    `;\n\nexport const GET_FIXTURELIST_SUMMARY = `\nquery FixtureListSummary($path: String, $language: String, $racesFolderTemplateIDs: [String]) { \n  data: item(path: $path, language: $language) {\n    season: children {\n      displayName\n      hasChildren\n      ... on FixtureSeasonFolder {\n        fixtureSorting {\n          targetItems {\n            ... on Fixture {\n              meetingRaceMapping {\n                targetItem {\n                  displayName\n                  template {\n                    name\n                  }\n                  ... on MeetingDate {\n                    hasChildren\n                    path\n                    presite {\n                      boolValue\n                    }\n                    meetingDate {\n                      value: formattedDateValue(\n                        format: \"yyyy-MM-ddTHH:mm:sszzz\"\n                        offset: -480\n                      )\n                    }\n                    meetingVenueCode {\n                      value\n                    }\n                    mainRace {\n                      targetItem {\n                        displayName\n                        path\n                        template {\n                          id\n                        }\n                      }\n                    }\n                    races: children(\n                      includeTemplateIDs: $racesFolderTemplateIDs\n                    ) {\n                      raceInfo: children {\n                        ... on Race {\n                          displayName\n                          raceDatetime {\n                            value: formattedDateValue(\n                              format: \"yyyy-MM-ddTHH:mm:sszzz\"\n                              offset: -480\n                            )\n                          }\n                        }\n                      }\n                    }\n                  }\n                  ... on Race {\n                    raceDatetime {\n                      value: formattedDateValue(\n                        format: \"yyyy-MM-ddTHH:mm:sszzz\"\n                        offset: -480\n                      )\n                    }\n                    parent {\n                      meeting: parent {\n                        displayName\n                        ... on MeetingDate {\n                          hasChildren\n                          path\n                          presite {\n                            boolValue\n                          }\n                          meetingDate {\n                            value: formattedDateValue(\n                              format: \"yyyy-MM-ddTHH:mm:sszzz\"\n                              offset: -480\n                            )\n                          }\n                          meetingVenueCode {\n                            value\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              date_HK {\n                value: rendered\n              }\n              raceName {\n                value\n              }\n              locationName {\n                value\n              }\n              locationCode {\n                value\n              }\n              locationNameList: versions(allLanguages: true) {\n                version\n                language {\n                  name\n                }\n                ... on Fixture {\n                  locationName {\n                    value\n                  }\n                }\n              }\n              raceSeries: field(name: \"raceSeries\") {\n                ... on MultilistField {\n                  targetItems {\n                    displayName\n                    label: field(name: \"raceSeries\") {\n                      value\n                    }\n                  }\n                }\n              }\n              teamsiteURL {\n                value\n              }\n            }\n          }\n        }\n        currentSeason {\n          boolValue\n        }\n      }\n    }\n  }\n  config: item(\n    path: \"/sitecore/content/Sites/JCRW/Simulcast/FixtureConfig_MeetingSummary\"\n    language: $language\n  ) {\n    ... on FixtureConfig_MeetingSummary {\n      date_HK {\n        value\n      }\n      time {\n        value\n      }\n      raceday_Race {\n        value\n      }\n      country {\n        value\n      }\n    }\n  }\n}`;\n\nexport const GET_FIXTURELIST = `\nquery FixtureList($path: String, $language: String, $racesFolderTemplateIDs: [String]) {  \n  data: item(path: $path, language: $language) {\n    season: children {\n      displayName\n      hasChildren\n      ... on FixtureSeasonFolder {\n        fixtureSorting {\n          targetItems {\n            ... on Fixture {\n              carnivalName {\n                value\n              }\n              meetingRaceMapping {\n                targetItem {\n                  displayName\n                  template {\n                    name\n                  }\n                  ... on MeetingDate {\n                    hasChildren\n                    path\n                    presite {\n                      boolValue\n                    }\n                    meetingDate {\n                      value: formattedDateValue(\n                        format: \"yyyy-MM-ddTHH:mm:sszzz\"\n                        offset: -480\n                      )\n                    }\n                    meetingVenueCode {\n                      value\n                    }\n                    mainRace {\n                      targetItem {\n                        displayName\n                        path\n                        template {\n                          id\n                        }\n                      }\n                    }\n                    races: children(\n                      includeTemplateIDs: $racesFolderTemplateIDs\n                    ) {\n                      raceInfo: children {\n                        ... on Race {\n                          displayName\n                          raceDatetime {\n                            value: formattedDateValue(\n                              format: \"yyyy-MM-ddTHH:mm:sszzz\"\n                              offset: -480\n                            )\n                          }\n                        }\n                      }\n                    }\n                  }\n                  ... on Race {\n                    raceDatetime {\n                      value: formattedDateValue(\n                        format: \"yyyy-MM-ddTHH:mm:sszzz\"\n                        offset: -480\n                      )\n                    }\n                    parent {\n                      meeting: parent {\n                        displayName\n                        ... on MeetingDate {\n                          hasChildren\n                          path\n                          presite {\n                            boolValue\n                          }\n                          meetingDate {\n                            value: formattedDateValue(\n                              format: \"yyyy-MM-ddTHH:mm:sszzz\"\n                              offset: -480\n                            )\n                          }\n                          meetingVenueCode {\n                            value\n                          }\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              date_HK {\n                value: rendered\n              }\n              raceName {\n                value\n              }\n              locationName {\n                value\n              }\n              locationCode {\n                value\n              }\n              locationNameList: versions(allLanguages: true) {\n                version\n                language {\n                  name\n                }\n                ... on Fixture {\n                  locationName {\n                    value\n                  }\n                }\n              }\n              raceSeries: field(name: \"raceSeries\") {\n                ... on MultilistField {\n                  targetItems {\n                    displayName\n                    label: field(name: \"raceSeries\") {\n                      value\n                    }\n                  }\n                }\n              }\n              teamsiteURL {\n                value\n              }\n            }\n          }\n        }\n        currentSeason {\n          boolValue\n        }\n      }\n    }\n  }\n  config: item(\n    path: \"/sitecore/content/Sites/JCRW/Simulcast/FixtureConfig_FixtureList\"\n    language: $language\n  ) {\n    ... on FixtureConfig_FixtureList {\n      date_HK {\n        value\n      }\n      raceName {\n        value\n      }\n      location {\n        value\n      }\n      raceSeries1 {\n        value\n      }\n      raceSeries2 {\n        value\n      }\n      raceSeries3 {\n        value\n      }\n    }\n  }\n}`;\nexport const GET_WINODDS_INFO = `\nquery RacesWinOdds($date: String, $venueCode: String, $oddsTypes: [OddsType]) {\n  raceMeetingProfile(date: $date, venueCode: $venueCode) {\n    races {\n      no\n      status\n      runners {\n        no\n        status\n      } \n    }\n    pmPools(oddsTypes: $oddsTypes) {\n      id\n      oddsNodes {\n        combString\n        hotFavourite\n        oddsValue\n      }\n      lastUpdateTime\n    }\n  }\n}\n`;\nexport const GET_REFERENCEODDS_INFO = `\nquery ReferenceOdds($path: String, $language: String) {\n  item(path: $path, language: $language) {\n    ... on ReferenceOdds {\n      ReferenceOddsTimestamp: referenceOddsTimestamp {\n        value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n      }\n      referenceOdds {\n        \n        value\n      }\n    }\n  }\n}\n`;\nexport const GET_FORMCOMMENTS = `\nquery FormComments($path: String, $language: String) {\n  item(path: $path, language: $language) {\n      children {\n        ... on FormComments {\n        content {\n          value\n        }\n      } \n    }\n    ... on Race{\n      raceName {\n        value\n      }\n      raceDatetime {\n        value\n      }\n      venueCode {\n        value\n      }\n    }\n  }\n}\n`;\nexport const GET_FORMTITLE = `\nquery RacesFormTitle($date: String, $venueCode: String) {\n  raceMeetingProfile(date: $date, venueCode: $venueCode) {\n    races {\n      id\n      raceName_en\n      raceName_ch\n      postTime\n      no\n    }\n  }\n}\n`;\n\n\nexport const GET_DISCLAIMER = `\n  query Disclaimer($path: String, $language: String) {\n    item: item(\n      path: $path,\n      language: $language\n    ){\n      disclaimer:field(name:\"disclaimer\"){\n            value\n          }\n    }\n  }\n  `;\n\nexport const GET_TRACK_ANALYSIS = `\nquery TrackAnalysis($path: String, $language: String) {\n    item: item(\n      path: $path,\n      language: $language\n    ){\n    ... on TrackAnalysis {\n      title {\n        value\n      }\n      videoLink {\n        value\n      }\n      videoThumbnail {\n        src\n      }\n      videoTitle {\n        value\n      }\n      description {\n        value\n      }\n      expertSelection {\n        value\n      }\n      trackMap {\n        targetItem {\n          ... on TrackImage {\n            trackImage {\n              src\n              alt\n            }\n          }\n        }\n      }\n    }\n  }\n}\n`;\n\nexport const GET_TRACK_ANALYSIS_EXPERTS = `\nquery TrackAnalysisExperts($path: String, $language: String) {\n  item: item(\n    path: $path,\n    language: $language\n  ){\n    expertName:field(name:\"expertName\"){\n          value\n        }\n    expertIntroduction:field(name:\"expertIntroduction\"){\n          value\n        }\n    expertPicture: field(name: \"expertPicture\") {\n          ... on ImageField {\n            src\n            alt\n          }\n        }\n      }\n    }\n    `;\n\nexport const GET_BANNERS = `\nquery BannerQuery($path:String,$language:String){\n  banners:item(path:$path,language:$language){\n    bannerList:children{\n      imageUrl:field(name:\"Banner\"){\n        ... on ImageField{\n          value:src\n        }\n      }\n      imageUrl_Mobile:field(name:\"MobileBanner\"){\n        ... on ImageField{\n          value:src\n        }\n      }\n      redirectionLink:field(name:\"RedirectionLink\"){\n        value\n      }\n      target:field(name:\"Target\"){\n        value\n      }\n      enabled:field(name:\"Enabled\"){\n        ... on CheckboxField{\n          value:boolValue\n        }\n      }\n      description: field(name:\"BannerDescription\"){\n        value\n      }\n      onlineDatetime:field(name:\"OnlineDatetime\"){\n        sourceDate:value\n        ...on DateField{\n          value:formattedDateValue(format:\"s\",offset:-480)\n        }\n      }\n      OfflineDatetime:field(name:\"OfflineDatetime\"){\n        sourceDate:value\n        ...on DateField{\n          value:formattedDateValue(format:\"s\",offset:-480)\n        }\n      }\n    }\n  }\n}\n`;\n\nexport const GET_TIMEOFFSET = `\nquery TimeOffset {\n  timeOffset {\n    ts\n    fb\n    rc\n    m6\n  }\n}\n`;\n\nexport const GET_MEETING_SUMMARY_MENU_TYPE = `\nquery SimulcastMeetingMenuType($path: String, $language: String) {\n  item(path: $path, language: $language) {\n    menus: children {\n      displayName\n      subMenus: children {\n      displayName\n      }\n    }\n  }\n}\n`;\n\nexport const GET_SEASON_BY_DATE = `\nquery GetSeasonByDate ($path: String!, $dateStr: String!, $limit: Int!, $language: String!) {\n  search(\n    rootItem: $path,    \n    fieldsEqual:[\n      { name:\"MeetingDate\", value: $dateStr }\n    ],\n    after: \"0\",\n    first: $limit,\n    language: $language,\n  ) {\n    results {\n      items {\n        name\n        path\n        language\n      }\n      totalCount\n    }\n  }\n}\n`;\n\nexport const GET_JOCKEYSTRAINERSRANKING = `\nquery JockeysTrainersRanking($path: String, $language: String) {\n  item(path: $path, language: $language) {\n    displayName\n    name\n    hasChildren\n    children {\n      name\n      displayName\n      location: field(name: \"Location\"){\n        value\n      }  \n      jockeysRanking: field(name: \"JockeysRanking\"){\n        value\n      } \n      jockeysSourceLastUpdated: field(name: \"JockeysSourceLastUpdated\"){\n        value\n      } \n      trainersSourceLastUpdated: field(name: \"TrainersSourceLastUpdated\"){\n        value\n      }\n      trainersRanking: field(name: \"TrainersRanking\"){\n        value\n      } \n    }\n  }\n}\n`;\n\nexport const GET_MEETING_STATUS = `\nquery MeetingStatus($date: String, $venueCode: String, $oddsTypes: [OddsType]) {\n  raceMeetingProfile(date: $date, venueCode: $venueCode) {\n    totalNumberOfRace\n    currentNumberOfRace\n    date\n    venueCode\n    status\n    races {\n      no\n      postTime\n      status\n      raceResults {\n        status\n      }\n    }\n    pmPools(oddsTypes: $oddsTypes) {\n      oddsType\n      status\n      leg {\n        races\n      }\n    }\n  }\n}\n`;\n\nexport const GET_MEETINGRACE_NEWS = `\nquery GetMeetingRaceNews(\n  $language: String\n  $path: String\n  $fieldid: String!\n  $offset: Int\n) {\n  search(\n    language: $language\n    rootItem: $path\n    fieldsEqual: [{ name: \"simulcastmeetingrace\", value: $fieldid }]\n  ) {\n    results {\n      items {\n        item {\n          displayName\n          ... on News {\n            publishDateTime: field(name: \"datetime\") {\n              ... on DateField {\n                date: formattedDateValue(format: \"dd/MM\", offset: $offset)\n                time: formattedDateValue(format: \"HH:mm\", offset: $offset)\n                value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n              }\n            }\n            title {\n              value\n            }\n            target{\n              value\n            }\n            url: newsURL{\n              value\n            }\n          }\n        }\n      }\n    }\n  }\n}\n`;\n\nexport const GET_RACING_CHANGES = `\nquery racingChanges($date: String, $venueCode: String) {\n  raceMeetingProfile(date: $date, venueCode: $venueCode)\n  {\n      id\n      venueCode\n      date\n      races {\n        no\n        runners {\n          id\n          no\n        }\n      }\n      changeHistories {\n        type\n        time\n        raceNo\n        runnerNo\n        horseName_ch\n        horseName_en\n        jockeyName_ch\n        jockeyName_en\n        scratchHorseName_ch\n        scratchHorseName_en\n        handicapWeight\n        scrResvIndicator\n        horseCode\n      }\n  }\n}\n`;\nexport const GET_GEARINFO = `\nquery GearInfo($path: String, $language: String) {\n  item(path: $path, language: $language) {\n    displayName \n    children { \n      gearCode: field(name: \"GearCode\") {\n        value\n      }\n      gearName: field(name: \"GearName\") {\n        value\n      }\n    }\n  }\n}\n`;\n\nexport const GET_HOME_BASIC_INFO = `\nquery getHomeBasicInfo($localSim: LocalSim, $meetingsOnly: Boolean!, $oddsTypes: [OddsType]) {\n  commonMeetings(localSim: $localSim) {\n    id\n    venueCode\n    date\n    status\n    season\n    totalNumberOfRace\n    currentNumberOfRace\n    races {\n      no\n      postTime\n      status\n      raceResults {\n        status\n      }\n    }\n    pmPools(oddsTypes: $oddsTypes) {\n      oddsType\n      status\n      leg {\n        races\n      }\n    }\n  }\n  racingSeasonPeriod(locSim: $localSim) @skip(if: $meetingsOnly) {\n    code\n    endDate\n    nature\n    startDate\n  }\n}\n`;\n\nexport const SEARCH_MEETINGS_IN_DATE_RANGE = `\nquery SearchMeetingsInDateRange($path: String, $language: String, $fieldsEqual: [ItemSearchFieldQuery], $from: String, $to: String, $racesFolderTemplateIDs: [String]) {\n  extendedSearch(\n    fieldsEqual: $fieldsEqual,\n    rootItem: $path, \n    language: $language,\n    dateFrom: $from,\n    dateTo: $to,\n    fieldName: \"MeetingDate\",\n    sortBy: \"MeetingDate\",\n    sortDesc: false,\n    ) {\n    results {\n      items {\n        meeting: item {\n          ... on MeetingDate {\n            id\n            name\n            path\n            displayName\n            hasChildren\n            season: parent {\n              name\n            }\n            presite {\n              boolValue\n            }\n            meetingDate {\n              date: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n              value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n            }\n            meetingVenueCode {\n              value\n            }\n            mainRace {\n              targetItem {\n                displayName\n                path\n                template {\n                  id\n                }\n              }\n            }\n            races: children(\n              includeTemplateIDs: $racesFolderTemplateIDs\n            ) {\n              raceInfo: children {\n                displayName\n              }\n            }\n          }\n        }\n      }\n      totalCount\n    }\n  }\n}\n`;\n\nexport const GET_OVERRIDE_REDIRECTION_CONFIG = `\nquery GetOverrideRedirectionConfig($path: String, $language: String, $racesFolderTemplateIDs: [String]) {\n  overrideConfig: item(path: $path,language: $language){\n    ... on OverrideRedirectionConfig {\n      enable {\n        boolValue\n      }\n      offlineDateTime {\n        value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n      }\n      onlineDateTime {\n        value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n      }\n      redirectTo {\n        targetItem {\n          displayName\n          template {\n            id\n            name\n          }\n          ... on MeetingDate {\n            hasChildren\n            path\n            presite {\n              boolValue\n            }\n            meetingDate {\n              date: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n              value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n            }\n            meetingVenueCode {\n              value\n            }\n            mainRace {\n              targetItem {\n                displayName\n                path\n                template {\n                  id\n                }\n              }\n            }\n            races: children(\n              includeTemplateIDs: $racesFolderTemplateIDs\n            ) {\n              raceInfo: children {\n                displayName\n              }\n            }\n          }          \n          ... on Race {\n            parent {\n              meeting: parent {\n                displayName\n                ... on MeetingDate {\n                  hasChildren\n                  path\n                  presite {\n                    boolValue\n                  }\n                  meetingDate {\n                    date: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n                    value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n                  }\n                  meetingVenueCode {\n                    value\n                  }\n                }\n              }\n            }\n          }\n        }        \n      }\n    }\n  }\n}\n`;\n\nexport const GET_MEETING_GENERAL_INFORMATION = `\nquery GetPmPools($date: String, $venueCode: String, $oddsTypes: [OddsType]) {\n  raceMeetingProfile(date: $date, venueCode: $venueCode) {\n    races {\n      no\n      postTime\n    }\n    pmPools(oddsTypes: $oddsTypes) {\n      oddsType\n      estimatedDividend\n      comingleStatus \n      jackpot\n      leg {\n        number\n        races\n      }\n    }\n  }\n}\n`;\nexport const GET_RACE_CARD_COLUMNS = `\nquery GetRaceCardColumnConfig($path: String, $language: String) {\n  raceCardColumns: item(path: $path,language: $language){\n    children{\n      tabLabel: field(name:\"tabLabel\"){\n        value\n      }\n       columns: field(name:\"Columns\"){\n        ... on MultilistField{\n          targetItems{\n            Option_Name: field(name:\"Option_Name\"){\n              value\n            }\n            displayName\n          }\n        }\n      }\n    }\n  }\n}\n`;\n\nexport const GET_EXPERTCOLUMN = ` \nquery ExpertColumn($path: String, $language: String) {\n  item(path: $path, language: $language) {\n    displayName \n    expert: field(name: \"Expert\") {\n      name\n      value\n    } \n    horseNumber01: field(name: \"HorseNumber01\") {\n      name\n      value\n    }\n    horseName01: field(name: \"HorseName01\") {\n      name\n      value\n    }\n    horseNumber02: field(name: \"HorseNumber02\") {\n      name\n      value\n    }\n    horseName02: field(name: \"HorseName02\") {\n      name\n      value\n    }\n    horseNumber03: field(name: \"HorseNumber03\") {\n      name\n      value\n    }\n    horseName03: field(name: \"HorseName03\") {\n      name\n      value\n    }\n    horseNumber04: field(name: \"HorseNumber04\") {\n      name\n      value\n    }\n    horseName04: field(name: \"HorseName04\") {\n      name\n      value\n    }\n    horseNumber05: field(name: \"HorseNumber05\") {\n      name\n      value\n    }\n    horseName05: field(name: \"HorseName05\") {\n      name\n      value\n    }\n    horseNumber06: field(name: \"HorseNumber06\") {\n      name\n      value\n    }\n    horseName06: field(name: \"HorseName06\") {\n      name\n      value\n    }\n    horseNumber07: field(name: \"HorseNumber07\") {\n      name\n      value\n    }\n    horseName07: field(name: \"HorseName07\") {\n      name\n      value\n    }\n    horseNumber08: field(name: \"HorseNumber08\") {\n      name\n      value\n    }\n    horseName08: field(name: \"HorseName08\") {\n      name\n      value\n    }\n    horseNumber09: field(name: \"HorseNumber09\") {\n      name\n      value\n    }\n    horseName09: field(name: \"HorseName09\") {\n      name\n      value\n    }\n    horseNumber10: field(name: \"HorseNumber10\") {\n      name\n      value\n    }\n    horseName10: field(name: \"HorseName10\") {\n      name\n      value\n    }\n    commentary: field(name: \"Commentary\") {\n      name\n      value\n    }\n    betSelectionName01: field(name: \"BetSelectionName01\") {\n      name\n      value\n    }\n    selectionLinkParameters01: field(name: \"SelectionLinkParameters01\") {\n      name\n      value\n    }\n    betSelectionDetails01: field(name: \"BetSelectionDetails01\") {\n      name\n      value\n    }\n    betSelectionName02: field(name: \"BetSelectionName02\") {\n      name\n      value\n    }\n    selectionLinkParameters02: field(name: \"SelectionLinkParameters02\") {\n      name\n      value\n    }\n    betSelectionDetails02: field(name: \"BetSelectionDetails02\") {\n      name\n      value\n    }\n    betSelectionName03: field(name: \"BetSelectionName03\") {\n      name\n      value\n    }\n    selectionLinkParameters03: field(name: \"SelectionLinkParameters03\") {\n      name\n      value\n    }\n    betSelectionDetails03: field(name: \"BetSelectionDetails03\") {\n      name\n      value\n    }\n     \n  }\n}\n`;\n\nexport const GET_HORSE_MEETINGRACE = `\nquery HorseByMeetingRace($meetingDate: String, $raceNumber: String, $venCode: String, $ids: [String!]) {\n  simulcastHorse(meetingDate: $meetingDate, raceNumber: $raceNumber, venCode: $venCode, ids: $ids) {\n    id\n    brandNumber\n    name_ch\n    name_en\n  }\n}\n`;\n\nexport const GET_TIPSTERS_SELECTION = `\nquery TipstersSelections($path: String, $language: String) {\n  item(path: $path, language: $language) {\n    races: children {\n      ... on TipstersSelectionTable {\n        race {\n          information: targetItem {\n            ... on Race {\n              name: raceName {\n                value\n              }\n              raceNo: venueCode {\n                value\n              }\n            }\n          }\n        }\n        selections: children {\n          selection: field(name: \"Content\") {\n            value\n          }\n        }\n      }\n    }\n  }\n}\n`; \n\nexport const GET_MEETING_PM_POOL_STATUS = `\nquery GetMeetingPmPoolStatus($date: String, $venueCode: String, $oddsTypes: [OddsType]) {\n  raceMeetingProfile(date: $date, venueCode: $venueCode) {\n    venueCode\n    pmPools(oddsTypes: $oddsTypes) {\n      oddsType\n      status\n      leg {\n        races\n      }\n    }\n  }\n}\n`; \n\nexport const GET_INPAGEDISPLAYBUTTONS = `\nfragment templateName on Item {\n  template {\n    name\n  }\n}\nquery GetInPageDisplayButtons(\n  $path: String\n  $path_SpeedMap: String\n  $path_DefaultButtonsMap: String\n  $language: String\n) {\n  item(path: $path, language: $language) {\n    buttons: children {\n      name\n      ... on JockeysTrainersRankings {\n        versions {\n          version\n        }\n      }\n      ... on RacingStatistics {\n        versions {\n          version\n        }\n      }\n      ... on TipstersSelections {\n        versions {\n          version\n        }\n      }\n      ... on TrackAnalysis {\n        versions {\n          version\n        }\n      }\n      ...templateName\n      children {\n        name\n        ...templateName\n        displayName: field(name: \"Label\") {\n          value\n        }\n        ... on URLButton {\n          URLLink: field(name: \"URLLink\") {\n            value\n          }\n          target: field(name: \"Target\") {\n            value\n          }\n        }\n        ... on PDFButton {\n          PDFLink: field(name: \"PDF\") {\n            ... on FileField {\n              url\n            }\n          }\n        }\n        ... on SinglePhotoButton {\n          singlePhoto: field(name: \"Photo\") {\n            ... on ImageField {\n              src\n              width\n              height\n            }\n          }\n\n          captionTitle: field(name: \"Caption Title\") {\n            value\n          }\n          captionContent: field(name: \"Caption Content\") {\n            value\n          }\n        }\n\n        selectedRaceInRoot: field(name: \"Race\") {\n          ... on MultilistField {\n            targetItems {\n              name\n              path\n              template {\n                id\n              }\n            }\n          }\n        }\n        ... on TipstersSelectionTable {\n          selectedRaceTipstersSelections: field(name: \"Race\") {\n            ... on ReferenceField {\n              targetItem {\n                name\n                path\n                template {\n                  id\n                }\n              }\n            }\n          }\n        }\n        children {\n          name\n          ... on ExpertColumn {\n            versions {\n              version\n            }\n          }\n          ... on FormComments {\n            versions {\n              version\n            }\n          }\n          ...templateName\n          ... on MultiplePhotoItem {\n            photo: field(name: \"Photo\") {\n              ... on ImageField {\n                src\n                width\n                height\n              }\n            }\n            captionTitle: field(name: \"Caption Title\") {\n              value\n            }\n            captionContent: field(name: \"Caption Content\") {\n              value\n            }\n          }\n          ... on VideoItem {\n            videoTitle: field(name: \"Title\") {\n              value\n            }\n            videoThumbnail: field(name: \"Thumbnail\") {\n              ... on ImageField {\n                src\n              }\n            }\n            videoURL: field(name: \"URL\") {\n              value\n            }\n          }\n          selectedRace: field(name: \"Race\") {\n            ... on MultilistField {\n              targetItems {\n                name\n                path\n                template {\n                  id\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n  speedMapItem: item(path: $path_SpeedMap, language: $language) {\n    name\n    url\n    width: field(name: \"width\") {\n      value\n    }\n    height: field(name: \"height\") {\n      value\n    }\n  }\n  defaultButtons: item(path: $path_DefaultButtonsMap, language: $language) {\n    buttons: children {\n      name\n      template {\n        name\n      }\n      displayName: field(name: \"Label\") {\n        value\n      }\n      redirectionLink: field(name: \"RedirectionLink\") {\n        value\n      }\n    }\n  }\n}\n\n`; \n\nexport const GET_ARTICLE = `\nquery Article($path: String, $language: String) {\n  item: item(path: $path, language: $language) {\n    ... on ArticleButton {\n      Article: children {\n        id\n        name\n      \ttitle: field(name: \"Title\") {\n          value\n        }\n        description: field(name: \"Description\") {\n          value\n          rendered\n        }\n        imageUrl: field(name: \"Image\") {\n          ... on ImageField {\n            src\n          }\n        }\n        race: field(name: \"Race\") {\n          ... on MultilistField {\n            targetItems {\n              displayName\n            }\n          }\n        }\n      }\n    }\n  }\n}\n`; \n\nexport const GET_CARNIVALS = ` \nquery Carnivals($path: String, $language: String) {\n  item(path: $path, language: $language) { \n    carnivals: children {\n      displayName\n      ... on CarnivalPage{\n        carnivalName: field(name: \"carnivalName\") {\n          value\n        } \n        raceDate: field(name: \"raceDate\") {\n          ... on DateField {\n            value: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n          }\n          value\n        } \n        racecourseName: field(name: \"racecourseName\") {\n          value\n        }   \n      }\n      carnivalTab: children {\n        displayName\n        ... on CarnivalTab{\n          tabLabel: field(name: \"TabLabel\") {\n            value\n          } \n        }\n        carnivalSection: children {\n          displayName \n          template {\n            name\n          }\n          ... on CarnivalA{\n            title: field(name: \"Title\") {\n              value\n            } \n            image: field(name: \"Image\") {\n              ... on ImageField {\n                src\n              } \n            }\n            content: field(name: \"Content\") {\n              value\n            }\n            externalLink: field(name: \"ExternalLink\") {\n              value\n            }\n          } \n\n          ... on CarnivalB {\n            title: field(name: \"Title\") {\n              value\n            }\n            image: field(name: \"Image\") {\n              ... on ImageField {\n                src\n              } \n            }\n          }\n          \n          ... on CarnivalC {\n            displayName\n            title {\n              value\n            }\n            horseTitle {\n              value\n            }\n            trainer {\n              value\n            }\n            horseImage {\n              src\n            }\n            description {\n              value\n            }\n            videosHeader {\n              value\n            }\n            video1EnableDisable {\n              boolValue\n            }\n            video1Source {\n              value\n            }\n            video1LinkDiv {\n              value\n            }\n            video1LinkScript {\n              value\n            }\n            video1Link {\n              value\n            }\n            video1Thumbnail {\n              src\n            }\n            video1Description {\n              value\n            }\n            video2EnableDisable {\n              boolValue\n            }\n            video2Source {\n              value\n            }\n            video2LinkDiv {\n              value\n            }\n            video2LinkScript {\n              value\n            }\n            video2Link {\n              value\n            }\n            video2Thumbnail {\n              src\n            }\n            video2Description {\n              value\n            }\n            video3EnableDisable {\n              boolValue\n            }\n            video3Source {\n              value\n            }\n            video3LinkDiv {\n              value\n            }\n            video3LinkScript {\n              value\n            }\n            video3Link {\n              value\n            }\n            video3Thumbnail {\n              src\n            }\n            video3Description {\n              value\n            }\n          }\n        } \n      }\n    }\n  }\n}\n`;\n\nexport const SEARCH_CARNIVAL_BY_NAME = `\nquery SearchCarnivalByName($path: String, $language: String, $fieldsEqual: [ItemSearchFieldQuery], $limit: Int) {\n  search(rootItem: $path, language: $language, fieldsEqual: $fieldsEqual, first: $limit) {\n    results {\n      items {\n        carnivalPage: item {\n          versions {\n            version\n          }\n          displayName\n          template {\n            name\n          }\n          ... on CarnivalPage {\n            carnivalName: field(name: \"carnivalName\") {\n              value\n            }\n            raceDate: field(name: \"raceDate\") {\n              ... on DateField {\n                value\n              }\n              value\n            }\n            racecourseName: field(name: \"racecourseName\") {\n              value\n            }\n            carnivalTabs: children {\n              versions {\n                version\n              }\n              displayName\n              ... on CarnivalTab {\n                tabLabel: field(name: \"TabLabel\") {\n                  value\n                }\n                raceDate: field(name: \"raceDate\") {\n                  ... on DateField {\n                    value: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n                  }\n                  value\n                }\n              }\n              carnivalSection: children {\n                versions {\n                  version\n                }\n                displayName\n                template {\n                  name\n                }\n                ... on Text_Image {\n                  title: field(name: \"Title\") {\n                    value\n                  }\n                  image: field(name: \"Image\") {\n                    ... on ImageField {\n                      src\n                    }\n                  }\n                  content: field(name: \"Content\") {\n                    value\n                  }\n                  externalLink: field(name: \"ExternalLink\") {\n                    value\n                  }\n                }\n                ... on Image {\n                  title: field(name: \"Title\") {\n                    value\n                  }\n                  image: field(name: \"Image\") {\n                    ... on ImageField {\n                      src\n                    }\n                  }\n                }\n                ... on Key_Contenders {\n                  displayName\n                  title {\n                    value\n                  }\n                  horseTitle {\n                    value\n                  }\n                  trainer {\n                    value\n                  }\n                  horseInfoDescription {\n                    value\n                  }\n                  horseImage {\n                    src\n                  }\n                  videosHeader {\n                    value\n                  }\n                  video1EnableDisable {\n                    boolValue\n                  }\n                  video1Source {\n                    value\n                  }\n                  video1LinkDiv {\n                    value\n                  }\n                  video1LinkScript {\n                    value\n                  }\n                  video1Link {\n                    value\n                  }\n                  video1Thumbnail {\n                    src\n                  }\n                  video1Description {\n                    value\n                  }\n                  video2EnableDisable {\n                    boolValue\n                  }\n                  video2Source {\n                    value\n                  }\n                  video2LinkDiv {\n                    value\n                  }\n                  video2LinkScript {\n                    value\n                  }\n                  video2Link {\n                    value\n                  }\n                  video2Thumbnail {\n                    src\n                  }\n                  video2Description {\n                    value\n                  }\n                  video3EnableDisable {\n                    boolValue\n                  }\n                  video3Source {\n                    value\n                  }\n                  video3LinkDiv {\n                    value\n                  }\n                  video3LinkScript {\n                    value\n                  }\n                  video3Link {\n                    value\n                  }\n                  video3Thumbnail {\n                    src\n                  }\n                  video3Description {\n                    value\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n      totalCount\n    }\n  }\n}`;\n\nexport const GET_RACINGSTATISTICS = `\nquery GetRacingStatistics($path: String, $language: String) {\n  item(path: $path, language: $language) {\n    ... on RacingStatistics {\n      children {\n        name\n        ... on RacingStatisticsText {\n          template {\n            name\n          }\n          title: field(name: \"Title\") {\n            value\n          }\n          subTitle: field(name: \"subTitle\") {\n            value\n          }\n          text: field(name: \"Text\") {\n            value\n            rendered\n          }\n        }\n        ... on RacingStatisticsImage {\n          template {\n            name\n          }\n          title: field(name: \"Title\") {\n            value\n          }\n          subTitle: field(name: \"subTitle\") {\n            value\n          }\n          imageUrl: field(name: \"Image\") {\n            ... on ImageField {\n              src\n            }\n          }\n        }\n        ... on RacingStatisticsTable {\n          template {\n            name\n          }\n          title: field(name: \"Title\") {\n            value\n          }\n          subTitle: field(name: \"subTitle\") {\n            value\n          }\n          table: field(name: \"Table\") {\n            value\n          }\n          remarks:field(name:\"Remarks\"){\n            value\n          }\n        }\n        ... on RacingStatisticsVideo {\n          template {\n            name\n          }\n          title: field(name: \"Title\") {\n            value\n          }\n          subTitle: field(name: \"subTitle\") {\n            value\n          }\n          video: field(name: \"Video\") {\n            value\n          }\n          thumbnail: field(name: \"Thumbnail\") {\n            ... on ImageField {\n              src\n            }\n          }\n          description:field(name:\"Description\"){\n            value\n          }\n        }\n      }\n    }\n  }\n}\n`;\n\nexport const GET_CARNIVAL_NAMES = `query CarnivalNameList($path: String, $language: String) {\n  item(path: $path, language: $language) {\n    children {\n      ... on CarnivalName {\n        displayName\n        carnivalName {\n          value\n        }\n      }\n    }\n  }\n}`;\n\nexport const GET_CARNIVALSection = `\nquery CarnivalTab($language: String, $path: String) {\n  item(language: $language, path: $path) {\n    children {\n      displayName\n    }\n  }\n}\n` \nexport const GET_MEETINGCOUNTRY_HORSESTATUS_GIDS = `\nquery MeetingCountryHorseStatus($date: String, $venueCode: String) {\n  raceMeetingProfile(date: $date, venueCode: $venueCode) {\n    date\n    country {\n      code\n      namech\n      nameen\n    }\n    races{\n      status\n      no\n      countryCodeNm {\n        code\n        english\n        chinese\n      }\n      runners {\n        no\n        status\n      } \n    }\n  }\n}\n`;","const useMockdata = false;\n\nasync function fetchWithAbort(url:any, options = {}, timeout = 3000) {\n  const controller = new AbortController();\n  const signal = controller.signal;\n\n  // 设置超时,超时后调用 abort\n  const timeoutId = setTimeout(() => {\n      controller.abort(); // 取消请求\n  }, timeout);\n\n  try {\n      const response = await fetch(url, { ...options, signal });\n      if (!response.ok) {\n          throw new Error('网络响应不正常');\n      }\n      return response;\n  } catch (error: any) {\n      if (error?.name === 'AbortError') {\n          console.error('请求被取消(超时)');\n      } else {\n          console.error('请求失败:', error?.message);\n      }\n  } finally {\n      clearTimeout(timeoutId); // 清理超时\n  }\n}\n\nconst request = async (variables: any, query: any, callName: \"qids\" | \"cms\", mockResponse?: any, signal?: AbortSignal) => {\n  if (useMockdata && mockResponse) {\n    return {\n      status: 200,\n      ...mockResponse.data\n    };\n  }\n  try {\n    const requestBody = {\n      variables,\n      query,\n    };\n    const options: any = {\n      method: \"POST\",\n      mode: \"cors\",\n      credentials: \"omit\",\n      referrerPolicy: \"strict-origin-when-cross-origin\",\n      signal: signal,\n      headers: {\n        accept: \"*/*\",\n        \"accept-language\": \"en-us,en;q=0.9\",\n        \"content-type\": \"application/json\",\n        \"sec-fetch-dest\": \"empty\",\n        \"sec-fetch-mode\": \"cors\",\n        \"sec-fetch-site\": \"cross-site\",\n      },\n      body: JSON.stringify(requestBody),\n    };\n    const uri = callName === \"qids\" ? window.globalConfig?.DATA_SOURCES?.QIDS_URI : window.globalConfig?.DATA_SOURCES?.CMS_URI;\n    const response = useMockdata? await fetchWithAbort(uri, options) : await fetch(uri, options)\n    const data = await response?.json();\n\n    const { errors, data: graphQLData } = data;\n    if (errors) {\n      console.log(\n        \"GraphQL errors:\",\n        errors?.[0]?.message,\n        response?.status,\n        JSON.stringify(errors)\n      );\n      throw {\n        message: errors?.[0]?.message,\n        code: response?.status,\n      };\n    } else {\n      return {\n        status: response?.status,\n        ...graphQLData,\n      };\n    }\n  } catch (error) {\n    console.log(error);\n  }\n};\nexport default request;\n","import fetchRequest from \"./index\";\nimport { GET_SELECTED_MEETING_RACES_INFO, GET_MEETING_BROADCAST, \n  GET_RACE_PASTWINNERS, GET_FIXTURELIST_SUMMARY, GET_FIXTURELIST, GET_REFERENCEODDS_INFO, \n  GET_SIMPLIFIED_MEETING_RACES_INFO, GET_TRACK_ANALYSIS, GET_TRACK_ANALYSIS_EXPERTS, GET_BANNERS, GET_TIMEOFFSET,\n  GET_MEETING_SUMMARY_MENU_TYPE, GET_SEASON_BY_DATE, GET_JOCKEYSTRAINERSRANKING, GET_MEETINGRACE_NEWS, GET_GEARINFO, \n  SEARCH_MEETINGS_BY_DATE, GET_HOME_BASIC_INFO, SEARCH_MEETINGS_IN_DATE_RANGE, GET_EXPERTCOLUMN, GET_HORSE_MEETINGRACE,\n  GET_RACE_CARD_COLUMNS, GET_TIPSTERS_SELECTION, GET_MEETING_PM_POOL_STATUS, GET_FORMCOMMENTS,GET_INPAGEDISPLAYBUTTONS, \n  GET_ARTICLE, GET_MEETING_STATUS, SEARCH_CARNIVAL_BY_NAME, GET_RACINGSTATISTICS, GET_CARNIVAL_NAMES, \n  GET_HORSE_PERFORMANCE,GET_CARNIVALSection, GET_MEETINGCOUNTRY_HORSESTATUS_GIDS, GET_MEETING_BROADCASTCONFIG,\n  GET_RACE_RESULTS_LIST,\n  GET_OVERRIDE_REDIRECTION_CONFIG\n} from \"./query\";\nimport { formattedDate } from \"../DayJS\";\nimport { carnivalTemplate, meetingTemplate, racesTemplate } from \"@/app/utils/constant/template\";\nimport { oddType } from \"@/app/utils/constant/odd\";\nimport { LangCode } from \"@/app/utils/LanguageContext\";\n\nconst HK_TIME_OFFSET = -480;\nexport const getRaceCardList = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\nexport const getFormTitle = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\nexport const getRaceInfoList = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getHeader = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getHeaderNavMain = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getRaceSiteMenu = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getRaceMeeting = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getMeetingStatus = async (\n  meetingDate: Date,\n  venueCode?: string,\n  signal?: AbortSignal,\n) => {\n  const variables = {\n    date: formattedDate(meetingDate, \"YYYY-MM-DD\"), \n    venueCode: venueCode,\n    oddsTypes: [oddType.WIN],\n  }\n  return await fetchRequest(variables, GET_MEETING_STATUS, \"qids\", undefined, signal);\n};\n\nexport const getRacingChanges = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getMeetingGeneralInformation = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getHorseProfile = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getHorsePerformance = async (\n  variables: any,\n) => {\n  return await fetchRequest(variables, GET_HORSE_PERFORMANCE, \"qids\");\n};\n\nexport const getWinOddsInfo = async (\n  variables: any,\n  query: any,\n  callName: any\n) => {\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getFooterMenu = async (\n  options: any,\n  query: any,\n  callName: any\n) => {\n  const variables = { path: \"/sitecore/content/Sites/JCRW/SiteConfiguration/Footer\", ...options };\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getRGPBanner = async (\n  options: any,\n  query: any,\n  callName: any\n) => {\n  const variables = { path: \"/sitecore/content/Sites/CorpWebCommon/RGP/02-Racing\", ...options };\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getSelectedMeetingInfo = async (\n  langCode: string,\n  season: string,\n  meetingId: string,\n  signal?: AbortSignal,\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races`,\n    language: langCode,\n    entriesFolderTemplateIDs: [racesTemplate.RACE.ENTRIES.ID],\n  };\n  return await fetchRequest(variables, GET_SELECTED_MEETING_RACES_INFO, \"cms\", undefined, signal);\n};\n\nexport const getSimplifiedMeetingInfo = async (\n  langCode: string,\n  season: string,\n  meetingId: string,\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races`,\n    language: langCode,\n  };\n  return await fetchRequest(variables, GET_SIMPLIFIED_MEETING_RACES_INFO, \"cms\");\n};\n\nexport const searchMeetingsByDate = async (\n  lang: LangCode,\n  meetingDate?: Date,\n  signal?: AbortSignal,\n) => {\n  const rootPath = `/sitecore/content/Sites/JCRW/Meetings/Simulcast/`;\n  const variables = {\n    path: rootPath,\n    language: lang,\n    meetingDate: formattedDate(meetingDate, \"YYYY-MM-DDTHH:mm:ss[Z]\", true),\n    dateFormat: \"d/M/yyyy, hh:mmtt\",\n    offset: HK_TIME_OFFSET,\n  };\n    return await fetchRequest(variables, SEARCH_MEETINGS_BY_DATE, \"cms\", undefined, signal);\n};\n\nexport const getSelectedMeetingBroadcast = async (\n  lang: LangCode,\n  season: string,\n  meetingDate: Date,\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Broadcasts/Simulcast/${season}/${formattedDate(meetingDate, \"YYYYMMDD\")}`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_MEETING_BROADCAST, \"cms\");\n};\n\nexport const getBroadcastConfig = async (\n  lang: LangCode,\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Simulcast/BroadcastConfig`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_MEETING_BROADCASTCONFIG, \"cms\");\n};\n\nexport const getReferenceInfo = async (\n  lang: LangCode,\n  season: any,\n  meetingId: any,\n  raceNo:any\n) => {\n  \n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races/${raceNo}/ReferenceOdds`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_REFERENCEODDS_INFO, \"cms\");\n};\n\nexport const getFormComments = async (\n  lang: LangCode,\n  season: any,\n  meetingId: any,\n  raceNo:any\n) => {\n  \n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races/${raceNo}`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_FORMCOMMENTS, \"cms\");\n};\n\nexport const getPastWinners = async (\n  lang: LangCode,\n  season: string,\n  meetingId: string,\n  raceId: string\n) => {\n  \n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races/${raceId}/PastWinners`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_RACE_PASTWINNERS, \"cms\");\n};\n\nexport const getRaceResultsList = async (\n  meetingDate: Date,\n  venueCode: string,\n  signal?: AbortSignal,\n) => {\n  const variables = {\n      date: formattedDate(meetingDate, \"YYYY-MM-DD\"),\n      venueCode: venueCode\n  };\n  return await fetchRequest(variables, GET_RACE_RESULTS_LIST, \"qids\", undefined, signal);\n};\n\nexport const getFixtureList = async (\n  lang: string,\n  isSummary?: boolean, // true, will get config for calendar column; false: fixture list column\n  season?: string // \"22_23\", default retrieve latest season \n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Simulcast/FixtureList`,\n    language: lang,\n    racesFolderTemplateIDs: [meetingTemplate.RACES.ID]\n  };\n\n  var calendarFixtureList: IFixture[] = [];\n  var seasonList: string[] = [];\n  var res = await fetchRequest(variables, isSummary ? GET_FIXTURELIST_SUMMARY : GET_FIXTURELIST, \"cms\");\n  res?.data?.season?.reduce((prev: any, current: any) => {\n    if (current?.currentSeason?.boolValue) {\n      seasonList = [prev?.displayName, current?.displayName];\n      if (isSummary) {\n        calendarFixtureList = current?.fixtureSorting?.targetItems?.concat(prev?.fixtureSorting?.targetItems || []) || [];\n      }\n      return current\n    }\n    return current\n  }, \"\")\n\n  res = {\n    ...res,\n    data: {\n      fixtureList: isSummary ? calendarFixtureList : // all season for calendar view\n        res?.data?.season?.find((s: { currentSeason: { boolValue: boolean }; displayName: string; }) => !season && s?.currentSeason?.boolValue || (season && s?.displayName == season))?.fixtureSorting?.targetItems || [], // latest season on fixture list\n      seasonList\n    }\n  }\n\n  return res;\n};\n\nexport const getDisclaimer = async (\n  options: any,\n  query: any,\n  callName: any,\n  isCarnival?: boolean\n) => {\n  const variables = { path: `/sitecore/content/Sites/JCRW/Simulcast/${isCarnival ? \"Carnival_\" : \"\"}Disclaimer`, ...options };\n  return await fetchRequest(variables, query, callName);\n};\n\nexport const getTrackAnalysis = async (\n  lang: LangCode,\n  season: string,\n  meetingId: string\n) => {\n  \n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/TrackAnalysis`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_TRACK_ANALYSIS, \"cms\", undefined);\n};\n\nexport const getTrackAnalysisExperts = async (\n  lang: LangCode,\n  expertsName: string\n) => {\n  \n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Simulcast/Experts//${expertsName}`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_TRACK_ANALYSIS_EXPERTS, \"cms\");\n};\n\nexport const getBanners = async (\n  lang: LangCode,\n  bannerType: \"Top\" | \"Bottom\" | \"Middle\"\n) => {\n  let bannerPath = \"\";\n  switch (bannerType) {\n    case \"Top\":\n      bannerPath = \"TopBanners\";\n      break;\n    case \"Middle\":\n      bannerPath = \"BannerWithText\";\n      break;\n    case \"Bottom\":\n      bannerPath = \"BottomCarnivalBanners\";\n      break;\n    default:\n      break;\n  }\n\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Banners/Simulcast/${bannerPath}`,\n    language: lang\n  };\n  return await fetchRequest(variables, GET_BANNERS, \"cms\");\n};\n\nexport const getBusinessDate = async (signal?: AbortSignal) => {\n  return await fetchRequest(null, GET_TIMEOFFSET, 'qids', undefined, signal);\n};\n\nexport const getMeetingSummaryMenuType = async () => {  \n  const variables = {\n    path: \"/sitecore/content/Sites/JCRW/Simulcast/MeetingSummaryMenu\",\n    language: \"en-us\",\n  };\n  return await fetchRequest(variables, GET_MEETING_SUMMARY_MENU_TYPE, 'cms', undefined);\n};\n\nexport const searchSeasonByDate = async (dateStr: string, lang: LangCode, signal?: AbortSignal) => {\n  const rootPath = \"/sitecore/content/Sites/JCRW/Meetings/Simulcast/\"\n  const variables = {\n    path: rootPath,\n    dateStr: dateStr,\n    limit: 1, // return first result if more than one\n    language: lang,\n  };\n  return fetchRequest(variables, GET_SEASON_BY_DATE, 'cms', undefined, signal).then((res)=> res?.search?.results?.items[0]?.path.toLowerCase().replace(rootPath.toLowerCase(), '').split(\"/\")[0] || '');\n};\n\nexport const getJockeysTrainersRanking = async (\n  lang: LangCode,\n  season: string,\n  meetingId: string\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/JockeysTrainersRankings`,\n    language: lang\n  };\n  var res = await fetchRequest(variables, GET_JOCKEYSTRAINERSRANKING, \"cms\");\n  return res\n}\n\nexport const getMeetingRaceNews = async (\n  lang: LangCode,\n  meetingraceid: string\n) => {\n  \n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/News/`,\n    language: lang,\n    fieldid: meetingraceid,\n    offset: HK_TIME_OFFSET,\n  };\n    return await fetchRequest(variables, GET_MEETINGRACE_NEWS, \"cms\");\n};\n\nexport const getGearInfo = async (\n  lang: LangCode, \n) => {\n  \n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/SiteConfiguration/GearInfo`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_GEARINFO, \"cms\");\n};\n\nexport const getHomeBasicInfo = async (meetingsOnly?:boolean, signal?: AbortSignal) => {  \n  const variables = {\n    localSim: \"SIM\",\n    meetingsOnly: meetingsOnly,\n    oddsTypes: [oddType.WIN],\n  };\n  return await fetchRequest(variables, GET_HOME_BASIC_INFO, \"qids\", undefined, signal);\n};\n\nexport const searchMeetingsInDateRange = async (lang: LangCode, from?: Date, to?: Date, signal?: AbortSignal) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast`,\n    language: lang,\n    fieldsEqual: [{name: \"_templateName\", value: meetingTemplate.NAME}],\n    from: formattedDate(from, \"YYYY-MM-DDTHH:mm:ss[Z]\", true),\n    to: formattedDate(to, \"YYYY-MM-DDTHH:mm:ss[Z]\", true),\n    racesFolderTemplateIDs: [meetingTemplate.RACES.ID],\n  };\n  return await fetchRequest(variables, SEARCH_MEETINGS_IN_DATE_RANGE, \"cms\", undefined, signal);\n};\n\nexport const getOverrideRedirectionConfig = async (lang: LangCode, signal?: AbortSignal) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Simulcast/OverrideRedirectionConfig`,\n    language: lang,\n    racesFolderTemplateIDs: [meetingTemplate.RACES.ID],\n  };\n  return await fetchRequest(variables, GET_OVERRIDE_REDIRECTION_CONFIG, \"cms\", undefined, signal);\n};\n\nexport const getRaceCardColumns = async (\n  lang: LangCode,\n) => {\n  const variables = {\n    path: \"/sitecore/content/Sites/JCRW/SiteConfiguration/RaceCard_Columns\",\n    language: lang\n  };\n  return await fetchRequest(variables, GET_RACE_CARD_COLUMNS, \"cms\");\n}\n\nexport const getExpertColumn = async (\n  lang: LangCode, \n  season: any,\n  meetingId: any,\n  raceNo:any\n) => {\n  \n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races/${raceNo}/ExpertColumn`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_EXPERTCOLUMN, \"cms\");\n};\n\nexport const getHorseByMeetingRace = async (\n  meetingDate: string,\n  venCode: string,\n  raceNumber: string, \n  ids: any\n  ) => {  \n  const variables = {\n    meetingDate: meetingDate, \n    venCode: venCode,\n    raceNumber: raceNumber,\n    ids: ids ?? []\n  };\n  return await fetchRequest(variables, GET_HORSE_MEETINGRACE, \"qids\");\n};\n\nexport const getTipstersSelection = async (\n  lang: LangCode,\n  season: string,\n  meetingId: string\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/TipstersSelections`,\n    language: lang\n  };\n  var res = await fetchRequest(variables, GET_TIPSTERS_SELECTION, \"cms\");\n  return res\n};\n\nexport const getMeetingPmPoolStatus = async (\n  meetingDate: string,\n  venCode: string\n) => {\n  const variables = {\n    date: meetingDate, \n    venueCode: venCode,\n    oddsTypes: [\"WIN\"]\n  };\n  var res = await fetchRequest(variables, GET_MEETING_PM_POOL_STATUS, \"qids\");\n  return res\n};\n\nexport const getInPageDisplayButtons = async (  \n  lang: LangCode, \n  season: any,\n  meetingId: any,\n  speedMapPath: string\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}`,\n    path_SpeedMap: `/sitecore/media library/Sites/JCRW/Speedmap/Simulcast/${speedMapPath}`,\n    path_DefaultButtonsMap: `/sitecore/content/Sites/JCRW/Simulcast/InPageDisplayDefaultButtons`,    \n    language: lang\n  };\n  var res = await fetchRequest(variables, GET_INPAGEDISPLAYBUTTONS, \"cms\", undefined);\n  return res\n};\n\nexport const getArticle = async (\n  lang: LangCode,\n  season: any,\n  meetingId: any,\n  name: string\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/InPageDisplayButtons/${name}`,\n    language: lang\n  };\n  var res = await fetchRequest(variables, GET_ARTICLE, \"cms\");\n  return res\n};\n\nexport const getCarnivalSection = async (\n  lang: string,\n  carnival: string,\n  raceday: string,\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Simulcast/Carnivals/${carnival}/${raceday}`,\n    language: lang\n  };\n\n  var res = await fetchRequest(variables, GET_CARNIVALSection, \"cms\");\n  return res\n};\n\nexport const searchCarnivalByName = async (\n  langCode: LangCode,\n  pageName: string,\n) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Simulcast/Carnivals`,\n    language: langCode,\n    fieldsEqual: [\n      {name: \"_templateName\", value: carnivalTemplate.NAME},\n      {name: \"_name\", value: pageName}\n    ],\n    limit: 1, // return first result if more than one\n  };\n  return await fetchRequest(variables, SEARCH_CARNIVAL_BY_NAME, \"cms\");\n};\n\nexport const getRacingStatistics = async (\n  lang: LangCode,\n  season: string,\n  meetingId: string\n) => {\n  \n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/RacingStatistics`,\n    language: lang\n  };\n    return await fetchRequest(variables, GET_RACINGSTATISTICS, \"cms\", undefined);\n};\n\nexport const getCarnivalNameList = async (lang: LangCode) => {\n  const variables = {\n    path: `/sitecore/content/Sites/JCRW/Simulcast/CarnivalNames`,\n    language: lang\n  };\n  return await fetchRequest(variables, GET_CARNIVAL_NAMES, \"cms\");\n}\n\nexport const getMeetingCountryAndHorseStatus = async (\n  meetingDate: string,\n  venCode: string\n) => {\n  const variables = {\n    date: meetingDate, \n    venueCode: venCode\n  };\n  return await fetchRequest(variables, GET_MEETINGCOUNTRY_HORSESTATUS_GIDS, \"qids\");\n}","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin"],"names":["__webpack_exports__","Z","state","lang","useLanguage","t","isOpen","setIsOpen","useState","setIsOpenHandle","currentOpen","index","reSetOpen","footerMenu","setFooterMenu","footerRGBbanner","setFooterRGBbanner","useEffect","getFooterMenu","language","langCode","GET_FOOTER_MENU","then","res","item","console","log","getRGPBanner","GET_RGPBanner","RGPBanner","useMediaQuery","htmlText","sitemap","value","htmlFragment","doc","DOMParser","parseFromString","body","firstChild","isMobile","theme","breakpoints","down","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","Fragment","jsx","div","id","className","children","map","tagName","span","dangerouslySetInnerHTML","__html","outerHTML","dl","concat","dt","onClick","firstElementChild","textContent","itemdd","indexdd","style","padding","rendered","bottomlink","waTracker","name","headerData","myContextState","useMyContext","dict","setHeader","salut","setSalut","searchTxt","setSearchTxt","isLogin","setIsLogin","showDisplayName","setShowDisplayName","getHeader","path","GET_HEADER","normalizeMainMenu","catch","e","data","submitSearch","keyCode","searchVlaue","btoa","encodeURIComponent","replace","url","langType","LANGTYPE_EN","alert","LANGTYPE_CT","window","globalConfig","LINKED_PAGES","SEARCHPAGEENG","SEARCHPAGECHI","location","href","getLoginStatus","count","isUserProfileLoaded","localStorage","getItem","setTimeout","WCIPCookie","isLoggedIn","refreshGlobalLoginControl","custProIn","cookie","displayName","getLoginInfo","Grid","spacing","container","sx","maxWidth","margin","lg","a","LeftLink","target","openTarget","LeftLinkNewWindow","LeftImage","img","src","alt","assetPrefix","display","xs","input","type","Object","keys","LANGUAGE","code","str2LangCode","key","homepage","HOMEPAGEENG","HOMEPAGECHI","switchLanguage","maxLength","title","placeholder","onChange","onKeyUp","redirectPage","RightLink","RightLinkNewWindow","RightImage","border","width","height","HRRedirectionLink","HRRedirectionNewWindow","HRLabel","FBRedirectionLink","FBRedirectionNewWindow","FBLabel","M6RedirectionLink","M6RedirectionNewWindow","M6Label","displaySubMenu","preventDefault","parentElement","classList","add","remove","adjustPosition","curentTab","ele","rect","getBoundingClientRect","viewportWidth","innerWidth","right","left","nextElementSibling","displaySubMenu2","adjustPosition2","hideSubMenu","child","props","mainMenu","getAssetPrefix","open","setMainMenuOpen","setMainMenu","toggleMainMenu","simulcastMainMenu","setSimulcastMainMenu","clientQuery","changeMenu","hiddenId","displayId","hideElement","document","getElementById","displayElement","getHeaderNavMain","GET_HEADER_NAV_MAIN","_","item1","seqIndex","Number","seq","undefined","item2","item3","item4","subMena","filter","label","Container","disableGutters","nav","ul","li","borderLeft","borderRight","length","openNewWindow","link","sub","idx","onMouseLeave","onMouseEnter","lvl","i","last","j","position","top","Drawer","onClose","anchor","SearchIcon","color","textSize","verticalAlign","paddingLeft","data-target","indx","lvllast","ix","fontSize","text_size","oddType","WIN","PLA","QIN","QPL","IWN","FCT","TCE","QTT","TRI","FF","DBL","TBL","DT","TT","SIX_UP","CWA","CWB","CWC","JKC","TNC","singlePools","GET_RACE_CARD_LIST","GET_RACE_INFO_LIST","GET_RACE_MEETING_PROFILE","GET_SELECTED_MEETING_RACES_INFO","SEARCH_MEETINGS_BY_DATE","GET_MEETING_BROADCAST","GET_MEETING_BROADCASTCONFIG","GET_RACE_PASTWINNERS","GET_HORSE_PROFILE","GET_RACE_RESULTS_LIST","GET_FIXTURELIST_SUMMARY","GET_FIXTURELIST","GET_WINODDS_INFO","GET_REFERENCEODDS_INFO","GET_FORMCOMMENTS","GET_DISCLAIMER","GET_TRACK_ANALYSIS","GET_TRACK_ANALYSIS_EXPERTS","GET_BANNERS","GET_TIMEOFFSET","GET_JOCKEYSTRAINERSRANKING","GET_MEETING_STATUS","GET_MEETINGRACE_NEWS","GET_RACING_CHANGES","GET_GEARINFO","GET_HOME_BASIC_INFO","SEARCH_MEETINGS_IN_DATE_RANGE","GET_OVERRIDE_REDIRECTION_CONFIG","GET_MEETING_GENERAL_INFORMATION","GET_RACE_CARD_COLUMNS","GET_EXPERTCOLUMN","GET_HORSE_MEETINGRACE","GET_TIPSTERS_SELECTION","GET_MEETING_PM_POOL_STATUS","GET_INPAGEDISPLAYBUTTONS","GET_ARTICLE","SEARCH_CARNIVAL_BY_NAME","GET_RACINGSTATISTICS","GET_CARNIVAL_NAMES","GET_CARNIVALSection","GET_MEETINGCOUNTRY_HORSESTATUS_GIDS","request","variables","query","callName","mockResponse","signal","errors","options","method","mode","credentials","referrerPolicy","headers","accept","JSON","stringify","uri","DATA_SOURCES","QIDS_URI","CMS_URI","response","fetch","graphQLData","json","status","message","error","getRaceCardList","fetchRequest","getRaceInfoList","getRaceMeeting","getMeetingStatus","meetingDate","venueCode","date","formattedDate","oddsTypes","getRacingChanges","getMeetingGeneralInformation","getHorseProfile","getWinOddsInfo","getSelectedMeetingInfo","season","meetingId","entriesFolderTemplateIDs","racesTemplate","RACE","ENTRIES","ID","searchMeetingsByDate","dateFormat","offset","getSelectedMeetingBroadcast","getBroadcastConfig","getReferenceInfo","raceNo","getFormComments","getPastWinners","raceId","getRaceResultsList","getFixtureList","isSummary","racesFolderTemplateIDs","meetingTemplate","RACES","calendarFixtureList","seasonList","reduce","prev","current","currentSeason","boolValue","fixtureSorting","targetItems","fixtureList","find","s","getDisclaimer","isCarnival","getTrackAnalysis","getTrackAnalysisExperts","expertsName","getBanners","bannerType","bannerPath","getBusinessDate","getJockeysTrainersRanking","getMeetingRaceNews","meetingraceid","fieldid","getGearInfo","getHomeBasicInfo","meetingsOnly","localSim","searchMeetingsInDateRange","from","to","fieldsEqual","NAME","getOverrideRedirectionConfig","getRaceCardColumns","getExpertColumn","getHorseByMeetingRace","venCode","raceNumber","ids","getTipstersSelection","getMeetingPmPoolStatus","getInPageDisplayButtons","speedMapPath","path_SpeedMap","path_DefaultButtonsMap","getArticle","getCarnivalSection","carnival","raceday","searchCarnivalByName","pageName","carnivalTemplate","limit","getRacingStatistics","getCarnivalNameList","getMeetingCountryAndHorseStatus"],"sourceRoot":""}