/**** (c) Valve Corporation. Use is governed by the terms of the Steam Subscriber Agreement http://store.steampowered.com/subscriber_agreement/.
 ****/
(self.webpackChunkstore = self.webpackChunkstore || []).push([
  [2414],
  {
    89921: (e) => {
      e.exports = {
        PageSection: "_3JAzRcSUiSPCKW2Jiexp_E",
        SectionTitle: "f7CCwSS2I4NYoGB4wG2TA",
        ChartPage: "_1A7NagdRz58_o8HPHMa3eE",
        Placeholder: "_3XI-CAps_XOBY4D5L-KYLK",
        GhostShine: "_1NHk0m80j5yOZhsPNvNh2t",
        ChartTable: "_37mz_pxwuHG8BN4GUhxjz_",
        ColumnHeaders: "WgKS9JzWbUHUdUaxAkVyq",
        HoverCell: "_2-85msRUZlh9lpwsunR7GZ",
        Rank: "_2-OCRGbF9FZtfD3sGgLVh4",
        Game: "_1qyeHZiM3mmbo0imr68dMz",
        Price: "_1JgiWYMTfTwaQ2HJEMyY-Y",
        Change: "_3hclDX7-WLUsWJuYR_oXUr",
        Concurrent: "_2k9G_tjU3m_yCndUPB8Vxs",
        Weeks: "UuiGaH84yY06Q47lU9lp9",
        PeakInGame: "_1selfCx1P9F5HDvT0uOwLw",
        RightCell: "_3eIfqcXQHr4FKPcN1v2v6k",
        TableRow: "_1e_ncYHkPNaZ3hco_QyRuD",
        CapsuleCell: "GdWJO09fEv96lffYqSCTD",
        Banner: "_1y4IQJgl-Jm3fy9XW-WGfi",
        BannerText: "_2xCtgVHxn4YjOvd45SCa-9",
        HoverSource: "ueQE3FBjRAzpAC3w7ctAa",
        HoverMask: "_23Aj18GeEMdrEFmQn56P6b",
        RankCell: "_22FqHiBtqazXeqPBBGNE3t",
        PriceCell: "vqWZah9F9q2fxDWpRc09q",
        ConcurrentCell: "_23DBGybtilOiZO0CaLvzi",
        WeeksCell: "_1yNbVdpUyYd6KdwaudPdZV",
        Tooltip: "_21PHmTWxuLnZX8sNtfCGhJ",
        PeakInGameCell: "_1cfHFhTt_LjOgNdWvDg2oF",
        Unavailable: "_2GDqaPnDNWFIHQ9JQjeSle",
        TopChartItem: "_1Ijc93oftWwc5TP2IX5e5Z",
        GameName: "_2_W75fRP5diDoCLTI8lVUZ",
        CapsuleArt: "_10KmYuzW6Xl9aHSW-PwtEO",
        ExpandedImage: "_30CvPRiOtj-wBKvttJwqxp",
        ExpandedMedia: "_1TFZaRvl265bi1fRQH6mZ5",
        ExpandedButtons: "_24pnIohScWPZiQmmQhS7t6",
        CartButton: "_29c7H2hUjzfNTWZHDAB3mI",
        GameInfo: "_7ffoOUacbrw7ISIwHkv95",
        GameUnavailable: "eEqFiN9LU_ZeLVOFeD08m",
        ChangeCell: "_5XCIfYrMrb9F-9RyAd5HC",
        ListWeeksDebut: "_2MncBw552vxKbkM9arCywZ",
        ListWeeksReturning: "_1aZmrNWUBvB33x3h8za9bF",
        TopSectionFlex: "_2bKWdV5U2BrfG3oLiJtjxp",
        SteamDeckChartDropdown: "_1N8CP2dzq0c62RNm-MTTek",
        SteamDeckBanner: "_1cbTAisove0MJRamLa2SpQ",
        SteamDeckBannerWords: "E83jGEMUS1yGii53esbcf",
        SteamDeckBannerTitle: "_3dna9-Ja8UALHZrp-pACoL",
        SteamDeckBannerDesc: "_1BY2vugkNlWaYquJZTLt7k",
        DeckChartDateRange: "_1CFdSGWj6eAXRM57divHxc",
      };
    },
    55507: (e) => {
      e.exports = {
        ChartContainerPlaceholder: "_2XkUVIIrP51qhPwOneciZ7",
        ChartContainer: "FpMH38j765H86InvUXI5T",
        Chart: "Rv-Tnx--KwCDgFsmHA7Zz",
        Stats: "_3ZiPuQhQ0Lw1S4fNC5ARyq",
        StatsTitle: "TY7Qbq7FuibkQDpXGPxsj",
        StatSubtitle: "_20FBRckrXi0EjrMvjWq5HF",
        Concurrent: "_1kVRthVYe6HB6ezBCivTmn",
        Now: "_2j4oL1dtp5TAyU6zyFilbm",
        CurrentStats: "_3uEBRDFiG3dxKoRzhAmwWt",
      };
    },
    36909: (e) => {
      e.exports = {
        PageContainer: "ACgX0o9I42_zqWZHyiIhX",
        ChartItemsCtn: "_3BNYFDMfEzv1suZ5vOElzP",
        ChartMoreBtn: "_2HZLNwzzD55tTBYgo1DBPf",
        PageSubtitle: "PEIn3GTol3TSEIpsId62R",
        SideBySideCharts: "_2nroVb7AfBh6rPGe_2rL7c",
        OverviewChart: "_13C_Z85ObQf8U0_-3euyjs",
        Chart: "_3r75ht9iFN1q6tgtUsm9tT",
        TopItem: "_3rNNliu33MNHlKu6Qb2gzl",
        Capsule: "_1hnd3zhzDjsO5OvWyMyHAb",
        ItemRow: "WAvlEQBfIc3xcH69uozUp",
        Rank: "_2Y06IOh6M8eYD74smDwmFc",
        ItemNameCtn: "_33Kj2Qx_9z4VyvlKulpay8",
        ItemDesc: "_27OhqiS6skOPPWCddDkw1n",
        AddDataCtn: "_3hcZip826q0Brc4izWaCHq",
        AddDataDesc: "_2AWprPMkYtG9qA05X_PnBi",
        ImageButtonCtn: "_11u1MRqFV4IB3t8XVzUnNv",
        ImageButtonLink: "_9BzHAji4VzoMjs7kR24hE",
        ImageGridCtn: "tSK7MWoDk93B4YlVKwROO",
        Monthly: "_3N9ubTzZmbUOJXz1YxzF9P",
        MoreLinksCtn: "_2ZaAF6Kb40APdlPG6f13LH",
        OverviewChartPlaceholder: "rGp5AAoogQGX2-mxkhg4F",
        BestOfYearButton: "_3Qf-XadcjXMDgnu95-quHx",
        BackupBestOfYearText: "_12TR9KpkEdkyOdJ5bNUWai",
        BestOfYearBanner: "_1ad0ufTklxts-mhxP1tqA4",
        Big: "_2bwzBYg8JbKN0RW_dYUK7r",
        Mobile: "_1cKllvp03o1kmFqH_uQa58",
      };
    },
    74812: (e) => {
      e.exports = {
        SteamChartsPage: "_2aYDMWWN9bAVaHmPfFHXWA",
        SteamChartsShell: "_2rArjHHk-sJxtm0AQK-ifY",
        SteamChartsContent: "_2uKyXTgmlwRhfDB9pAKD76",
        HeaderCtn: "_1kLTg9HHfMgVo8gDstT8uR",
        WithSubtitle: "_kbFJdSwEh7bc98Yq_gZ2",
        PageSubtitle: "_3wxTKWJdN8vIdXKlu-ZHZX",
        TopDeckSubtitle: "_1l72-mnPYU9Ton0UyCrTgL",
        SteamChartsRootPosition: "_2tAk2uCRwLsaOcFMF0VAr9",
        AlignWithMenu: "_2-hIBICcMkAAkFzWEvp5uM",
        SteamChartsMenu: "KSZ9hmL_XbHI_tlSUQylO",
        SteamLogo: "_3qWYYrOe1bQhTJwm0zc4E3",
        MenuGroup: "_2X7eT07iC6SQRu_uj4Web3",
        Weekly: "jC5Vq_nM-w0wUMREt340Y",
        MenuLinks: "Lj-O1sumeRPMtyePxydGf",
        Monthly: "_2mbn0MybOi1zQDV9iYg5X-",
        MenuHeader: "_19bojcj07vGvbhrAJ4T55c",
        ActiveLink: "_3kEWJGuSEOp09T1ZND24zk",
        ChartRangeCtn: "wLFBOAfa7yijnxFGxj9xs",
        ChartRangeText: "vlHd8EhkUPvzcN2Xn4Y0j",
        ShortDate: "_2AQqwf9WZKu7d8zUGYJ5VR",
        LongDate: "_1V5zBbE55eaOW2YYdG-bDd",
        ChartNavCtn: "_1tUsAmcZXj8lDhFYLPtWSX",
        Disabled: "_2VVBwS-S1js1QLzT90jv1S",
        ChartNavPrev: "PFs4U4cBAxm-GI1zMSV7q",
        ChartNavNext: "_27ASBphHd61RCZhLfsKIZ5",
      };
    },
    16767: (e) => {
      e.exports = {
        HelpRequestChartContainer: "_1dbAlGjgeRG0IF7LxVGlNU",
        CategoryBlock: "_34D_U3jAxOl1YKYVkhrnEo",
        Placeholder: "_3r4Y8_eL-4yZQdCwm0BJtN",
        Category: "_1hxGIZRl9M4O881-LMqI-j",
        Submitted24h: "N_TWxHk1W6om7IZLwZXNY",
        ResponseTimes: "_34kNEqvIhwIMhrIwHUUrM0",
        TableRow: "_1tiKSf64fh09TzalIvs_v",
        NumberCol: "_1GPA-utJD48wTHb18r7rg2",
      };
    },
    97725: (e) => {
      e.exports = { TopReleasesContainer: "_2ZjmCUAiuueaaa50xot0EU" };
    },
    51535: (e) => {
      e.exports = {
        PageSection: "_2zGFBNA2sjyPFRzONZhG5T",
        SectionTitle: "_1tl1EVPXDe0Ga87Od2OapL",
        ChartPage: "_2txZN03Rksb3SHqYeOt75B",
        Placeholder: "_13Wagx1HQxyCivWU2ZGU5o",
        GhostShine: "_3n0N_c3fIHBhVJ2Cye5zs9",
        ChartTable: "_3arZn0BMPzyhcYNADe193m",
        ColumnHeaders: "_3eKiI5Uhn6pLBSBqg3LbBz",
        HoverCell: "_3JiuzqNZfzcK2EB06XAMv8",
        Rank: "_2BuNWG4dJy40ZhU9u51gYq",
        Game: "_3fOO4LOvNmuF5xvR0NTfzI",
        Price: "amGaROSLVVh48h1bqp40a",
        Change: "_150QPa7Ul5lH8rPbsAMn-8",
        Concurrent: "grXsMMqaVa6d2XxKiu5zU",
        Weeks: "_1ODmeBQGexjb68QaWkQay2",
        PeakInGame: "_1zxLzk_ggCuBLTlQW5HB7S",
        RightCell: "_iRXB-jnm1HdyuH-mHN_h",
        TableRow: "_2-RN6nWOY56sNmcDHu069P",
        CapsuleCell: "_18kGHKeOavDDdJVs9FVhpo",
        Banner: "_24xXqJoM1vk2jNIc6fU-LD",
        BannerText: "UFtgo0Nvdp450rdx5uGU1",
        HoverSource: "_1oW6QnWPKl-KPfufAnKapF",
        HoverMask: "N8w56WjrQPSB3M6hVSXDx",
        RankCell: "_34h48M_x9S-9Q2FFPX_CcU",
        PriceCell: "_3IyfUchPbsYMEaGjJU3GOP",
        ConcurrentCell: "_3L0CDDIUaOKTGfqdpqmjcy",
        WeeksCell: "xm7JpnZElM9XGF4ruu0Z-",
        Tooltip: "_2OA1JW-4H-f01kM7myTUuu",
        PeakInGameCell: "yJB7DYKsuTG2AYhJdWTIk",
        Unavailable: "mqJv4GSlMIBGszsRy4Hjo",
        TopChartItem: "_2C5PJOUH6RqyuBNEwaCE9X",
        GameName: "_1n_4-zvf0n4aqGEksbgW9N",
        CapsuleArt: "_2dODJrHKWs6F9v9QpgzihO",
        ExpandedImage: "_3gRecW1JhKNGlsPfQ6wKdX",
        ExpandedMedia: "_3WcY4_82ul4e5YnaMs4yzH",
        ExpandedButtons: "_3-yfbNsFBZ0lZMgB3XZeDH",
        CartButton: "HYru8hN_4hAuafLhM5W7i",
        GameInfo: "_3fbErup_8zjbknEuj8QEOd",
        GameUnavailable: "_1VpmUWOpL8QFhgJE9-wTWg",
        ChangeCell: "_1ZdIh_OWh9DUr5O4OCypQn",
        ListWeeksDebut: "_3VOg1Au8rs5wnnu2fXny0M",
        ListWeeksReturning: "CQijl-dgrfQHKUydm9c2F",
        TopSectionFlex: "_2FYj4SNQUSjh_Q6gsQ8YX8",
        SteamDeckChartDropdown: "IqoCNSPPuJngiwqCn1Yio",
        SteamDeckBanner: "_2ukfIQbMBHCDkpsiFfK2go",
        SteamDeckBannerWords: "AtbS6Suu1__tuuK5r43oa",
        SteamDeckBannerTitle: "_2ll5irwHKJ6i4VUArLyaOo",
        SteamDeckBannerDesc: "_3hT5aJvGLEBs1ZQ_nXE4mq",
        DeckChartDateRange: "_3Im7owFsdI0Lt9cu4eU65T",
        WeekBrowseLink: "DOEXqWm8o_z-orpDgJhRO",
        CountryControl: "_14L3rO6n7CWRUvU7kGlWdr",
        DropDownContainer: "cuSpV3QmWAyfy5jEL_lAD",
        MostPlayedOptionsControl: "JNIDkAylV2PzV6WgyGipX",
        TopGameBackground: "_39YkypnuGbVjgQOa7CR5Uw",
        BrowseTopSellersButton: "_2S1tSckzLEd0oOcVZVwSn1",
        CapsuleDecorator: "_1zTJhHtTtlupkl5JAkDjkj",
        LinesImg: "_3LfjgYqtcKMR_OPGPuSINb",
        ChartPlaceholder: "_3sJkwsBQuiAc_i3VOWX4tv",
        WeeklyFooterControls: "_3qtwdu9UZOm9MR75OdIDhh",
        PriceWidget: "_30rPOgtyETKSFTmKGlL7LD",
        TopReleasesContainer: "HVGCLhckX_TdvWBLa5LW5",
      };
    },
    17083: (e, t, a) => {
      "use strict";
      a.d(t, { N_: () => _, k2: () => E });
      var r = a(92757),
        n = a(42891),
        s = a(90626),
        l = a(29248),
        o = a(58584),
        i = a(81115),
        c = a(68841);
      s.Component;
      s.Component;
      var m = function (e, t) {
          return "function" == typeof e ? e(t) : e;
        },
        u = function (e, t) {
          return "string" == typeof e ? (0, l.yJ)(e, null, null, t) : e;
        },
        d = function (e) {
          return e;
        },
        p = s.forwardRef;
      void 0 === p && (p = d);
      var h = p(function (e, t) {
        var a = e.innerRef,
          r = e.navigate,
          n = e.onClick,
          l = (0, i.A)(e, ["innerRef", "navigate", "onClick"]),
          c = l.target,
          m = (0, o.A)({}, l, {
            onClick: function (e) {
              try {
                n && n(e);
              } catch (t) {
                throw (e.preventDefault(), t);
              }
              e.defaultPrevented ||
                0 !== e.button ||
                (c && "_self" !== c) ||
                (function (e) {
                  return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);
                })(e) ||
                (e.preventDefault(), r());
            },
          });
        return (m.ref = (d !== p && t) || a), s.createElement("a", m);
      });
      var _ = p(function (e, t) {
          var a = e.component,
            n = void 0 === a ? h : a,
            _ = e.replace,
            S = e.to,
            C = e.innerRef,
            E = (0, i.A)(e, ["component", "replace", "to", "innerRef"]);
          return s.createElement(r.XZ.Consumer, null, function (e) {
            e || (0, c.A)(!1);
            var a = e.history,
              r = u(m(S, e.location), e.location),
              i = r ? a.createHref(r) : "",
              h = (0, o.A)({}, E, {
                href: i,
                navigate: function () {
                  var t = m(S, e.location),
                    r = (0, l.AO)(e.location) === (0, l.AO)(u(t));
                  (_ || r ? a.replace : a.push)(t);
                },
              });
            return (
              d !== p ? (h.ref = t || C) : (h.innerRef = C),
              s.createElement(n, h)
            );
          });
        }),
        S = function (e) {
          return e;
        },
        C = s.forwardRef;
      void 0 === C && (C = S);
      var E = C(function (e, t) {
        var a = e["aria-current"],
          n = void 0 === a ? "page" : a,
          l = e.activeClassName,
          d = void 0 === l ? "active" : l,
          p = e.activeStyle,
          h = e.className,
          E = e.exact,
          y = e.isActive,
          g = e.location,
          T = e.sensitive,
          k = e.strict,
          f = e.style,
          v = e.to,
          w = e.innerRef,
          N = (0, i.A)(e, [
            "aria-current",
            "activeClassName",
            "activeStyle",
            "className",
            "exact",
            "isActive",
            "location",
            "sensitive",
            "strict",
            "style",
            "to",
            "innerRef",
          ]);
        return s.createElement(r.XZ.Consumer, null, function (e) {
          e || (0, c.A)(!1);
          var a = g || e.location,
            l = u(m(v, a), a),
            i = l.pathname,
            b = i && i.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"),
            B = b
              ? (0, r.B6)(a.pathname, {
                  path: b,
                  exact: E,
                  sensitive: T,
                  strict: k,
                })
              : null,
            R = !!(y ? y(B, a) : B),
            I = "function" == typeof h ? h(R) : h,
            P = "function" == typeof f ? f(R) : f;
          R &&
            ((I = (function () {
              for (
                var e = arguments.length, t = new Array(e), a = 0;
                a < e;
                a++
              )
                t[a] = arguments[a];
              return t
                .filter(function (e) {
                  return e;
                })
                .join(" ");
            })(I, d)),
            (P = (0, o.A)({}, P, p)));
          var G = (0, o.A)(
            { "aria-current": (R && n) || null, className: I, style: P, to: l },
            N,
          );
          return (
            S !== C ? (G.ref = t || w) : (G.innerRef = w), s.createElement(_, G)
          );
        });
      });
    },
    51680: (e, t, a) => {
      "use strict";
      a.d(t, { Z: () => s });
      var r = a(30894),
        n = a(90626);
      function s(e) {
        const t = r.Fm.Get().BIsLoaded() && r.Fm.Get();
        return n.useMemo(
          () =>
            (function (e, t) {
              if (!e) return !1;
              if (!t) return !1;
              if (e.BExcludesContentDescriptor(t.GetContentDescriptorIDs()))
                return !0;
              switch (t.GetStoreItemType()) {
                case 0:
                  if (e.BIsGameIgnored(t.GetID())) return !0;
                  break;
                case 1:
                  if (e.BIsPackageIgnored(t.GetID())) return !0;
              }
              return !1;
            })(t, e),
          [t, e],
        );
      }
    },
    3734: (e, t, a) => {
      "use strict";
      a.d(t, { E2: () => p, PG: () => _ });
      var r = a(90626),
        n = a(20194),
        s = a(56545),
        l = a(94601),
        o = a(72839),
        i = a(82097),
        c = a(44332),
        m = a(23809);
      const u = r.createContext({}),
        d = () => r.useContext(u);
      function p(e) {
        let { defaultOptions: t, children: a } = e,
          n = r.useMemo(() => ({ defaultOptions: t || {} }), [t]);
        return r.createElement(u.Provider, { value: n }, a);
      }
      const h = "StoreQueryStore";
      function _(e, t, a, i) {
        let u = d();
        const p = (0, m.KV)();
        u || (0, c.w)(!1, "useStoreQuery called outside of a <StoreQueryRoot>");
        let _ = u.defaultOptions;
        const C = r.useMemo(() => {
          let e = [];
          return (
            i?.content_descriptors_excluded
              ? (e = i.content_descriptors_excluded)
              : _?.content_descriptors_excluded &&
                (e = _.content_descriptors_excluded),
            { ...t, filters: { content_descriptors_excluded: e, ...t.filters } }
          );
        }, [t, i, _]);
        let E;
        void 0 !== i?.override_country_code
          ? (E = i.override_country_code)
          : void 0 !== _?.override_country_code &&
            (E = _.override_country_code);
        let y = { staleTime: 36e5 };
        i?.reactQuery && (y = { ...y, ...i.reactQuery });
        const g = [h, C, a, i];
        return (0, n.I)({
          queryKey: g,
          queryFn: () =>
            (async function (e, t, a, r, n) {
              const i = s.w.Init(l.iU);
              (0, o.rV)(i), r && (0, o.Bn)(i, r);
              n && i.Body().set_override_country_code(n);
              i.Body().set_query(l.nu.fromObject(a)),
                i.Body().set_query_name(t);
              const c = await l.Fs.Query(e, i);
              if (1 != c.GetEResult())
                throw `Error executing StoreQuery "${t}", EResult: ${c.GetEResult()}`;
              return new S(c, r);
            })(p, e, C, a, E),
          ...y,
        });
      }
      class S {
        m_Items;
        m_rgItemIDs;
        m_metadata;
        constructor(e, t) {
          this.ReadResults(e, t);
        }
        GetItems() {
          return this.m_Items;
        }
        GetItemIDs() {
          return this.m_rgItemIDs;
        }
        GetMetadata() {
          return this.m_metadata;
        }
        ReadResults(e, t) {
          this.m_Items ||
            ((0, c.w)(
              0 == e.Body().metadata().start(),
              "Empty item list - expected to start at 0",
            ),
            (this.m_Items = []));
          const a = e.Body().ids() || [];
          if (
            ((this.m_rgItemIDs = a.map((e) => e.toObject())),
            e.Body().store_items())
          )
            for (const a of e.Body().store_items())
              this.m_Items.push(i.A.Get().ReadItem(a, t));
          this.m_metadata = e.Body().metadata().toObject();
        }
      }
    },
    43595: (e, t, a) => {
      "use strict";
      a.d(t, { p: () => c });
      var r = a(90626),
        n = a(94607),
        s = a(55963),
        l = a(62093),
        o = a(60014),
        i = a(3578);
      function c(e) {
        const {
            item: t,
            feature: a,
            depth: c,
            children: m,
            noImpressionTracking: u,
            ...d
          } = e,
          p = r.useRef(0),
          h = 0 == t.GetStoreItemType() ? t.GetAppID() : null,
          _ = (0, o.n9)(),
          S = r.useMemo(
            () => s.Ay.GetLinkParam({ ..._, feature: a || _.feature }, c),
            [_, a, c],
          ),
          C = r.useMemo(
            () => i.A.AddNavParamToURL(t.GetStorePageURL(), S),
            [t, S],
          ),
          E = (0, l.b)(),
          y = r.useCallback(() => {
            h && p.current != h && (E.AddImpression(h, S), (p.current = h));
          }, [E, h, S, p]),
          g = r.createElement("a", { ...d, href: C }, m);
        return h && !u ? r.createElement(n.Y, { onEnter: y }, g) : g;
      }
    },
    46773: (e, t, a) => {
      "use strict";
      a.d(t, { Y: () => s, m: () => n });
      var r = a(90626);
      function n(e) {
        const { title: t, bodyClassName: a, children: n } = e;
        return (
          r.useEffect(() => {
            const e = document.title;
            return (
              (document.title = t),
              () => {
                document.title = e;
              }
            );
          }, [t]),
          s(a),
          n
        );
      }
      function s(e) {
        r.useEffect(() => {
          if (!e) return;
          const t = [];
          for (const a of e.split(/ /))
            document.body.classList.contains(a) || t.push(a);
          return (
            document.body.classList.add(...t),
            () => document.body.classList.remove(...t)
          );
        }, [e]);
      }
    },
    68527: (e, t, a) => {
      "use strict";
      a.r(t), a.d(t, { SteamChartsRoutes: () => _a, default: () => Sa });
      var r,
        n = a(43527),
        s = a(41735),
        l = a.n(s),
        o = a(20194),
        i = a(56545),
        c = a(21659),
        m = a(72839),
        u = a(82097);
      !(function (e) {
        (e.DailyActiveUsers = "DailyActiveUsers"),
          (e.ConcurrentUsers = "ConcurrentUsers");
      })(r || (r = {}));
      class d {
        m_WebAPI;
        constructor(e) {
          this.m_WebAPI = e;
        }
        async LoadMostPlayedByDAU() {
          let e = i.w.Init(c.rT);
          (0, m.rV)(e), (0, m.Bn)(e, X);
          let t = await c.ZG.GetMostPlayedGames(
            this.m_WebAPI.GetAnonymousServiceTransport(),
            e,
          );
          if (1 != t.GetEResult()) throw "error loading most played by dau";
          return {
            rgRanks: this.ReadMostPlayedByDAU(
              t,
              e.Body().data_request().toObject(),
            ),
          };
        }
        async LoadMostPlayedByConcurrent() {
          let e = i.w.Init(c.rT);
          (0, m.rV)(e), (0, m.Bn)(e, X);
          let t = await c.ZG.GetGamesByConcurrentPlayers(
            this.m_WebAPI.GetAnonymousServiceTransport(),
            e,
          );
          if (1 != t.GetEResult())
            throw "error loading most played by concurrent";
          return {
            rgRanks: this.ReadMostPlayedByConcurrent(
              t,
              e.Body().data_request().toObject(),
            ),
          };
        }
        ReadMostPlayedByDAU(e, t) {
          let a = [];
          if (e.Body().ranks().length > 0)
            for (let r of e.Body().ranks())
              a.push({
                nRank: r.rank(),
                Item: u.A.Get().ReadItem(r.item(), t),
                nRankLastWeek: r.last_week_rank(),
                nPeakInGame: r.peak_in_game(),
              });
          return a;
        }
        ReadMostPlayedByConcurrent(e, t) {
          let a = [];
          if (e.Body().ranks().length > 0)
            for (let r of e.Body().ranks())
              a.push({
                nRank: r.rank(),
                Item: u.A.Get().ReadItem(r.item(), t),
                nConcurrentInGame: r.concurrent_in_game(),
                nPeakInGame: r.peak_in_game(),
              });
          return a;
        }
      }
      const p = "MostPlayedDAU",
        h = "MostPlayedByConcurrent";
      function _(e) {
        return (0, o.I)({
          queryKey: [h],
          queryFn: () => e.LoadMostPlayedByConcurrent(),
          staleTime: 3e5,
        });
      }
      var S = a(55263);
      class C {
        m_WebAPI;
        constructor(e) {
          this.m_WebAPI = e;
        }
        async LoadTopReleases() {
          let e = i.w.Init(c.FI),
            t = await c.ZG.GetTopReleasesPages(
              this.m_WebAPI.GetAnonymousServiceTransport(),
              e,
            );
          if (1 != t.GetEResult()) throw "error loading top releases";
          return { rgPages: this.ReadTopReleases(t) };
        }
        ReadTopReleases(e) {
          let t = [];
          if (e.Body().pages().length > 0)
            for (let a of e.Body().pages())
              t.push({
                strName: a.name(),
                rtMonthStart: a.start_of_month(),
                strUrlPath: a.url_path(),
                rgItems: a.item_ids().map((e) => e.appid()),
              });
          return t;
        }
      }
      const E = "TopReleases";
      function y(e) {
        const { data: t } = (0, o.I)({
          queryKey: [E],
          queryFn: () => e.LoadTopReleases(),
        });
        return t;
      }
      var g = a(90626),
        T = a(75233),
        k = a(57168),
        f = a(80613),
        v = a(89068),
        w = a(15161);
      const N = f.Message;
      class b extends N {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            b.prototype.country_code || v.Sg(b.M()),
            N.initialize(this, e, 0, -1, void 0, null);
        }
        static sm_m;
        static sm_mbf;
        static M() {
          return (
            b.sm_m ||
              (b.sm_m = {
                proto: b,
                fields: {
                  country_code: {
                    n: 1,
                    br: v.qM.readString,
                    bw: v.gp.writeString,
                  },
                  context: { n: 2, c: w.TS },
                  data_request: { n: 3, c: w.gn },
                  start_date: {
                    n: 4,
                    br: v.qM.readUint32,
                    bw: v.gp.writeUint32,
                  },
                  page_start: { n: 5, br: v.qM.readInt32, bw: v.gp.writeInt32 },
                  page_count: {
                    n: 6,
                    d: 20,
                    br: v.qM.readInt32,
                    bw: v.gp.writeInt32,
                  },
                },
              }),
            b.sm_m
          );
        }
        static MBF() {
          return b.sm_mbf || (b.sm_mbf = v.w0(b.M())), b.sm_mbf;
        }
        toObject(e = !1) {
          return b.toObject(e, this);
        }
        static toObject(e, t) {
          return v.BT(b.M(), e, t);
        }
        static fromObject(e) {
          return v.Uq(b.M(), e);
        }
        static deserializeBinary(e) {
          let t = new f.BinaryReader(e),
            a = new b();
          return b.deserializeBinaryFromReader(a, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return v.zj(b.MBF(), e, t);
        }
        serializeBinary() {
          var e = new f.BinaryWriter();
          return b.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          v.i0(b.M(), e, t);
        }
        serializeBase64String() {
          var e = new f.BinaryWriter();
          return b.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreTopSellers_GetWeeklyTopSellers_Request";
        }
      }
      class B extends N {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            B.prototype.start_date || v.Sg(B.M()),
            N.initialize(this, e, 0, -1, [2], null);
        }
        static sm_m;
        static sm_mbf;
        static M() {
          return (
            B.sm_m ||
              (B.sm_m = {
                proto: B,
                fields: {
                  start_date: {
                    n: 1,
                    br: v.qM.readUint32,
                    bw: v.gp.writeUint32,
                  },
                  ranks: { n: 2, c: R, r: !0, q: !0 },
                  next_page_start: {
                    n: 3,
                    br: v.qM.readInt32,
                    bw: v.gp.writeInt32,
                  },
                },
              }),
            B.sm_m
          );
        }
        static MBF() {
          return B.sm_mbf || (B.sm_mbf = v.w0(B.M())), B.sm_mbf;
        }
        toObject(e = !1) {
          return B.toObject(e, this);
        }
        static toObject(e, t) {
          return v.BT(B.M(), e, t);
        }
        static fromObject(e) {
          return v.Uq(B.M(), e);
        }
        static deserializeBinary(e) {
          let t = new f.BinaryReader(e),
            a = new B();
          return B.deserializeBinaryFromReader(a, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return v.zj(B.MBF(), e, t);
        }
        serializeBinary() {
          var e = new f.BinaryWriter();
          return B.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          v.i0(B.M(), e, t);
        }
        serializeBase64String() {
          var e = new f.BinaryWriter();
          return B.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreTopSellers_GetWeeklyTopSellers_Response";
        }
      }
      class R extends N {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            R.prototype.rank || v.Sg(R.M()),
            N.initialize(this, e, 0, -1, void 0, null);
        }
        static sm_m;
        static sm_mbf;
        static M() {
          return (
            R.sm_m ||
              (R.sm_m = {
                proto: R,
                fields: {
                  rank: { n: 1, br: v.qM.readInt32, bw: v.gp.writeInt32 },
                  appid: { n: 2, br: v.qM.readInt32, bw: v.gp.writeInt32 },
                  item: { n: 3, c: w.vB },
                  last_week_rank: {
                    n: 4,
                    br: v.qM.readInt32,
                    bw: v.gp.writeInt32,
                  },
                  consecutive_weeks: {
                    n: 5,
                    br: v.qM.readInt32,
                    bw: v.gp.writeInt32,
                  },
                  first_top100: { n: 6, br: v.qM.readBool, bw: v.gp.writeBool },
                },
              }),
            R.sm_m
          );
        }
        static MBF() {
          return R.sm_mbf || (R.sm_mbf = v.w0(R.M())), R.sm_mbf;
        }
        toObject(e = !1) {
          return R.toObject(e, this);
        }
        static toObject(e, t) {
          return v.BT(R.M(), e, t);
        }
        static fromObject(e) {
          return v.Uq(R.M(), e);
        }
        static deserializeBinary(e) {
          let t = new f.BinaryReader(e),
            a = new R();
          return R.deserializeBinaryFromReader(a, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return v.zj(R.MBF(), e, t);
        }
        serializeBinary() {
          var e = new f.BinaryWriter();
          return R.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          v.i0(R.M(), e, t);
        }
        serializeBase64String() {
          var e = new f.BinaryWriter();
          return R.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreTopSellers_GetWeeklyTopSellers_Response_TopSellersRank";
        }
      }
      class I extends N {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            I.prototype.language || v.Sg(I.M()),
            N.initialize(this, e, 0, -1, void 0, null);
        }
        static sm_m;
        static sm_mbf;
        static M() {
          return (
            I.sm_m ||
              (I.sm_m = {
                proto: I,
                fields: {
                  language: { n: 1, br: v.qM.readString, bw: v.gp.writeString },
                },
              }),
            I.sm_m
          );
        }
        static MBF() {
          return I.sm_mbf || (I.sm_mbf = v.w0(I.M())), I.sm_mbf;
        }
        toObject(e = !1) {
          return I.toObject(e, this);
        }
        static toObject(e, t) {
          return v.BT(I.M(), e, t);
        }
        static fromObject(e) {
          return v.Uq(I.M(), e);
        }
        static deserializeBinary(e) {
          let t = new f.BinaryReader(e),
            a = new I();
          return I.deserializeBinaryFromReader(a, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return v.zj(I.MBF(), e, t);
        }
        serializeBinary() {
          var e = new f.BinaryWriter();
          return I.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          v.i0(I.M(), e, t);
        }
        serializeBase64String() {
          var e = new f.BinaryWriter();
          return I.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreTopSellers_GetCountryList_Request";
        }
      }
      class P extends N {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            P.prototype.countries || v.Sg(P.M()),
            N.initialize(this, e, 0, -1, [1], null);
        }
        static sm_m;
        static sm_mbf;
        static M() {
          return (
            P.sm_m ||
              (P.sm_m = {
                proto: P,
                fields: { countries: { n: 1, c: G, r: !0, q: !0 } },
              }),
            P.sm_m
          );
        }
        static MBF() {
          return P.sm_mbf || (P.sm_mbf = v.w0(P.M())), P.sm_mbf;
        }
        toObject(e = !1) {
          return P.toObject(e, this);
        }
        static toObject(e, t) {
          return v.BT(P.M(), e, t);
        }
        static fromObject(e) {
          return v.Uq(P.M(), e);
        }
        static deserializeBinary(e) {
          let t = new f.BinaryReader(e),
            a = new P();
          return P.deserializeBinaryFromReader(a, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return v.zj(P.MBF(), e, t);
        }
        serializeBinary() {
          var e = new f.BinaryWriter();
          return P.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          v.i0(P.M(), e, t);
        }
        serializeBase64String() {
          var e = new f.BinaryWriter();
          return P.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreTopSellers_GetCountryList_Response";
        }
      }
      class G extends N {
        static ImplementsStaticInterface() {}
        constructor(e = null) {
          super(),
            G.prototype.country_code || v.Sg(G.M()),
            N.initialize(this, e, 0, -1, void 0, null);
        }
        static sm_m;
        static sm_mbf;
        static M() {
          return (
            G.sm_m ||
              (G.sm_m = {
                proto: G,
                fields: {
                  country_code: {
                    n: 1,
                    br: v.qM.readString,
                    bw: v.gp.writeString,
                  },
                  name: { n: 2, br: v.qM.readString, bw: v.gp.writeString },
                },
              }),
            G.sm_m
          );
        }
        static MBF() {
          return G.sm_mbf || (G.sm_mbf = v.w0(G.M())), G.sm_mbf;
        }
        toObject(e = !1) {
          return G.toObject(e, this);
        }
        static toObject(e, t) {
          return v.BT(G.M(), e, t);
        }
        static fromObject(e) {
          return v.Uq(G.M(), e);
        }
        static deserializeBinary(e) {
          let t = new f.BinaryReader(e),
            a = new G();
          return G.deserializeBinaryFromReader(a, t);
        }
        static deserializeBinaryFromReader(e, t) {
          return v.zj(G.MBF(), e, t);
        }
        serializeBinary() {
          var e = new f.BinaryWriter();
          return G.serializeBinaryToWriter(this, e), e.getResultBuffer();
        }
        static serializeBinaryToWriter(e, t) {
          v.i0(G.M(), e, t);
        }
        serializeBase64String() {
          var e = new f.BinaryWriter();
          return G.serializeBinaryToWriter(this, e), e.getResultBase64String();
        }
        getClassName() {
          return "CStoreTopSellers_GetCountryList_Response_Country";
        }
      }
      var M;
      !(function (e) {
        (e.GetWeeklyTopSellers = function (e, t) {
          return e.SendMsg(
            "StoreTopSellers.GetWeeklyTopSellers#1",
            (0, i.I8)(b, t),
            B,
            { bConstMethod: !0, ePrivilege: 2, eWebAPIKeyRequirement: 1 },
          );
        }),
          (e.GetCountryList = function (e, t) {
            return e.SendMsg(
              "StoreTopSellers.GetCountryList#1",
              (0, i.I8)(I, t),
              P,
              { bConstMethod: !0, ePrivilege: 0, eWebAPIKeyRequirement: 1 },
            );
          });
      })(M || (M = {}));
      var A = a(44332),
        D = a(78327);
      const W = 20;
      class L {
        m_WebAPI;
        m_Storage;
        m_promiseInitialize;
        m_rtCurrentWeek;
        constructor(e, t) {
          (this.m_WebAPI = e), (this.m_Storage = t);
        }
        GetDefaultTopSellersFilters() {
          return { type_filters: { include_apps: !0, include_hardware: !1 } };
        }
        async Initialize(e) {
          return (
            this.m_promiseInitialize ||
              (this.m_promiseInitialize = new Promise((t, a) => {
                let r;
                (2 != D.TS.EUNIVERSE && 4 != D.TS.EUNIVERSE) ||
                  (r = 1539068400),
                  this.LoadCountryList()
                    .then((a) =>
                      this.LoadTopSellersForWeek(r, e, W).then((e) => {
                        (this.m_rtCurrentWeek = e.rtWeekStart), t(e);
                      }),
                    )
                    .catch(a);
              })),
            this.m_promiseInitialize
          );
        }
        m_rgCountryList;
        static k_nCountryListMaxCacheTime = 864e5;
        async LoadCountryList() {
          if (!this.m_rgCountryList) {
            const e = "TopSellersCountryList_" + D.TS.LANGUAGE;
            if (
              ((this.m_rgCountryList = await this.m_Storage.GetObject(e)),
              !this.m_rgCountryList ||
                this.m_rgCountryList.dtTimeStored +
                  L.k_nCountryListMaxCacheTime <
                  Date.now())
            ) {
              const t = i.w.Init(I);
              t.Body().set_language(D.TS.LANGUAGE);
              const a = await M.GetCountryList(
                this.m_WebAPI.GetServiceTransport(),
                t,
              );
              if (1 == a.GetEResult()) {
                let t = a
                  .Body()
                  .countries()
                  .map((e) => e.toObject());
                t.sort((e, t) => (e.name < t.name ? -1 : 1)),
                  (this.m_rgCountryList = {
                    rgCountryCodes: t,
                    dtTimeStored: Date.now(),
                  }),
                  this.m_Storage.StoreObject(e, this.m_rgCountryList);
              } else
                this.m_rgCountryList = {
                  rgCountryCodes: [
                    { country_code: "US", name: "United States" },
                  ],
                  dtTimeStored: 0,
                };
            }
          }
          return this.m_rgCountryList;
        }
        GetCountryList() {
          return this.m_rgCountryList?.rgCountryCodes || [];
        }
        BIsCountryListLoaded() {
          return (
            this.m_rgCountryList && this.m_rgCountryList.rgCountryCodes.length
          );
        }
        BIsValidTopSellersCountry(e) {
          return !!this.ValidateCountryCode(e);
        }
        ValidateCountryCode(e) {
          return (
            (0, A.w)(
              this.m_rgCountryList,
              "Country list should already be loaded",
            ),
            this.m_rgCountryList.rgCountryCodes.find((t) => t.country_code == e)
              ? e
              : ""
          );
        }
        GetCurrentWeek() {
          return this.m_rtCurrentWeek;
        }
        GetPreviousWeek() {
          return this.m_rtCurrentWeek ? this.m_rtCurrentWeek - 604800 : void 0;
        }
        async LoadTopSellersForWeek(e, t, a) {
          const r = this.ValidateCountryCode(t);
          let n = i.w.Init(b);
          (0, m.rV)(n),
            (0, m.Bn)(n, X),
            r && n.Body().set_country_code(r),
            e && n.Body().set_start_date(e),
            n.Body().set_page_count(a);
          let s = await M.GetWeeklyTopSellers(
            this.m_WebAPI.GetAnonymousServiceTransport(),
            n,
          );
          if (1 != s.GetEResult()) throw "error loading top sellers";
          return {
            strCountryCode: r,
            rtWeekStart: s.Body().start_date(),
            rgRanks: this.ReadTopSellers(s, n.Body().data_request().toObject()),
          };
        }
        ReadTopSellers(e, t) {
          let a = [];
          if (e.Body().ranks().length > 0)
            for (let r of e.Body().ranks())
              a.push({
                nRank: r.rank(),
                Item: u.A.Get().ReadItem(r.item(), t),
                nRankLastWeek: r.last_week_rank(),
                nConsecutiveWeeks: r.consecutive_weeks(),
                bFirstTop100: r.first_top100(),
              });
          return a;
        }
      }
      const O = "TopSellers";
      function U(e, t) {
        const a = (0, T.jE)(),
          { data: r } = (0, o.I)({
            queryKey: [O, "Initialization"],
            queryFn: () =>
              e.Initialize(t).then((t) => {
                const r = {
                  rtWeekStart: t.rtWeekStart,
                  strCountryCode: t.strCountryCode,
                  cListSize: W,
                };
                return (
                  a.setQueryData([O, "Weekly", r], t),
                  {
                    rtCurrentWeek: e.GetCurrentWeek(),
                    bCountryListInitialized: !0,
                  }
                );
              }),
            staleTime: 1 / 0,
          });
        return r || { rtCurrentWeek: void 0, bCountryListInitialized: !1 };
      }
      function z(e, t, a = !1) {
        return t ? "error" : e || a ? "loading" : "loaded";
      }
      function H(e, t, a, r, n = W, s = !0) {
        const l = {
            rtWeekStart: a,
            strCountryCode: e.BIsCountryListLoaded()
              ? e.ValidateCountryCode(r)
              : "",
            cListSize: n,
          },
          i = (0, g.useRef)(void 0),
          c = i.current;
        let m = !1;
        c &&
          l.rtWeekStart === c.rtWeekStart &&
          l.strCountryCode === c.strCountryCode &&
          (m = !0);
        const {
          isLoading: u,
          isPlaceholderData: d,
          error: p,
          data: h,
        } = (0, o.I)({
          queryKey: [O, "Weekly", l],
          queryFn: () =>
            e.LoadTopSellersForWeek(l.rtWeekStart, l.strCountryCode, n),
          enabled: !!t && s,
          staleTime: a == t ? 36e5 : 1 / 0,
          placeholderData: m ? k.rX : void 0,
        });
        return (
          !u && h && (i.current = l),
          { TopSellers: s ? h : null, status: z(u, p, d) }
        );
      }
      function F(e, t, a, r = W, n = !0) {
        const { rtCurrentWeek: s } = U(e, a);
        return H(e, s, t, a, r, n);
      }
      var q = a(30894),
        x = a(61859);
      class Y {
        m_WebAPI;
        constructor(e) {
          this.m_WebAPI = e;
        }
        async LoadBestOfYear() {
          let e = i.w.Init(c.MN),
            t = await c.ZG.GetBestOfYearPages(
              this.m_WebAPI.GetAnonymousServiceTransport(),
              e,
            );
          if (1 != t.GetEResult()) throw "error loading best of year";
          return { rgPages: this.ReadBestOfYear(t) };
        }
        ReadBestOfYear(e) {
          return e.Body().pages().length > 0
            ? e
                .Body()
                .pages()
                .map((e, t) => ({
                  strName: e.name(),
                  strUrlPath: e.url_path(),
                  rtStartDate: e.start_date(),
                  bannerUrlPath: this.GetBannerUrlsOrBackup(e.banner_url()),
                  mobileBannerUrlPath: this.GetBannerUrlsOrBackup(
                    e.banner_url_mobile(),
                  ),
                }))
            : [];
        }
        GetBannerUrlsOrBackup(e) {
          if (e && e.length) {
            const t = x.pf.GetELanguageFallbackOrder();
            for (const a of t)
              if (a < e.length) {
                const t = e[a];
                if (t) return t;
              }
          }
          return null;
        }
      }
      const j = "BestOfYear";
      function Z(e) {
        const { data: t } = (0, o.I)({
          queryKey: [j],
          queryFn: () => e.LoadBestOfYear(),
        });
        return t;
      }
      class V {
        m_WebAPI;
        constructor(e) {
          this.m_WebAPI = e;
        }
        ReadMostPlayedOnDeck(e, t) {
          let a = [];
          if (e.Body().ranks().length > 0)
            for (let r of e.Body().ranks())
              a.push({
                nRank: r.rank(),
                Item: u.A.Get().ReadItem(r.item(), t),
                nRankLastPeriod: r.last_period_rank(),
              });
          return a;
        }
        async LoadMostPlayedOnSteamDeck(e) {
          let t = i.w.Init(c.Qo);
          (0, m.rV)(t), (0, m.Bn)(t, X), t.Body().set_top_played_period(e);
          let a = await c.ZG.GetMostPlayedSteamDeckGames(
            this.m_WebAPI.GetAnonymousServiceTransport(),
            t,
          );
          if (1 != a.GetEResult())
            throw "error loading most played on Steam Deck";
          return {
            rgRanks: this.ReadMostPlayedOnDeck(
              a,
              t.Body().data_request().toObject(),
            ),
          };
        }
      }
      class Q {
        m_DynamicUserStore;
        m_TopSellersStore;
        m_MostPlayedStore;
        m_TopReleasesStore;
        m_BestOfYearStore;
        m_MostPlayedOnSteamDeckStore;
        m_WebAPI;
        async Initialize(e, t) {
          (this.m_WebAPI = e),
            (this.m_TopSellersStore = new L(this.m_WebAPI, t)),
            (this.m_MostPlayedStore = new d(this.m_WebAPI)),
            (this.m_TopReleasesStore = new C(this.m_WebAPI)),
            (this.m_BestOfYearStore = new Y(this.m_WebAPI)),
            (this.m_MostPlayedOnSteamDeckStore = new V(this.m_WebAPI)),
            (this.m_DynamicUserStore = await q.Fm.Get().HintLoad());
        }
        get TopSellersStore() {
          return this.m_TopSellersStore;
        }
        get MostPlayedStore() {
          return this.m_MostPlayedStore;
        }
        get TopReleasesStore() {
          return this.m_TopReleasesStore;
        }
        get BestOfYearStore() {
          return this.m_BestOfYearStore;
        }
        get MostPlayedOnSteamDeckStore() {
          return this.m_MostPlayedOnSteamDeckStore;
        }
        get SteamInterface() {
          return this.m_WebAPI;
        }
        static overview_data_request = {
          include_basic_info: !0,
          include_assets: !0,
        };
        GetRealTimeTopSellersQuery() {
          return [
            "SteamCharts Overview Top Sellers",
            {
              sort: 10,
              start: 0,
              count: 5,
              filters: this.m_TopSellersStore.GetDefaultTopSellersFilters(),
            },
            Q.overview_data_request,
          ];
        }
        GetRealTimeMostPlayedQuery() {
          return [
            "SteamCharts Overview Most Played",
            {
              sort: 32,
              start: 0,
              count: 5,
              filters: {
                type_filters: {
                  include_apps: !0,
                  include_dlc: !1,
                  include_video: !1,
                  include_series: !1,
                },
              },
            },
            Q.overview_data_request,
          ];
        }
        get DynamicUserStore() {
          return this.m_DynamicUserStore;
        }
      }
      const K = 3;
      function J() {
        return (0, o.I)({
          queryKey: ["OnlineUserCount"],
          queryFn: () =>
            (async function () {
              const e = await l().get(
                  `${D.TS.STORE_BASE_URL}stats/userdata.json?days_back=${K}`,
                ),
                t = e.data && e.data[0]?.data;
              if (!t) throw "Failed to load";
              let a,
                r,
                n = [];
              for (let [e, s] of t) {
                const t = 18e5,
                  l = Math.floor(e / t) * t;
                l != r &&
                  (n.push({ date: new Date(l), users: s }),
                  (r = l),
                  (!a || s > a) && (a = s));
              }
              return {
                history: n,
                peak: a,
                current: n.length ? n[n.length - 1].users : 0,
              };
            })(),
          staleTime: 6e5,
        });
      }
      const X = {
        include_basic_info: !0,
        include_assets: !0,
        include_trailers: !0,
        include_release: !0,
        include_reviews: !0,
        include_platforms: !0,
        include_screenshots: !0,
        include_tag_count: 20,
      };
      var $ = a(92757),
        ee = a(91675);
      const te = 1079395200;
      function ae(e) {
        return (0, x.we)(
          "#SteamCharts_TopSellers_WeeklyRange",
          (0, ee.TW)(e, { timeZone: "UTC" }),
          (0, ee.TW)(e + 604800, { timeZone: "UTC" }),
        );
      }
      function re(e) {
        if (!e) return "";
        const t = new Date(1e3 * e);
        return `${t.getUTCFullYear()}-${t.getUTCMonth() + 1}-${t.getUTCDate()}`;
      }
      function ne(e) {
        return e || "global";
      }
      function se(e) {
        return "global" == e ? "" : e;
      }
      function le(e, t) {
        let a = "",
          r = "";
        return (
          e > t ? ((a = "Up"), (r = "▲")) : e < t && ((a = "Down"), (r = "▼")),
          { direction: a, symbol: r }
        );
      }
      function oe(e, t, a, r) {
        const n = (0, $.W6)();
        return (
          g.useEffect(() => {
            if (
              t &&
              !("global" == a || (a && e.BIsValidTopSellersCountry(a)))
            ) {
              let t = "";
              (t = e.BIsValidTopSellersCountry(D.TS.COUNTRY)
                ? D.TS.COUNTRY
                : "global"),
                n.replace(r(ne(t)));
            }
          }, [e, t, a, n, r]),
          t && ("global" == a || e.BIsValidTopSellersCountry(a))
        );
      }
      var ie = a(3734),
        ce = a(52038),
        me = a(82227),
        ue = a(55507),
        de = a.n(ue),
        pe = a(69235),
        he = a(56555),
        _e = a(49953),
        Se = a(55241),
        Ce = a(85010),
        Ee = a(62059),
        ye = a(15708),
        ge = a(32754),
        Te = a(84811),
        ke = a(89921),
        fe = a.n(ke);
      const ve = g.memo((e) => {
          const t = J();
          return t.isLoading
            ? g.createElement("div", {
                className: (0, ce.A)(
                  de().ChartContainerPlaceholder,
                  fe().Placeholder,
                ),
              })
            : t.data
              ? g.createElement(
                  "div",
                  { className: de().ChartContainer },
                  g.createElement(
                    "div",
                    { className: de().Chart },
                    g.createElement(
                      Te.tH,
                      null,
                      g.createElement(we, { Data: t.data }),
                    ),
                  ),
                  g.createElement(
                    "div",
                    { className: de().Stats },
                    g.createElement(
                      "div",
                      { className: de().PeakStats },
                      g.createElement(
                        "div",
                        { className: de().StatsTitle },
                        (0, me.Dq)(t.data.peak),
                      ),
                      g.createElement(
                        "div",
                        { className: de().StatSubtitle },
                        g.createElement(
                          "span",
                          { className: de().Concurrent },
                          (0, x.we)("#SteamCharts_Graph_PeakConcurrent"),
                        ),
                      ),
                    ),
                    g.createElement(
                      "div",
                      { className: de().CurrentStats },
                      g.createElement(
                        "div",
                        { className: de().StatsTitle },
                        (0, me.Dq)(t.data.current),
                      ),
                      g.createElement(
                        "div",
                        { className: de().StatSubtitle },
                        g.createElement(
                          "span",
                          { className: de().Now },
                          (0, x.we)("#SteamCharts_Graph_OnlineNow"),
                        ),
                      ),
                    ),
                  ),
                )
              : null;
        }),
        we = g.memo((e) => {
          const { Data: t } = e;
          return g.createElement(
            pe.u,
            { width: "100%", height: "100%" },
            g.createElement(
              he.X,
              {
                data: t.history,
                margin: { top: 25, left: 0, right: 0, bottom: 0 },
                barGap: 10,
              },
              g.createElement(
                "defs",
                null,
                g.createElement(
                  "linearGradient",
                  { id: "bar_linear", x1: "0", x2: "0", y1: "0", y2: "1" },
                  g.createElement("stop", { stopColor: "#1A9FFF" }),
                  g.createElement("stop", {
                    offset: "0.01",
                    stopColor: "#1A9FFF",
                  }),
                  g.createElement("stop", {
                    offset: "0.0101",
                    stopColor: "#1A9FFF",
                    stopOpacity: "0.5",
                  }),
                  g.createElement("stop", {
                    offset: "1",
                    stopColor: "#30363D",
                    stopOpacity: "0.5",
                  }),
                ),
              ),
              g.createElement(_e.d, { vertical: !1, stroke: "#a0aab6" }),
              g.createElement(Se.h, {
                tickFormatter: me.NO,
                tick: { fill: "white" },
                axisLine: !1,
              }),
              g.createElement(Ce.m, { content: g.createElement(Ne, null) }),
              g.createElement(Ee.y, {
                dataKey: "users",
                barSize: 2,
                fill: "url( #bar_linear )",
              }),
              g.createElement(ye.e, {
                y: t.peak,
                stroke: "#82FF01",
                strokeDasharray: "6",
              }),
            ),
          );
        });
      function Ne({ active: e, payload: t }) {
        if (e && t && t.length) {
          const e = t[0].payload;
          return g.createElement(
            ge.t1,
            null,
            (0, x.PP)(
              "#SteamCharts_OverviewGraph_Tooltip_OnlineAt",
              g.createElement("b", null, (0, me.Dq)(e.users)),
              e.date.toLocaleString(),
            ),
          );
        }
        return null;
      }
      var be = a(17083),
        Be = a(43595),
        Re = a(46773),
        Ie = a(74812),
        Pe = a.n(Ie),
        Ge = a(36909),
        Me = a.n(Ge),
        Ae = a(32630),
        De = a(27666);
      function We(e) {
        const { SteamCharts: t } = e;
        return g.createElement(
          Re.m,
          {
            title: (0, x.we)(
              "#SteamCharts_Menu_SteamCharts",
              (0, x.we)("#SteamCharts_Menu_Charts"),
            ),
          },
          g.createElement(
            "div",
            { className: Me().PageContainer },
            g.createElement(
              "div",
              { className: (0, ce.A)(Pe().HeaderCtn, Pe().WithSubtitle) },
              g.createElement(
                "h1",
                null,
                (0, x.we)("#SteamCharts_PageTitle_Overview"),
              ),
            ),
            g.createElement(
              "div",
              { className: Pe().PageSubtitle },
              (0, x.we)("#SteamCharts_PageSubTitle_Overview"),
            ),
            g.createElement(
              "div",
              { className: fe().PageSection },
              g.createElement(
                "div",
                { className: fe().SectionTitle },
                (0, x.we)("#SteamCharts_OverviewGraph_Title_PlayersOnline"),
              ),
              g.createElement(Te.tH, null, g.createElement(ve, null)),
            ),
            g.createElement(
              "div",
              { className: (0, ce.A)(fe().PageSection, Me().SideBySideCharts) },
              g.createElement(
                "div",
                { className: Me().Chart },
                g.createElement(
                  Te.tH,
                  null,
                  g.createElement(
                    Ae.A,
                    { feature: "topsellers" },
                    g.createElement(
                      Le,
                      {
                        SteamCharts: t,
                        name: (0, x.we)(
                          "#SteamCharts_OverviewGraph_Title_TopSellers",
                        ),
                        strTopItemDesc: (0, x.we)(
                          "#SteamCharts_OverviewGraph_Desc_TopSelling",
                        ),
                      },
                      g.createElement(
                        be.k2,
                        {
                          className: Me().ChartMoreBtn,
                          to: _a.TopSelling(D.TS.COUNTRY),
                        },
                        (0, x.we)(
                          "#SteamCharts_OverviewGraph_Button_TopSelling",
                        ),
                      ),
                    ),
                  ),
                ),
              ),
              g.createElement(
                "div",
                { className: Me().Chart },
                g.createElement(
                  Te.tH,
                  null,
                  g.createElement(
                    Ae.A,
                    { feature: "mostplayed" },
                    g.createElement(
                      Oe,
                      {
                        SteamCharts: t,
                        name: (0, x.we)(
                          "#SteamCharts_OverviewGraph_Title_MostPlayed",
                        ),
                        strTopItemDesc: (0, x.we)(
                          "#SteamCharts_OverviewGraph_Desc_MostPlayed",
                        ),
                      },
                      g.createElement(
                        be.k2,
                        { className: Me().ChartMoreBtn, to: _a.MostPlayed() },
                        (0, x.we)(
                          "#SteamCharts_OverviewGraph_Button_MostPlayed",
                        ),
                      ),
                    ),
                  ),
                ),
              ),
            ),
            g.createElement(
              "div",
              { className: (0, ce.A)(fe().PageSection, Me().SideBySideCharts) },
              g.createElement(
                "div",
                { className: Me().Chart },
                g.createElement(
                  Te.tH,
                  null,
                  g.createElement(ze, { TopSellersStore: t.TopSellersStore }),
                ),
              ),
              g.createElement(
                "div",
                { className: (0, ce.A)(Me().Chart, Me().Monthly) },
                g.createElement(
                  Te.tH,
                  null,
                  g.createElement(He, { TopReleaseStore: t.TopReleasesStore }),
                ),
              ),
            ),
            g.createElement(
              "div",
              null,
              g.createElement(
                Te.tH,
                null,
                g.createElement(xe, { BestOfYearStore: t.BestOfYearStore }),
              ),
            ),
            g.createElement(
              "div",
              { className: fe().PageSection },
              g.createElement(
                "div",
                { className: fe().SectionTitle },
                g.createElement(
                  "b",
                  null,
                  (0, x.we)("#SteamCharts_Overview_Title_More"),
                ),
              ),
              g.createElement(
                "div",
                { className: Me().MoreLinksCtn },
                g.createElement(
                  "a",
                  { href: `${D.TS.STORE_BASE_URL}hwsurvey/` },
                  (0, x.we)("#SteamCharts_Overview_Link_Hardware"),
                ),
                g.createElement(
                  "a",
                  { href: `${D.TS.STORE_BASE_URL}stats/content/` },
                  (0, x.we)("#SteamCharts_Overview_Link_Download"),
                ),
                g.createElement(
                  "a",
                  { href: `${D.TS.STORE_BASE_URL}stats/support/` },
                  (0, x.we)("#SteamCharts_Overview_Link_Support"),
                ),
              ),
            ),
          ),
        );
      }
      function Le(e) {
        const { SteamCharts: t, name: a, strTopItemDesc: r, children: n } = e,
          { data: s } = (0, ie.PG)(...t.GetRealTimeTopSellersQuery());
        if (!s || !s.GetItems().length)
          return g.createElement("div", {
            className: (0, ce.A)(
              Me().OverviewChartPlaceholder,
              fe().Placeholder,
            ),
          });
        const [l, ...o] = s.GetItems();
        return g.createElement(
          "div",
          null,
          g.createElement("div", { className: fe().SectionTitle }, " ", a),
          g.createElement(
            "div",
            { className: Me().ChartItemsCtn },
            g.createElement(
              "div",
              { className: Me().TopItem },
              g.createElement(
                Be.p,
                { item: l },
                g.createElement("img", {
                  className: Me().Capsule,
                  src: l.GetAssets().GetHeaderURL(),
                }),
              ),
              g.createElement(Ue, { rank: 1, item: l, itemDesc: r }),
            ),
            o
              .slice(0, 4)
              .map((e, t) =>
                g.createElement(Ue, {
                  key: e.GetUniqueID(),
                  rank: t + 2,
                  item: e,
                }),
              ),
            n,
          ),
        );
      }
      function Oe(e) {
        const { SteamCharts: t, name: a, strTopItemDesc: r, children: n } = e,
          s = _(t.MostPlayedStore);
        if (!s || s.isLoading)
          return g.createElement("div", {
            className: (0, ce.A)(
              Me().OverviewChartPlaceholder,
              fe().Placeholder,
            ),
          });
        const [l, ...o] = s.data.rgRanks;
        return g.createElement(
          "div",
          null,
          g.createElement("div", { className: fe().SectionTitle }, " ", a),
          g.createElement(
            "div",
            { className: Me().ChartItemsCtn },
            g.createElement(
              "div",
              { className: Me().TopItem },
              g.createElement(
                Be.p,
                { item: l.Item },
                g.createElement("img", {
                  className: Me().Capsule,
                  src: l.Item.GetAssets().GetHeaderURL(),
                }),
              ),
              g.createElement(Ue, {
                rank: 1,
                item: l.Item,
                itemDesc: r,
                addData: (0, me.Dq)(l.nConcurrentInGame),
                addDataDesc: (0, x.we)(
                  "#SteamCharts_OverviewGraph_Desc_InGame",
                ),
              }),
            ),
            o
              .slice(0, 4)
              .map((e, t) =>
                g.createElement(Ue, {
                  key: e.Item.GetUniqueID(),
                  rank: t + 2,
                  item: e.Item,
                  addData: (0, me.Dq)(e.nConcurrentInGame),
                }),
              ),
            n,
          ),
        );
      }
      function Ue(e) {
        const { rank: t, item: a, itemDesc: r, addData: n, addDataDesc: s } = e;
        return g.createElement(
          Be.p,
          { key: a.GetUniqueID(), className: Me().ItemRow, item: a, depth: t },
          g.createElement("div", { className: Me().Rank }, t),
          g.createElement(
            "div",
            { className: Me().ItemNameCtn },
            g.createElement("div", { className: Me().ItemName }, a.GetName()),
            r && g.createElement("div", { className: Me().ItemDesc }, r),
          ),
          g.createElement(
            "div",
            { className: Me().TopReason },
            n && g.createElement("div", { className: Me().AddData }, n),
            s && g.createElement("div", { className: Me().AddDataDesc }, s),
          ),
        );
      }
      function ze(e) {
        const { TopSellersStore: t } = e,
          { TopSellers: a } = (function (e, t, a = W) {
            const { rtCurrentWeek: r } = U(e, t);
            return H(e, r, r, t, a);
          })(t, D.TS.COUNTRY);
        return g.createElement(qe, {
          name: a ? (0, x.$z)(a.rtWeekStart) : "",
          range: (0, x.we)("#SteamCharts_Overview_Title_Weekly"),
          rgItems: a?.rgRanks.map((e) => e.Item),
          renderLink: () =>
            g.createElement(
              be.k2,
              {
                className: Me().ImageButtonLink,
                to: _a.TopSellers(ne(D.TS.COUNTRY), re(t.GetCurrentWeek())),
              },
              (0, x.we)("#SteamCharts_TopSellers_PageTitle"),
            ),
        });
      }
      function He(e) {
        const { TopReleaseStore: t } = e,
          a = y(t),
          r = (function (e) {
            let t = [];
            const a = e?.rgPages[0] ? e.rgPages[0].rgItems.slice(0, 9) : [];
            return (
              1 !== (0, S.zX)(a, { include_assets: !0 }) &&
                (t = e?.rgPages[0]?.rgItems.map((e) => u.A.Get().GetApp(e))),
              t
            );
          })(a),
          n = a?.rgPages[0],
          s = (n?.rtMonthStart ?? 0) + 86400 + 1,
          l = (0, ee.CC)(s);
        return g.createElement(qe, {
          name: a ? l : "",
          range: (0, x.we)("#SteamCharts_Overview_Title_Monthly"),
          rgItems: r,
          renderLink: () =>
            g.createElement(
              "a",
              {
                className: Me().ImageButtonLink,
                href: _a.TopNewReleases(n?.strUrlPath),
              },
              (0, x.we)("#SteamCharts_Overview_Title_MonthlyTop"),
            ),
        });
      }
      const Fe = 9;
      function qe(e) {
        const { name: t, range: a, rgItems: r, renderLink: n } = e,
          s = g.useMemo(() => {
            const e = r?.slice(0, Fe) || [];
            for (; e.length < Fe; ) e.push(void 0);
            return [
              e[5],
              e[2],
              e[7],
              e[4],
              e[0],
              e[1],
              e[8],
              e[6],
              e[3],
              e[5],
              e[7],
              e[5],
            ];
          }, [r]);
        return g.createElement(
          "div",
          null,
          g.createElement(
            "div",
            { className: fe().SectionTitle },
            g.createElement("b", null, a),
            " ",
            t,
          ),
          g.createElement(
            "div",
            { className: Me().ImageButtonCtn },
            g.createElement(
              "div",
              { className: Me().ImageGridCtn },
              s.map(
                (e, t) =>
                  e &&
                  g.createElement("img", {
                    key: `${e.GetUniqueID()}-${t}`,
                    src: e.GetAssets().GetHeaderURL(),
                  }),
              ),
            ),
            n(),
          ),
        );
      }
      function xe(e) {
        const { BestOfYearStore: t } = e,
          a = Z(t);
        if (!a || !a.rgPages || !a.rgPages.length) return null;
        const r = a.rgPages[0];
        if (!r) return null;
        const {
            bannerUrlPath: n,
            mobileBannerUrlPath: s,
            strName: l,
            strUrlPath: o,
            rtStartDate: i,
          } = r,
          c = (0, ee.oX)(i);
        let m = g.createElement(
          "div",
          { className: Me().BestOfYearButton },
          g.createElement("span", { className: Me().BackupBestOfYearText }, l),
        );
        if (n && s) {
          const e = `${(0, De.mJ)()}${n}`,
            t = `${(0, De.mJ)()}${s}`;
          m = g.createElement(
            g.Fragment,
            null,
            g.createElement("img", {
              src: e,
              className: (0, ce.A)(Me().BestOfYearBanner, Me().Big),
            }),
            g.createElement("img", {
              src: t,
              className: (0, ce.A)(Me().BestOfYearBanner, Me().Mobile),
            }),
          );
        }
        return g.createElement(
          "div",
          { className: fe().PageSection },
          g.createElement(
            "div",
            { className: fe().SectionTitle },
            g.createElement(
              "b",
              null,
              (0, x.we)("#SteamCharts_Overview_Title_Yearly"),
            ),
            " ",
            c,
          ),
          g.createElement("a", { href: _a.BestOfYear(o) }, m),
        );
      }
      var Ye = a(72739),
        je = a(12155),
        Ze = a(65946);
      function Ve(e) {
        const {
            TopSellersStore: t,
            TopReleasesStore: a,
            BestOfYearStore: r,
            SteamInterface: n,
            DynamicUserStore: s,
            children: l,
          } = e,
          o = g.useRef(void 0);
        if (!o.current) {
          let e = document.getElementById("steam_charts_root_content");
          e ||
            ((e = document.createElement("div")),
            e.setAttribute("id", "steam_charts_root_content"),
            document.getElementById("page_root")?.prepend(e)),
            (o.current = e);
        }
        (0, Re.Y)(Pe().SteamChartsPage);
        const i = (function (e) {
          return (0, Ze.q3)(() => e.ExcludedContentDescriptor);
        })(s);
        let c = g.useMemo(() => ({ content_descriptors_excluded: i }), [i]);
        return g.createElement(
          "div",
          { className: Pe().SteamChartsShell },
          Ye.createPortal(
            g.createElement(
              "div",
              { className: Pe().SteamChartsRootPosition },
              g.createElement(
                "div",
                { className: Pe().AlignWithMenu },
                g.createElement(
                  "div",
                  { className: Pe().SteamChartsMenu },
                  g.createElement(
                    "div",
                    { className: Pe().MenuGroup },
                    g.createElement(
                      "div",
                      { className: Pe().MenuLinks },
                      g.createElement(
                        be.k2,
                        {
                          to: _a.Overview(),
                          exact: !0,
                          activeClassName: Pe().ActiveLink,
                        },
                        g.createElement(
                          "span",
                          { className: (0, ce.A)(Pe().MenuItemIcon) },
                          g.createElement(je.ww0, null),
                        ),
                        (0, x.we)("#SteamCharts_Menu_Overview"),
                      ),
                    ),
                  ),
                  g.createElement(Te.tH, null, g.createElement(Qe, null)),
                  g.createElement(
                    Te.tH,
                    null,
                    g.createElement(Ke, { TopSellersStore: t }),
                  ),
                  g.createElement(
                    Te.tH,
                    null,
                    g.createElement(Je, { TopReleaseStore: a }),
                  ),
                  g.createElement(
                    Te.tH,
                    null,
                    g.createElement(Xe, { BestOfYearStore: r }),
                  ),
                ),
              ),
            ),
            o.current,
          ),
          g.createElement(
            "div",
            { className: Pe().SteamChartsContent },
            g.createElement(
              ie.E2,
              { defaultOptions: c },
              g.createElement(Te.tH, null, l),
            ),
          ),
        );
      }
      function Qe() {
        return g.createElement(
          "div",
          { className: Pe().MenuGroup },
          g.createElement(
            "div",
            { className: Pe().MenuHeader },
            (0, x.we)("#SteamCharts_Menu_LiveCharts"),
          ),
          g.createElement(
            "div",
            { className: Pe().MenuLinks },
            g.createElement(
              be.k2,
              {
                className: Pe().MenuItemIcon,
                to: _a.TopSelling(D.TS.COUNTRY),
                activeClassName: Pe().ActiveLink,
              },
              g.createElement(je.t1X, null),
              (0, x.we)("#SteamCharts_Menu_TopSelling"),
            ),
            g.createElement(
              be.k2,
              {
                className: Pe().MenuItemIcon,
                to: _a.MostPlayed(),
                activeClassName: Pe().ActiveLink,
              },
              g.createElement(je.N3h, null),
              (0, x.we)("#SteamCharts_Menu_MostPlayed"),
            ),
            g.createElement(
              be.k2,
              {
                className: Pe().MenuItemIcon,
                to: _a.MostPlayedOnSteamDeck(),
                activeClassName: Pe().ActiveLink,
              },
              g.createElement(je.lRD, null),
              (0, x.we)("#SteamCharts_Menu_MostPlayedOnDeck"),
            ),
          ),
        );
      }
      function Ke(e) {
        const { TopSellersStore: t } = e,
          a = (0, $.W5)(_a.TopSellers(":country", ":week?"));
        let r = D.TS.COUNTRY;
        a && a.params && a.params.country && (r = se(a.params.country));
        const { rtCurrentWeek: n, bCountryListInitialized: s } = U(
          t,
          D.TS.COUNTRY,
        );
        if (!n || !s) return null;
        const l = ne(t.BIsValidTopSellersCountry(r) ? r : "");
        let o = [];
        for (let e = 0; e < 3; e++) {
          const t = n - 60 * e * 60 * 24 * 7;
          o.push(
            g.createElement(
              be.k2,
              {
                to: _a.TopSellers(l, re(t)),
                key: t,
                activeClassName: Pe().ActiveLink,
              },
              g.createElement(
                "span",
                { className: (0, ce.A)(Pe().MenuItemIcon) },
                g.createElement(je.VvS, null),
              ),
              (0, x.$z)(t, { timeZone: "UTC" }),
            ),
          );
        }
        return g.createElement(
          "div",
          { className: (0, ce.A)(Pe().MenuGroup, Pe().Weekly) },
          g.createElement(
            "div",
            { className: Pe().MenuHeader },
            (0, x.we)("#SteamCharts_Menu_WeeklyCharts"),
          ),
          g.createElement("div", { className: Pe().MenuLinks }, o),
        );
      }
      function Je(e) {
        const { TopReleaseStore: t } = e,
          a = y(t);
        if (!a) return null;
        const r = a.rgPages.map((e) => {
          const t = e.rtMonthStart + 86400 + 1,
            a = _a.TopNewReleases(e?.strUrlPath),
            r = window.location.pathname === a;
          return g.createElement(
            "a",
            {
              className: r ? Pe().ActiveLink : "",
              href: a,
              key: e.rtMonthStart,
            },
            g.createElement(
              "span",
              { className: (0, ce.A)(Pe().MenuItemIcon) },
              g.createElement(je.VvS, null),
            ),
            (0, ee.CC)(t),
          );
        });
        return g.createElement(
          "div",
          { className: (0, ce.A)(Pe().MenuGroup, Pe().Monthly) },
          g.createElement(
            "div",
            { className: Pe().MenuHeader },
            (0, x.we)("#SteamCharts_Menu_MonthlyCharts"),
          ),
          g.createElement("div", { className: Pe().MenuLinks }, r),
        );
      }
      function Xe(e) {
        const { BestOfYearStore: t } = e,
          a = Z(t);
        if (!a) return null;
        const r = a.rgPages.map((e) => {
          const t = e.rtStartDate,
            a = _a.BestOfYear(e?.strUrlPath),
            r = window.location.pathname === a;
          return g.createElement(
            "a",
            { className: r ? Pe().ActiveLink : "", href: a, key: t },
            g.createElement(
              "span",
              { className: (0, ce.A)(Pe().MenuItemIcon) },
              g.createElement(je.VvS, null),
            ),
            (0, ee.oX)(t),
          );
        });
        return g.createElement(
          "div",
          { className: (0, ce.A)(Pe().MenuGroup, Pe().Monthly) },
          g.createElement(
            "div",
            { className: Pe().MenuHeader },
            (0, x.we)("#SteamCharts_Menu_YearlyCharts"),
          ),
          g.createElement("div", { className: Pe().MenuLinks }, r),
        );
      }
      var $e = a(51535),
        et = a.n($e),
        tt = a(92909);
      const at =
        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTM3OEVDNTUyMUM0MTFFNDgxN0ZEN0MzNjYzNzcxOTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTM3OEVDNTYyMUM0MTFFNDgxN0ZEN0MzNjYzNzcxOTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMzc4RUM1MzIxQzQxMUU0ODE3RkQ3QzM2NjM3NzE5NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMzc4RUM1NDIxQzQxMUU0ODE3RkQ3QzM2NjM3NzE5NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ps9jzFQAAACPSURBVHjaYvz//z+DkJDQdQYGhpsMCMAKxMZAHPXu3bt9cFGQYkFBwQ0gGoaBfAEgzgfibUDsBxNnYsAOfgKxJBBvAeIZMEEWZBVA52xA5gOdUAEUc8NQDBTkBEoGMOAByCYLAjUsRzM5AKtioMQzIEW0ydjcHIBTMSE3M0Ij5RKQfQ6HGiOgIXogBkCAAQDGVT+0v+n6EQAAAABJRU5ErkJggg==";
      var rt = a(51680);
      function nt(e) {
        const { Item: t } = e,
          a = (0, rt.Z)(t),
          r = t.BIsVisible() && !a;
        return g.createElement(
          Be.p,
          { item: t, feature: "topchartlist", className: et().TopChartItem },
          r
            ? g.createElement(st, { Item: t })
            : g.createElement(lt, {
                strName: t.GetName(),
                bExcludedByPreferences: a,
              }),
        );
      }
      function st(e) {
        const { Item: t } = e,
          a = t.GetAppID(),
          r = q.Fm.Get().BOwnsApp(a),
          n = q.Fm.Get().BIsGameWishlisted(a);
        return g.createElement(
          g.Fragment,
          null,
          (r || n) &&
            g.createElement(
              "div",
              { className: et().CapsuleDecorator },
              g.createElement(
                "span",
                { className: (0, ce.A)(et().Banner) },
                g.createElement("img", {
                  src: r ? tt.A : at,
                  className: et().LinesImg,
                }),
                g.createElement(
                  "div",
                  { className: et().BannerText },
                  (0, x.we)(r ? "#Sale_InLibrary" : "#Sale_OnWishlist"),
                ),
              ),
            ),
          g.createElement("img", {
            className: et().CapsuleArt,
            src: t.GetAssets().GetSmallCapsuleURL(),
          }),
          g.createElement("div", { className: et().GameName }, t.GetName()),
        );
      }
      function lt(e) {
        const { strName: t, bExcludedByPreferences: a } = e;
        return g.createElement(
          "div",
          { className: et().GameName },
          t || (0, x.we)("#SteamCharts_UnknownGameTitle"),
          g.createElement(
            "span",
            { className: et().GameUnavailable },
            a
              ? (0, x.we)("#SteamCharts_BlockedByPreferences")
              : (0, x.we)("#SteamCharts_UnavailableCountryRestriction"),
          ),
        );
      }
      var ot = a(94095),
        it = a(62792),
        ct = a(26101),
        mt = a(60014),
        ut = a(55963);
      function dt(e) {
        const { children: t, mostPlayedOption: a } = e;
        return g.createElement(
          "table",
          { className: et().ChartTable },
          g.createElement(
            "thead",
            { className: et().ColumnHeaders },
            g.createElement(
              "tr",
              null,
              g.createElement("th", { className: et().HoverCell }),
              g.createElement(
                "th",
                { className: et().Rank, colSpan: 2 },
                g.createElement(
                  "span",
                  null,
                  (0, x.we)("#SteamCharts_TopSellers_TableRank"),
                ),
              ),
              g.createElement(
                "th",
                { className: (0, ce.A)(et().RightCell, et().Price) },
                (0, x.we)("#SteamCharts_TopSellers_TablePrice"),
              ),
              g.createElement(pt, { mostPlayedOption: a }),
              g.createElement(
                "th",
                { className: (0, ce.A)(et().RightCell, et().PeakInGame) },
                g.createElement(
                  ge.he,
                  {
                    className: et().Tooltip,
                    toolTipContent: (0, x.we)(
                      "#SteamCharts_TopSellers_TablePeakInGame_Tooltip",
                    ),
                    direction: "top",
                  },
                  (0, x.we)("#SteamCharts_TopSellers_TablePeakInGame"),
                  " ",
                  g.createElement(je._VW, null),
                ),
              ),
            ),
          ),
          g.createElement("tbody", { className: et().ListRowsCtn }, t),
        );
      }
      function pt(e) {
        return e.mostPlayedOption === r.DailyActiveUsers
          ? g.createElement(
              "th",
              { className: et().Change, align: "right" },
              g.createElement(
                ge.he,
                {
                  className: et().Tooltip,
                  toolTipContent: (0, x.we)(
                    "#SteamCharts_TopSellers_TableChangeTooltip",
                  ),
                  direction: "top",
                },
                g.createElement(
                  "span",
                  null,
                  (0, x.we)("#SteamCharts_TopSellers_TableChange"),
                ),
                " ",
                g.createElement(je._VW, null),
              ),
            )
          : g.createElement(
              "th",
              { className: (0, ce.A)(et().RightCell, et().Concurrent) },
              g.createElement(
                ge.he,
                {
                  className: et().Tooltip,
                  toolTipContent: (0, x.we)(
                    "#SteamCharts_TopSellers_TableCurrentPlayersTooltip",
                  ),
                  direction: "top",
                },
                (0, x.we)("#SteamCharts_TopSellers_TableCurrentPlayers"),
                " ",
                g.createElement(je._VW, null),
              ),
            );
      }
      function ht(e) {
        const {
            nRank: t,
            Item: a,
            strPeakInGame: r,
            renderOptionBasedCell: n,
          } = e,
          s = (0, rt.Z)(a),
          l = {
            id: a.GetAppID() || a.GetID(),
            type: (0, it._4)(a?.GetStoreItemType(), a?.GetAppType()),
          };
        return g.createElement(
          g.Fragment,
          null,
          g.createElement(
            "td",
            { className: et().HoverCell },
            !s &&
              g.createElement(
                ct.Qf,
                {
                  className: et().HoverSource,
                  item: l,
                  hoverProps: {
                    direction: "right",
                    nBodyAlignment: 0,
                    nBodyDistance: 0,
                    style: { width: "400px", height: "250px" },
                  },
                },
                g.createElement("div", { className: et().HoverMask }),
              ),
          ),
          g.createElement("td", { className: et().RankCell }, t),
          g.createElement(
            "td",
            {
              className: (0, ce.A)(
                et().CapsuleCell,
                !a.BIsVisible() && et().Unavailable,
              ),
            },
            g.createElement(nt, { Item: a }),
          ),
          g.createElement(
            "td",
            { className: et().PriceCell },
            g.createElement(
              "div",
              { className: et().PriceWidget },
              g.createElement(ot.wc, { info: l }),
            ),
          ),
          n(),
          g.createElement("td", { className: et().PeakInGameCell }, r),
        );
      }
      function _t(e) {
        const { rank: t } = e,
          { nRank: a, Item: r, nRankLastWeek: n, nPeakInGame: s } = t,
          l = (0, me.Dq)(s),
          o = (0, mt.n9)(),
          i = (0, ut.wJ)(r.GetStorePageURL(), o);
        return g.createElement(
          "tr",
          {
            onClick: () => (window.location.href = i),
            className: et().TableRow,
          },
          g.createElement(ht, {
            nRank: a,
            Item: r,
            strPeakInGame: l,
            renderOptionBasedCell: () =>
              g.createElement(St, { nRank: a, nRankLastWeek: n }),
          }),
        );
      }
      function St(e) {
        const { nRank: t, nRankLastWeek: a } = e,
          { direction: r, symbol: n } = le(a, t);
        return g.createElement(
          "td",
          { className: (0, ce.A)(et().ChangeCell, r) },
          g.createElement(
            ge.he,
            {
              className: et().Tooltip,
              toolTipContent: (0, x.we)(
                "#SteamCharts_TopSellers_ChangeTooltip",
              ),
              direction: "top",
            },
            a && a > 0 && a <= 100
              ? `${n} ${Math.abs(a - t)}`
              : g.createElement(
                  "span",
                  { className: et().ListWeeksDebut },
                  (0, x.we)("#SteamCharts_TopSellers_TableNew"),
                ),
          ),
        );
      }
      function Ct(e) {
        const { rank: t } = e,
          { nRank: a, Item: r, nConcurrentInGame: n, nPeakInGame: s } = t,
          l = (0, me.Dq)(n),
          o = (0, me.Dq)(s),
          i = (0, mt.n9)(),
          c = (0, ut.wJ)(r.GetStorePageURL(), i);
        return g.createElement(
          "tr",
          {
            onClick: () => (window.location.href = c),
            className: et().TableRow,
          },
          g.createElement(ht, {
            nRank: a,
            Item: r,
            strPeakInGame: o,
            renderOptionBasedCell: () =>
              g.createElement(
                "td",
                { className: (0, ce.A)(et().ConcurrentCell) },
                l,
              ),
          }),
        );
      }
      var Et = a(33737),
        yt = a(22797);
      function gt(e) {
        const { MostPlayedStore: t } = e,
          [a, n] = g.useState(r.ConcurrentUsers);
        return g.createElement(
          Re.m,
          { title: (0, x.we)("#SteamCharts_Menu_MostPlayed") },
          g.createElement(
            "div",
            { className: fe().ChartPage },
            g.createElement(
              "div",
              { className: (0, ce.A)(Pe().HeaderCtn, Pe().WithSubtitle) },
              g.createElement(
                "h1",
                null,
                (0, x.we)("#SteamCharts_Menu_MostPlayed"),
              ),
            ),
            g.createElement(
              "div",
              { className: Pe().PageSubtitle },
              (0, x.we)("#SteamCharts_Menu_MostPlayed_Subtitle"),
              g.createElement(Tt, { selected: a, setOptionState: n }),
            ),
            g.createElement(
              "div",
              { className: et().ChartPlaceholder },
              a === r.DailyActiveUsers
                ? g.createElement(kt, { MostPlayedStore: t })
                : g.createElement(ft, { MostPlayedStore: t }),
            ),
          ),
        );
      }
      function Tt(e) {
        const { selected: t, setOptionState: a } = e,
          n = [
            {
              data: r.ConcurrentUsers,
              label: (0, x.we)("#SteamCharts_Menu_ByConcurrentPlayersSubtitle"),
            },
            {
              data: r.DailyActiveUsers,
              label: (0, x.we)("#SteamCharts_Menu_ByDailyActiveUsersSubtitle"),
            },
          ];
        return g.createElement(
          "div",
          { className: et().MostPlayedOptionsControl },
          g.createElement(
            "div",
            { className: et().DropDownContainer },
            g.createElement(Et.ZU, {
              rgOptions: n,
              selectedOption: t,
              onChange: (e) => {
                a(e.data);
              },
            }),
          ),
        );
      }
      function kt(e) {
        const { MostPlayedStore: t } = e,
          a = (function (e) {
            return (0, o.I)({
              queryKey: [p],
              queryFn: () => e.LoadMostPlayedByDAU(),
              staleTime: 36e5,
            });
          })(t);
        if (a.isLoading) return g.createElement(yt.t, { position: "center" });
        if (a.isError)
          return g.createElement(
            "div",
            null,
            g.createElement("h3", null, "Error loading  most played"),
          );
        if (!a.data) return null;
        const n = a.data.rgRanks[0]?.Item;
        let s;
        return (
          n &&
            (s =
              n.GetAssets().GetLibraryHeroURL()?.trim().length > 0
                ? n.GetAssets().GetLibraryHeroURL()
                : n.GetAssets().GetPageBackgroundURL()),
          g.createElement(
            g.Fragment,
            null,
            g.createElement("img", {
              src: s,
              className: et().TopGameBackground,
            }),
            g.createElement(
              dt,
              { mostPlayedOption: r.DailyActiveUsers },
              a.data.rgRanks.map((e, t) =>
                g.createElement(_t, {
                  key: e.Item?.GetUniqueID() || t,
                  rank: {
                    nRank: t + 1,
                    Item: e.Item,
                    nRankLastWeek: e.nRankLastWeek,
                    nPeakInGame: e.nPeakInGame,
                  },
                }),
              ),
            ),
          )
        );
      }
      function ft(e) {
        const { MostPlayedStore: t } = e,
          a = _(t);
        if (a.isLoading) return g.createElement(yt.t, { position: "center" });
        if (a.isError)
          return g.createElement(
            "div",
            null,
            g.createElement("h3", null, "Error loading most played"),
          );
        if (!a.data) return null;
        const n = a.data.rgRanks[0]?.Item;
        let s;
        return (
          n &&
            (s =
              n.GetAssets().GetLibraryHeroURL()?.trim().length > 0
                ? n.GetAssets().GetLibraryHeroURL()
                : n.GetAssets().GetPageBackgroundURL()),
          g.createElement(
            g.Fragment,
            null,
            g.createElement("img", {
              src: s,
              className: et().TopGameBackground,
            }),
            g.createElement(
              dt,
              { mostPlayedOption: r.ConcurrentUsers },
              a.data.rgRanks.map((e, t) =>
                g.createElement(Ct, {
                  key: e.Item?.GetUniqueID() || t,
                  rank: {
                    nRank: t + 1,
                    Item: e.Item,
                    nConcurrentInGame: e.nConcurrentInGame,
                    nPeakInGame: e.nPeakInGame,
                  },
                }),
              ),
            ),
          )
        );
      }
      function vt(e) {
        const { children: t } = e;
        return g.createElement(
          "table",
          { className: et().ChartTable },
          g.createElement(
            "thead",
            { className: et().ColumnHeaders },
            g.createElement(
              "tr",
              null,
              g.createElement("th", { className: et().HoverCell }),
              g.createElement(
                "th",
                { className: et().Rank, colSpan: 2 },
                g.createElement(
                  "span",
                  null,
                  (0, x.we)("#SteamCharts_TopSellers_TableRank"),
                ),
              ),
              g.createElement(
                "th",
                { className: (0, ce.A)(et().RightCell, et().Price) },
                g.createElement(
                  ge.he,
                  {
                    className: et().Tooltip,
                    toolTipContent: (0, x.we)(
                      "#SteamCharts_TopSellers_TablePriceTooltip",
                    ),
                    direction: "top",
                  },
                  (0, x.we)("#SteamCharts_TopSellers_TablePrice"),
                  " ",
                  g.createElement(je._VW, null),
                ),
              ),
              g.createElement(
                "th",
                { className: et().Change, align: "right" },
                g.createElement(
                  ge.he,
                  {
                    className: et().Tooltip,
                    toolTipContent: (0, x.we)(
                      "#SteamCharts_TopSellers_TableChangeTooltip",
                    ),
                    direction: "top",
                  },
                  g.createElement(
                    "span",
                    null,
                    (0, x.we)("#SteamCharts_TopSellers_TableChange"),
                  ),
                  " ",
                  g.createElement(je._VW, null),
                ),
              ),
              g.createElement(
                "th",
                { className: et().Weeks, align: "right" },
                g.createElement(
                  ge.he,
                  {
                    className: et().Tooltip,
                    toolTipContent: (0, x.we)(
                      "#SteamCharts_TopSellers_TableWeeksTooltip",
                    ),
                    direction: "top",
                  },
                  (0, x.we)("#SteamCharts_TopSellers_TableWeeks"),
                  " ",
                  g.createElement(je._VW, null),
                ),
              ),
            ),
          ),
          g.createElement("tbody", { className: et().ListRowsCtn }, t),
        );
      }
      function wt(e) {
        const { rank: t } = e,
          { nRank: a, Item: r, nRankLastWeek: n, nConsecutiveWeeks: s } = t,
          l = (0, rt.Z)(r),
          o = (0, mt.n9)(),
          i = (0, ut.wJ)(r.GetStorePageURL(), o),
          c = r.GetBestPurchaseOption();
        let m = "";
        r.BIsFree()
          ? (m = (0, x.we)("#SteamCharts_TopSellers_TableFree"))
          : c && (m = c.formatted_final_price);
        const u = (0, me.Dq)(s),
          d = {
            id: r.GetAppID() || r.GetID(),
            type: (0, it._4)(r?.GetStoreItemType(), r?.GetAppType()),
          };
        return g.createElement(
          "tr",
          {
            className: et().TableRow,
            onClick: () => (window.location.href = i),
          },
          g.createElement(
            "td",
            { className: et().HoverCell },
            !l &&
              g.createElement(
                ct.Qf,
                {
                  className: et().HoverSource,
                  item: d,
                  hoverProps: {
                    direction: "right",
                    nBodyAlignment: 0,
                    nBodyDistance: 0,
                    style: { width: "400px", height: "250px" },
                  },
                },
                g.createElement("div", { className: et().HoverMask }),
              ),
          ),
          g.createElement("td", { className: et().RankCell }, a),
          g.createElement(
            "td",
            {
              className: (0, ce.A)(
                et().CapsuleCell,
                !r.BIsVisible() && et().Unavailable,
              ),
            },
            g.createElement(nt, { Item: r }),
          ),
          g.createElement(
            "td",
            { className: et().PriceCell },
            g.createElement(
              "div",
              { className: et().PriceWidget },
              g.createElement(ot.kb, { storeItem: r }),
            ),
          ),
          g.createElement(Nt, { rank: t }),
          g.createElement(
            "td",
            { className: et().WeeksCell },
            g.createElement(
              ge.he,
              {
                className: et().Tooltip,
                toolTipContent: (0, x.we)("#SteamCharts_TopSellers_NumTooltip"),
                direction: "top",
              },
              u,
            ),
          ),
        );
      }
      function Nt(e) {
        const { rank: t } = e,
          { nRank: a, nRankLastWeek: r, bFirstTop100: n } = t,
          { direction: s, symbol: l } = le(r, a);
        let o;
        return (
          (o =
            r && r <= 100
              ? `${l} ${Math.abs(r - a)}`
              : n
                ? g.createElement(
                    "span",
                    { className: et().ListWeeksDebut },
                    (0, x.we)("#SteamCharts_TopSellers_TableNew"),
                  )
                : g.createElement(
                    "span",
                    { className: et().ListWeeksReturning },
                    (0, x.we)("#SteamCharts_TopSellers_TableReturning"),
                  )),
          g.createElement(
            "td",
            { className: (0, ce.A)(et().ChangeCell, s) },
            g.createElement(
              ge.he,
              {
                className: et().Tooltip,
                toolTipContent: (0, x.we)(
                  "#SteamCharts_TopSellers_ChangeTooltip",
                ),
                direction: "top",
              },
              o,
            ),
          )
        );
      }
      function bt(e) {
        const {
            TopSellersStore: t,
            strCountryCode: a,
            onCountryCodeChanged: r,
          } = e,
          n = t.GetCountryList(),
          s = g.useMemo(
            () => [
              {
                data: "",
                label: (0, x.we)("#SteamCharts_TopSellers_GlobalTopSellers"),
              },
              ...n.map(({ country_code: e, name: t }) => ({
                data: e,
                label: t,
              })),
            ],
            [n],
          );
        return g.createElement(
          "div",
          { className: et().CountryControl },
          g.createElement(
            "div",
            { className: et().DropDownContainer },
            g.createElement(Et.ZU, {
              rgOptions: s,
              selectedOption: a,
              onChange: r,
            }),
          ),
        );
      }
      function Bt(e) {
        const { TopSellersStore: t, overrideCountry: a } = e,
          r = se(a),
          n = (0, $.W6)(),
          s = g.useCallback(
            (e) => {
              const t = e.data;
              n.replace(_a.TopSelling(ne(t)));
            },
            [n],
          ),
          { rtCurrentWeek: l, bCountryListInitialized: o } = U(t, D.TS.COUNTRY),
          i = oe(t, o, a, _a.TopSelling);
        return g.createElement(
          Re.m,
          { title: (0, x.we)("#SteamCharts_Menu_TopSelling") },
          g.createElement(
            "div",
            { className: fe().ChartPage },
            g.createElement(
              "div",
              { className: (0, ce.A)(Pe().HeaderCtn, Pe().WithSubtitle) },
              g.createElement(
                "h1",
                null,
                (0, x.we)("#SteamCharts_Menu_TopSelling"),
              ),
              g.createElement(
                Te.tH,
                null,
                g.createElement(bt, {
                  TopSellersStore: t,
                  strCountryCode: r,
                  onCountryCodeChanged: s,
                }),
              ),
            ),
            g.createElement(
              "div",
              { className: Pe().PageSubtitle },
              (0, x.we)("#SteamCharts_Menu_TopSelling_Subtitle"),
            ),
            g.createElement(
              "div",
              { className: et().ChartPlaceholder },
              g.createElement(
                Te.tH,
                null,
                l &&
                  i &&
                  g.createElement(Rt, {
                    TopSellersStore: t,
                    overrideCountry: r,
                  }),
              ),
            ),
          ),
        );
      }
      function Rt(e) {
        const { TopSellersStore: t, overrideCountry: a } = e,
          { TopSellers: r, status: n } = F(t, t.GetPreviousWeek(), a, 100),
          s = (0, ie.PG)(
            "SteamCharts Live Top Sellers",
            { sort: a ? 10 : 11, start: 0, count: 100 },
            X,
            { override_country_code: a, content_descriptors_excluded: [] },
          ),
          l = g.useMemo(
            () =>
              r && s.data
                ? (function (e, t) {
                    const a = new Map();
                    for (const t of e.rgRanks) a.set(t.Item.GetUniqueID(), t);
                    return t.map((e, t) => {
                      const r = a.get(e.GetUniqueID());
                      return {
                        nRank: t + 1,
                        Item: e,
                        nRankLastWeek: r?.nRank,
                        nConsecutiveWeeks: r ? r.nConsecutiveWeeks + 1 : 1,
                        bFirstTop100: !r,
                      };
                    });
                  })(r, s.data.GetItems())
                : null,
            [r, s],
          );
        if (!l)
          return "loading" === n || s.isLoading
            ? g.createElement(yt.t, { position: "center" })
            : null;
        const o = l[0]?.Item;
        let i;
        return (
          o &&
            (i =
              o.GetAssets().GetLibraryHeroURL()?.trim().length > 0
                ? o.GetAssets().GetLibraryHeroURL()
                : o.GetAssets().GetPageBackgroundURL()),
          g.createElement(
            g.Fragment,
            null,
            g.createElement("img", {
              src: i,
              className: et().TopGameBackground,
            }),
            g.createElement(
              vt,
              null,
              l.map((e) =>
                g.createElement(
                  Te.tH,
                  { key: e.nRank },
                  g.createElement(wt, { rank: e }),
                ),
              ),
            ),
            g.createElement(
              "div",
              { className: et().BrowseTopSellersButton },
              g.createElement(
                Et.jn,
                {
                  onClick: () => {
                    window.location.href = `${D.TS.STORE_BASE_URL}search/?filter=${a ? "topsellers" : "globaltopsellers"}`;
                  },
                },
                (0, x.we)("#SteamCharts_TopSellers_Browse"),
              ),
            ),
          )
        );
      }
      var It = a(76011);
      function Pt(e) {
        const { TopSellersStore: t, week: a, country: r } = e;
        let n = (function (e) {
            if (e) {
              const t = e.match(/(\d+)-(\d+)-(\d+)/);
              if (t) {
                let e = new Date(
                  Date.UTC(
                    Number(t[1]),
                    Number(t[2]) - 1,
                    Number(t[3]),
                    0,
                    0,
                    0,
                    0,
                  ),
                );
                for (; 2 != e.getUTCDay(); ) e = new Date(e.getTime() - 864e5);
                return e.getTime() / 1e3;
              }
            }
          })(a),
          s = se(r);
        const { rtCurrentWeek: l, bCountryListInitialized: o } = U(t, s);
        l && (!n || n > l) && (n = l), n < te && (n = te);
        const i = g.useCallback((e) => _a.TopSellers(e, re(n)), [n]),
          c = oe(t, o, r, i),
          m = (0, $.W6)(),
          u = a && re(n) == a;
        return (
          (0, g.useEffect)(() => {
            c && !u && m.replace(_a.TopSellers(r, re(n)));
          }, [m, u, n, c, r]),
          n && c && u
            ? g.createElement(
                Re.m,
                {
                  title:
                    (0, x.we)("#SteamCharts_TopSellers_PageTitle") +
                    " - " +
                    ae(n),
                },
                g.createElement(
                  "div",
                  { className: fe().ChartPage },
                  g.createElement(
                    "div",
                    { className: (0, ce.A)(Pe().HeaderCtn, Pe().WithSubtitle) },
                    g.createElement(
                      "h1",
                      null,
                      (0, x.we)("#SteamCharts_TopSellers_PageTitle"),
                    ),
                    g.createElement(
                      Te.tH,
                      null,
                      g.createElement(At, {
                        TopSellersStore: t,
                        rtWeekStart: n,
                        strCountryCode: s,
                      }),
                    ),
                  ),
                  g.createElement(
                    "div",
                    { className: Pe().PageSubtitle },
                    (0, x.we)("#SteamCharts_TopSellers_PageSubTitle"),
                    " ",
                    g.createElement(
                      "span",
                      null,
                      (0, x.we)("#SteamCharts_TopSellers_PageSubTitle_subtext"),
                    ),
                  ),
                  g.createElement(
                    Te.tH,
                    null,
                    g.createElement(Gt, {
                      rtWeekStart: n,
                      strCountryCode: s,
                      rtMaxWeekStart: t.GetCurrentWeek(),
                    }),
                  ),
                  g.createElement(
                    "div",
                    { className: et().ChartPlaceholder },
                    g.createElement(
                      Te.tH,
                      null,
                      g.createElement(Dt, {
                        TopSellersStore: t,
                        rtWeekStart: n,
                        strCountryCode: s,
                      }),
                    ),
                  ),
                ),
              )
            : null
        );
      }
      function Gt(e) {
        const { rtWeekStart: t, strCountryCode: a, rtMaxWeekStart: r } = e,
          n = 604800;
        let s, l;
        return (
          (s = t - n < te ? void 0 : _a.TopSellers(ne(a), re(t - n))),
          (l = t >= r ? void 0 : _a.TopSellers(ne(a), re(t + n))),
          g.createElement(
            "div",
            { className: Pe().ChartRangeCtn },
            g.createElement(
              Mt,
              { strLink: s },
              g.createElement("div", { className: Pe().ChartNavPrev }, " "),
            ),
            g.createElement(
              Mt,
              { strLink: l },
              g.createElement("div", { className: Pe().ChartNavNext }, " "),
            ),
            g.createElement(
              "div",
              { className: (0, ce.A)(Pe().ChartRangeText, Pe().LongDate) },
              ae(t),
            ),
            g.createElement(
              "div",
              { className: (0, ce.A)(Pe().ChartRangeText, Pe().ShortDate) },
              (function (e) {
                return (0, x.we)(
                  "#SteamCharts_TopSellers_WeeklyRangeShort",
                  (0, ee.TW)(e, { timeZone: "UTC" }),
                );
              })(t),
            ),
          )
        );
      }
      function Mt(e) {
        const { strLink: t, children: a } = e;
        return g.createElement(
          "div",
          { className: (0, ce.A)(Pe().ChartNavCtn, t ? "" : Pe().Disabled) },
          g.createElement(
            be.N_,
            {
              to: t ?? _a.Overview(),
              onClick: t ? void 0 : (e) => e.preventDefault(),
            },
            a,
          ),
        );
      }
      function At(e) {
        const { TopSellersStore: t, strCountryCode: a, rtWeekStart: r } = e,
          n = t.GetCountryList(),
          s = (0, $.W6)(),
          l = g.useMemo(
            () => [
              {
                data: "",
                label: (0, x.we)("#SteamCharts_TopSellers_GlobalTopSellers"),
              },
              ...n.map(({ country_code: e, name: t }) => ({
                data: e,
                label: t,
              })),
            ],
            [n],
          ),
          o = g.useCallback(
            (e) => {
              const t = e.data;
              s.replace(_a.TopSellers(ne(t), re(r)), s.location.state);
            },
            [s, r],
          );
        return g.createElement(
          "div",
          { className: et().CountryControl },
          g.createElement(
            "div",
            { className: et().DropDownContainer },
            g.createElement(Et.ZU, {
              rgOptions: l,
              selectedOption: a,
              onChange: o,
            }),
          ),
        );
      }
      function Dt(e) {
        const { TopSellersStore: t, rtWeekStart: a, strCountryCode: r } = e,
          [n, s] = (0, It.SP)("TopSellersExpanded", !1),
          { TopSellers: l, status: o } = F(t, a, r, n ? 100 : 20),
          i = g.useCallback(() => s(!0), [s]);
        return "error" === o
          ? g.createElement(
              "div",
              null,
              g.createElement("h3", null, "Error loading top sellers"),
            )
          : g.createElement(
              g.Fragment,
              null,
              g.createElement(Wt, { TopSellers: l }),
              l &&
                g.createElement(
                  vt,
                  null,
                  l.rgRanks.map((e) =>
                    g.createElement(
                      Te.tH,
                      { key: e.nRank },
                      g.createElement(wt, { rank: e }),
                    ),
                  ),
                ),
              20 === l?.rgRanks?.length &&
                g.createElement(
                  "div",
                  { className: et().WeeklyFooterControls },
                  ((!n && "loaded" == o) || (n && "loading" == o)) &&
                    g.createElement(
                      Et.jn,
                      { onClick: i, disabled: "loading" == o },
                      (0, x.we)(
                        "#SteamCharts_TopSellers_SeeAllNTopSellers",
                        100,
                      ),
                    ),
                ),
              "loading" == o && g.createElement(yt.t, { position: "center" }),
            );
      }
      const Wt = g.memo((e) => {
        const { TopSellers: t } = e,
          a = g.useRef(void 0);
        if (t && t.rgRanks.length) {
          const e = t.rgRanks;
          let r = e.find((e) => 1 === e.nConsecutiveWeeks);
          r || (r = e[0]),
            (a.current =
              r.Item.GetAssets().GetLibraryHeroURL()?.trim().length > 0
                ? r.Item.GetAssets().GetLibraryHeroURL()
                : r.Item.GetAssets().GetPageBackgroundURL());
        }
        return a.current
          ? g.createElement("img", {
              src: a.current,
              className: et().TopGameBackground,
            })
          : null;
      });
      var Lt = a(22837),
        Ot = a(38390),
        Ut = a(97725),
        zt = a.n(Ut);
      const Ht = g.lazy(() =>
        Promise.all([
          a.e(8970),
          a.e(6597),
          a.e(4607),
          a.e(7937),
          a.e(7810),
          a.e(7276),
          a.e(6525),
          a.e(7436),
          a.e(2797),
          a.e(7403),
          a.e(9214),
          a.e(4796),
          a.e(4095),
          a.e(432),
          a.e(1006),
          a.e(4336),
          a.e(7576),
          a.e(9970),
          a.e(7368),
          a.e(9522),
          a.e(1266),
          a.e(7212),
          a.e(7975),
          a.e(4097),
          a.e(7034),
          a.e(8458),
          a.e(5424),
          a.e(7854),
          a.e(119),
          a.e(2062),
          a.e(2837),
          a.e(6855),
        ]).then(a.bind(a, 95737)),
      );
      function Ft(e) {
        const { salePagename: t } = e;
        (0, Re.Y)(zt().TopReleasesPage);
        const a = (0, Ot.G4)(D.P9.ANNOUNCEMENT_GID);
        return g.createElement(
          "div",
          { className: zt().TopReleasesContainer },
          a?.jsondata?.sale_custom_css &&
            g.createElement("style", null, a?.jsondata?.sale_custom_css),
          g.createElement(Ht, {
            key: `sale_${t}`,
            promotionName: `sale_${t}`,
            language: (0, Lt.sf)(D.TS.LANGUAGE),
          }),
        );
      }
      var qt = a(16767),
        xt = a.n(qt),
        Yt = a(58920),
        jt = a(76549),
        Zt = a(36058),
        Vt = a(5608),
        Qt = (0, Yt.gu)({
          chartName: "LineChart",
          GraphicalChild: jt.N,
          axisComponents: [
            { axisType: "xAxis", AxisComp: Zt.W },
            { axisType: "yAxis", AxisComp: Se.h },
          ],
          formatAxisMap: Vt.pr,
        }),
        Kt = a(94075);
      function Jt() {
        const e = (0, o.I)({
          queryKey: ["SupportStatsPage"],
          queryFn: async () => {
            const e = await l().get(
              `${D.TS.STORE_BASE_URL}stats/support?json=1`,
            );
            if ("string" == typeof e.data) throw "Error loading release status";
            return e.data;
          },
          staleTime: 9e5,
        });
        return g.createElement(
          Re.m,
          { title: (0, x.we)("#SteamCharts_SupportStats") },
          g.createElement(
            "div",
            { className: fe().ChartPage },
            g.createElement(
              "div",
              { className: (0, ce.A)(Pe().HeaderCtn, Pe().WithSubtitle) },
              g.createElement(
                "h1",
                null,
                (0, x.we)("#SteamCharts_SupportStats"),
              ),
            ),
            g.createElement(
              "div",
              { className: Pe().PageSubtitle },
              g.createElement(Xt, { rtLastUpdated: e.data?.rtLastUpdated }),
            ),
            g.createElement(
              "div",
              { className: fe().PageSection },
              g.createElement(
                "p",
                null,
                (0, x.oW)(
                  "#SupportStats_Header_Desc",
                  g.createElement("a", {
                    href: "http://steamcommunity.com/games/593110/announcements/detail/1301948399251160549",
                  }),
                ),
              ),
            ),
            g.createElement(
              "div",
              { className: (0, ce.A)(fe().PageSection) },
              g.createElement(
                "div",
                { className: (0, ce.A)(fe().SectionTitle) },
                g.createElement(
                  "b",
                  null,
                  (0, x.we)("#SupportStats_RequestsAndBacklog_Title"),
                ),
                " ",
                (0, x.we)("#SuportStats_MostRecent90Days"),
                g.createElement(Te.tH, null, g.createElement($t, null)),
              ),
            ),
            g.createElement(
              "div",
              { className: (0, ce.A)(fe().PageSection) },
              g.createElement(
                "div",
                { className: (0, ce.A)(fe().SectionTitle) },
                g.createElement(
                  "b",
                  null,
                  (0, x.we)("#SupportStats_RecentSupportActivity_Title"),
                ),
              ),
              g.createElement(
                "div",
                { className: (0, ce.A)(xt().CategoryBlock) },
                g.createElement(
                  Te.tH,
                  null,
                  g.createElement(ra, { SupportStats: e.data }),
                ),
              ),
            ),
          ),
        );
      }
      const Xt = g.memo(function (e) {
        const t = new Date(1e3 * e.rtLastUpdated);
        return g.createElement(
          "span",
          null,
          (0, x.we)(
            "#SupportStats_Header_Title_Updated",
            e.rtLastUpdated
              ? t.toLocaleString(x.pf.GetPreferredLocales(), {
                  day: "numeric",
                  month: "long",
                  year: "numeric",
                  hour: "numeric",
                  minute: "numeric",
                  timeZoneName: "short",
                })
              : "",
          ),
        );
      });
      function $t() {
        const e = (0, o.I)({
          queryKey: ["HelpRequestChartData"],
          queryFn: async () => {
            const e = await l().get(
              `${D.TS.STORE_BASE_URL}stats/supportdata.json`,
            );
            if ("string" == typeof e.data) throw "Error loading release status";
            const t = new Map(),
              a = [],
              r = [];
            for (const n of e.data) {
              a.push({ dataKey: n.label, color: n.color });
              for (const e of n.data) {
                if (!t.has(e[0])) {
                  const a = { date: new Date(e[0]) };
                  t.set(e[0], a), r.push(a);
                }
                t.get(e[0])[n.label] = e[1];
              }
            }
            return { rgSeries: a, data: r };
          },
          staleTime: 216e5,
        });
        return g.createElement(
          "div",
          {
            className: (0, ce.A)(
              xt().HelpRequestChartContainer,
              !e.data && fe().Placeholder,
            ),
          },
          e.data && g.createElement(ea, { ChartData: e.data }),
        );
      }
      const ea = g.memo(function (e) {
        const { ChartData: t } = e,
          { rgSeries: a, data: r } = t;
        return g.createElement(
          pe.u,
          { width: "100%", height: "100%" },
          g.createElement(
            Qt,
            { data: r, margin: { top: 20, left: 30, right: 30, bottom: 0 } },
            g.createElement(Zt.W, {
              dataKey: "date",
              tickFormatter: aa,
              interval: 7,
            }),
            g.createElement(Se.h, { type: "number", tickFormatter: me.Dq }),
            g.createElement(Ce.m, { content: g.createElement(ta, null) }),
            g.createElement(Kt.s, null),
            a.map((e) =>
              g.createElement(jt.N, {
                key: e.dataKey,
                type: "monotone",
                dataKey: e.dataKey,
                stroke: e.color,
                dot: !1,
              }),
            ),
          ),
        );
      });
      function ta(e) {
        const { active: t, payload: a } = e;
        if (t && a && a.length) {
          const { date: e, ...t } = a[0].payload;
          return g.createElement(
            ge.t1,
            null,
            g.createElement("div", null, aa(e), ":"),
            Object.keys(t).map((e) =>
              g.createElement("div", { key: e }, e, ": ", (0, me.Dq)(t[e])),
            ),
          );
        }
        return null;
      }
      function aa(e) {
        return e.toLocaleString(x.pf.GetPreferredLocales(), {
          month: "short",
          day: "numeric",
        });
      }
      function ra(e) {
        const t = e.SupportStats?.rgReportData;
        return t
          ? g.createElement(
              "table",
              { className: fe().ChartTable },
              g.createElement(
                "thead",
                { className: fe().ColumnHeaders },
                g.createElement(
                  "tr",
                  null,
                  g.createElement(
                    "th",
                    { className: xt().Category },
                    g.createElement(
                      "span",
                      null,
                      (0, x.we)("#SupportStats_TicketsByCategory"),
                    ),
                  ),
                  g.createElement(
                    "th",
                    { className: xt().Submitted24h },
                    g.createElement(
                      "span",
                      null,
                      (0, x.we)("#SupportStats_TicketsLast24Hours"),
                    ),
                  ),
                  g.createElement(
                    "th",
                    { className: xt().ResponseTimes },
                    g.createElement(
                      "span",
                      null,
                      (0, x.we)("#SupportStats_TimeToResponse"),
                    ),
                  ),
                ),
              ),
              g.createElement(
                "tbody",
                null,
                t.map((e) => g.createElement(na, { key: e.name, row: e })),
              ),
            )
          : g.createElement("div", {
              className: (0, ce.A)(fe().Placeholder, xt().Placeholder),
            });
      }
      function na(e) {
        const { row: t } = e;
        return g.createElement(
          "tr",
          { className: (0, ce.A)(fe().TableRow, xt().TableRow) },
          g.createElement("td", { className: xt().Category }, t.name),
          g.createElement(
            "td",
            { className: xt().Submitted24h },
            (0, me.Dq)(t.last24),
          ),
          g.createElement(
            "td",
            { className: xt().ResponseTimes },
            (0, x.we)(
              "#SupportStats_RecentWaitTimeData",
              sa(t["30pct"]),
              sa(t["90pct"]),
            ),
          ),
        );
      }
      function sa(e) {
        return (0, x.Hq)(e, { eSuffix: ee.a8.None, bAllowDecimal: !0 });
      }
      var la = a(23809),
        oa = a(91822),
        ia = a(19719);
      function ca(e) {
        const { MostPlayedOnDeckStore: t, strTimePeriod: a } = e,
          { topPlayedPeriod: r, dateRangeString: n } = g.useMemo(() => {
            let e = 1;
            const t = new Date().getTime() / 1e3,
              r = t - 518400,
              n = t - 2505600,
              s = t - 31449600;
            let l = (0, ee.nR)(r, t);
            if (a)
              switch (a.toLowerCase()) {
                case "pastmonth":
                  (e = 2), (l = (0, ee.nR)(n, t));
                  break;
                case "pastyear":
                  (e = 3), (l = (0, ee.nR)(s, t));
                  break;
                case "pastweek":
                  (e = 1), (l = (0, ee.nR)(r, t));
              }
            return { topPlayedPeriod: e, dateRangeString: l };
          }, [a]),
          s = (0, ia.Tg)(1, 11),
          l =
            D.TS.BASE_URL_STORE_CDN_ASSETS +
            `steamdeck/steamdeck_promo_0${s}.png?v=2`;
        return g.createElement(
          Re.m,
          { title: (0, x.we)("#SteamCharts_MostPlayedDeck_Title") },
          g.createElement(
            "div",
            { className: et().ChartPage },
            g.createElement(
              "div",
              { className: et().TopSectionFlex },
              g.createElement(
                "div",
                { className: et().TopSectionCol },
                g.createElement(
                  "div",
                  { className: (0, ce.A)(Pe().HeaderCtn, Pe().WithSubtitle) },
                  g.createElement(
                    "h1",
                    null,
                    (0, x.we)("#SteamCharts_MostPlayedDeck_Title"),
                  ),
                ),
                g.createElement(
                  "div",
                  {
                    className: (0, ce.A)(
                      Pe().PageSubtitle,
                      Pe().TopDeckSubtitle,
                    ),
                  },
                  (0, x.we)("#SteamCharts_MostPlayedDeck_Subtitle"),
                  g.createElement(
                    "div",
                    { className: et().SteamDeckChartDropdown },
                    g.createElement(ma, { selected: a }),
                  ),
                ),
                g.createElement(
                  "div",
                  { className: et().DeckChartDateRange },
                  n,
                ),
              ),
              g.createElement(
                "a",
                {
                  href: "https://store.steampowered.com/app/1675200/Steam_Deck/?utm_source=steamdeckcharts",
                },
                g.createElement(
                  "div",
                  {
                    className: (0, ce.A)(
                      et().SteamDeckBanner,
                      et().TopSectionCol,
                    ),
                  },
                  g.createElement(
                    "div",
                    {
                      className: (0, ce.A)(
                        et().SteamDeckImage,
                        et().TopSectionCol,
                      ),
                    },
                    g.createElement("img", { src: l }),
                  ),
                  g.createElement(
                    "div",
                    { className: et().SteamDeckBannerWords },
                    g.createElement(
                      "div",
                      { className: et().SteamDeckBannerTitle },
                      (0, x.we)("#SteamCharts_SteamDeckPromo_Title"),
                    ),
                    g.createElement(
                      "div",
                      { className: et().SteamDeckBannerDesc },
                      (0, x.we)("#SteamCharts_SteamDeckPromo_Desc"),
                    ),
                  ),
                ),
              ),
            ),
            g.createElement(
              "div",
              { className: et().ChartPlaceholder },
              g.createElement(ua, {
                MostPlayedOnDeckStore: t,
                eTopPlayedPeriod: r,
              }),
            ),
          ),
        );
      }
      function ma(e) {
        const { selected: t } = e,
          a = (0, $.W6)(),
          r = [
            {
              data: "pastweek",
              label: (0, x.we)("#SteamCharts_MostPlayedDeck_Option_PastWeek"),
            },
            {
              data: "pastmonth",
              label: (0, x.we)("#SteamCharts_MostPlayedDeck_Option_PastMonth"),
            },
            {
              data: "pastyear",
              label: (0, x.we)("#SteamCharts_MostPlayedDeck_Option_PastYear"),
            },
          ],
          n = g.useCallback(
            (e) => {
              a.push(_a.MostPlayedOnSteamDeck(e.data));
            },
            [a],
          );
        return g.createElement(
          "div",
          { className: et().MostPlayedOptionsControl },
          g.createElement(
            "div",
            { className: et().DropDownContainer },
            g.createElement(Et.ZU, {
              rgOptions: r,
              selectedOption: t ?? "pastweek",
              onChange: n,
            }),
          ),
        );
      }
      function ua(e) {
        const { MostPlayedOnDeckStore: t, eTopPlayedPeriod: a } = e,
          r = (function (e, t) {
            return (0, o.I)({
              queryKey: ["MostPlayedSteamDeckGames_" + t],
              queryFn: () => e.LoadMostPlayedOnSteamDeck(t),
              staleTime: 36e5,
            });
          })(t, a);
        if (r.isLoading) return g.createElement(yt.t, { position: "center" });
        if (r.isError)
          return g.createElement(
            "div",
            null,
            g.createElement(
              "h3",
              null,
              "Error loading  most played on Steam Deck",
            ),
          );
        if (!r.data) return null;
        const n = r.data.rgRanks[0]?.Item;
        let s;
        return (
          n &&
            (s =
              n.GetAssets().GetLibraryHeroURL()?.trim().length > 0
                ? n.GetAssets().GetLibraryHeroURL()
                : n.GetAssets().GetPageBackgroundURL()),
          g.createElement(
            g.Fragment,
            null,
            g.createElement("img", {
              src: s,
              className: et().TopGameBackground,
            }),
            g.createElement(
              da,
              { eTopPlayedPeriod: a },
              r.data.rgRanks.map((e, t) =>
                g.createElement(pa, {
                  key: e.Item?.GetUniqueID() || t,
                  rank: {
                    nRank: t + 1,
                    Item: e.Item,
                    nRankLastPeriod: e.nRankLastPeriod,
                  },
                }),
              ),
            ),
          )
        );
      }
      function da(e) {
        const { children: t, eTopPlayedPeriod: a } = e;
        let r = (0, x.we)(
          "#SteamCharts_MostPlayedDeck_TableChangeWeek_Tooltip",
        );
        switch (a) {
          case 2:
            r = (0, x.we)(
              "#SteamCharts_MostPlayedDeck_TableChangeMonth_Tooltip",
            );
            break;
          case 3:
            r = (0, x.we)(
              "#SteamCharts_MostPlayedDeck_TableChangeYear_Tooltip",
            );
        }
        return g.createElement(
          "table",
          { className: et().ChartTable },
          g.createElement(
            "thead",
            { className: et().ColumnHeaders },
            g.createElement(
              "tr",
              null,
              g.createElement("th", { className: et().HoverCell }),
              g.createElement(
                "th",
                { className: et().Rank, colSpan: 2 },
                g.createElement(
                  "span",
                  null,
                  (0, x.we)("#SteamCharts_TopSellers_TableRank"),
                ),
              ),
              g.createElement(
                "th",
                { className: (0, ce.A)(et().RightCell, et().Price) },
                (0, x.we)("#SteamCharts_TopSellers_TablePrice"),
              ),
              g.createElement(
                "th",
                { className: et().Change, align: "right" },
                g.createElement(
                  ge.he,
                  {
                    className: et().Tooltip,
                    toolTipContent: r,
                    direction: "top",
                  },
                  g.createElement(
                    "span",
                    null,
                    (0, x.we)("#SteamCharts_TopSellers_TableChange"),
                  ),
                  " ",
                  g.createElement(je._VW, null),
                ),
              ),
              g.createElement(
                "th",
                { className: et().Change, align: "right" },
                g.createElement(
                  ge.he,
                  {
                    className: et().Tooltip,
                    toolTipContent: (0, x.we)(
                      "#SteamCharts_MostPlayedDeck_TableDeckVerified_Tooltip",
                    ),
                    direction: "top",
                  },
                  (0, x.we)("#SteamCharts_MostPlayedDeck_TableDeckVerified"),
                  " ",
                  g.createElement(je._VW, null),
                ),
              ),
            ),
          ),
          g.createElement("tbody", { className: et().ListRowsCtn }, t),
        );
      }
      function pa(e) {
        const { rank: t } = e,
          a = (0, mt.n9)(),
          r = (0, ut.wJ)(t.Item.GetStorePageURL(), a);
        return g.createElement(
          "tr",
          {
            onClick: () => (window.location.href = r),
            className: et().TableRow,
          },
          g.createElement(ha, { rank: t }),
        );
      }
      function ha(e) {
        const { rank: t } = e,
          a = t.Item,
          r = (0, rt.Z)(a),
          n = {
            id: a.GetAppID() || a.GetID(),
            type: (0, it._4)(a?.GetStoreItemType(), a?.GetAppType()),
          },
          s = (0, oa.Wm)(a.GetPlatforms().steam_deck_compat_category);
        return g.createElement(
          g.Fragment,
          null,
          g.createElement(
            "td",
            { className: et().HoverCell },
            !r &&
              g.createElement(
                ct.Qf,
                {
                  className: et().HoverSource,
                  item: n,
                  hoverProps: {
                    direction: "right",
                    nBodyAlignment: 0,
                    nBodyDistance: 0,
                    style: { width: "400px", height: "250px" },
                  },
                },
                g.createElement("div", { className: et().HoverMask }),
              ),
          ),
          g.createElement("td", { className: et().RankCell }, t.nRank),
          g.createElement(
            "td",
            {
              className: (0, ce.A)(
                et().CapsuleCell,
                !a.BIsVisible() && et().Unavailable,
              ),
            },
            g.createElement(nt, { Item: a }),
          ),
          g.createElement(
            "td",
            { className: et().PriceCell },
            g.createElement(
              "div",
              { className: et().PriceWidget },
              g.createElement(ot.wc, { info: n }),
            ),
          ),
          g.createElement(St, {
            nRank: t.nRank,
            nRankLastWeek: t.nRankLastPeriod,
          }),
          g.createElement(
            "td",
            { className: et().ChangeCell },
            g.createElement(s, null),
          ),
        );
      }
      const _a = {
        Overview: () => `${n.B.SteamCharts()}`,
        MostPlayed: () => `${n.B.SteamCharts()}mostplayed`,
        MostPlayedOnSteamDeck: (e) =>
          `${n.B.SteamCharts()}steamdecktopplayed${e ? "/" + e : ""}`,
        TopSelling: (e) => `${n.B.SteamCharts()}topselling/${e}`,
        TopSellers: (e, t) =>
          `${n.B.SteamCharts()}topsellers/${e}${t ? "/" + t : ""}`,
        TopNewReleases: (e) => `${n.B.SteamCharts()}topnewreleases/${e}`,
        BestOfYear: (e) => `${n.B.SteamCharts()}bestofyear/${e}`,
        SupportStats: () => `${n.B.SteamCharts()}support/`,
      };
      function Sa(e) {
        const [t, a] = (0, g.useState)(void 0),
          r = (0, la.TR)(),
          n = (0, la.rX)();
        if (
          ((0, g.useEffect)(() => {
            (async function (e, t) {
              const a = new Q();
              return await a.Initialize(e, t), a;
            })(r, n).then((e) => a(e));
          }, [r, n]),
          !t)
        )
          return null;
        const s = _a,
          {
            TopSellersStore: l,
            MostPlayedStore: o,
            TopReleasesStore: i,
            SteamInterface: c,
            DynamicUserStore: m,
            BestOfYearStore: u,
            MostPlayedOnSteamDeckStore: d,
          } = t;
        return g.createElement(
          Ve,
          {
            TopSellersStore: l,
            TopReleasesStore: i,
            SteamInterface: c,
            DynamicUserStore: m,
            BestOfYearStore: u,
          },
          g.createElement(Ca, null),
          g.createElement(
            Ae.A,
            { domain: "store.steampowered.com", controller: "steamcharts" },
            g.createElement(
              $.dO,
              null,
              g.createElement(
                $.qh,
                { path: `${s.MostPlayed()}` },
                g.createElement(
                  Ae.A,
                  { method: "mostplayed" },
                  g.createElement(
                    Te.tH,
                    null,
                    g.createElement(gt, { MostPlayedStore: o }),
                  ),
                ),
              ),
              g.createElement($.qh, {
                path: `${s.TopSelling(":country?")}`,
                render: (e) =>
                  g.createElement(
                    Ae.A,
                    { method: "topselling" },
                    g.createElement(
                      Te.tH,
                      null,
                      g.createElement(Bt, {
                        TopSellersStore: l,
                        overrideCountry: e.match.params.country,
                      }),
                    ),
                  ),
              }),
              g.createElement($.qh, {
                path: `${s.TopSellers(":country?", ":week?")}`,
                render: (e) =>
                  g.createElement(
                    Ae.A,
                    { method: "weeklytopsellers" },
                    g.createElement(
                      Te.tH,
                      null,
                      g.createElement(Pt, {
                        TopSellersStore: l,
                        week: e.match.params.week,
                        country: e.match.params.country,
                      }),
                    ),
                  ),
              }),
              g.createElement(
                $.qh,
                { path: `${s.Overview()}`, exact: !0 },
                g.createElement(
                  Ae.A,
                  { method: "overview" },
                  g.createElement(
                    Te.tH,
                    null,
                    g.createElement(We, { SteamCharts: t }),
                  ),
                ),
              ),
              g.createElement(
                $.qh,
                { path: `${s.SupportStats()}` },
                g.createElement(
                  Ae.A,
                  { method: "supportstats" },
                  g.createElement(Te.tH, null, g.createElement(Jt, null)),
                ),
              ),
              g.createElement($.qh, {
                path: `${s.TopNewReleases(":salePagename")}`,
                render: (e) => {
                  const {
                    match: {
                      params: { salePagename: t },
                    },
                  } = e;
                  return g.createElement(
                    Ae.A,
                    { method: "topnewreleases" },
                    g.createElement(
                      Te.tH,
                      null,
                      g.createElement(Ft, { salePagename: t }),
                    ),
                  );
                },
              }),
              g.createElement($.qh, {
                path: `${s.BestOfYear(":salePagename")}`,
                render: (e) => {
                  const {
                    match: {
                      params: { salePagename: t },
                    },
                  } = e;
                  return g.createElement(
                    Ae.A,
                    { method: "bestofyear" },
                    g.createElement(
                      Te.tH,
                      null,
                      g.createElement(Ft, { salePagename: t }),
                    ),
                  );
                },
              }),
              g.createElement($.qh, {
                path: `${s.MostPlayedOnSteamDeck(":timeperiod?")}`,
                render: (e) => {
                  const {
                    match: {
                      params: { timeperiod: t },
                    },
                  } = e;
                  return g.createElement(
                    Ae.A,
                    { method: "mostplayedondeck" },
                    g.createElement(
                      Te.tH,
                      null,
                      g.createElement(ca, {
                        MostPlayedOnDeckStore: d,
                        strTimePeriod: t,
                      }),
                    ),
                  );
                },
              }),
              g.createElement(
                $.qh,
                null,
                g.createElement($.rd, { to: `${s.Overview()}` }),
              ),
            ),
          ),
        );
      }
      function Ca() {
        const { pathname: e } = (0, $.zy)();
        return (
          g.useEffect(() => {
            void 0 !== window.ScrollToTopStoreMobileAware
              ? window.ScrollToTopStoreMobileAware()
              : window.scrollTo(0, 0);
          }, [e]),
          null
        );
      }
    },
  },
]);
