Pc Gamers

The RAMpocalypse support group | ongames

The <a href=ongames.cc">RAMpocalypse support group" style="max-width:100%;border-radius:12px;margin-bottom:25px">

The RAMpocalypse support group

It’s rough out there, trust me, we know. And there are few signs that things are improving, in fact all the noise from across the globe, from almost every memory company and chip producer, is that it’s only getting worse. Yes, it seems like the RAMpocalypse is here to stay, which means buying new hardware to upgrade your gaming PC, or even buying a new desktop or gaming laptop can be a battle.

That’s why we’ve set up this little hub page here to help support you through this difficult time. If we all get together maybe we can minimise the pain just a little bit? The PC Gamer hardware team has been regularly chasing down the best deals on a wide range of gaming tech for years, and you can search through all our hand-picked recommendations below.

But it’s not just top-tier hardware that sparks joy, so the PC Gamer team is also recommending some things that bring them happiness in these dark times. Sometimes that might be gaming tech, sometimes a new or beloved board game, or sometimes even just a great read. That is what PC Gamer’s Favorite Stuff is all about. And then sometimes all you need is the basics, which is why our Andy takes on a new cheap tech challenge each month hopefully finding new Budget Wins.

And finally, we love building PCs, so we’re also letting you know what we think makes for the best PC build in three different categories—budget (or what passes for budget these days), mid range, and high end.

If you find any great deals yourself, hit us up in the comments and share your findings with the group!

PC Gamer’s Hand-picked Deals

Pick a category, or just browse the lot, and check out all the latest PC gaming hardware deals recommended by our own experts.

fc-author-commerce-widget[data-fcaw-version=”1″] { display: block !important; width: 100% !important; min-width: 0 !important; max-width: none !important; isolation: isolate !important; contain: style !important;}fc-author-commerce-widget[data-fcaw-version=”1″][data-fcaw-full-bleed=”true”]{ width: min( 1200px, var(–fcaw-viewport-width, 100vw) ) !important; max-width: 1200px !important; margin-left: var( –fcaw-full-bleed-offset, calc(50% – min(600px, 50vw)) ) !important; margin-right: 0 !important; position: relative !important;}fc-author-commerce-widget[data-fcaw-version=”1″][data-fcaw-full-bleed=”true”] #tg-df-spreadsheet-filters { width: min( 1500px, var(–fcaw-viewport-width, 100vw) ) !important; max-width: 1500px !important; margin-left: calc( ( 100% – min(1500px, var(–fcaw-viewport-width, 100vw)) ) / 2 ) !important; margin-right: 0 !important;}fc-author-commerce-widget[data-fcaw-version=”1″] .fcaw-v1-fallback,fc-author-commerce-widget[data-fcaw-version=”1″] .fcaw-v1-fallback *,fc-author-commerce-widget[data-fcaw-version=”1″] .fcaw-v1-fallback *::before,fc-author-commerce-widget[data-fcaw-version=”1″] .fcaw-v1-fallback *::after { box-sizing: border-box;}

/* — Shadow DOM Base Reset — */ *, *::before, *::after { box-sizing: border-box; } img, picture, svg, video { max-width: 100%; height: auto; display: block; } /* 1. Scoped CSS for Tom’s Guide Deals Widget All classes are prefixed with ‘tg-df-‘ to prevent CMS style leakage. */ .tg-df-container { user-select: text; -webkit-user-select: text; container-type: inline-size; container-name: tg-df; –tg-df-text: #222222; –tg-df-text-muted: #555555; –tg-df-bg: #ffffff; –tg-df-bg-secondary: #f4f4f4; –tg-df-border: #e2e8f0; font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, Helvetica, Arial, sans-serif; color: var(–tg-df-text); background-color: transparent; width: 100%; max-width: 1200px; margin: 0 auto; padding-bottom: 24px; } .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after { margin: 0; padding: 0; box-sizing: border-box; } .tg-df-widget-host[data-tg-df-full-bleed=”true”] { width: min( 1200px, var(–fcaw-viewport-width, 100vw) ) !important; max-width: 1200px !important; margin-left: calc( ( 100% – min(1200px, var(–fcaw-viewport-width, 100vw)) ) / 2 ) !important; margin-right: 0 !important; position: relative !important; } .tg-df-widget-host[data-tg-df-full-bleed=”true”] #tg-df-spreadsheet-filters { width: min( 1500px, var(–fcaw-viewport-width, 100vw) ) !important; max-width: 1500px !important; margin-left: calc( ( 100% – min(1500px, var(–fcaw-viewport-width, 100vw)) ) / 2 ) !important; margin-right: 0 !important; } .tg-df-container img { border: none; margin: 0; padding: 0; } .tg-df-container a { text-decoration: none; color: inherit; } /* 2. Search & Filter Bar */ .tg-df-controls { display: flex; flex-direction: column; align-items: center; gap: 20px; margin-bottom: 32px; width: 100%; position: relative; z-index: 20; } .tg-df-top-bar { display: flex; width: 100%; max-width: 760px; gap: 12px; margin: 0 auto; align-items: center; } .tg-df-search-wrapper { position: relative; flex: 1; width: 100%; box-shadow: 0 8px 24px rgba(0,0,0,0.06); border-radius: 40px; background: var(–tg-df-bg); border: 1px solid var(–tg-df-border); z-index: 100; } .tg-df-autocomplete-dropdown { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: var(–tg-df-bg); border: 1px solid var(–tg-df-border); border-radius: 12px; box-shadow: 0 8px 32px rgba(0,0,0,0.12); max-height: 300px; overflow-y: auto; z-index: 200; display: none; } .tg-df-autocomplete-dropdown.active { display: block; } .tg-df-autocomplete-item { padding: 12px 24px; cursor: pointer; font-size: 14px; color: var(–tg-df-text); transition: background 0.1s ease; } .tg-df-autocomplete-item:hover { background: var(–tg-df-bg-secondary); } .tg-df-search-input { width: 100%; padding: 16px 64px 16px 24px; font-size: 16px; border: 2px solid transparent; border-radius: 40px; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; color: var(–tg-df-text); background: transparent; } .tg-df-search-input:focus { border-color: transparent; box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15); } .tg-df-search-input::placeholder { color: #999999; } .tg-df-search-btn { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; background: #222; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s ease; } .tg-df-search-btn:hover { background: #000; } .tg-df-search-icon { width: 16px; height: 16px; fill: #fff; } .tg-df-settings-wrapper { position: relative; } .tg-df-settings-btn { width: 48px; height: 48px; border-radius: 50%; background: var(–tg-df-bg); border: 1px solid var(–tg-df-border); box-shadow: 0 4px 12px rgba(0,0,0,0.04); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s ease; color: var(–tg-df-text-muted); flex-shrink: 0; } .tg-df-settings-btn:hover { background: var(–tg-df-bg-secondary); border-color: #0000ff; color: var(–tg-df-text); } .tg-df-settings-btn svg { width: 24px; height: 24px; fill: currentColor; } .tg-df-settings-dropdown { position: absolute; top: calc(100% + 8px); right: 0; background: var(–tg-df-bg); border: 1px solid var(–tg-df-border); border-radius: 12px; box-shadow: 0 8px 32px rgba(0,0,0,0.12); width: 280px; padding: 20px; display: none; z-index: 100; flex-direction: column; gap: 20px; } .tg-df-settings-dropdown.active { display: flex; } .tg-df-settings-dropdown-backdrop { display: none; position: fixed; inset: 0; z-index: 99; } .tg-df-settings-dropdown-backdrop.active { display: block; } .tg-df-setting-item { display: flex; flex-direction: column; gap: 10px; } .tg-df-setting-label { font-size: 11px; font-weight: 700; color: var(–tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; } .tg-df-region-select { padding: 10px 12px; border-radius: 8px; border: 1px solid var(–tg-df-border); font-size: 15px; outline: none; background: var(–tg-df-bg-secondary); color: var(–tg-df-text); cursor: pointer; width: 100%; } .tg-df-toggle { position: relative; display: inline-block; width: 44px; height: 24px; flex-shrink: 0; } .tg-df-toggle input { opacity: 0; width: 0; height: 0; } .tg-df-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .2s; border-radius: 24px; } .tg-df-slider:before { position: absolute; content: “”; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: white; transition: .2s; border-radius: 50%; } .tg-df-toggle input:checked + .tg-df-slider { background-color: var(–tg-df-blue); } .tg-df-toggle input:checked + .tg-df-slider:before { transform: translateX(20px); } .tg-df-dl-row { flex-direction: row; align-items: center; justify-content: space-between; } .tg-df-dl-row-text { font-size: 14px; font-weight: 600; color: var(–tg-df-text); } .tg-df-dl-row-subtext { font-size: 12px; font-weight: 400; line-height: 1.3; color: var(–tg-df-text-muted); margin-top: 4px; display: block; } .tg-df-filters-container { position: relative; width: 100%; max-width: 42rem; } .tg-df-scroll-btn { display: none; position: absolute; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; background: white; border: 1px solid var(–tg-df-border); border-radius: 50%; align-items: center; justify-content: center; cursor: pointer; z-index: 10; box-shadow: 0 2px 8px rgba(0,0,0,0.1); color: var(–tg-df-text-primary); padding: 0; } .tg-df-scroll-btn svg { width: 16px; height: 16px; } .tg-df-scroll-btn:hover { background: #f4f4f4; } .tg-df-scroll-btn.left { left: 0px; } .tg-df-scroll-btn.right { right: 0px; } .tg-df-filters { display: flex; justify-content: center; width: 100%; gap: 12px; margin: 0 auto; max-width: 42rem; } .tg-df-sort-wrapper { position: relative; display: flex; align-items: center; width: 100%; max-width: 280px; } .tg-df-sort-icon { position: absolute; left: 14px; width: 14px; height: 14px; fill: var(–tg-df-text-muted); pointer-events: none; } .tg-df-sort-select, .tg-df-filter-select { width: 100%; padding: 10px 36px 10px 38px; font-size: 14px; border: 1px solid var(–tg-df-border); border-radius: 100px; outline: none; appearance: none; background-color: var(–tg-df-bg-secondary); background-image: url(“data:image/svg+xml,%3Csvg xmlns=’http://www.w3.org/2000/svg’ width=’10’ height=’10’ viewBox=’0 0 12 12’%3E%3Cpath fill=’%23555555′ d=’M6 8L1 3h10z’/%3E%3C/svg%3E”); background-repeat: no-repeat; background-position: right 14px center; color: var(–tg-df-text); cursor: pointer; font-weight: 500; transition: all 0.2s ease; } .tg-df-sort-select:hover, .tg-df-filter-select:hover { background-color: #e2e8f0; } .tg-df-multiselect-container { position: relative; } .tg-df-scroll-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; background: white; border: 1px solid var(–tg-df-border); border-radius: 50%; align-items: center; justify-content: center; cursor: pointer; z-index: 10; box-shadow: 0 2px 8px rgba(0,0,0,0.1); color: var(–tg-df-text-primary); padding: 0; } .tg-df-scroll-btn svg { width: 16px; height: 16px; } .tg-df-scroll-btn:hover { background: #f4f4f4; } .tg-df-scroll-btn.left { left: 4px; } .tg-df-scroll-btn.right { right: 4px; } @container tg-df (max-width: 768px) { .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; } .tg-df-filters-container { position: relative; width: 100%; max-width: 42rem; margin: 0 auto; } .tg-df-filters { justify-content: center; width: 100%; margin: 0 auto; margin-bottom: -320px; padding: 0 0 320px 0; display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; overflow-y: hidden; pointer-events: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; } .tg-df-filters::-webkit-scrollbar { display: none; } .tg-df-sort-wrapper { pointer-events: auto; flex: 0 0 auto; width: 175px; min-width: 175px; } } .tg-df-multiselect-trigger { display: block; background: #fff; user-select: none; width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .tg-df-multiselect-dropdown { display: none; position: absolute; top: calc(100% + 4px); left: 0; width: 100%; min-width: 220px; max-height: 300px; overflow-y: auto; background: var(–tg-df-bg); border: 1px solid var(–tg-df-border); border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); z-index: 100; padding: 8px 0; } .tg-df-multiselect-dropdown.active { display: block; } .tg-df-ms-option { padding: 8px 16px; display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; } .tg-df-ms-option:hover { background-color: var(–tg-df-bg-secondary); } .tg-df-ms-option input { cursor: pointer; accent-color: #1f69ff; } .tg-df-sort-select:focus, .tg-df-filter-select:focus { border-color: #0000ff; box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2); background-color: var(–tg-df-bg); } /* 3. Deal Grid Layout */ .tg-df-grid.tg-df-grid-auto { padding-top: 24px; } .tg-df-grid, .tg-df-grid.layout-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; } .tg-df-grid.layout-row { grid-template-columns: 1fr; gap: 16px; } .tg-df-grid.layout-row .tg-df-card { flex-direction: row; align-items: stretch; height: auto; box-shadow: none; border-bottom: 1px solid var(–tg-df-border); } .tg-df-grid.layout-row .tg-df-card:hover { box-shadow: none; } .tg-df-grid.layout-row .tg-df-card-image-box { width: 140px; min-width: 140px; aspect-ratio: 3/4; border-right: none; padding: 16px 16px 16px 32px; } .tg-df-grid.layout-row .tg-df-card-body { padding: 16px; justify-content: space-between; } .tg-df-grid.layout-row .tg-df-card-title { font-size: 15px; margin-bottom: 16px; } .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; } .tg-df-grid.layout-row .tg-df-card-footer { flex-direction: column; align-items: flex-start; gap: 0; } .tg-df-grid.layout-row .tg-df-card-merchant-pill { margin-bottom: 4px; } .tg-df-grid.layout-row .tg-df-card-price-group { margin-bottom: 8px; } .tg-df-grid.layout-row .tg-df-price-group { width: auto; } .tg-df-grid.layout-row .tg-df-card-cta { width: calc(100% + 32px); max-width: none; padding: 10px 24px; font-size: 13px; flex-shrink: 0; text-align: center; justify-content: center; margin: 0 -16px -16px -16px; } /* 4. Deal Card Design */ .tg-df-card { position: relative; display: flex; flex-direction: column; background-color: #ffffff; border-radius: 0; overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s ease; text-decoration: none; color: inherit; height: 100%; box-shadow: 0 0 16px rgba(0, 0, 0, 0.08); border: 1px solid var(–tg-df-border); } .tg-df-card:hover { box-shadow: 0 0 24px rgba(0, 0, 0, 0.12); } .tg-df-card-image-box { width: 100%; aspect-ratio: 3/4; background-color: #f8f8f8; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; padding: 32px; flex: 0 0 auto; } .tg-df-card-image { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */ transition: transform 0.3s ease; } .tg-df-card:hover .tg-df-card-image { transform: scale(1.05); /* Zoom in on hover */ } .tg-df-card-discount-badge { position: absolute; top: 12px; left: 12px; background: #dc2626; /* Red */ color: #ffffff; padding: 6px 8px; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; border-radius: 0; z-index: 10; } .tg-df-buying-guide-badge { left: auto; right: 12px; max-width: calc(100% – 24px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .tg-df-card-merchant-pill { display: block; padding: 0; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; border-radius: 0; color: var(–tg-df-text-muted); margin-bottom: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .tg-df-card-body { padding: 16px; display: flex; flex-direction: column; flex-grow: 1; min-width: 0; } .tg-df-card-badges { position: absolute; bottom: 8px; left: 8px; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; z-index: 10; } .tg-df-tag { display: inline-flex; align-items: center; padding: 4px 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; border-radius: 4px; gap: 4px; } .tg-df-tag-prime { background-color: #00A8E1; color: #fff; } .tg-df-tag-coupons { background-color: #f1f5f9; color: #334155; border: 1px solid #cbd5e1; cursor: pointer; transition: background-color 0.2s; } .tg-df-tag-coupons:hover { background-color: #e2e8f0; } .tg-df-tag-outline { background-color: #f1f5f9; color: #334155; border: 1px solid #cbd5e1; cursor: pointer; transition: background-color 0.2s; } .tg-df-tag-outline:hover { background-color: #e2e8f0; } @keyframes tg-df-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .tg-df-coupon-spinner { border: 2px solid #e2e8f0; border-top: 2px solid #3b82f6; border-radius: 50%; width: 14px; height: 14px; animation: tg-df-spin 1s linear infinite; margin: 4px 8px; display: inline-block; } /* Vouchers Modal */ .tg-df-modal-backdrop { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 10000; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 0.3s; } .tg-df-modal-backdrop.active { opacity: 1; pointer-events: auto; } .tg-df-modal { background: #fff; border-radius: 12px; width: 90%; max-width: 400px; max-height: 80vh; display: flex; flex-direction: column; box-shadow: 0 10px 40px rgba(0,0,0,0.2); transform: translateY(20px); transition: transform 0.3s; } .tg-df-modal-backdrop.active .tg-df-modal { transform: translateY(0); } .tg-df-modal-header { padding: 16px; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; justify-content: space-between; } .tg-df-modal-title { font-size: 16px; font-weight: 600; margin: 0; } .tg-df-modal-close { background: none; border: none; cursor: pointer; padding: 4px; color: #64748b; } .tg-df-modal-body { padding: 16px; overflow-y: auto; } .tg-df-voucher-item { padding: 12px; border: 1px dashed #cbd5e1; border-radius: 8px; margin-bottom: 10px; background: #f8fafc; display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; transition: background-color 0.2s, border-color 0.2s; } .tg-df-voucher-item:hover { background: #f1f5f9; border-color: #94a3b8; } .tg-df-voucher-item:last-child { margin-bottom: 0; } .tg-df-voucher-logo { width: 48px; height: 48px; object-fit: contain; border-radius: 4px; background: #fff; border: 1px solid #e2e8f0; flex-shrink: 0; } .tg-df-voucher-content { flex: 1; min-width: 0; } .tg-df-voucher-title { font-size: 14px; font-weight: 600; margin: 0 0 4px 0; line-height: 1.3; color: #0f172a; } .tg-df-voucher-expiry { font-size: 12px; color: #64748b; display: flex; align-items: center; gap: 4px; margin-top: 6px; } .tg-df-voucher-code { display: inline-flex; align-items: center; background: #f1f5f9; border: 1px dashed #cbd5e1; padding: 6px 10px; font-family: monospace; font-weight: 700; font-size: 14px; color: #0f172a; border-radius: 4px; margin-top: 8px; cursor: pointer; transition: all 0.2s ease; } .tg-df-voucher-code:hover { background: #e2e8f0; border-color: #94a3b8; } .tg-df-voucher-code.copied { background: #ecfdf5; border-color: #10b981; color: #10b981; } .tg-df-voucher-cta { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 600; color: #2563eb; text-decoration: none; } .tg-df-card-title { font-size: 15px; font-weight: 400; line-height: 1.4; margin: 0 0 12px 0; color: var(–tg-df-text); } .tg-df-card-footer { margin-top: auto; display: flex; flex-direction: column; width: 100%; } .tg-df-card-price-group { display: flex; flex-direction: row; align-items: center; gap: 8px; margin-bottom: 12px; } .tg-df-card-price { font-size: 16px; font-weight: 700; color: #dc2626; /* Red price */ line-height: 1; } .tg-df-card-msrp { font-size: 13px; color: var(–tg-df-text-muted); text-decoration: line-through; } .tg-df-container .tg-df-card-cta { display: flex; align-items: center; justify-content: center; width: calc(100% + 32px); max-width: none; box-sizing: border-box; background-color: var(–tg-df-blue); color: #ffffff; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; padding: 12px 16px; border-radius: 0; border: none; cursor: pointer; transition: background-color 0.2s ease; margin: 0 -16px -16px -16px; } .tg-df-card:hover .tg-df-card-cta, .tg-df-card-cta:hover { filter: brightness(0.85); } /* 5. State & Skeleton Styles */ .tg-df-message { grid-column: 1 / -1; text-align: center; padding: 48px 24px; color: var(–tg-df-text-muted); font-size: 16px; background: var(–tg-df-bg); border: 1px solid var(–tg-df-border); border-radius: 8px; } @keyframes tg-df-shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } } .tg-df-skeleton { background: linear-gradient(90deg, var(–tg-df-bg-secondary) 25%, #e2e8f0 50%, var(–tg-df-bg-secondary) 75%); background-size: 200% 100%; animation: tg-df-shimmer 1.5s infinite; border-radius: 4px; } .tg-df-skeleton-img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } .tg-df-skeleton-text { height: 16px; margin-bottom: 8px; width: 100%; } .tg-df-skeleton-text.short { width: 40%; } .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; } /* Editor Floating Bar & Elements */ .tg-df-editor-bar { position: sticky; top: 120px; z-index: 1000; background: #111827; color: #fff; padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 4px 12px rgba(0,0,0,0.15); } .tg-df-editor-bar-text { font-weight: 600; font-size: 14px; } .tg-df-editor-copy-btn { background: #10b981; color: #fff; padding: 6px 16px; border: none; border-radius: 4px; font-weight: 600; cursor: pointer; display: flex; align-items: center; font-size: 13px; } .tg-df-editor-copy-btn:hover { background: #059669; } .tg-df-deal-checkbox { position: absolute; top: 12px; right: 12px; z-index: 10; width: 20px; height: 20px; cursor: pointer; pointer-events: auto; } /* Optional mobile 2×2 filter grid */ .tg-df-mobile-2×2-container { display: none; width: 100%; margin: 0 0 16px 0; position: relative; z-index: 30; } .tg-df-mobile-2×2-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; border: 1px solid var(–tg-df-border, #e2e8f0); background: var(–tg-df-bg, #ffffff); } .tg-df-container .tg-df-mobile-grid-cell { appearance: none; display: flex; align-items: center; justify-content: space-between; min-width: 0; padding: 12px 14px; font-family: inherit; font-size: 11px; font-weight: 600; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.5px; text-align: left; color: var(–tg-df-text-muted, #64748b); background: var(–tg-df-bg, #ffffff); border: 0; border-radius: 0; cursor: pointer; box-shadow: none; } .tg-df-mobile-grid-cell > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .tg-df-mobile-grid-cell > svg { flex: 0 0 auto; margin-left: 8px; transition: transform 0.15s ease; } .tg-df-mobile-grid-cell > svg.is-open { transform: rotate(180deg); } .tg-df-mobile-grid-cell { border-bottom: 1px solid var(–tg-df-border, #e2e8f0); } .tg-df-mobile-grid-cell:nth-child(odd) { border-right: 1px solid var(–tg-df-border, #e2e8f0); } .tg-df-mobile-2×2-grid–even .tg-df-mobile-grid-cell:nth-last-child(-n + 2) { border-bottom: 0; } .tg-df-mobile-2×2-grid–odd .tg-df-mobile-grid-cell:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; } .tg-df-container .tg-df-mobile-grid-cell.active, .tg-df-container .tg-df-mobile-grid-cell:hover { background: var(–tg-df-bg-secondary, #f8fafc); color: var(–tg-df-text, #0f172a); } .tg-df-container .tg-df-mobile-grid-cell.has-active-filter { background: var(–tg-df-blue, #1f69ff); color: #ffffff; } .tg-df-mobile-menu-drawer { width: 100%; max-height: 260px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(–tg-df-border, #e2e8f0); border-top: 0; background: var(–tg-df-bg, #ffffff); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); } .tg-df-container .tg-df-mobile-menu-item { appearance: none; display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 42px; padding: 12px 16px; font-family: inherit; font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; color: var(–tg-df-text, #0f172a); background: var(–tg-df-bg, #ffffff); border: 0; border-bottom: 1px solid #f1f5f9; border-radius: 0; cursor: pointer; box-shadow: none; } .tg-df-container .tg-df-mobile-menu-item:last-child { border-bottom: 0; } .tg-df-container .tg-df-mobile-menu-item.selected { color: var(–tg-df-blue, #1f69ff); background: rgba(31, 105, 255, 0.08); font-weight: 600; } .tg-df-container .tg-df-mobile-menu-item:hover { background: var(–tg-df-bg-secondary, #f8fafc); } .tg-df-mobile-cell-badge { display: inline-flex; align-items: center; justify-content: center; padding: 2px 6px; margin-left: 4px; color: var(–tg-df-blue, #1f69ff); background: rgba(31, 105, 255, 0.1); border-radius: 9999px; font-size: 10px; font-weight: 700; } @container tg-df (max-width: 599px) { .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-mobile-2×2-container { display: block !important; z-index: 50; background: var(–tg-df-bg, #ffffff); box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08); } .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”][data-tg-df-sticky-mobile-filters=”true”] .tg-df-mobile-2×2-container { position: sticky !important; top: var(–fcaw-mobile-sticky-offset, 0px); } .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-categories-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-freeform-tags-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-brands-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-controls { display: none !important; } } @media (max-width: 599px) { .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-mobile-2×2-container { display: block !important; z-index: 50; background: var(–tg-df-bg, #ffffff); box-shadow: 0 2px 5px rgba(15, 23, 42, 0.08); } .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”][data-tg-df-sticky-mobile-filters=”true”] .tg-df-mobile-2×2-container { position: sticky !important; top: var(–fcaw-mobile-sticky-offset, 0px); } .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-categories-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-freeform-tags-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-brands-row-container, .tg-df-widget-host[data-tg-df-mobile-dropdowns=”true”] .tg-df-controls { display: none !important; } } /* A non-full-bleed desktop embed is constrained to the article column. Reuse the compact filter grid there instead of squeezing the rails. */ @container tg-df (min-width: 600px) { .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-mobile-2×2-container { display: block !important; } .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-categories-row-container, .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-freeform-tags-row-container, .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-brands-row-container, .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-controls { display: none !important; } } @media (min-width: 600px) { .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-mobile-2×2-container { display: block !important; } .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-categories-row-container, .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-freeform-tags-row-container, .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-brands-row-container, .tg-df-widget-host[data-tg-df-full-bleed=”false”] .tg-df-controls { display: none !important; } } /* 6. Mobile List View (Stacks into a cleaner horizontal row/list) */ @container tg-df (max-width: 599px) { .tg-df-mobile-authors { gap: 16px !important; } .tg-df-mobile-authors .tg-df-author-row-item { width: 56px !important; } .tg-df-mobile-authors .tg-df-author-img-wrapper { width: 48px !important; height: 48px !important; } .tg-df-mobile-authors .tg-df-author-brand-logo { width: 18px !important; height: 18px !important; bottom: -2px !important; right: -2px !important; } .tg-df-mobile-authors .tg-df-author-row-name { font-size: 11px !important; } .tg-df-mobile-authors .tg-df-author-row-role { font-size: 10px !important; } .tg-df-container { user-select: text; -webkit-user-select: text; border: none !important; border-radius: 0 !important; } .tg-df-controls { padding: 16px 0 8px; } .tg-df-top-bar { width: 100%; } .tg-df-settings-dropdown { position: fixed; top: auto; bottom: 0; left: 0; right: 0; width: 100%; border-radius: 20px 20px 0 0; padding: 24px; box-shadow: 0 -8px 32px rgba(0,0,0,0.15); z-index: 1000; border: none; border-top: 1px solid var(–tg-df-border); } .tg-df-settings-dropdown-backdrop.active { background: rgba(0,0,0,0.4); } .tg-df-search-wrapper { box-shadow: 0 0 16px rgba(0,0,0,0.08); } .tg-df-sort-wrapper.tg-df-price-range-wrapper { flex: 0 0 auto; min-width: max-content; width: auto; } .tg-df-sort-select, .tg-df-filter-select { width: 100%; text-align: left; padding: 10px 24px 10px 32px; background-position: right 8px center; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .tg-df-sort-icon { left: 10px; } .tg-df-grid:not(.layout-grid):not(.layout-row), .tg-df-grid.layout-row { grid-template-columns: 1fr; gap: 16px; } .tg-df-grid.tg-df-grid-auto { padding-top: 24px; } .tg-df-grid.tg-df-grid-auto .tg-df-card, .tg-df-grid.layout-row .tg-df-card { flex-direction: row; align-items: stretch; height: auto; box-shadow: none; /* simple line on mobile if preferred, or keep */ border-bottom: 1px solid var(–tg-df-border); } .tg-df-grid.tg-df-grid-auto .tg-df-card:hover, .tg-df-grid.layout-row .tg-df-card:hover { box-shadow: none; } .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box, .tg-df-grid.layout-row .tg-df-card-image-box { width: 120px; min-width: 120px; aspect-ratio: 3/4; border-right: none; padding: 12px; } .tg-df-grid.tg-df-grid-auto .tg-df-card-body, .tg-df-grid.layout-row .tg-df-card-body { padding: 12px; justify-content: space-between; } .tg-df-grid.tg-df-grid-auto .tg-df-card-title, .tg-df-grid.layout-row .tg-df-card-title { font-size: 14px; margin-bottom: 8px; } /* Single column mobile grid override */ .tg-df-grid.layout-grid { grid-template-columns: 1fr; gap: 16px; } .tg-df-grid.layout-grid .tg-df-card-image-box { padding: 12px; } .tg-df-grid.layout-grid .tg-df-card-body { padding: 10px; } .tg-df-grid.layout-grid .tg-df-card-title { font-size: 13px; margin-bottom: 8px; } .tg-df-grid.layout-grid .tg-df-card-price { font-size: 14px; } .tg-df-card-footer { flex-direction: column; align-items: stretch; gap: 0; width: 100%; min-width: 0; } .tg-df-card-merchant-pill { margin-bottom: 4px; } .tg-df-card-price-group { flex: 1 1 auto; margin-bottom: 8px; } .tg-df-card-price { font-size: 16px; } .tg-df-card-msrp { display: block; } .tg-df-grid.layout-row .tg-df-card-cta, .tg-df-container .tg-df-card-cta { width: 100%; max-width: none; min-width: 0; box-sizing: border-box; padding: 5px 12px !important; font-size: 11px !important; height: 30px !important; min-height: 30px !important; border-radius: 0 !important; flex: 0 0 auto; text-align: center; white-space: nowrap; line-height: 1.2; margin: 8px 0 0; } } @media (max-width: 599px) { .tg-df-grid.layout-row .tg-df-card-cta, .tg-df-container .tg-df-card-cta { width: 100%; max-width: none; min-width: 0; box-sizing: border-box; padding: 5px 12px !important; font-size: 11px !important; height: 30px !important; min-height: 30px !important; border-radius: 0 !important; flex: 0 0 auto; text-align: center; white-space: nowrap; line-height: 1.2; margin: 8px 0 0; } } .tg-df-container.is-carousel { min-height: 760px; background-color: #E7F0FF; padding: 0 0 24px 0; border-radius: 24px; width: 100vw; max-width: 1200px; position: relative; left: 50%; transform: translateX(-50%); } .tg-df-container.is-carousel.hide-header-details { min-height: 480px; } /* 7. Carousel View Mode */ .tg-df-container .tg-df-carousel-host { /* Layout is now handled by container wrapper */ } .tg-df-container .tg-df-carousel-eyebrow { color: var(–tg-df-blue); font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; padding: 24px 16px 0 16px; display: none; } .tg-df-container .tg-df-carousel-query-title { color: #011535; font-size: 28px; font-weight: 600; padding: 0 16px 24px 16px; line-height: 1.2; display: none; } .tg-df-container .tg-df-carousel-blue-box { background-color: transparent; border-radius: 0; padding: 24px 24px 0 24px; margin: 0; color: var(–tg-df-blue); position: relative; overflow: hidden; } .tg-df-container .tg-df-carousel-bg-circle-1 { display: none; } .tg-df-container .tg-df-carousel-bg-circle-2 { display: none; } .tg-df-container .tg-df-carousel-bg-circle-3 { display: none; } .tg-df-container .tg-df-carousel-box-content { position: relative; z-index: 10; } .tg-df-container .tg-df-carousel-box-eyebrow { background-color: transparent; color: var(–tg-df-blue); font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; display: inline-block; padding: 0; border-radius: 0; } .tg-df-container .tg-df-carousel-box-title { font-size: 28px; font-weight: 600; line-height: 1.2; margin-top: 8px; color: #1e293b; } .tg-df-container .tg-df-countdown-wrapper { position: absolute; top: 0; right: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; transform: scale(0.67); transform-origin: top right; } .tg-df-container .tg-df-countdown-title { font-size: 14px; font-weight: 600; color: #011535; margin: 0; } .tg-df-container .tg-df-countdown-blocks { display: flex; gap: 16px; } .tg-df-container .tg-df-countdown-item { display: flex; flex-direction: column; align-items: center; gap: 4px; } .tg-df-container .tg-df-countdown-box { width: 59px; height: 59px; background: #03FE9E; border-radius: 15px; display: flex; align-items: center; justify-content: center; } .tg-df-container .tg-df-countdown-num { font-family: ‘Inter’, sans-serif; font-weight: 700; font-size: 20px; line-height: normal; color: #011535; } .tg-df-container .tg-df-countdown-label { font-family: ‘Inter’, sans-serif; font-weight: 500; font-size: 16px; line-height: normal; color: #1e293b; text-transform: uppercase; } .tg-df-container .tg-df-carousel-box-subtitle { font-size: 16px; margin-top: 8px; font-weight: 300; color: #1e293b; line-height: 24px; } .tg-df-container .tg-df-carousel-roundels-wrapper { position: relative; margin-top: 24px; margin-left: -24px; margin-right: -24px; } .tg-df-container .tg-df-carousel-roundels { display: flex; gap: 16px; overflow-x: auto; scrollbar-width: none; padding-top: 12px; padding-bottom: 24px; padding-left: 24px; padding-right: 24px; margin-left: 0; margin-right: 0; } .tg-df-container .tg-df-carousel-scroll-right, .tg-df-container .tg-df-carousel-scroll-left { position: absolute; top: 50%; transform: translateY(-50%); height: 36px; width: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background-color: rgba(255, 255, 255, 0.4); color: var(–tg-df-blue); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border: none; cursor: pointer; transition: background-color 0.2s; margin-top: -4px; z-index: 10; } .tg-df-container .tg-df-carousel-scroll-right { right: 0; } .tg-df-container .tg-df-carousel-scroll-left { left: 0; } .tg-df-container .tg-df-carousel-scroll-right:hover, .tg-df-container .tg-df-carousel-scroll-left:hover { background-color: rgba(255, 255, 255, 0.6); } .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right, .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { height: 30px; width: 30px; background-color: rgba(255, 255, 255, 0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-top: 0; color: #0f4098; } .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right:hover, .tg-df-container .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left:hover { background-color: white; } .tg-df-container .tg-df-grid-wrapper { position: relative; } .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-right, .tg-df-container .tg-df-grid-wrapper .tg-df-carousel-scroll-left { background-color: white; box-shadow: 0 4px 12px rgba(0,0,0,0.15); top: 40%; width: 44px; height: 44px; color: #0f4098; } .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar { display: none; } .tg-df-container .tg-df-roundel { display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; min-width: 120px; flex-shrink: 0; } .tg-df-container .tg-df-roundel-img-box { width: 120px; height: 120px; border-radius: 50%; background: white; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08); transition: box-shadow 0.2s; } .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box { box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(–tg-df-blue); } .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box { box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px var(–tg-df-blue); } .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img { transform: scale(1.08); } .tg-df-container .tg-df-roundel-img-box img { width: 100%; height: 100%; object-fit: contain; padding: 10px; box-sizing: border-box; transition: transform 0.3s ease; } .tg-df-container .tg-df-roundel-label { font-size: 13px; font-weight: 400; color: #1e293b; text-align: center; } .tg-df-container .tg-df-carousel-filters-label { font-size: 16px; font-weight: 400; color: #1e293b; white-space: nowrap; margin-right: 4px; } .tg-df-container .tg-df-carousel-filters-wrap { display: flex; align-items: center; flex-wrap: nowrap; gap: 8px; margin-top: 8px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 8px; margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; } .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar { display: none; } .tg-df-container .tg-df-carousel-filter-btn img, .tg-df-container .tg-df-carousel-filter-btn picture { height: 20px; width: 20px; object-fit: contain; object-position: center; display: inline-flex; align-items: center; justify-content: center; margin-right: 6px; } .tg-df-container .tg-df-carousel-filter-btn picture img { margin-right: 0; height: 100%; width: 100%; } .tg-df-container .tg-df-carousel-filter-btn img.active-img, .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) { display: none; } .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img, .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img, .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img), .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) { display: none; } .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img, .tg-df-container .tg-df-carousel-filter-btn.active img.active-img, .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img), .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) { display: inline-flex; } .tg-df-container .tg-df-carousel-filter-btn { background: #ffffff; border: 2px solid #1e293b; color: #1e293b; border-radius: 24px; padding: 6px 16px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s; flex-shrink: 0; white-space: nowrap; } .tg-df-container .tg-df-carousel-filter-btn svg { margin-right: 6px; } .tg-df-container .tg-df-carousel-filter-btn { display: inline-flex; align-items: center; } .tg-df-container .tg-df-carousel-filter-btn:hover, .tg-df-container .tg-df-carousel-filter-btn.active { background: #1e293b; color: white; border-color: #1e293b; } .tg-df-grid.carousel-compact { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 16px; padding: 16px 24px; align-items: stretch; scrollbar-width: none; } .tg-df-grid.carousel-compact::-webkit-scrollbar { display: none; } .tg-df-grid.carousel-compact .tg-df-card { flex: 0 0 auto; width: 200px; min-height: auto; height: auto; display: flex; flex-direction: column; border-radius: 15px; border: none; box-shadow: 0 0 16px rgba(0,0,0,0.08); overflow: visible; } .tg-df-grid.carousel-compact .tg-df-card-image-box { padding: 12px; background-color: transparent; border-radius: 15px 15px 0 0; height: 130px; } .tg-df-grid.carousel-compact .tg-df-card-image { mix-blend-mode: normal; } .tg-df-grid.carousel-compact .tg-df-card-discount-badge { border-radius: 0; top: 0px; left: 0px; padding: 4px 8px; font-size: 11px; } .tg-df-grid.carousel-compact .tg-df-card-body { padding: 8px 12px 12px 12px; } .tg-df-grid.carousel-compact .tg-df-card-title { font-size: 14px; font-weight: 400; -webkit-line-clamp: 2; margin-bottom: 8px; color: #011535; } .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*=”none”]))) > .tg-df-card-title, .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title { -webkit-line-clamp: 3; } .tg-df-grid.carousel-compact .tg-df-card-cta { width: calc(100% + 24px); border-radius: 0; padding: 8px 10px; margin: auto -12px -12px -12px; background-color: var(–tg-df-blue); } .tg-df-grid.carousel-compact .tg-df-card-price-group { margin-bottom: 2px; } .tg-df-grid.carousel-compact .tg-df-card-merchant-pill { margin-bottom: 2px; } @container tg-df (max-width: 599px) { .tg-df-container .tg-df-carousel-blue-box-title { font-size: 24px; } .tg-df-container .tg-df-countdown-title { display: none; } .tg-df-container .tg-df-countdown-wrapper { position: absolute; top: 0; right: 0; align-items: flex-end; transform: scale(0.40); transform-origin: top right; } .tg-df-container .tg-df-roundel { min-width: 88px; } .tg-df-container .tg-df-roundel-img-box { width: 88px; height: 88px; } } /* REPLICA BLOCK STYLES */ .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; } .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; } .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; } .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; } .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; } .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; } .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; } .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; } .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; } .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; } .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; } .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; } .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; } .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; } .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; } .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; padding-right: 12px; } .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; } .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; } .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; } @container tg-df (min-width: 600px) { .tg-df-mobile-only { display: none !important; } } @media (min-width: 600px) { .tg-df-mobile-only { display: none !important; } } @container tg-df (max-width: 599px) { .tg-df-desktop-only { display: none !important; } .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; } .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; } .tg-df-container .hawk-deal-widget-title-product-title, .tg-df-container .hawk-deal-widget-title-price, .tg-df-container .hawk-deal-widget-title-retailer { font-size: 14px !important; line-height: 1.35 !important; font-weight: 700 !important; } .tg-df-container .hawk-deal-widget-title-was-price { font-size: 13px !important; line-height: 1.35 !important; } .tg-df-container .hawk-deal-widget-text-body-main { font-size: 14px !important; line-height: 1.35 !important; margin-bottom: 8px !important; } } .tg-df-grid.savings-squad-cards .tg-df-card-title { -webkit-line-clamp: unset !important; display: block !important; overflow: visible !important; } /* BESPOKE AUTHOR HEADER STYLES – MAX ISOLATION PROTECTION */ .tg-df-author-embed { width: 100% !important; font-family: inherit !important; background: transparent !important; margin: 0 !important; padding: 0 !important; border: none !important; } .tg-df-author-section { display: block !important; width: 100% !important; max-width: 100% !important; opacity: 1 !important; overflow: visible !important; background: transparent !important; border: none !important; margin: 0 auto !important; padding: 0 !important; box-shadow: none !important; } .tg-df-author-card { text-align: center !important; padding: 1.75rem 1rem 1.25rem 1rem !important; margin: 0 auto !important; max-width: 48rem !important; background: transparent !important; border: none !important; border-radius: 0 !important; box-sizing: border-box !important; box-shadow: none !important; } .tg-df-author-image { width: 180px !important; height: 180px !important; border-radius: 50% !important; object-fit: cover !important; margin: 0 auto 0.75rem auto !important; display: block !important; border: none !important; box-shadow: none !important; max-width: 100% !important; } .tg-df-author-media-slot { width: 100% !important; height: 180px !important; min-height: 180px !important; margin: 0 auto 0.75rem auto !important; display: flex !important; align-items: center !important; justify-content: center !important; } .tg-df-author-media-slot .tg-df-author-image { margin: 0 auto !important; } .tg-df-author-profile-image-wrapper { position: relative !important; width: 180px !important; height: 180px !important; margin: 0 auto 0.75rem auto !important; flex: 0 0 auto !important; } .tg-df-author-profile-brand-logo { position: absolute !important; right: 12px !important; bottom: 12px !important; width: 42px !important; height: 42px !important; padding: 0 !important; border: 3px solid var(–tg-df-bg, #fff) !important; border-radius: 50% !important; background: #000 !important; object-fit: contain !important; box-sizing: border-box !important; } .tg-df-author-curated-by { font-size: 0.875rem !important; color: #6B7280 !important; font-style: normal !important; margin: 0 0 0.25rem 0 !important; padding: 0 !important; border: none !important; background: none !important; font-family: inherit !important; text-transform: none !important; letter-spacing: normal !important; line-height: 1.4 !important; } .tg-df-author-name { font-size: 2rem !important; font-weight: 300 !important; color: #111827 !important; margin: 0 0 0.25rem 0 !important; padding: 0 !important; line-height: 1.1 !important; letter-spacing: -0.02em !important; border: none !important; background: none !important; font-family: inherit !important; text-transform: none !important; } .tg-df-author-role { font-size: 0.9375rem !important; font-weight: 500 !important; color: var(–tg-df-blue, #1F69FF) !important; margin: 0 0 1.25rem 0 !important; padding: 0 !important; line-height: 1.3 !important; border: none !important; background: none !important; font-family: inherit !important; text-transform: none !important; } .tg-df-author-meta-slot { width: 100% !important; min-height: 88px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; } .tg-df-author-meta-slot–site { padding-top: 1rem !important; } .tg-df-author-meta-slot–no-social { min-height: 0 !important; } .tg-df-author-meta-slot–no-social .tg-df-author-role { margin-bottom: 0.5rem !important; } .tg-df-author-social-links { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: center !important; gap: 1rem !important; margin: 0 auto 1.25rem auto !important; padding: 0 !important; max-width: 42rem !important; width: 100% !important; list-style: none !important; background: none !important; border: none !important; box-shadow: none !important; } .tg-df-author-social-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; border-radius: 50% !important; background-color: #f2f2f2 !important; color: #111111 !important; font-size: 0.8125rem !important; font-weight: 500 !important; text-decoration: none !important; transition: all 0.2s ease !important; border: 0 !important; line-height: 1 !important; box-shadow: none !important; cursor: pointer !important; outline: none !important; margin: 0 !important; height: 34px !important; width: 34px !important; min-width: 34px !important; box-sizing: border-box !important; } .tg-df-author-social-btn:hover { background-color: #dedede !important; color: #111111 !important; transform: translateY(-1px) !important; } .tg-df-author-social-btn > svg { width: 19px !important; height: 19px !important; flex-shrink: 0 !important; display: block !important; margin: 0 !important; } .tg-df-author-social-btn[data-social-key=”facebook”] > svg { transform: scale(1.25) !important; } .tg-df-author-social-btn[data-social-key=”pinterest”] > svg, .tg-df-author-social-btn[data-social-key=”tiktok”] > svg { transform: scale(1.2) !important; } .tg-df-author-bio { max-width: 42rem !important; margin: 0 auto 1.25rem auto !important; padding: 0 0.5rem !important; color: #4b5563 !important; line-height: 1.6 !important; font-weight: 300 !important; font-size: 0.9375rem !important; text-align: center !important; background: none !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; display: block !important; height: auto !important; overflow: visible !important; } .tg-df-author-bio-shell–stable { width: 100% !important; box-sizing: border-box !important; } .tg-df-author-bio–clamped { min-height: 4.8em !important; height: 4.8em !important; max-height: 4.8em !important; display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 3 !important; overflow: hidden !important; } .tg-df-author-bio–expanded { min-height: 4.8em !important; height: auto !important; max-height: none !important; display: block !important; overflow: visible !important; } .tg-df-author-bio–static, .tg-df-author-bio–static:hover, .tg-df-author-bio–static:focus, .tg-df-author-bio–static:focus-visible { outline: none !important; box-shadow: none !important; cursor: default !important; } .tg-df-author-bio-toggle-slot { height: 28px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0.125rem 0 0 !important; } .tg-df-author-bio-toggle { appearance: none !important; border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important; padding: 0.125rem 0 !important; margin: 0 !important; background: transparent !important; color: #4b5563 !important; box-shadow: none !important; font: inherit !important; font-size: 0.75rem !important; font-weight: 600 !important; line-height: 1.2 !important; text-decoration: none !important; text-transform: none !important; cursor: pointer !important; } .tg-df-author-bio a { color: var(–tg-df-blue, #1F69FF) !important; text-decoration: underline !important; font-weight: 400 !important; background: none !important; border: none !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; display: inline !important; box-shadow: none !important; } .tg-df-author-bio p, .tg-df-author-bio div, .tg-df-author-bio span { margin: 0 !important; padding: 0 !important; color: inherit !important; font: inherit !important; line-height: inherit !important; text-align: inherit !important; text-transform: none !important; letter-spacing: normal !important; background: none !important; border: none !important; box-shadow: none !important; } .tg-df-author-bio strong, .tg-df-author-bio b { font-weight: 600 !important; } .tg-df-author-bio em, .tg-df-author-bio i { font-style: italic !important; } @container tg-df (min-width: 600px) { .tg-df-author-image { width: 180px !important; height: 180px !important; } .tg-df-author-name { font-size: 2.5rem !important; } } @media (min-width: 600px) { .tg-df-author-image { width: 180px !important; height: 180px !important; } .tg-df-author-name { font-size: 2.5rem !important; } } @container tg-df (max-width: 768px) { .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; } .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; } .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; } } @media (max-width: 768px) { .tg-df-container .hawk-deal-widget-footer { display: flex !important; justify-content: flex-start !important; width: 100% !important; margin-top: auto !important; } .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; justify-content: flex-start !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; } .tg-df-container .hawk-deal-widget-text-cta-container { padding-right: 12px !important; } } @container tg-df (max-width: 500px) { .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; } .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; } .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; } .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; } .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; } .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; } } @media (max-width: 500px) { .tg-df-container .hawk-deal-widget-wrap { display: flex !important; flex-direction: row !important; align-items: stretch !important; gap: 12px !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-image-container { display: flex !important; flex-shrink: 0 !important; width: 110px !important; max-width: 110px !important; height: auto !important; align-items: center !important; justify-content: center !important; background: #f8fafc !important; border-radius: 6px !important; padding: 8px !important; margin: 0 !important; float: none !important; box-sizing: border-box !important; } .tg-df-container .hawk-lazy-image-deal-widget { max-height: 120px !important; max-width: 100% !important; height: auto !important; width: auto !important; object-fit: contain !important; } .tg-df-container .hawk-deal-widget-text-cta-container { display: flex !important; flex-direction: column !important; justify-content: space-between !important; flex: 1 !important; min-width: 0 !important; width: auto !important; text-align: left !important; gap: 6px !important; padding-right: 12px !important; } .tg-df-container .hawk-deal-widget-text-body-container { width: 100% !important; } .tg-df-author-line-mobile { padding: 2px 0 4px 0 !important; margin-bottom: 2px !important; } .tg-df-container .hawk-deal-widget-footer { display: flex !important; margin-top: auto !important; clear: none !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper { display: flex !important; width: 100% !important; align-items: stretch !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: flex !important; width: 100% !important; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; align-items: center !important; justify-content: center !important; max-width: none !important; width: 100% !important; min-width: 0 !important; padding: 5px 12px !important; font-size: 11px !important; font-weight: 700 !important; margin: 0 !important; border-radius: 0 !important; height: 30px !important; } } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button { align-items: center; background-color: var(–tg-df-blue); box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s; } .tg-df-container .hawk-deal-widget-button-wrapper .hawk-affiliate-link-deal-button:hover { filter: brightness(0.85); text-decoration: none; } .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; } .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; } .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; } .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; } .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title, .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; } .tg-df-active-badges-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; margin-bottom: 16px; width: 100%; } .tg-df-active-badge { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; background-color: var(–tg-df-blue, #1f69ff); color: #ffffff; border: 1px solid var(–tg-df-blue, #1f69ff); border-radius: 0px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1; } .tg-df-badge-remove { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 0px; border: none; background: rgba(255, 255, 255, 0.25); color: #ffffff; cursor: pointer; padding: 0; margin-left: 4px; transition: background-color 0.15s, color 0.15s; } .tg-df-badge-remove:hover { background: rgba(255, 255, 255, 0.45); color: #ffffff; } .tg-df-badge-clear-all { display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; line-height: 1; padding: 8px 14px; color: var(–tg-df-text-muted, #64748b); cursor: pointer; background: #ffffff; border: 1px solid var(–tg-df-border, #e2e8f0); border-radius: 0px; transition: all 0.15s ease; } .tg-df-badge-clear-all:hover { background: var(–tg-df-blue, #1f69ff); color: #ffffff; border-color: var(–tg-df-blue, #1f69ff); } .tg-df-savings-squad-header { margin-bottom: 24px; text-align: center; } .tg-df-banner-img-desktop { display: block; width: 100%; height: auto; margin-bottom: 32px; } .tg-df-banner-img-mobile { display: none; width: 100%; height: auto; margin-bottom: 32px; } @container tg-df (max-width: 600px) { .tg-df-banner-img-desktop { display: none; } .tg-df-banner-img-mobile { display: block; } } .tg-df-header-title { font-size: 28px; font-weight: 700; color: var(–tg-df-text); margin: 32px 0 12px 0; line-height: 1.3; } .tg-df-header-subtitle { font-size: 16px; color: var(–tg-df-text-muted); margin: 0 0 32px 0; line-height: 1.5; } @container tg-df (max-width: 599px) { .tg-df-filters-container { display: none !important; } #tg-df-controls { display: none !important; } .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; } .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; } .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; } } @media (max-width: 599px) { .tg-df-desktop-only { display: none !important; } .tg-df-filters-container { display: none !important; } #tg-df-controls { display: none !important; } .tg-df-grid.tg-df-grid-auto, .tg-df-grid { padding-top: 0px !important; } .tg-df-container .hawk-deal-widget-container:first-child { padding-top: 8px !important; } .tg-df-container .tg-df-card:first-child { margin-top: 0px !important; } } /* Article Intro Content Styling */ .tg-df-article-content { font-size: 1rem; line-height: 1.7; color: #334155; } .tg-df-article-content p { margin-bottom: 1.25rem; line-height: 1.7; font-size: 1rem; color: #334155; } .tg-df-article-content > p:first-of-type::first-letter { font-size: 3.25rem; font-weight: 700; float: left; line-height: 0.85; margin-right: 0.5rem; margin-top: 0.15rem; color: #0f172a; font-family: inherit; } .tg-df-article-content a { color: #0066cc; text-decoration: underline; font-weight: 500; } .tg-df-article-content a:hover { color: #004499; } .tg-df-article-content strong, .tg-df-article-content b { font-weight: 700; color: #0f172a; } .tg-df-article-section-banner { border-bottom: 2px solid #e6007e; margin: 2.25rem 0 1.25rem 0; position: relative; clear: both; } .tg-df-article-section-banner span { background-color: #e6007e; color: #ffffff; padding: 6px 16px; font-weight: 700; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em; display: inline-block; }

All PricesUnder $50$50 – $100$100 – $200$200 – $500Over $500
Any discountMin 5%Min 10%Min 15%Min 20%Min 25%Min 30%Min 40%Min 50%Min 60%Min 70%
Save $220Gaming PC | Ryzen 5 5600GT

Yawyore Gaming PC | Ryzen 5 5600GT

The integrated graphics on this processor won’t get you gaming at higher resolutions or higher settings in modern games, but it’s a great way to get into some light 1080p gaming. This gaming PC mainly acts to get you up and running, and you can then upgrade with a (relatively low-power) discrete GPU down the line, though bear in mind if you want the latest and greatest specs, including processor and RAM, you’ll have to upgrade the entire PC, motherboard, too. Also note that you won’t be able to keep many games installed at the same time on that 500 GB drive. Key specs: Ryzen 5 5600GT | 16 GB DDR4-3200 | 512 GB SSD

Save $100.99Cyclone Aqua | RTX 5060

ABS Cyclone Aqua | RTX 5060

You’re making quite a lot of sacrifices here to keep the price tag well under $1,000—namely a pretty lacklustre CPU and only 16 GB of previous-gen RAM. But you are getting an RTX 5060 machine for a very reasonable price in today’s market. That means decent, discrete graphics for 1080p and even some lighter 1440p gaming. Key specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD

Save $300Sirius | RTX 5060

Stormcraft Sirius | RTX 5060

This is a decent little rig for $1,000, primarily thanks to that CPU-GPU combo. For 2026 prices, you’re getting some decent 1080p gaming performance for a reasonable price tag. Just bear in mind that you’re only getting 16 GB of DDR4 RAM, and upgrading to DDR5 in future (presumably when the memory shortage eventually ends) will require a platform upgrade, too. Key specs: Core i5 14400F | RTX 5060 | 16 GB DDR4-3200 | 1 TB SSD

Save $320Cyclone Aqua | RTX 5060

ABS Cyclone Aqua | RTX 5060

If you’re on a budget of around $1,000, this is where it’s at right now. That’s because you’re not just getting the RTX 5060, but also a decent Core i5 CPU and 32 GB of RAM. It’s not DDR5, but even 32 GB of DDR4 is rare these days thanks to the memory shortage, so this is a great all-round deal. Use promo code ABSIGD20 for the full discount. Key specs: Core i5 14400F | RTX 5060 | 32 GB DDR4-3200 | 1 TB SSD ** 14/09/2026 – OUT OF STOCK **

Save $390.99Gamer Xtreme | RTX 5060 Ti 8 GB

CyberPowerPC Gamer Xtreme | RTX 5060 Ti 8 GB

The main reason to opt for this rig is that in addition to the RTX 5060 Ti, it’s also rockin’ a 250KF Plus. We love the non-F version (which is the same but has integrated graphics) as it’s a genuinely great current-gen processor. The only real downside here is it looks like that 16 GB of RAM is a single stick. Welcome to 2026 and the memory shortage, I guess. Key specs: Core Ultra 5 250KF Plus | RTX 5060 Ti 8 GB | 16 GB DDR5 | 1 TB SSD ** 14/09/2026 – PRICE UP **

Save $200Element SE | RTX 5060 Ti 8 GB

iBuyPower Element SE | RTX 5060 Ti 8 GB

If you’re looking for a budget PC, this one is a good shout if you’re looking for something for more than just gaming. The Ryzen 7 here is a great mid-range processor that beats many others in its price bracket, and you’re getting DDR5 RAM which means the AM5 platform will have some longevity to it. Just note it is only a single stick of DDR5 you’re getting. Key specs: Ryzen 7 9700F | RTX 5060 Ti 8 GB | 16 GB DDR5 | 1 TB SSD

Save $200Codex Z2C | RTX 5070

MSI Codex Z2C | RTX 5070

The headline here is obviously that you’re getting an RTX 5070 in a very reasonably priced rig given the 2026 market. The caveat is that CPU is not a full-fledged desktop one, rather a repurposed power-limited and low-cache chip. It’s socket AM5, though, so swapping to a decent Ryzen chip should work wonders. Key specs: Ryzen 7 8700F | RTX 5070 | 16 GB DDR5 | 1 TB SSD

Save $400Slate | RTX 5060 Ti 8 GB

iBuyPower Slate | RTX 5060 Ti 8 GB

This is about as cheap as you’ll find a gaming PC that not only gives decent 1080p and 1440p gaming performance but also gives plenty of wiggle room in the general processing department. That’s thanks not only to the Core i7 chip but also the 32 GB of DDR5 RAM, which offers plenty of peace of mind during this global memory shortage. Sadly you’re only getting the 8 GB version of the GPU, though. Key specs: Core i7 14700F | RTX 5060 Ti 8 GB | 32 GB DDR5-5200 | 1 TB SSD

Save $520Omen 35L Valorant | RTX 5060 Ti 16 GB

HP Omen 35L Valorant | RTX 5060 Ti 16 GB

Yes, this is pushing close to RTX 5070 gaming PC territory, but it’s still a bit cheaper than decent RTX 5070 rigs. And more importantly, here you’re getting a full-fat 16 GB RTX 5060 Ti, which will be enough VRAM to give the GPU some real longevity. Key specs: Core i7 14700F | RTX 5060 Ti 16 GB | 16 GB DDR5-6000 | 1 TB SSD ** 14/09/2026 – PRICE UP **

Codex R2 AI | RTX 5070

MSI Codex R2 AI | RTX 5070

For mid-range gaming, this is about as good as you’ll get for value in 2026. It might only have 16 GB of RAM, but you’re getting a decent processor and an RTX 5070, which makes this gaming PC great for 1080p and 1440p gaming. Key specs: Core Ultra 7 265F | RTX 5070 | 16 GB DDR5 | 1 TB SSD ** 14/09/2026 – PRICE UP **

Save $100Gaming Blaze 5 | RTX 5070

Skytech Gaming Blaze 5 | RTX 5070

We’re in the time of compromises, it seems, because this might offer some serious gaming grunt for the cost, but it also skims pretty significantly on memory. 16 GB of DDR4-3200 isn’t great all-round, but purely for gaming it should be fine. And you’re getting a very nice midrange CPU-GPU combo. Key specs: Core i7 14700F | RTX 5070 | 16 GB DDR4-3200 | 1 TB SSD

Save $600.99Nitro 85 | RTX 5070

Acer Nitro 85 | RTX 5070

Another RTX 5070 gaming PC around the $1,500 mark makes me very happy, given the general dearth of great mid-range rigs for under, say, $1,800. This one only has 16 GB of RAM, but that’s mostly expected in 2026 given the memory shortage. Key specs: Core Ultra 7 265F | RTX 5070 | 16 GB DDR5 | 1 TB SSD ** 14/09/2026 – PRICE UP **

{“@context”:”https://schema.org”,”@type”:”ItemList”,”itemListElement”:[{“@type”:”ListItem”,”position”:1,”item”:{“@type”:”Product”,”name”:”Gaming PC | Ryzen 5 5600GT”,”image”:”https://cdn.mos.cms.futurecdn.net/CiDRRWbxggKXY7ePp2uGZ.png”,”description”:”The integrated graphics on this processor won’t get you gaming at higher resolutions or higher settings in modern games, but it’s a great way to get into some light 1080p gaming. This gaming PC mainly acts to get you up and running, and you can then upgrade with a (relatively low-power) discrete GPU down the line, though bear in mind if you want the latest and greatest specs, including processor and RAM, you’ll have to upgrade the entire PC, motherboard, too. Also note that you won’t be able to keep many games installed at the same time on that 500 GB drive. Key specs: Ryzen 5 5600GT | 16 GB DDR4-3200 | 512 GB SSD”,”brand”:{“@type”:”Brand”,”name”:”Yawyore”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:599.99,”url”:”https://www.newegg.com/yawyore-gaming-pc-gaming-desktop-pcs-amd-radeon-vega-7-amd-ryzen-5-5600gt-16gb-ddr4-1-tb-nvme-m-2-ssd-mx240-black/p/3D5-006U-00001?Item=9SIBWW1KCK3454″,”seller”:{“@type”:”Organization”,”name”:”Newegg”}}}},{“@type”:”ListItem”,”position”:2,”item”:{“@type”:”Product”,”name”:”Cyclone Aqua | RTX 5060″,”image”:”https://cdn.mos.cms.futurecdn.net/WkeyJq8EoGFHiupSwXMxbE.png”,”description”:”You’re making quite a lot of sacrifices here to keep the price tag well under $1,000—namely a pretty lacklustre CPU and only 16 GB of previous-gen RAM. But you are getting an RTX 5060 machine for a very reasonable price in today’s market. That means decent, discrete graphics for 1080p and even some lighter 1440p gaming. Key specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD”,”brand”:{“@type”:”Brand”,”name”:”ABS”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:899,”url”:”https://www.walmart.com/ip/ABS-Cyclone-Aqua-Gaming-Desktop-PC-Windows-11-Intel-Core-5-Processor-120-GeForce-RTX-5060-8GB-16GB-DDR4-RAM-1TB-NVMe-SSD-WiFi-RGB-Prebuilt/20152655037″,”seller”:{“@type”:”Organization”,”name”:”Walmart”}}}},{“@type”:”ListItem”,”position”:3,”item”:{“@type”:”Product”,”name”:”Sirius | RTX 5060″,”image”:”https://cdn.mos.cms.futurecdn.net/rbmXZex7DxDjwx5QK2FvFD.png”,”description”:”This is a decent little rig for $1,000, primarily thanks to that CPU-GPU combo. For 2026 prices, you’re getting some decent 1080p gaming performance for a reasonable price tag. Just bear in mind that you’re only getting 16 GB of DDR4 RAM, and upgrading to DDR5 in future (presumably when the memory shortage eventually ends) will require a platform upgrade, too. Key specs: Core i5 14400F | RTX 5060 | 16 GB DDR4-3200 | 1 TB SSD”,”brand”:{“@type”:”Brand”,”name”:”Stormcraft”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:999.99,”url”:”https://www.newegg.com/stormcraft-sirius-gaming-desktop-pc-geforce-rtx-5060-intel-core-i5-14400f-16gb-ddr4-1tb-ssd-si1440fbb-560n2/p/N82E16883420040?Item=N82E16883420040″,”seller”:{“@type”:”Organization”,”name”:”Newegg”}}}},{“@type”:”ListItem”,”position”:4,”item”:{“@type”:”Product”,”name”:”Cyclone Aqua | RTX 5060″,”image”:”https://cdn.mos.cms.futurecdn.net/S8Tyk34BnPGV8F93N7TNWL.png”,”description”:”If you’re on a budget of around $1,000, this is where it’s at right now. That’s because you’re not just getting the RTX 5060, but also a decent Core i5 CPU and 32 GB of RAM. It’s not DDR5, but even 32 GB of DDR4 is rare these days thanks to the memory shortage, so this is a great all-round deal. Use promo code ABSIGD20 for the full discount. Key specs: Core i5 14400F | RTX 5060 | 32 GB DDR4-3200 | 1 TB SSD ** 14/09/2026 – OUT OF STOCK **”,”brand”:{“@type”:”Brand”,”name”:”ABS”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:1079.99,”url”:”https://www.newegg.com/abs-cyclone-aqua-gaming-desktop-pc-geforce-rtx-5060-intel-core-i5-14400f-32gb-ddr4-1tb-nvme-ssd-c1a45n56r1/p/N82E16883360981?Item=N82E16883360981&cm_sp=product-_-from-price-options”,”seller”:{“@type”:”Organization”,”name”:”Newegg”}}}},{“@type”:”ListItem”,”position”:5,”item”:{“@type”:”Product”,”name”:”Gamer Xtreme | RTX 5060 Ti 8 GB”,”image”:”https://cdn.mos.cms.futurecdn.net/tx97tHDE8nAgNyfGSxR3MY.png”,”description”:”The main reason to opt for this rig is that in addition to the RTX 5060 Ti, it’s also rockin’ a 250KF Plus. We love the non-F version (which is the same but has integrated graphics) as it’s a genuinely great current-gen processor. The only real downside here is it looks like that 16 GB of RAM is a single stick. Welcome to 2026 and the memory shortage, I guess. Key specs: Core Ultra 5 250KF Plus | RTX 5060 Ti 8 GB | 16 GB DDR5 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”brand”:{“@type”:”Brand”,”name”:”CyberPowerPC”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:1249,”url”:”https://www.walmart.com/ip/CyberPowerPC-Gamer-Xtreme-Gaming-Desktop-Intel-Core-Ultra-5-250KF-Plus-NVIDIA-GeForce-RTX-5060-Ti-8GB-16GB-DDR5-1TB-SSD-Black-GXi4700WST/19938008137″,”seller”:{“@type”:”Organization”,”name”:”Walmart”}}}},{“@type”:”ListItem”,”position”:6,”item”:{“@type”:”Product”,”name”:”Element SE | RTX 5060 Ti 8 GB”,”image”:”https://cdn.mos.cms.futurecdn.net/Vc24jGbzcoMkccmsGz7aKZ.png”,”description”:”If you’re looking for a budget PC, this one is a good shout if you’re looking for something for more than just gaming. The Ryzen 7 here is a great mid-range processor that beats many others in its price bracket, and you’re getting DDR5 RAM which means the AM5 platform will have some longevity to it. Just note it is only a single stick of DDR5 you’re getting. Key specs: Ryzen 7 9700F | RTX 5060 Ti 8 GB | 16 GB DDR5 | 1 TB SSD”,”brand”:{“@type”:”Brand”,”name”:”iBuyPower”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:1299,”url”:”https://www.walmart.com/ip/iBUYPOWER-Element-SE-Gaming-PC-Desktop-AMD-Ryzen-7-9700F-NVIDIA-GeForce-RTX-5060-8GB-16GB-DDR5-RGB-RAM-1TB-NVMe-SSD-ESA7N5603/18407959738″,”seller”:{“@type”:”Organization”,”name”:”Walmart”}}}},{“@type”:”ListItem”,”position”:7,”item”:{“@type”:”Product”,”name”:”Codex Z2C | RTX 5070″,”image”:”https://cdn.mos.cms.futurecdn.net/UjNqHUCE85WPMXT6Mbr7yj.png”,”description”:”The headline here is obviously that you’re getting an RTX 5070 in a very reasonably priced rig given the 2026 market. The caveat is that CPU is not a full-fledged desktop one, rather a repurposed power-limited and low-cache chip. It’s socket AM5, though, so swapping to a decent Ryzen chip should work wonders. Key specs: Ryzen 7 8700F | RTX 5070 | 16 GB DDR5 | 1 TB SSD”,”brand”:{“@type”:”Brand”,”name”:”MSI”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:1399,”url”:”https://www.bhphotovideo.com/c/product/1988926-REG/msi_codex_z2_b8nvp_811us_codex_z2_gaming_desktop.html”,”seller”:{“@type”:”Organization”,”name”:”Bhphotovideo”}}}},{“@type”:”ListItem”,”position”:8,”item”:{“@type”:”Product”,”name”:”Slate | RTX 5060 Ti 8 GB”,”image”:”https://cdn.mos.cms.futurecdn.net/RNM4W8FzUX2vA22VgY9MVF.png”,”description”:”This is about as cheap as you’ll find a gaming PC that not only gives decent 1080p and 1440p gaming performance but also gives plenty of wiggle room in the general processing department. That’s thanks not only to the Core i7 chip but also the 32 GB of DDR5 RAM, which offers plenty of peace of mind during this global memory shortage. Sadly you’re only getting the 8 GB version of the GPU, though. Key specs: Core i7 14700F | RTX 5060 Ti 8 GB | 32 GB DDR5-5200 | 1 TB SSD”,”brand”:{“@type”:”Brand”,”name”:”iBuyPower”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:1399,”url”:”https://www.walmart.com/ip/iBUYPOWER-Slate-Gaming-PC-Desktop-Intel-Core-i7-14700F-NVIDIA-GeForce-RTX-5060Ti-16GB-32GB-DDR5-RGB-RAM-1TB-NVMe-SSD-SBI7N56T03/18471805384″,”seller”:{“@type”:”Organization”,”name”:”Walmart”}}}},{“@type”:”ListItem”,”position”:9,”item”:{“@type”:”Product”,”name”:”Omen 35L Valorant | RTX 5060 Ti 16 GB”,”image”:”https://cdn.mos.cms.futurecdn.net/SR9US22pqCDZ7VPbwou6Do.png”,”description”:”Yes, this is pushing close to RTX 5070 gaming PC territory, but it’s still a bit cheaper than decent RTX 5070 rigs. And more importantly, here you’re getting a full-fat 16 GB RTX 5060 Ti, which will be enough VRAM to give the GPU some real longevity. Key specs: Core i7 14700F | RTX 5060 Ti 16 GB | 16 GB DDR5-6000 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”brand”:{“@type”:”Brand”,”name”:”HP”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:1399.99,”url”:”https://www.bestbuy.com/product/hp-omen-35l-valorant-ltd-ed-gaming-desktop-intel-core-i7-14700f-2024-16gb-memory-nvidia-geforce-rtx-5060-ti-1tb-ssd-navy/JJGTCGHQ22/sku/6643210″,”seller”:{“@type”:”Organization”,”name”:”Bestbuy”}}}},{“@type”:”ListItem”,”position”:10,”item”:{“@type”:”Product”,”name”:”Codex R2 AI | RTX 5070″,”image”:”https://cdn.mos.cms.futurecdn.net/yvZsEZuhiabdtvY8vmhqiF.png”,”description”:”For mid-range gaming, this is about as good as you’ll get for value in 2026. It might only have 16 GB of RAM, but you’re getting a decent processor and an RTX 5070, which makes this gaming PC great for 1080p and 1440p gaming. Key specs: Core Ultra 7 265F | RTX 5070 | 16 GB DDR5 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”brand”:{“@type”:”Brand”,”name”:”MSI”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:1499,”url”:”https://www.walmart.com/ip/MSI-Codex-R2-AI-Gaming-Desktop-Intel-Ultra-7-265F-NVIDIA-RTX-5070-12GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19888222663″,”seller”:{“@type”:”Organization”,”name”:”Walmart”}}}},{“@type”:”ListItem”,”position”:11,”item”:{“@type”:”Product”,”name”:”Gaming Blaze 5 | RTX 5070″,”image”:”https://cdn.mos.cms.futurecdn.net/AXFTeVkHmofZF6dD73ZM7g.png”,”description”:”We’re in the time of compromises, it seems, because this might offer some serious gaming grunt for the cost, but it also skims pretty significantly on memory. 16 GB of DDR4-3200 isn’t great all-round, but purely for gaming it should be fine. And you’re getting a very nice midrange CPU-GPU combo. Key specs: Core i7 14700F | RTX 5070 | 16 GB DDR4-3200 | 1 TB SSD”,”brand”:{“@type”:”Brand”,”name”:”Skytech”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:1599.99,”url”:”https://www.amazon.com/Skytech-Gaming-14700F-Windows-Desktop/dp/B0H7WW23RJ”,”seller”:{“@type”:”Organization”,”name”:”Amazon”}}}},{“@type”:”ListItem”,”position”:12,”item”:{“@type”:”Product”,”name”:”Nitro 85 | RTX 5070″,”image”:”https://cdn.mos.cms.futurecdn.net/qL2XvweF5CCfLFrGbGZLGF.png”,”description”:”Another RTX 5070 gaming PC around the $1,500 mark makes me very happy, given the general dearth of great mid-range rigs for under, say, $1,800. This one only has 16 GB of RAM, but that’s mostly expected in 2026 given the memory shortage. Key specs: Core Ultra 7 265F | RTX 5070 | 16 GB DDR5 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”brand”:{“@type”:”Brand”,”name”:”Acer”},”offers”:{“@type”:”Offer”,”priceCurrency”:”USD”,”price”:1499,”url”:”https://www.walmart.com/ip/Acer-Nitro-Desktop-Intel-Core-Ultra-7-265F-NVIDIA-GeForce-RTX-5070-988-AI-TOPS-12-GB-GDDR7-Video-Memory-16GB-1-TB-SSD-N85-600-UW36-Black-New/20165911163″,”seller”:{“@type”:”Organization”,”name”:”Walmart”}}}}]}

Available Coupons & Deals

No active vouchers found for .

{“authorBioLength”:”short”,”authorFullBleed”:false,”authorHandle”:”all-authors”,”authorName”:”All authors”,”backgroundColor”:”transparent”,”customBio”:””,”discountAmount”:”0″,”editorMode”:false,”editorialMaxAgeMonths”:”12″,”includeBuyingGuideProducts”:false,”includeCollections”:false,”includeDeals”:true,”includeReviewProducts”:false,”mobileDropdowns”:true,”stickyMobileFilters”:false,”offerType”:””,”preloadReviewInventory”:false,”lightweightReviewDelivery”:false,”prioritiseCommercialProducts”:true,”priceRange”:”all”,”productSelection”:”latest”,”query”:”Everything”,”region”:”auto”,”resultCount”:”12″,”retailer”:””,”selectedBrands”:[],”showAuthorBio”:false,”showAuthorCounters”:true,”showAuthorIdentity”:false,”showAuthorRail”:false,”showBrandRail”:true,”showCategoryRail”:true,”showCollectionsDropdown”:false,”showPriceDiscountFilters”:true,”showReviewSort”:false,”showSocialButtons”:false,”showCountdown”:false,”showHeaderDetails”:true,”showFreeformTagRail”:false,”sort”:”date_desc”,”viewMode”:”author”,”website”:”pcgamer”,”widgetSubtitle”:”Discover the best discounts currently available, curated daily by the Tom’s Guide Savings Squad.”,”widgetTitle”:”Top Deals Handpicked by Our Editors”,”brands”:[],”shortenedHeadlines”:{},”compactEmbed”:true} {“authors”:[{“bioLong”:”James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.”,”bioShort”:”James is a more recent PC gaming convert, often admiring graphics cards, cases, and motherboards from afar. It was not until 2019, after just finishing a degree in law and media, that they decided to throw out the last few years of education, build their PC, and start writing about gaming instead. In that time, he has covered the latest doodads, contraptions, and gismos, and loved every second of it. Hey, it’s better than writing case briefs.”,”name”:”James”,”fullName”:”James Bentley”,”handle”:”james-bentley”,”role”:”Hardware writer”,”image”:”https://cdn.mos.cms.futurecdn.net/PVsHAkx27zJptZHndizEAE.png”,”brandKey”:”pcgamer”},{“bioLong”:”Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he’s back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.”,”bioShort”:”Dave has been gaming since the days of Zaxxon and Lady Bug on the Colecovision, and code books for the Commodore Vic 20 (Death Race 2000!). He built his first gaming PC at the tender age of 16, and finally finished bug-fixing the Cyrix-based system around a year later. When he dropped it out of the window. He first started writing for Official PlayStation Magazine and Xbox World many decades ago, then moved onto PC Format full-time, then PC Gamer, TechRadar, and T3 among others. Now he’s back, writing about the nightmarish graphics card market, CPUs with more cores than sense, gaming laptops hotter than the sun, and SSDs more capacious than a Cybertruck.”,”name”:”Dave”,”fullName”:”Dave James”,”handle”:”dave-james”,”role”:”Editor-in-Chief, Hardware”,”image”:”https://cdn.mos.cms.futurecdn.net/Ti9gYoetCsh9crRvpUzKD9.png”,”brandKey”:”pcgamer”,”socialNetworks”:[{“key”:”twitter”,”href”:”https://twitter.com/not_the_gk”,”label”:”X (Twitter)”},{“key”:”email”,”href”:”mailto:[email protected]”,”label”:”Email”}]},{“bioLong”:”Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she’s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.u0026nbsp;”,”bioShort”:”Jess has been writing about games for over ten years, spending a significant chunk of that time working on print publications PLAY and Official PlayStation Magazine. When she’s not investigating all things hardware here, she’s either constructing a passionate defence of a 7/10 game, daydreaming about her debut novel, or feeling wistful about the last time she chased some nerds around a field with an oversized foam sword.u0026nbsp;”,”name”:”Jess”,”fullName”:”Jess Kinghorn”,”handle”:”jess-kinghorn”,”role”:”Hardware Writer”,”image”:”https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png”,”brandKey”:”pcgamer”,”socialNetworks”:[{“key”:”twitter”,”href”:”https://twitter.com/KoeniginKatze”,”label”:”X (Twitter)”},{“key”:”linkedin”,”href”:”https://www.linkedin.com/in/jess-kinghorn”,”label”:”LinkedIn”}]},{“bioLong”:”Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob’s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world’s #1 PC Gaming site full-time. It’s definitely not an ego thing, he assures us.”,”bioShort”:”Jacob got his hands on a gaming PC for the first time when he was about 12 years old. He swiftly realised the local PC repair store had ripped him off with his build and vowed never to let another soul build his rig again. With this vow, Jacob the hardware junkie was born. Since then, Jacob’s led a double-life as part-hardware geek, part-philosophy nerd, first working as a Hardware Writer for PCGamesN in 2020, then working towards a PhD in Philosophy for a few years while freelancing on the side for sites such as TechRadar, Pocket-lint, and yours truly, PC Gamer. Eventually, he gave up the ruthless mercenary life to join the world’s #1 PC Gaming site full-time. It’s definitely not an ego thing, he assures us.”,”name”:”Jacob”,”fullName”:”Jacob Fox”,”handle”:”jacob-fox”,”role”:”Hardware Writer”,”image”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”brandKey”:”pcgamer”},{“bioLong”:”Jacob earned his first byline writing for his own tech blog, before graduating to breaking things professionally at PCGamesN, where he was one half of a popular weekly YouTube show. Joining PC Gamer in 2020, Jacob is now managing editor of the hardware team, and you’ll usually find him testing the latest components or building a gaming PC. He says he’s determined to build a fort as big as a house out of case boxes. Jacob enjoys heading out of the office to report from floors, benches, and, if he’s lucky, plush press rooms at the biggest tech shows, such as Computex and CES. When he’s not writing about components, you’ll find Jacob trying to get away from the modern world as fast as possible by bike and pitching up camp in murky woods.”,”bioShort”:”Jacob has been writing about PC hardware and technology for over eight years. He earned his first byline at PCGamesN before joining PC Gamer. He spends most of his time building PCs, running benchmarks, and trying his best to learn Linux.”,”name”:”Jacob”,”fullName”:”Jacob Ridley”,”handle”:”jacob-ridley”,”role”:”Managing Editor, Hardware”,”image”:”https://cdn.mos.cms.futurecdn.net/2YNigoLXbckPdRPDe3stwA.png”,”brandKey”:”pcgamer”}],”brands”:[{“formatted_value”:”Acer”,”count”:36},{“formatted_value”:”MSI”,”count”:33},{“formatted_value”:”Asus”,”count”:18},{“formatted_value”:”Crucial”,”count”:17},{“formatted_value”:”Samsung”,”count”:14},{“formatted_value”:”Andromeda Insights”,”count”:13},{“formatted_value”:”Gigabyte”,”count”:13},{“formatted_value”:”Team Group”,”count”:11},{“formatted_value”:”ASRock”,”count”:11},{“formatted_value”:”WD_Black”,”count”:9},{“formatted_value”:”iBuyPower”,”count”:8},{“formatted_value”:”ABS”,”count”:7},{“formatted_value”:”Skytech”,”count”:7},{“formatted_value”:”LG”,”count”:7},{“formatted_value”:”HP”,”count”:6},{“formatted_value”:”KTC”,”count”:6},{“formatted_value”:”Silicon Power”,”count”:5},{“formatted_value”:”Adata”,”count”:5},{“formatted_value”:”PNY”,”count”:5},{“formatted_value”:”Lenovo”,”count”:5},{“formatted_value”:”Koorui”,”count”:4},{“formatted_value”:”Alienware”,”count”:4},{“formatted_value”:”Razer”,”count”:4},{“formatted_value”:”Biwin”,”count”:3},{“formatted_value”:”Patriot”,”count”:3},{“formatted_value”:”Yawyore”,”count”:2},{“formatted_value”:”Stormcraft”,”count”:2},{“formatted_value”:”CyberPowerPC”,”count”:2},{“formatted_value”:”AOC”,”count”:2},{“formatted_value”:”Kingston”,”count”:2},{“formatted_value”:”Lexar”,”count”:2},{“formatted_value”:”WD Blue”,”count”:2},{“formatted_value”:”Dell”,”count”:2},{“formatted_value”:”Innocn”,”count”:2},{“formatted_value”:”HyperX”,”count”:2},{“formatted_value”:”Logitech”,”count”:2},{“formatted_value”:”Western Digital WD Blue”,”count”:1},{“formatted_value”:”WD”,”count”:1},{“formatted_value”:”Yeston”,”count”:1},{“formatted_value”:”PowerColor”,”count”:1},{“formatted_value”:”Steam”,”count”:1},{“formatted_value”:”Onix Lumi”,”count”:1},{“formatted_value”:”Turtle Beach”,”count”:1},{“formatted_value”:”Corsair”,”count”:1},{“formatted_value”:”SteelSeries”,”count”:1},{“formatted_value”:”Scuf”,”count”:1},{“formatted_value”:”AVGPC”,”count”:1},{“formatted_value”:”Thermaltake”,”count”:1}],”activeDealTag”:null,”activeFreeformTag”:null,”activeFreeformTags”:[],”couponMap”:{“Newegg”:”none”,”Walmart”:”none”,”Bhphotovideo”:”none”,”Bestbuy”:”none”,”Amazon”:”has”,”Lg”:”none”,”Hp”:”none”,”Store”:”none”},”totalAuthorCount”:5,”totalDealCount”:188,”tagCounts”:{“Gaming PCs”:58,”Hardware”:251,”Gaming Monitors”:45,”SSDs”:54,”Storage”:54,”Graphics Cards”:17,”Gaming Laptops”:24,”Controllers”:1,”Gaming Headsets”:1,”Gaming Audio”:1},”tags”:[“Hardware”,”Gaming PCs”,”SSDs”,”Storage”,”Gaming Monitors”,”Gaming Laptops”,”Graphics Cards”,”Controllers”,”Gaming Headsets”,”Gaming Audio”],”freeformTagCounts”:{“intel”:25,”deals”:163,”ryzen”:28,”gaming-pc”:33,”hardware”:251,”oled”:2,”aoc-q27gazd”:1,”1440p”:1,”1440p-gaming-monitor”:1,”gaming-monitor”:10,”gaming-monitor-deal”:9,”aoc”:1,”deal”:47,”ssd”:54,”solid-state-drive”:54,”solid-state”:54,”hdd”:54,”hard-drive”:54,”storage”:54,”gpu”:17,”graphics-card”:17,”buying-guide”:15,”monitor”:8,”esport-monitor”:7,”monitor-deals”:8,”1080p”:2,”4k”:2,”4k-monitor”:7,”4k-gaming”:2,”koorui”:1,”koorui-g2741l”:1,”monitors”:36,”gaming-laptop”:24,”budget”:24,”cheap”:24,”gaming-pc-deals”:9,”collections”:8,”labor-day”:109,”nvidia”:3,”amd”:6,”control-pad”:1,”gamepad”:1,”scuf-gaming”:1,”scuf-valor-pro”:1,”scuf-valor-pro-wired”:1,”wired”:1,”wired-controller”:1,”scuf”:1,”wired-gamepad”:1,”pc-controller”:1,”acer”:4,”prebuilt”:1,”prebuilt-pcs”:1,”gaming-prebuilts”:1,”rtx-5060-ti”:1,”ddr4″:1,”ddr4-ram”:1,”memory”:4,”memory-crisis”:4,”amd-ryzen-5-5600x”:1,”ryzen-5-5600x”:1,”asrock”:1,”oled-gaming-monitor”:1,”msi”:3,”thermaltake”:3,”headset”:1,”gaming-headset”:1,”wireless-gaming-headset”:1,”wireless”:1,”hyperx”:1,”hyperx-cloud-alpha-wireless”:1,”rx-9070-xt”:1,”memory-shortage”:3,”cpu”:3,”bundle”:3,”newegg”:3,”newegg-deals”:3,”asus”:3,”tuf-gaming”:3,”am5″:3,”samsung”:3,”motherboard”:3,”team-group”:3,”combo-deal”:3},”freeformTags”:[{“handle”:”hardware”,”label”:”Hardware”,”requestValue”:”Hardware”},{“handle”:”deals”,”label”:”deals”,”requestValue”:”deals”},{“handle”:”labor-day”,”label”:”labor day”,”requestValue”:”labor day”},{“handle”:”ssd”,”label”:”SSD”,”requestValue”:”SSD”},{“handle”:”solid-state-drive”,”label”:”solid state drive”,”requestValue”:”solid state drive”},{“handle”:”solid-state”,”label”:”solid state”,”requestValue”:”solid state”},{“handle”:”hdd”,”label”:”HDD”,”requestValue”:”HDD”},{“handle”:”hard-drive”,”label”:”Hard Drive”,”requestValue”:”Hard Drive”},{“handle”:”storage”,”label”:”storage”,”requestValue”:”storage”},{“handle”:”deal”,”label”:”deal”,”requestValue”:”deal”},{“handle”:”monitors”,”label”:”monitors”,”requestValue”:”monitors”},{“handle”:”gaming-pc”,”label”:”gaming pc”,”requestValue”:”gaming pc”},{“handle”:”ryzen”,”label”:”Ryzen”,”requestValue”:”Ryzen”},{“handle”:”intel”,”label”:”Intel”,”requestValue”:”Intel”},{“handle”:”gaming-laptop”,”label”:”gaming laptop”,”requestValue”:”gaming laptop”},{“handle”:”budget”,”label”:”budget”,”requestValue”:”budget”},{“handle”:”cheap”,”label”:”cheap”,”requestValue”:”cheap”},{“handle”:”gpu”,”label”:”GPU”,”requestValue”:”GPU”},{“handle”:”graphics-card”,”label”:”graphics card”,”requestValue”:”graphics card”},{“handle”:”buying-guide”,”label”:”buying guide”,”requestValue”:”buying guide”},{“handle”:”gaming-monitor”,”label”:”gaming monitor”,”requestValue”:”gaming monitor”},{“handle”:”gaming-monitor-deal”,”label”:”Gaming Monitor deal”,”requestValue”:”Gaming Monitor deal”},{“handle”:”gaming-pc-deals”,”label”:”gaming PC deals”,”requestValue”:”gaming PC deals”},{“handle”:”monitor”,”label”:”monitor”,”requestValue”:”monitor”},{“handle”:”monitor-deals”,”label”:”Monitor deals”,”requestValue”:”Monitor deals”},{“handle”:”collections”,”label”:”collections”,”requestValue”:”collections”},{“handle”:”esport-monitor”,”label”:”esport monitor”,”requestValue”:”esport monitor”},{“handle”:”4k-monitor”,”label”:”4K monitor”,”requestValue”:”4K monitor”},{“handle”:”amd”,”label”:”AMD”,”requestValue”:”AMD”},{“handle”:”acer”,”label”:”Acer”,”requestValue”:”Acer”},{“handle”:”memory”,”label”:”memory”,”requestValue”:”memory”},{“handle”:”memory-crisis”,”label”:”memory crisis”,”requestValue”:”memory crisis”},{“handle”:”nvidia”,”label”:”Nvidia”,”requestValue”:”Nvidia”},{“handle”:”msi”,”label”:”MSI”,”requestValue”:”MSI”},{“handle”:”thermaltake”,”label”:”Thermaltake”,”requestValue”:”Thermaltake”},{“handle”:”memory-shortage”,”label”:”memory shortage”,”requestValue”:”memory shortage”},{“handle”:”cpu”,”label”:”CPU”,”requestValue”:”CPU”},{“handle”:”bundle”,”label”:”bundle”,”requestValue”:”bundle”},{“handle”:”newegg”,”label”:”Newegg”,”requestValue”:”Newegg”},{“handle”:”newegg-deals”,”label”:”newegg deals”,”requestValue”:”newegg deals”},{“handle”:”asus”,”label”:”Asus”,”requestValue”:”Asus”},{“handle”:”tuf-gaming”,”label”:”TUF Gaming”,”requestValue”:”TUF Gaming”},{“handle”:”am5″,”label”:”AM5″,”requestValue”:”AM5″},{“handle”:”samsung”,”label”:”Samsung”,”requestValue”:”Samsung”},{“handle”:”motherboard”,”label”:”Motherboard”,”requestValue”:”Motherboard”},{“handle”:”team-group”,”label”:”team group”,”requestValue”:”team group”},{“handle”:”combo-deal”,”label”:”combo deal”,”requestValue”:”combo deal”},{“handle”:”oled”,”label”:”OLED”,”requestValue”:”OLED”},{“handle”:”1080p”,”label”:”1080p”,”requestValue”:”1080p”},{“handle”:”4k”,”label”:”4K”,”requestValue”:”4K”},{“handle”:”4k-gaming”,”label”:”4K gaming”,”requestValue”:”4K gaming”},{“handle”:”aoc-q27gazd”,”label”:”AOC Q27GAZD”,”requestValue”:”AOC Q27GAZD”},{“handle”:”1440p”,”label”:”1440p”,”requestValue”:”1440p”},{“handle”:”1440p-gaming-monitor”,”label”:”1440p gaming monitor”,”requestValue”:”1440p gaming monitor”},{“handle”:”aoc”,”label”:”AOC”,”requestValue”:”AOC”},{“handle”:”koorui”,”label”:”Koorui”,”requestValue”:”Koorui”},{“handle”:”koorui-g2741l”,”label”:”Koorui G2741L”,”requestValue”:”Koorui G2741L”},{“handle”:”control-pad”,”label”:”control pad”,”requestValue”:”control pad”},{“handle”:”gamepad”,”label”:”gamepad”,”requestValue”:”gamepad”},{“handle”:”scuf-gaming”,”label”:”Scuf Gaming”,”requestValue”:”Scuf Gaming”},{“handle”:”scuf-valor-pro”,”label”:”Scuf Valor Pro”,”requestValue”:”Scuf Valor Pro”},{“handle”:”scuf-valor-pro-wired”,”label”:”Scuf Valor Pro wired”,”requestValue”:”Scuf Valor Pro wired”},{“handle”:”wired”,”label”:”wired”,”requestValue”:”wired”},{“handle”:”wired-controller”,”label”:”wired controller”,”requestValue”:”wired controller”},{“handle”:”scuf”,”label”:”Scuf”,”requestValue”:”Scuf”},{“handle”:”wired-gamepad”,”label”:”wired gamepad”,”requestValue”:”wired gamepad”},{“handle”:”pc-controller”,”label”:”PC controller”,”requestValue”:”PC controller”},{“handle”:”prebuilt”,”label”:”prebuilt”,”requestValue”:”prebuilt”},{“handle”:”prebuilt-pcs”,”label”:”Prebuilt PCs”,”requestValue”:”Prebuilt PCs”},{“handle”:”gaming-prebuilts”,”label”:”gaming prebuilts”,”requestValue”:”gaming prebuilts”},{“handle”:”rtx-5060-ti”,”label”:”RTX 5060 Ti”,”requestValue”:”RTX 5060 Ti”},{“handle”:”ddr4″,”label”:”ddr4″,”requestValue”:”ddr4″},{“handle”:”ddr4-ram”,”label”:”DDR4 RAM”,”requestValue”:”DDR4 RAM”},{“handle”:”amd-ryzen-5-5600x”,”label”:”AMD Ryzen 5 5600X”,”requestValue”:”AMD Ryzen 5 5600X”},{“handle”:”ryzen-5-5600x”,”label”:”Ryzen 5 5600X”,”requestValue”:”Ryzen 5 5600X”},{“handle”:”asrock”,”label”:”ASRock”,”requestValue”:”ASRock”},{“handle”:”oled-gaming-monitor”,”label”:”oled gaming monitor”,”requestValue”:”oled gaming monitor”},{“handle”:”headset”,”label”:”headset”,”requestValue”:”headset”},{“handle”:”gaming-headset”,”label”:”gaming headset”,”requestValue”:”gaming headset”},{“handle”:”wireless-gaming-headset”,”label”:”wireless gaming headset”,”requestValue”:”wireless gaming headset”},{“handle”:”wireless”,”label”:”wireless”,”requestValue”:”wireless”},{“handle”:”hyperx”,”label”:”HyperX”,”requestValue”:”HyperX”},{“handle”:”hyperx-cloud-alpha-wireless”,”label”:”HyperX Cloud Alpha Wireless”,”requestValue”:”HyperX Cloud Alpha Wireless”},{“handle”:”rx-9070-xt”,”label”:”RX 9070 XT”,”requestValue”:”RX 9070 XT”}],”reviewInventoryBaked”:false,”regionalDealManifests”:{“US”:[{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-0″,”url”:”https://www.newegg.com/yawyore-gaming-pc-gaming-desktop-pcs-amd-radeon-vega-7-amd-ryzen-5-5600gt-16gb-ddr4-1-tb-nvme-m-2-ssd-mx240-black/p/3D5-006U-00001?Item=9SIBWW1KCK3454″,”image”:”https://cdn.mos.cms.futurecdn.net/CiDRRWbxggKXY7ePp2uGZ.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/CiDRRWbxggKXY7ePp2uGZ.png”,”title”:”Gaming PC | Ryzen 5 5600GT”,”brand”:”Yawyore”,”productName”:”Gaming PC | Ryzen 5 5600GT”,”merchant”:”Newegg”,”rawPrice”:599.99,”rawMsrp”:819.99,”price”:”599.99″,”msrp”:”819.99″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $220″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”The integrated graphics on this processor won’t get you gaming at higher resolutions or higher settings in modern games, but it’s a great way to get into some light 1080p gaming. This gaming PC mainly acts to get you up and running, and you can then upgrade with a (relatively low-power) discrete GPU down the line, though bear in mind if you want the latest and greatest specs, including processor and RAM, you’ll have to upgrade the entire PC, motherboard, too. Also note that you won’t be able to keep many games installed at the same time on that 500 GB drive. Key specs: Ryzen 5 5600GT | 16 GB DDR4-3200 | 512 GB SSD”,”text”:”u003cpu003eThe integrated graphics on this processor won’t get you gaming at higher resolutions or higher settings in modern games, but it’s a great way to get into some light 1080p gaming. This gaming PC mainly acts to get you up and running, and you can then upgrade with a (relatively low-power) discrete GPU down the line, though bear in mind if you want the latest and greatest specs, including processor and RAM, you’ll have to upgrade the entire PC, motherboard, too. Also note that you won’t be able to keep many games installed at the same time on that 500 GB drive. u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 5 5600GT | 16 GB DDR4-3200 | 512 GB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-1″,”url”:”https://www.walmart.com/ip/ABS-Cyclone-Aqua-Gaming-Desktop-PC-Windows-11-Intel-Core-5-Processor-120-GeForce-RTX-5060-8GB-16GB-DDR4-RAM-1TB-NVMe-SSD-WiFi-RGB-Prebuilt/20152655037″,”image”:”https://cdn.mos.cms.futurecdn.net/WkeyJq8EoGFHiupSwXMxbE.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/WkeyJq8EoGFHiupSwXMxbE.png”,”title”:”Cyclone Aqua | RTX 5060″,”brand”:”ABS”,”productName”:”Cyclone Aqua | RTX 5060″,”merchant”:”Walmart”,”rawPrice”:899,”rawMsrp”:999.99,”price”:”899″,”msrp”:”999.99″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $100.99″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”You’re making quite a lot of sacrifices here to keep the price tag well under $1,000—namely a pretty lacklustre CPU and only 16 GB of previous-gen RAM. But you are getting an RTX 5060 machine for a very reasonable price in today’s market. That means decent, discrete graphics for 1080p and even some lighter 1440p gaming. Key specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSD”,”text”:”u003cpu003eYou’re making quite a lot of sacrifices here to keep the price tag well under $1,000—namely a pretty lacklustre CPU and only 16 GB of previous-gen RAM. But you u003cemu003eare u003c/emu003egetting an RTX 5060 machine for a very reasonable price in today’s market. That means decent, discrete graphics for 1080p and even some lighter 1440p gaming.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core 5 120 | RTX 5060 | 16 GB DDR4 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-2″,”url”:”https://www.newegg.com/stormcraft-sirius-gaming-desktop-pc-geforce-rtx-5060-intel-core-i5-14400f-16gb-ddr4-1tb-ssd-si1440fbb-560n2/p/N82E16883420040?Item=N82E16883420040″,”image”:”https://cdn.mos.cms.futurecdn.net/rbmXZex7DxDjwx5QK2FvFD.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/rbmXZex7DxDjwx5QK2FvFD.png”,”title”:”Sirius | RTX 5060″,”brand”:”Stormcraft”,”productName”:”Sirius | RTX 5060″,”merchant”:”Newegg”,”rawPrice”:999.99,”rawMsrp”:1299.99,”price”:”999.99″,”msrp”:”1299.99″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $300″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”This is a decent little rig for $1,000, primarily thanks to that CPU-GPU combo. For 2026 prices, you’re getting some decent 1080p gaming performance for a reasonable price tag. Just bear in mind that you’re only getting 16 GB of DDR4 RAM, and upgrading to DDR5 in future (presumably when the memory shortage eventually ends) will require a platform upgrade, too. Key specs: Core i5 14400F | RTX 5060 | 16 GB DDR4-3200 | 1 TB SSD”,”text”:”u003cpu003eThis is a decent little rig for $1,000, primarily thanks to that CPU-GPU combo. For 2026 prices, you’re getting some decent 1080p gaming performance for a reasonable price tag. Just bear in mind that you’re only getting 16 GB of DDR4 RAM, and upgrading to DDR5 in future (presumably when the memory shortage eventually ends) will require a platform upgrade, too.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core i5 14400F | RTX 5060 | 16 GB DDR4-3200 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-3″,”url”:”https://www.newegg.com/abs-cyclone-aqua-gaming-desktop-pc-geforce-rtx-5060-intel-core-i5-14400f-32gb-ddr4-1tb-nvme-ssd-c1a45n56r1/p/N82E16883360981?Item=N82E16883360981u0026cm_sp=product-_-from-price-options”,”image”:”https://cdn.mos.cms.futurecdn.net/S8Tyk34BnPGV8F93N7TNWL.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/S8Tyk34BnPGV8F93N7TNWL.png”,”title”:”Cyclone Aqua | RTX 5060″,”brand”:”ABS”,”productName”:”Cyclone Aqua | RTX 5060″,”merchant”:”Newegg”,”rawPrice”:1079.99,”rawMsrp”:1399.99,”price”:”1079.99″,”msrp”:”1399.99″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $320″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”If you’re on a budget of around $1,000, this is where it’s at right now. That’s because you’re not just getting the RTX 5060, but also a decent Core i5 CPU and 32 GB of RAM. It’s not DDR5, but even 32 GB of DDR4 is rare these days thanks to the memory shortage, so this is a great all-round deal. Use promo code ABSIGD20 for the full discount. Key specs: Core i5 14400F | RTX 5060 | 32 GB DDR4-3200 | 1 TB SSD ** 14/09/2026 – OUT OF STOCK **”,”text”:”u003cpu003eIf you’re on a budget of around $1,000, this is where it’s at right now. That’s because you’re not just getting the RTX 5060, but also a decent Core i5 CPU and 32 GB of RAM. It’s not DDR5, but even 32 GB of DDR4 is rare these days thanks to the memory shortage, so this is a great all-round deal. u003cstrongu003eUse promo code ABSIGD20 for the full discount.u003c/strongu003eu003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core i5 14400F | RTX 5060 | 32 GB DDR4-3200 | 1 TB SSDu003c/strongu003eu003c/pu003eu003cpu003eu003cstrongu003e** 14/09/2026 – OUT OF STOCK **u003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-4″,”url”:”https://www.walmart.com/ip/CyberPowerPC-Gamer-Xtreme-Gaming-Desktop-Intel-Core-Ultra-5-250KF-Plus-NVIDIA-GeForce-RTX-5060-Ti-8GB-16GB-DDR5-1TB-SSD-Black-GXi4700WST/19938008137″,”image”:”https://cdn.mos.cms.futurecdn.net/tx97tHDE8nAgNyfGSxR3MY.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/tx97tHDE8nAgNyfGSxR3MY.png”,”title”:”Gamer Xtreme | RTX 5060 Ti 8 GB”,”brand”:”CyberPowerPC”,”productName”:”Gamer Xtreme | RTX 5060 Ti 8 GB”,”merchant”:”Walmart”,”rawPrice”:1249,”rawMsrp”:1639.99,”price”:”1249″,”msrp”:”1639.99″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $390.99″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”The main reason to opt for this rig is that in addition to the RTX 5060 Ti, it’s also rockin’ a 250KF Plus. We love the non-F version (which is the same but has integrated graphics) as it’s a genuinely great current-gen processor. The only real downside here is it looks like that 16 GB of RAM is a single stick. Welcome to 2026 and the memory shortage, I guess. Key specs: Core Ultra 5 250KF Plus | RTX 5060 Ti 8 GB | 16 GB DDR5 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”text”:”u003cpu003eThe main reason to opt for this rig is that in addition to the RTX 5060 Ti, it’s also rockin’ a 250KF Plus. We love u003ca href=”https://www.pcgamer.com/hardware/processors/intel-core-ultra-5-250k-plus-review/” target=”_blank”u003ethe non-F versionu003c/au003e (which is the same but has integrated graphics) as it’s a genuinely great current-gen processor. The only real downside here is it looks like that 16 GB of RAM is a single stick. Welcome to 2026 and the memory shortage, I guess.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core Ultra 5 250KF Plus | RTX 5060 Ti 8 GB | 16 GB DDR5 | 1 TB SSD u003c/strongu003eu003c/pu003eu003cpu003eu003cstrongu003e** 14/09/2026 – PRICE UP **u003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-5″,”url”:”https://www.walmart.com/ip/iBUYPOWER-Element-SE-Gaming-PC-Desktop-AMD-Ryzen-7-9700F-NVIDIA-GeForce-RTX-5060-8GB-16GB-DDR5-RGB-RAM-1TB-NVMe-SSD-ESA7N5603/18407959738″,”image”:”https://cdn.mos.cms.futurecdn.net/Vc24jGbzcoMkccmsGz7aKZ.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/Vc24jGbzcoMkccmsGz7aKZ.png”,”title”:”Element SE | RTX 5060 Ti 8 GB”,”brand”:”iBuyPower”,”productName”:”Element SE | RTX 5060 Ti 8 GB”,”merchant”:”Walmart”,”rawPrice”:1299,”rawMsrp”:1499,”price”:”1299″,”msrp”:”1499″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $200″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”If you’re looking for a budget PC, this one is a good shout if you’re looking for something for more than just gaming. The Ryzen 7 here is a great mid-range processor that beats many others in its price bracket, and you’re getting DDR5 RAM which means the AM5 platform will have some longevity to it. Just note it is only a single stick of DDR5 you’re getting. Key specs: Ryzen 7 9700F | RTX 5060 Ti 8 GB | 16 GB DDR5 | 1 TB SSD”,”text”:”u003cpu003eIf you’re looking for a budget PC, this one is a good shout if you’re looking for something for more than just gaming. The Ryzen 7 here is a great mid-range processor that beats many others in its price bracket, and you’re getting DDR5 RAM which means the AM5 platform will have some longevity to it. Just note it is only a single stick of DDR5 you’re getting.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 7 9700F | RTX 5060 Ti 8 GB | 16 GB DDR5 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-6″,”url”:”https://www.bhphotovideo.com/c/product/1988926-REG/msi_codex_z2_b8nvp_811us_codex_z2_gaming_desktop.html”,”image”:”https://cdn.mos.cms.futurecdn.net/UjNqHUCE85WPMXT6Mbr7yj.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/UjNqHUCE85WPMXT6Mbr7yj.png”,”title”:”Codex Z2C | RTX 5070″,”brand”:”MSI”,”productName”:”Codex Z2C | RTX 5070″,”merchant”:”Bhphotovideo”,”rawPrice”:1399,”rawMsrp”:1599,”price”:”1399″,”msrp”:”1599″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $200″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”The headline here is obviously that you’re getting an RTX 5070 in a very reasonably priced rig given the 2026 market. The caveat is that CPU is not a full-fledged desktop one, rather a repurposed power-limited and low-cache chip. It’s socket AM5, though, so swapping to a decent Ryzen chip should work wonders. Key specs: Ryzen 7 8700F | RTX 5070 | 16 GB DDR5 | 1 TB SSD”,”text”:”u003cpu003eThe headline here is obviously that you’re getting an RTX 5070 in a very reasonably priced rig given the 2026 market. The caveat is that CPU is not a full-fledged desktop one, rather a repurposed power-limited and low-cache chip. It’s socket AM5, though, so swapping to a decent Ryzen chip should work wonders.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 7 8700F | RTX 5070 | 16 GB DDR5 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-7″,”url”:”https://www.walmart.com/ip/iBUYPOWER-Slate-Gaming-PC-Desktop-Intel-Core-i7-14700F-NVIDIA-GeForce-RTX-5060Ti-16GB-32GB-DDR5-RGB-RAM-1TB-NVMe-SSD-SBI7N56T03/18471805384″,”image”:”https://cdn.mos.cms.futurecdn.net/RNM4W8FzUX2vA22VgY9MVF.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/RNM4W8FzUX2vA22VgY9MVF.png”,”title”:”Slate | RTX 5060 Ti 8 GB”,”brand”:”iBuyPower”,”productName”:”Slate | RTX 5060 Ti 8 GB”,”merchant”:”Walmart”,”rawPrice”:1399,”rawMsrp”:1799,”price”:”1399″,”msrp”:”1799″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $400″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”This is about as cheap as you’ll find a gaming PC that not only gives decent 1080p and 1440p gaming performance but also gives plenty of wiggle room in the general processing department. That’s thanks not only to the Core i7 chip but also the 32 GB of DDR5 RAM, which offers plenty of peace of mind during this global memory shortage. Sadly you’re only getting the 8 GB version of the GPU, though. Key specs: Core i7 14700F | RTX 5060 Ti 8 GB | 32 GB DDR5-5200 | 1 TB SSD”,”text”:”u003cpu003eThis is about as cheap as you’ll find a gaming PC that not only gives decent 1080p and 1440p gaming performance but also gives plenty of wiggle room in the general processing department. That’s thanks not only to the Core i7 chip but also the 32 GB of DDR5 RAM, which offers plenty of peace of mind during this global memory shortage. Sadly you’re only getting the 8 GB version of the GPU, though.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core i7 14700F | RTX 5060 Ti 8 GB | 32 GB DDR5-5200 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-8″,”url”:”https://www.bestbuy.com/product/hp-omen-35l-valorant-ltd-ed-gaming-desktop-intel-core-i7-14700f-2024-16gb-memory-nvidia-geforce-rtx-5060-ti-1tb-ssd-navy/JJGTCGHQ22/sku/6643210″,”image”:”https://cdn.mos.cms.futurecdn.net/SR9US22pqCDZ7VPbwou6Do.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/SR9US22pqCDZ7VPbwou6Do.png”,”title”:”Omen 35L Valorant | RTX 5060 Ti 16 GB”,”brand”:”HP”,”productName”:”Omen 35L Valorant | RTX 5060 Ti 16 GB”,”merchant”:”Bestbuy”,”rawPrice”:1399.99,”rawMsrp”:1919.99,”price”:”1399.99″,”msrp”:”1919.99″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $520″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”Yes, this is pushing close to RTX 5070 gaming PC territory, but it’s still a bit cheaper than decent RTX 5070 rigs. And more importantly, here you’re getting a full-fat 16 GB RTX 5060 Ti, which will be enough VRAM to give the GPU some real longevity. Key specs: Core i7 14700F | RTX 5060 Ti 16 GB | 16 GB DDR5-6000 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”text”:”u003cpu003eYes, this is pushing close to RTX 5070 gaming PC territory, but it’s still a bit cheaper than decent RTX 5070 rigs. And more importantly, here you’re getting a full-fat 16 GB RTX 5060 Ti, which will be enough VRAM to give the GPU some real longevity.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core i7 14700F | RTX 5060 Ti 16 GB | 16 GB DDR5-6000 | 1 TB SSDu003c/strongu003eu003c/pu003eu003cpu003eu003cstrongu003e** 14/09/2026 – PRICE UP **u003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-9″,”url”:”https://www.walmart.com/ip/MSI-Codex-R2-AI-Gaming-Desktop-Intel-Ultra-7-265F-NVIDIA-RTX-5070-12GB-16GB-DDR5-1-TB-SSD-Win-11-Black/19888222663″,”image”:”https://cdn.mos.cms.futurecdn.net/yvZsEZuhiabdtvY8vmhqiF.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/yvZsEZuhiabdtvY8vmhqiF.png”,”title”:”Codex R2 AI | RTX 5070″,”brand”:”MSI”,”productName”:”Codex R2 AI | RTX 5070″,”merchant”:”Walmart”,”rawPrice”:1499,”rawMsrp”:0,”price”:”1499″,”msrp”:””,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:””,”savingType”:”none”,”isPrime”:false,”starRating”:null,”description”:”For mid-range gaming, this is about as good as you’ll get for value in 2026. It might only have 16 GB of RAM, but you’re getting a decent processor and an RTX 5070, which makes this gaming PC great for 1080p and 1440p gaming. Key specs: Core Ultra 7 265F | RTX 5070 | 16 GB DDR5 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”text”:”u003cpu003eFor mid-range gaming, this is about as good as you’ll get for value in 2026. It might only have 16 GB of RAM, but you’re getting a decent processor and an RTX 5070, which makes this gaming PC great for 1080p and 1440p gaming.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core Ultra 7 265F | RTX 5070 | 16 GB DDR5 | 1 TB SSDu003c/strongu003eu003c/pu003eu003cpu003eu003cstrongu003e** 14/09/2026 – PRICE UP **u003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-10″,”url”:”https://www.amazon.com/Skytech-Gaming-14700F-Windows-Desktop/dp/B0H7WW23RJ”,”image”:”https://cdn.mos.cms.futurecdn.net/AXFTeVkHmofZF6dD73ZM7g.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/AXFTeVkHmofZF6dD73ZM7g.png”,”title”:”Gaming Blaze 5 | RTX 5070″,”brand”:”Skytech”,”productName”:”Gaming Blaze 5 | RTX 5070″,”merchant”:”Amazon”,”rawPrice”:1599.99,”rawMsrp”:1699.99,”price”:”1599.99″,”msrp”:”1699.99″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $100″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”We’re in the time of compromises, it seems, because this might offer some serious gaming grunt for the cost, but it also skims pretty significantly on memory. 16 GB of DDR4-3200 isn’t great all-round, but purely for gaming it should be fine. And you’re getting a very nice midrange CPU-GPU combo. Key specs: Core i7 14700F | RTX 5070 | 16 GB DDR4-3200 | 1 TB SSD”,”text”:”u003cpu003eWe’re in the time of compromises, it seems, because this might offer some serious gaming grunt for the cost, but it also skims pretty significantly on memory. 16 GB of DDR4-3200 isn’t great all-round, but purely for gaming it should be fine. And you’re getting a very nice midrange CPU-GPU combo. u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core i7 14700F | RTX 5070 | 16 GB DDR4-3200 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-11″,”url”:”https://www.walmart.com/ip/Acer-Nitro-Desktop-Intel-Core-Ultra-7-265F-NVIDIA-GeForce-RTX-5070-988-AI-TOPS-12-GB-GDDR7-Video-Memory-16GB-1-TB-SSD-N85-600-UW36-Black-New/20165911163″,”image”:”https://cdn.mos.cms.futurecdn.net/qL2XvweF5CCfLFrGbGZLGF.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/qL2XvweF5CCfLFrGbGZLGF.png”,”title”:”Nitro 85 | RTX 5070″,”brand”:”Acer”,”productName”:”Nitro 85 | RTX 5070″,”merchant”:”Walmart”,”rawPrice”:1499,”rawMsrp”:2099.99,”price”:”1499″,”msrp”:”2099.99″,”currency”:”$”,”isoCurrency”:”USD”,”isCheckPrice”:false,”savingLabel”:”Save $600.99″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”Another RTX 5070 gaming PC around the $1,500 mark makes me very happy, given the general dearth of great mid-range rigs for under, say, $1,800. This one only has 16 GB of RAM, but that’s mostly expected in 2026 given the memory shortage. Key specs: Core Ultra 7 265F | RTX 5070 | 16 GB DDR5 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”text”:”u003cpu003eAnother RTX 5070 gaming PC around the $1,500 mark makes me very happy, given the general dearth of great mid-range rigs for under, say, $1,800. This one only has 16 GB of RAM, but that’s mostly expected in 2026 given the memory shortage. u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core Ultra 7 265F | RTX 5070 | 16 GB DDR5 | 1 TB SSDu003c/strongu003eu003c/pu003eu003cpu003eu003cstrongu003e** 14/09/2026 – PRICE UP **u003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true}],”GB”:[{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-25″,”url”:”https://www.awd-it.co.uk/awd-it-lian-li-a3-amd-ryzen-5500-1tb-ssd-nvidia-rtx-5060-8gb-microsoft-windows-11-next-day-gaming-pc.html”,”image”:”https://cdn.mos.cms.futurecdn.net/AVW9QmY6adHZpYRTKmMiCm.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/AVW9QmY6adHZpYRTKmMiCm.png”,”title”:”Lian Li A3 | RTX 5060 8 GB”,”brand”:”AWD-IT”,”productName”:”Lian Li A3 | RTX 5060 8 GB”,”merchant”:”Awd-it”,”rawPrice”:949.99,”rawMsrp”:1099.99,”price”:”949.99″,”msrp”:”1099.99″,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:”Save £150″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”This is a great price for all you SFF (small form factor) lovers. You’re getting an older and not very powerful CPU, and only 16 GB of DDR4 RAM, but for a cheap, portable gaming system these should serve just fine alongside the RTX 5060. Usually you have to pay the SFF tax for a mini PC, so it’s great to see such a low price on this one. Don’t expect miracles with this hardware, but for some light gaming and a small physical footprint, look no further. Key specs: Ryzen 5 5500 | RTX 5060 | 16 GB DDR4-3200 | 1 TB SSD”,”text”:”u003cpu003eThis is a great price for all you SFF (small form factor) lovers. You’re getting an older and not very powerful CPU, and only 16 GB of DDR4 RAM, but for a cheap, portable gaming system these should serve just fine alongside the RTX 5060. Usually you have to pay the SFF tax for a mini PC, so it’s great to see such a low price on this one. Don’t expect miracles with this hardware, but for some light gaming and a small physical footprint, look no further.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 5 5500 | RTX 5060 | 16 GB DDR4-3200 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-26″,”url”:”https://www.ebuyer.com/medion-medion-erazer-recon-e45-rtx-5060-gaming-pc—amd-ryzen-5-5500-32gb-1tb-ssd—black-714220″,”image”:”https://cdn.mos.cms.futurecdn.net/iWWRgb5sR68u4dz8Y2wLh8.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/iWWRgb5sR68u4dz8Y2wLh8.png”,”title”:”Erazer Recon E45 | RTX 5060″,”brand”:”Medion”,”productName”:”Erazer Recon E45 | RTX 5060″,”merchant”:”Ebuyer”,”rawPrice”:999.99,”rawMsrp”:1099.99,”price”:”999.99″,”msrp”:”1099.99″,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:”Save £100″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”For £1,000, this is actually a very well-rounded rig. It might be running some previous-gen hardware in the form of the CPU and RAM, but for a budget PC it’ll serve just fine. Particularly noteworthy here is that you’re getting 32 GB of RAM, while most rigs around this price range opt for just 16 GB. Key specs: Ryzen 5 5500 | RTX 5060 | 32 GB DDR4-3200 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”text”:”u003cpu003eFor £1,000, this is actually a very well-rounded rig. It might be running some previous-gen hardware in the form of the CPU and RAM, but for a budget PC it’ll serve just fine. Particularly noteworthy here is that you’re getting 32 GB of RAM, while most rigs around this price range opt for just 16 GB. u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 5 5500 | RTX 5060 | 32 GB DDR4-3200 | 1 TB SSDu003c/strongu003eu003c/pu003eu003cpu003eu003cstrongu003e** 14/09/2026 – PRICE UP **u003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-27″,”url”:”https://www.overclockers.co.uk/ocuk-gaming-quartz-intel-core-i5-12400f-rtx-5060-pre-built-gaming-pc-fs-pb01-ep.html”,”image”:”https://cdn.mos.cms.futurecdn.net/Fc5qaLhxY59pa7M7qjtDkH.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/Fc5qaLhxY59pa7M7qjtDkH.png”,”title”:”Gaming Quartz | RTX 5060″,”brand”:”OcUK”,”productName”:”Gaming Quartz | RTX 5060″,”merchant”:”Overclockers”,”rawPrice”:1099.99,”rawMsrp”:0,”price”:”1099.99″,”msrp”:””,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:””,”savingType”:”none”,”isPrime”:false,”starRating”:null,”description”:”If you’re looking for something around the £1,000 mark, something like this gaming PC will be your best bet. Don’t expect to be able to play all the latest titles on max settings and high resolutions, but for 1080p it’ll do great, and should even handle smooth 1440p gaming in most games if you’re willing to mess around with your settings a little. Key specs: Core i5 12400F | RTX 5060 | 16 GB DDR5-5200 | 1 TB SSD”,”text”:”u003cpu003eIf you’re looking for something around the £1,000 mark, something like this gaming PC will be your best bet. Don’t expect to be able to play all the latest titles on max settings and high resolutions, but for 1080p it’ll do great, and should even handle smooth 1440p gaming in most games if you’re willing to mess around with your settings a little.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core i5 12400F | RTX 5060 | 16 GB DDR5-5200 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-28″,”url”:”https://www.scan.co.uk/products/scan-performance-rtx-intel-core-i5-14400f-32gb-ddr5-8gb-nvidia-rtx-5060-ti-1tb-m2-ssd-win-11″,”image”:”https://cdn.mos.cms.futurecdn.net/ceP5HpoWodaeqLmoAT6Tuk.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/ceP5HpoWodaeqLmoAT6Tuk.png”,”title”:”Performance RTX | RTX 5060 Ti 8 GB”,”brand”:”Scan”,”productName”:”Performance RTX | RTX 5060 Ti 8 GB”,”merchant”:”Scan”,”rawPrice”:1349.99,”rawMsrp”:0,”price”:”1349.99″,”msrp”:””,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:””,”savingType”:”none”,”isPrime”:false,”starRating”:null,”description”:”There are some definite caveats to this build—mainly its slow RAM—but for gaming on a budget closer to $1,000 than $2,000, I’d say this is a good shout. The RTX 5060 Ti, even with just 8 GB of VRAM, should manage almost any modern game at 1080p or 1440p, provided you don’t mind lowering your settings a little in more demanding titles. Key specs: Core i5 14400F | RTX 5060 Ti 8 GB | 16 GB DDR5-4800 | 1 TB SSD”,”text”:”u003cpu003eThere are some definite caveats to this build—mainly its slow RAM—but for gaming on a budget closer to $1,000 than $2,000, I’d say this is a good shout. The RTX 5060 Ti, even with just 8 GB of VRAM, should manage almost any modern game at 1080p or 1440p, provided you don’t mind lowering your settings a little in more demanding titles.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core i5 14400F | RTX 5060 Ti 8 GB | 16 GB DDR5-4800 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-29″,”url”:”https://www.cyberpowersystem.co.uk/system/ultra-57-d457-next-day-pc”,”image”:”https://cdn.mos.cms.futurecdn.net/zzz7AXsxEZgTz6QPgm98cD.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/zzz7AXsxEZgTz6QPgm98cD.png”,”title”:”Ultra 57 D457 | RX 9070 16 GB”,”brand”:”CyberPowerPC”,”productName”:”Ultra 57 D457 | RX 9070 16 GB”,”merchant”:”Cyberpowersystem”,”rawPrice”:1399.2,”rawMsrp”:1499.2,”price”:”1399.2″,”msrp”:”1499.2″,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:”Save £100″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”In some ways this is a peculiar build, because you’re getting a relatively high-end graphics card alongside just 16 GB of DDR4 RAM. But in other ways, it’s an absolute steal, given you’re getting this raw GPU power for well under £1,500. And with 16 GB of VRAM on that GPU, to boot. Key specs: Ryzen 7 5700X | RX 9070 16 GB | 16 GB DDR4-3200 | 1 TB SSD”,”text”:”u003cpu003eIn some ways this is a peculiar build, because you’re getting a relatively high-end graphics card alongside just 16 GB of DDR4 RAM. But in other ways, it’s an absolute steal, given you’re getting this raw GPU power for well under £1,500. And with 16 GB of VRAM on that GPU, to boot.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 7 5700X | RX 9070 16 GB | 16 GB DDR4-3200 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-30″,”url”:”https://www.cclonline.com/hzn-gam-core-203-nd-horizon-ryzen-5-rtx-5070-pre-built-gaming-pc/”,”image”:”https://cdn.mos.cms.futurecdn.net/qUj9RFgagtZPy6KzuboZqU.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/qUj9RFgagtZPy6KzuboZqU.png”,”title”:”Horizon | RTX 5070″,”brand”:”CCL”,”productName”:”Horizon | RTX 5070″,”merchant”:”Cclonline”,”rawPrice”:1449.99,”rawMsrp”:0,”price”:”1449.99″,”msrp”:””,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:””,”savingType”:”none”,”isPrime”:false,”starRating”:null,”description”:”You’re not getting the best CPU here, but for gaming it should do fine, especially with that RAM being dual-channel. The main allure here is getting an RTX 5070 in your build for this cheap of a price. If you’re looking for a mid-range build for as cheap as possible, this one is worth considering. Key specs: Ryzen 5 8400F | RTX 5070 | 16 GB DDR5 | 1 TB SSD”,”text”:”u003cpu003eYou’re not getting the best CPU here, but for gaming it should do fine, especially with that RAM being dual-channel. The main allure here is getting an RTX 5070 in your build for this cheap of a price. If you’re looking for a mid-range build for as cheap as possible, this one is worth considering.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 5 8400F | RTX 5070 | 16 GB DDR5 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-31″,”url”:”https://www.cyberpowersystem.co.uk/system/infinity-u597-next-day-pc”,”image”:”https://cdn.mos.cms.futurecdn.net/Z88KYeCSimmFYvChrKrx5C.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/Z88KYeCSimmFYvChrKrx5C.png”,”title”:”Infinity U597 | RX 9070 16 GB”,”brand”:”CyberPowerPC”,”productName”:”Infinity U597 | RX 9070 16 GB”,”merchant”:”Cyberpowersystem”,”rawPrice”:1599.6,”rawMsrp”:0,”price”:”1599.6″,”msrp”:””,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:””,”savingType”:”none”,”isPrime”:false,”starRating”:null,”description”:”This rig might not have the most powerful CPU in the world, but it does come with 32 GB of DDR5 RAM, which gives it some great longevity during the current global memory shortage. And that RX 9070 is a fantastic midrange GPU that can even come close to matching some higher-end ones with a little overclocking. Key specs: Core Ultra 5 225F | RX 9070 16 GB | 32 GB DDR5-5600 | 1 TB SSD”,”text”:”u003cpu003eThis rig might not have the most powerful CPU in the world, but it does come with 32 GB of DDR5 RAM, which gives it some great longevity during the current global memory shortage. And that RX 9070 is a fantastic midrange GPU that can even come close to matching some higher-end ones with a little overclocking.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core Ultra 5 225F | RX 9070 16 GB | 32 GB DDR5-5600 | 1 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-32″,”url”:”https://www.awd-it.co.uk/awd-it-frame-4000d-rs-ryzen-5-9600x-gaming-pc-rx-9070-xt-16gb-desktop-pc-for-gaming.html”,”image”:”https://cdn.mos.cms.futurecdn.net/7nX84VjZFm6crXfae2UtF.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/7nX84VjZFm6crXfae2UtF.png”,”title”:”Frame 4000D | RX 9070 XT”,”brand”:”AWD-IT”,”productName”:”Frame 4000D | RX 9070 XT”,”merchant”:”Awd-it”,”rawPrice”:1829.97,”rawMsrp”:2039.97,”price”:”1829.97″,”msrp”:”2039.97″,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:”Save £210″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”This all-AMD gaming PC is about as cheap as you’ll get for some bona fide high-end gameplay these days. You are having to settle for just 1 TB of storage and not the highest-end CPU, but it’s still a more than capable rig, even for 4K gaming in most games. Just make sure you configure the build to match the specs below and price listed here. Key specs: Ryzen 5 9600X | RX 9070 XT | 16 GB DDR5-6000 | 1 TB SSD (Kingston ver.)”,”text”:”u003cpu003eThis all-AMD gaming PC is about as cheap as you’ll get for some bona fide high-end gameplay these days. You are having to settle for just 1 TB of storage and not the highest-end CPU, but it’s still a more than capable rig, even for 4K gaming in most games. Just make sure you u003cstrongu003econfigure the build to match the specs belowu003c/strongu003e and price listed here.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 5 9600X | RX 9070 XT | 16 GB DDR5-6000 | 1 TB SSD (Kingston ver.)u003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-33″,”url”:”https://www.scan.co.uk/products/scan-performance-rtx-intel-core-ultra-5-250k-32gb-ddr5-nvidia-rtx-5070-ti-1tb-m2-ssd-win-11″,”image”:”https://cdn.mos.cms.futurecdn.net/orxckvHVNR5978oY9DCAE.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/orxckvHVNR5978oY9DCAE.png”,”title”:”Performance RTX | RTX 5070 Ti”,”brand”:”Scan”,”productName”:”Performance RTX | RTX 5070 Ti”,”merchant”:”Scan”,”rawPrice”:2229.98,”rawMsrp”:0,”price”:”2229.98″,”msrp”:””,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:””,”savingType”:”none”,”isPrime”:false,”starRating”:null,”description”:”This might actually be the best shout for a high-end gaming PC right now. Of course the RTX 5070 Ti is fantastic, as is 32 GB of fast RAM during a memory shortage. But that CPU is a thing of beauty, too. The refreshed Arrow Lake chip performs about as well as a lower-end X3D chip (which means pretty damn well) but also happens to do incredibly well at productivity and other CPU-intensive tasks, making this a very well-rounded build. Key specs: Core Ultra 5 250K Plus | RTX 5070 Ti | 32 GB DDR5-6000 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”text”:”u003cpu003eThis might actually be the best shout for a high-end gaming PC right now. Of course the RTX 5070 Ti is fantastic, as is 32 GB of fast RAM during a memory shortage. But that CPU is a thing of beauty, too. The refreshed Arrow Lake chip performs about as well as a lower-end X3D chip (which means pretty damn well) but also happens to do incredibly well at productivity and other CPU-intensive tasks, making this a very well-rounded build.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Core Ultra 5 250K Plus | RTX 5070 Ti | 32 GB DDR5-6000 | 1 TB SSDu003c/strongu003eu003c/pu003eu003cpu003eu003cstrongu003e** 14/09/2026 – PRICE UP **u003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-34″,”url”:”https://www.chillblast.com/pcs/chillblast-helios-ryzen-7-9800x3d-rx-9070-xt-pre-built-gaming-pc”,”image”:”https://cdn.mos.cms.futurecdn.net/MxKFSxhKBBinWcNFkTcxqE.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/MxKFSxhKBBinWcNFkTcxqE.png”,”title”:”Helios | RX 9070 XT”,”brand”:”Chillblast”,”productName”:”Helios | RX 9070 XT”,”merchant”:”Chillblast”,”rawPrice”:2499.99,”rawMsrp”:0,”price”:”2499.99″,”msrp”:””,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:””,”savingType”:”none”,”isPrime”:false,”starRating”:null,”description”:”If you’re happy opting for an AMD rather than an Nvidia GPU, this is about as high-end of a rig for such a low price as you can get right now. The best CPU on the market, paired with AMD’s best GPU, plus a whole heap of memory and storage during a global memory shortage. Lovely. Key specs: Ryzen 7 9800X3D | RX 9070 XT | 32 GB DDR5-5200 | 2 TB SSD”,”text”:”u003cpu003eIf you’re happy opting for an AMD rather than an Nvidia GPU, this is about as high-end of a rig for such a low price as you can get right now. The best CPU on the market, paired with AMD’s best GPU, plus a whole heap of memory and storage during a global memory shortage. Lovely.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 7 9800X3D | RX 9070 XT | 32 GB DDR5-5200 | 2 TB SSDu003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dxkEzyn9RrvdYTZs2ZP4fT-35″,”url”:”https://www.scan.co.uk/products/scan-performance-rtx-amd-ryzen-7-7800x3d-32gb-ddr5-16gb-nvidia-rtx-5080-1tb-m2-ssd-win-11″,”image”:”https://cdn.mos.cms.futurecdn.net/tS7QZRFVL4bgjMiJqV9D8Q.png”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/tS7QZRFVL4bgjMiJqV9D8Q.png”,”title”:”Performance RTX | RTX 5080″,”brand”:”Scan”,”productName”:”Performance RTX | RTX 5080″,”merchant”:”Scan”,”rawPrice”:2649.98,”rawMsrp”:0,”price”:”2649.98″,”msrp”:””,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:””,”savingType”:”none”,”isPrime”:false,”starRating”:null,”description”:”If you’re gonna go for a high-end RTX 5080 rig, you also want the CPU to match, and that’s what you’re getting here. Sure, it’s not a current-gen X3D chip, but an X3D chip it is nonetheless, and that means some fantastic gaming performance. There’ll be little worry of significant bottlenecks from either the CPU or GPU here, even in the latest demanding games at very high settings. Key specs: Ryzen 7 7800X3D | RTX 5080 | 32 GB DDR5-6000 | 1 TB SSD ** 14/09/2026 – PRICE UP **”,”text”:”u003cpu003eIf you’re gonna go for a high-end RTX 5080 rig, you also want the CPU to match, and that’s what you’re getting here. Sure, it’s not a u003cemu003ecurrentu003c/emu003e-gen X3D chip, but an X3D chip it is nonetheless, and that means some fantastic gaming performance. There’ll be little worry of significant bottlenecks from either the CPU or GPU here, even in the latest demanding games at very high settings.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: Ryzen 7 7800X3D | RTX 5080 | 32 GB DDR5-6000 | 1 TB SSDu003c/strongu003eu003c/pu003eu003cpu003eu003cstrongu003e** 14/09/2026 – PRICE UP **u003c/strongu003eu003c/pu003e”,”authorName”:”Jacob Fox”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/Ee8ZL5rzgTjTNkBFJ4jBnD.png”,”documentUrl”:”best-cheap-gaming-pc”,”modifiedDate”:”2026-09-14T12:11:58Z”,”isFeatured”:false,”hasCommerceOffer”:true},{“id”:”airedale-dEo6w5awdyYLFzVRfyb5xY-54″,”url”:”https://www.amazon.co.uk/Lexar-Internal-Desktop-Computer-LNS100-512AMZN/dp/B07TQSYBPH/”,”image”:”https://cdn.mos.cms.futurecdn.net/vKnpP6CD5ERjXHziCSaqG7.jpg”,”fallbackImage”:”https://cdn.mos.cms.futurecdn.net/vKnpP6CD5ERjXHziCSaqG7.jpg”,”title”:”NS100 | 512 GB”,”brand”:”Lexar”,”productName”:”NS100 | 512 GB”,”merchant”:”Amazon”,”rawPrice”:82.99,”rawMsrp”:132.99,”price”:”82.99″,”msrp”:”132.99″,”currency”:”£”,”isoCurrency”:”GBP”,”isCheckPrice”:false,”savingLabel”:”Save £50″,”savingType”:”amount”,”isPrime”:false,”starRating”:null,”description”:”For just storing documents, this small SATA SSD is a lot faster than a traditional HDD, and Lexar makes reliable and robust SSDs. You’re still better off getting an NVMe M.2 SSD for games and your operating system, though. Key specs: 2.5-inch | SATA 6 Gb/s | 550 MB/s read | 520 MB/s write”,”text”:”u003cpu003eFor just storing documents, this small SATA SSD is a lot faster than a traditional HDD, and Lexar makes reliable and robust SSDs. You’re still better off getting an NVMe M.2 SSD for games and your operating system, though.u003c/pu003eu003cpu003eu003cstrongu003eKey specs: 2.5-inch | SATA 6 Gb/s | 550 MB/s read | 520 MB/s writeu003c/strongu003eu003c/pu003e”,”authorName”:”Jess Kinghorn”,”authorRole”:”Hardware Writer”,”authorImage”:”https://cdn.mos.cms.futurecdn.net/cMDJJibKgeMg3wogzv9AgY.png”,”documentUrl”:”best-ssd-deals-today”,”modifiedDate”:”2026-09-11T09:37:08Z”,”isFeatured”:false,”hasCommerceOffer”:true}],”AU”:[]},”regionalDealRailData”:{“US”:{“brands”:[{“formatted_value”:”Acer”,”count”:36},{“formatted_value”:”MSI”,”count”:33},{“formatted_value”:”Asus”,”count”:18},{“formatted_value”:”Crucial”,”count”:17},{“formatted_value”:”Samsung”,”count”:14},{“formatted_value”:”Andromeda Insights”,”count”:13},{“formatted_value”:”Gigabyte”,”count”:13},{“formatted_value”:”Team Group”,”count”:11},{“formatted_value”:”ASRock”,”count”:11},{“formatted_value”:”WD_Black”,”count”:9},{“formatted_value”:”iBuyPower”,”count”:8},{“formatted_value”:”ABS”,”count”:7},{“formatted_value”:”Skytech”,”count”:7},{“formatted_value”:”LG”,”count”:7},{“formatted_value”:”HP”,”count”:6},{“formatted_value”:”KTC”,”count”:6},{“formatted_value”:”Silicon Power”,”count”:5},{“formatted_value”:”Adata”,”count”:5},{“formatted_value”:”PNY”,”count”:5},{“formatted_value”:”Lenovo”,”count”:5},{“formatted_value”:”Koorui”,”count”:4},{“formatted_value”:”Alienware”,”count”:4},{“formatted_value”:”Razer”,”count”:4},{“formatted_value”:”Biwin”,”count”:3},{“formatted_value”:”Patriot”,”count”:3},{“formatted_value”:”Yawyore”,”count”:2},{“formatted_value”:”Stormcraft”,”count”:2},{“formatted_value”:”CyberPowerPC”,”count”:2},{“formatted_value”:”AOC”,”count”:2},{“formatted_value”:”Kingston”,”count”:2},{“formatted_value”:”Lexar”,”count”:2},{“formatted_value”:”WD Blue”,”count”:2},{“formatted_value”:”Dell”,”count”:2},{“formatted_value”:”Innocn”,”count”:2},{“formatted_value”:”HyperX”,”count”:2},{“formatted_value”:”Logitech”,”count”:2},{“formatted_value”:”Western Digital WD Blue”,”count”:1},{“formatted_value”:”WD”,”count”:1},{“formatted_value”:”Yeston”,”count”:1},{“formatted_value”:”PowerColor”,”count”:1},{“formatted_value”:”Steam”,”count”:1},{“formatted_value”:”Onix Lumi”,”count”:1},{“formatted_value”:”Turtle Beach”,”count”:1},{“formatted_value”:”Corsair”,”count”:1},{“formatted_value”:”SteelSeries”,”count”:1},{“formatted_value”:”Scuf”,”count”:1},{“formatted_value”:”AVGPC”,”count”:1},{“formatted_value”:”Thermaltake”,”count”:1}],”freeformTagCounts”:{“intel”:25,”deals”:163,”ryzen”:28,”gaming-pc”:33,”hardware”:251,”oled”:2,”aoc-q27gazd”:1,”1440p”:1,”1440p-gaming-monitor”:1,”gaming-monitor”:10,”gaming-monitor-deal”:9,”aoc”:1,”deal”:47,”ssd”:54,”solid-state-drive”:54,”solid-state”:54,”hdd”:54,”hard-drive”:54,”storage”:54,”gpu”:17,”graphics-card”:17,”buying-guide”:15,”monitor”:8,”esport-monitor”:7,”monitor-deals”:8,”1080p”:2,”4k”:2,”4k-monitor”:7,”4k-gaming”:2,”koorui”:1,”koorui-g2741l”:1,”monitors”:36,”gaming-laptop”:24,”budget”:24,”cheap”:24,”gaming-pc-deals”:9,”collections”:8,”labor-day”:109,”nvidia”:3,”amd”:6,”control-pad”:1,”gamepad”:1,”scuf-gaming”:1,”scuf-valor-pro”:1,”scuf-valor-pro-wired”:1,”wired”:1,”wired-controller”:1,”scuf”:1,”wired-gamepad”:1,”pc-controller”:1,”acer”:4,”prebuilt”:1,”prebuilt-pcs”:1,”gaming-prebuilts”:1,”rtx-5060-ti”:1,”ddr4″:1,”ddr4-ram”:1,”memory”:4,”memory-crisis”:4,”amd-ryzen-5-5600x”:1,”ryzen-5-5600x”:1,”asrock”:1,”oled-gaming-monitor”:1,”msi”:3,”thermaltake”:3,”headset”:1,”gaming-headset”:1,”wireless-gaming-headset”:1,”wireless”:1,”hyperx”:1,”hyperx-cloud-alpha-wireless”:1,”rx-9070-xt”:1,”memory-shortage”:3,”cpu”:3,”bundle”:3,”newegg”:3,”newegg-deals”:3,”asus”:3,”tuf-gaming”:3,”am5″:3,”samsung”:3,”motherboard”:3,”team-group”:3,”combo-deal”:3},”freeformTags”:[{“handle”:”hardware”,”label”:”Hardware”,”requestValue”:”Hardware”},{“handle”:”deals”,”label”:”deals”,”requestValue”:”deals”},{“handle”:”labor-day”,”label”:”labor day”,”requestValue”:”labor day”},{“handle”:”ssd”,”label”:”SSD”,”requestValue”:”SSD”},{“handle”:”solid-state-drive”,”label”:”solid state drive”,”requestValue”:”solid state drive”},{“handle”:”solid-state”,”label”:”solid state”,”requestValue”:”solid state”},{“handle”:”hdd”,”label”:”HDD”,”requestValue”:”HDD”},{“handle”:”hard-drive”,”label”:”Hard Drive”,”requestValue”:”Hard Drive”},{“handle”:”storage”,”label”:”storage”,”requestValue”:”storage”},{“handle”:”deal”,”label”:”deal”,”requestValue”:”deal”},{“handle”:”monitors”,”label”:”monitors”,”requestValue”:”monitors”},{“handle”:”gaming-pc”,”label”:”gaming pc”,”requestValue”:”gaming pc”},{“handle”:”ryzen”,”label”:”Ryzen”,”requestValue”:”Ryzen”},{“handle”:”intel”,”label”:”Intel”,”requestValue”:”Intel”},{“handle”:”gaming-laptop”,”label”:”gaming laptop”,”requestValue”:”gaming laptop”},{“handle”:”budget”,”label”:”budget”,”requestValue”:”budget”},{“handle”:”cheap”,”label”:”cheap”,”requestValue”:”cheap”},{“handle”:”gpu”,”label”:”GPU”,”requestValue”:”GPU”},{“handle”:”graphics-card”,”label”:”graphics card”,”requestValue”:”graphics card”},{“handle”:”buying-guide”,”label”:”buying guide”,”requestValue”:”buying guide”},{“handle”:”gaming-monitor”,”label”:”gaming monitor”,”requestValue”:”gaming monitor”},{“handle”:”gaming-monitor-deal”,”label”:”Gaming Monitor deal”,”requestValue”:”Gaming Monitor deal”},{“handle”:”gaming-pc-deals”,”label”:”gaming PC deals”,”requestValue”:”gaming PC deals”},{“handle”:”monitor”,”label”:”monitor”,”requestValue”:”monitor”},{“handle”:”monitor-deals”,”label”:”Monitor deals”,”requestValue”:”Monitor deals”},{“handle”:”collections”,”label”:”collections”,”requestValue”:”collections”},{“handle”:”esport-monitor”,”label”:”esport monitor”,”requestValue”:”esport monitor”},{“handle”:”4k-monitor”,”label”:”4K monitor”,”requestValue”:”4K monitor”},{“handle”:”amd”,”label”:”AMD”,”requestValue”:”AMD”},{“handle”:”acer”,”label”:”Acer”,”requestValue”:”Acer”},{“handle”:”memory”,”label”:”memory”,”requestValue”:”memory”},{“handle”:”memory-crisis”,”label”:”memory crisis”,”requestValue”:”memory crisis”},{“handle”:”nvidia”,”label”:”Nvidia”,”requestValue”:”Nvidia”},{“handle”:”msi”,”label”:”MSI”,”requestValue”:”MSI”},{“handle”:”thermaltake”,”label”:”Thermaltake”,”requestValue”:”Thermaltake”},{“handle”:”memory-shortage”,”label”:”memory shortage”,”requestValue”:”memory shortage”},{“handle”:”cpu”,”label”:”CPU”,”requestValue”:”CPU”},{“handle”:”bundle”,”label”:”bundle”,”requestValue”:”bundle”},{“handle”:”newegg”,”label”:”Newegg”,”requestValue”:”Newegg”},{“handle”:”newegg-deals”,”label”:”newegg deals”,”requestValue”:”newegg deals”},{“handle”:”asus”,”label”:”Asus”,”requestValue”:”Asus”},{“handle”:”tuf-gaming”,”label”:”TUF Gaming”,”requestValue”:”TUF Gaming”},{“handle”:”am5″,”label”:”AM5″,”requestValue”:”AM5″},{“handle”:”samsung”,”label”:”Samsung”,”requestValue”:”Samsung”},{“handle”:”motherboard”,”label”:”Motherboard”,”requestValue”:”Motherboard”},{“handle”:”team-group”,”label”:”team group”,”requestValue”:”team group”},{“handle”:”combo-deal”,”label”:”combo deal”,”requestValue”:”combo deal”},{“handle”:”oled”,”label”:”OLED”,”requestValue”:”OLED”},{“handle”:”1080p”,”label”:”1080p”,”requestValue”:”1080p”},{“handle”:”4k”,”label”:”4K”,”requestValue”:”4K”},{“handle”:”4k-gaming”,”label”:”4K gaming”,”requestValue”:”4K gaming”},{“handle”:”aoc-q27gazd”,”label”:”AOC Q27GAZD”,”requestValue”:”AOC Q27GAZD”},{“handle”:”1440p”,”label”:”1440p”,”requestValue”:”1440p”},{“handle”:”1440p-gaming-monitor”,”label”:”1440p gaming monitor”,”requestValue”:”1440p gaming monitor”},{“handle”:”aoc”,”label”:”AOC”,”requestValue”:”AOC”},{“handle”:”koorui”,”label”:”Koorui”,”requestValue”:”Koorui”},{“handle”:”koorui-g2741l”,”label”:”Koorui G2741L”,”requestValue”:”Koorui G2741L”},{“handle”:”control-pad”,”label”:”control pad”,”requestValue”:”control pad”},{“handle”:”gamepad”,”label”:”gamepad”,”requestValue”:”gamepad”},{“handle”:”scuf-gaming”,”label”:”Scuf Gaming”,”requestValue”:”Scuf Gaming”},{“handle”:”scuf-valor-pro”,”label”:”Scuf Valor Pro”,”requestValue”:”Scuf Valor Pro”},{“handle”:”scuf-valor-pro-wired”,”label”:”Scuf Valor Pro wired”,”requestValue”:”Scuf Valor Pro wired”},{“handle”:”wired”,”label”:”wired”,”requestValue”:”wired”},{“handle”:”wired-controller”,”label”:”wired controller”,”requestValue”:”wired controller”},{“handle”:”scuf”,”label”:”Scuf”,”requestValue”:”Scuf”},{“handle”:”wired-gamepad”,”label”:”wired gamepad”,”requestValue”:”wired gamepad”},{“handle”:”pc-controller”,”label”:”PC controller”,”requestValue”:”PC controller”},{“handle”:”prebuilt”,”label”:”prebuilt”,”requestValue”:”prebuilt”},{“handle”:”prebuilt-pcs”,”label”:”Prebuilt PCs”,”requestValue”:”Prebuilt PCs”},{“handle”:”gaming-prebuilts”,”label”:”gaming prebuilts”,”requestValue”:”gaming prebuilts”},{“handle”:”rtx-5060-ti”,”label”:”RTX 5060 Ti”,”requestValue”:”RTX 5060 Ti”},{“handle”:”ddr4″,”label”:”ddr4″,”requestValue”:”ddr4″},{“handle”:”ddr4-ram”,”label”:”DDR4 RAM”,”requestValue”:”DDR4 RAM”},{“handle”:”amd-ryzen-5-5600x”,”label”:”AMD Ryzen 5 5600X”,”requestValue”:”AMD Ryzen 5 5600X”},{“handle”:”ryzen-5-5600x”,”label”:”Ryzen 5 5600X”,”requestValue”:”Ryzen 5 5600X”},{“handle”:”asrock”,”label”:”ASRock”,”requestValue”:”ASRock”},{“handle”:”oled-gaming-monitor”,”label”:”oled gaming monitor”,”requestValue”:”oled gaming monitor”},{“handle”:”headset”,”label”:”headset”,”requestValue”:”headset”},{“handle”:”gaming-headset”,”label”:”gaming headset”,”requestValue”:”gaming headset”},{“handle”:”wireless-gaming-headset”,”label”:”wireless gaming headset”,”requestValue”:”wireless gaming headset”},{“handle”:”wireless”,”label”:”wireless”,”requestValue”:”wireless”},{“handle”:”hyperx”,”label”:”HyperX”,”requestValue”:”HyperX”},{“handle”:”hyperx-cloud-alpha-wireless”,”label”:”HyperX Cloud Alpha Wireless”,”requestValue”:”HyperX Cloud Alpha Wireless”},{“handle”:”rx-9070-xt”,”label”:”RX 9070 XT”,”requestValue”:”RX 9070 XT”}],”tagCounts”:{“Gaming PCs”:58,”Hardware”:251,”Gaming Monitors”:45,”SSDs”:54,”Storage”:54,”Graphics Cards”:17,”Gaming Laptops”:24,”Controllers”:1,”Gaming Headsets”:1,”Gaming Audio”:1},”tags”:[“Hardware”,”Gaming PCs”,”SSDs”,”Storage”,”Gaming Monitors”,”Gaming Laptops”,”Graphics Cards”,”Controllers”,”Gaming Headsets”,”Gaming Audio”],”totalAuthorCount”:4,”totalDealCount”:188},”GB”:{“brands”:[{“formatted_value”:”Acer”,”count”:11},{“formatted_value”:”MSI”,”count”:10},{“formatted_value”:”Crucial”,”count”:6},{“formatted_value”:”Lexar”,”count”:4},{“formatted_value”:”Gigabyte”,”count”:4},{“formatted_value”:”Scan”,”count”:3},{“formatted_value”:”WD_Black”,”count”:3},{“formatted_value”:”Asus”,”count”:3},{“formatted_value”:”AOC”,”count”:3},{“formatted_value”:”AWD-IT”,”count”:2},{“formatted_value”:”Medion”,”count”:2},{“formatted_value”:”CyberPowerPC”,”count”:2},{“formatted_value”:”Biwin”,”count”:2},{“formatted_value”:”Sandisk”,”count”:2},{“formatted_value”:”Zotac”,”count”:2},{“formatted_value”:”Sapphire”,”count”:2},{“formatted_value”:”LG”,”count”:2},{“formatted_value”:”OcUK”,”count”:1},{“formatted_value”:”CCL”,”count”:1},{“formatted_value”:”Chillblast”,”count”:1},{“formatted_value”:”Silicon Power”,”count”:1},{“formatted_value”:”Adata”,”count”:1},{“formatted_value”:”Sparkle”,”count”:1},{“formatted_value”:”PNY”,”count”:1},{“formatted_value”:”Koorui”,”count”:1},{“formatted_value”:”KTC”,”count”:1},{“formatted_value”:”Alienware”,”count”:1},{“formatted_value”:”Samsung”,”count”:1},{“formatted_value”:”Lenovo”,”count”:1}],”freeformTagCounts”:{“intel”:11,”deals”:75,”ryzen”:11,”gaming-pc”:11,”hardware”:75,”ssd”:23,”solid-state-drive”:23,”solid-state”:23,”hdd”:23,”hard-drive”:23,”storage”:23,”graphics-card”:14,”buying-guide”:14,”gpu”:14,”monitors”:15,”gaming-laptop”:12,”budget”:12,”cheap”:12,”deal”:12},”freeformTags”:[{“handle”:”deals”,”label”:”deals”,”requestValue”:”deals”},{“handle”:”hardware”,”label”:”Hardware”,”requestValue”:”Hardware”},{“handle”:”ssd”,”label”:”SSD”,”requestValue”:”SSD”},{“handle”:”solid-state-drive”,”label”:”solid state drive”,”requestValue”:”solid state drive”},{“handle”:”solid-state”,”label”:”solid state”,”requestValue”:”solid state”},{“handle”:”hdd”,”label”:”HDD”,”requestValue”:”HDD”},{“handle”:”hard-drive”,”label”:”Hard Drive”,”requestValue”:”Hard Drive”},{“handle”:”storage”,”label”:”storage”,”requestValue”:”storage”},{“handle”:”monitors”,”label”:”monitors”,”requestValue”:”monitors”},{“handle”:”graphics-card”,”label”:”graphics card”,”requestValue”:”graphics card”},{“handle”:”buying-guide”,”label”:”buying guide”,”requestValue”:”buying guide”},{“handle”:”gpu”,”label”:”GPU”,”requestValue”:”GPU”},{“handle”:”gaming-laptop”,”label”:”gaming laptop”,”requestValue”:”gaming laptop”},{“handle”:”budget”,”label”:”budget”,”requestValue”:”budget”},{“handle”:”cheap”,”label”:”cheap”,”requestValue”:”cheap”},{“handle”:”deal”,”label”:”deal”,”requestValue”:”deal”},{“handle”:”intel”,”label”:”Intel”,”requestValue”:”Intel”},{“handle”:”ryzen”,”label”:”Ryzen”,”requestValue”:”Ryzen”},{“handle”:”gaming-pc”,”label”:”gaming pc”,”requestValue”:”gaming pc”}],”tagCounts”:{“Gaming PCs”:23,”Hardware”:75,”SSDs”:23,”Storage”:23,”Graphics Cards”:14,”Gaming Monitors”:15,”Gaming Laptops”:12},”tags”:[“Hardware”,”Gaming PCs”,”SSDs”,”Storage”,”Gaming Monitors”,”Graphics Cards”,”Gaming Laptops”],”totalAuthorCount”:3,”totalDealCount”:74},”AU”:{“brands”:[],”freeformTagCounts”:{},”freeformTags”:[],”tagCounts”:{},”tags”:[],”totalAuthorCount”:0,”totalDealCount”:0}}}(()=>{var Y1=Object.create;var lg=Object.defineProperty;var V1=Object.getOwnPropertyDescriptor;var X1=Object.getOwnPropertyNames;var Q1=Object.getPrototypeOf,K1=Object.prototype.hasOwnProperty;var rn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Z1=(e,t,n,a)=>{if(t&&typeof t==”object”||typeof t==”function”)for(let l of X1(t))!K1.call(e,l)&&l!==n&&lg(e,l,{get:()=>t[l],enumerable:!(a=V1(t,l))||a.enumerable});return e};var B=(e,t,n)=>(n=e!=null?Y1(Q1(e)):{},Z1(t||!e||!e.__esModule?lg(n,”default”,{value:e,enumerable:!0}):n,e));var hg=rn(z=>{“use strict”;var Rc=Symbol.for(“react.transitional.element”),W1=Symbol.for(“react.portal”),I1=Symbol.for(“react.fragment”),J1=Symbol.for(“react.strict_mode”),$1=Symbol.for(“react.profiler”),eb=Symbol.for(“react.consumer”),tb=Symbol.for(“react.context”),nb=Symbol.for(“react.forward_ref”),ab=Symbol.for(“react.suspense”),lb=Symbol.for(“react.memo”),cg=Symbol.for(“react.lazy”),ib=Symbol.for(“react.activity”),ig=Symbol.iterator;function rb(e){return e===null||typeof e!=”object”?null:(e=ig&&e[ig]||e[“@@iterator”],typeof e==”function”?e:null)}var sg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},dg=Object.assign,fg={};function gl(e,t,n){this.props=e,this.context=t,this.refs=fg,this.updater=n||sg}gl.prototype.isReactComponent={};gl.prototype.setState=function(e,t){if(typeof e!=”object”&&typeof e!=”function”&&e!=null)throw Error(“takes an object of state variables to update or a function which returns an object of state variables.”);this.updater.enqueueSetState(this,e,t,”setState”)};gl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,”forceUpdate”)};function gg(){}gg.prototype=gl.prototype;function Tc(e,t,n){this.props=e,this.context=t,this.refs=fg,this.updater=n||sg}var Ec=Tc.prototype=new gg;Ec.constructor=Tc;dg(Ec,gl.prototype);Ec.isPureReactComponent=!0;var rg=Array.isArray;function Cc(){}var fe={H:null,A:null,T:null,S:null},mg=Object.prototype.hasOwnProperty;function Dc(e,t,n){var a=n.ref;return{$$typeof:Rc,type:e,key:t,ref:a!==void 0?a:null,props:n}}function ob(e,t){return Dc(e.type,t,e.props)}function xc(e){return typeof e==”object”&&e!==null&&e.$$typeof===Rc}function ub(e){var t={“=”:”=0″,”:”:”=2″};return”$”+e.replace(/[=:]/g,function(n){return t[n]})}var og=//+/g;function Sc(e,t){return typeof e==”object”&&e!==null&&e.key!=null?ub(“”+e.key):t.toString(36)}function cb(e){switch(e.status){case”fulfilled”:return e.value;case”rejected”:throw e.reason;default:switch(typeof e.status==”string”?e.then(Cc,Cc):(e.status=”pending”,e.then(function(t){e.status===”pending”&&(e.status=”fulfilled”,e.value=t)},function(t){e.status===”pending”&&(e.status=”rejected”,e.reason=t)})),e.status){case”fulfilled”:return e.value;case”rejected”:throw e.reason}}throw e}function fl(e,t,n,a,l){var i=typeof e;(i===”undefined”||i===”boolean”)&&(e=null);var r=!1;if(e===null)r=!0;else switch(i){case”bigint”:case”string”:case”number”:r=!0;break;case”object”:switch(e.$$typeof){case Rc:case W1:r=!0;break;case cg:return r=e._init,fl(r(e._payload),t,n,a,l)}}if(r)return l=l(e),r=a===””?”.”+Sc(e,0):a,rg(l)?(n=””,r!=null&&(n=r.replace(og,”$&/”)+”/”),fl(l,t,n,””,function(c){return c})):l!=null&&(xc(l)&&(l=ob(l,n+(l.key==null||e&&e.key===l.key?””:(“”+l.key).replace(og,”$&/”)+”/”)+r)),t.push(l)),1;r=0;var o=a===””?”.”:a+”:”;if(rg(e))for(var u=0;u<e.length;u++)a=e[u],i=o+Sc(a,u),r+=fl(a,t,n,i,l);else if(u=rb(e),typeof u=="function")for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,i=o+Sc(a,u++),r+=fl(a,t,n,i,l);else if(i==="object"){if(typeof e.then=="function")return fl(cb(e),t,n,a,l);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return r}function lo(e,t,n){if(e==null)return e;var a=[],l=0;return fl(e,a,"","",function(i){return t.call(n,i,l++)}),a}function sb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var ug=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},db={map:lo,forEach:function(e,t,n){lo(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return lo(e,function(){t++}),t},toArray:function(e){return lo(e,function(t){return t})||[]},only:function(e){if(!xc(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};z.Activity=ib;z.Children=db;z.Component=gl;z.Fragment=I1;z.Profiler=$1;z.PureComponent=Tc;z.StrictMode=J1;z.Suspense=ab;z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=fe;z.__COMPILER_RUNTIME={__proto__:null,c:function(e){return fe.H.useMemoCache(e)}};z.cache=function(e){return function(){return e.apply(null,arguments)}};z.cacheSignal=function(){return null};z.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=dg({},e.props),l=e.key;if(t!=null)for(i in t.key!==void 0&&(l=""+t.key),t)!mg.call(t,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&t.ref===void 0||(a[i]=t[i]);var i=arguments.length-2;if(i===1)a.children=n;else if(1<i){for(var r=Array(i),o=0;o<i;o++)r[o]=arguments[o+2];a.children=r}return Dc(e.type,l,a)};z.createContext=function(e){return e={$$typeof:tb,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:eb,_context:e},e};z.createElement=function(e,t,n){var a,l={},i=null;if(t!=null)for(a in t.key!==void 0&&(i=""+t.key),t)mg.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(l[a]=t[a]);var r=arguments.length-2;if(r===1)l.children=n;else if(1<r){for(var o=Array(r),u=0;u{“use strict”;yg.exports=hg()});var Eg=rn(be=>{“use strict”;function Nc(e,t){var n=e.length;e.push(t);e:for(;0>>1,l=e[a];if(0>>1;aio(o,n))uio(c,o)?(e[a]=c,e[u]=n,a=u):(e[a]=o,e[r]=n,a=r);else if(uio(c,n))e[a]=c,e[u]=n,a=u;else break e}}return t}function io(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}be.unstable_now=void 0;typeof performance==”object”&&typeof performance.now==”function”?(pg=performance,be.unstable_now=function(){return pg.now()}):(Mc=Date,vg=Mc.now(),be.unstable_now=function(){return Mc.now()-vg});var pg,Mc,vg,bn=[],Yn=[],fb=1,Ht=null,Je=3,Oc=!1,xi=!1,Mi=!1,kc=!1,wg=typeof setTimeout==”function”?setTimeout:null,Sg=typeof clearTimeout==”function”?clearTimeout:null,bg=typeof setImmediate<"u"?setImmediate:null;function ro(e){for(var t=on(Yn);t!==null;){if(t.callback===null)oo(Yn);else if(t.startTime<=e)oo(Yn),t.sortIndex=t.expirationTime,Nc(bn,t);else break;t=on(Yn)}}function Lc(e){if(Mi=!1,ro(e),!xi)if(on(bn)!==null)xi=!0,hl||(hl=!0,ml());else{var t=on(Yn);t!==null&&zc(Lc,t.startTime-e)}}var hl=!1,_i=-1,Cg=5,Rg=-1;function Tg(){return kc?!0:!(be.unstable_now()-Rge&&Tg());){var a=Ht.callback;if(typeof a==”function”){Ht.callback=null,Je=Ht.priorityLevel;var l=a(Ht.expirationTime<=e);if(e=be.unstable_now(),typeof l=="function"){Ht.callback=l,ro(e),t=!0;break t}Ht===on(bn)&&oo(bn),ro(e)}else oo(bn);Ht=on(bn)}if(Ht!==null)t=!0;else{var i=on(Yn);i!==null&&zc(Lc,i.startTime-e),t=!1}}break e}finally{Ht=null,Je=n,Oc=!1}t=void 0}}finally{t?ml():hl=!1}}}var ml;typeof bg=="function"?ml=function(){bg(_c)}:typeof MessageChannele||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Cg=0<e?Math.floor(1e3/e):5};be.unstable_getCurrentPriorityLevel=function(){return Je};be.unstable_next=function(e){switch(Je){case 1:case 2:case 3:var t=3;break;default:t=Je}var n=Je;Je=t;try{return e()}finally{Je=n}};be.unstable_requestPaint=function(){kc=!0};be.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Je;Je=e;try{return t()}finally{Je=n}};be.unstable_scheduleCallback=function(e,t,n){var a=be.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0a?(e.sortIndex=n,Nc(Yn,e),on(bn)===null&&e===on(Yn)&&(Mi?(Sg(_i),_i=-1):Mi=!0,zc(Lc,n-a))):(e.sortIndex=l,Nc(bn,e),xi||Oc||(xi=!0,hl||(hl=!0,ml()))),e};be.unstable_shouldYield=Tg;be.unstable_wrapCallback=function(e){var t=Je;return function(){var n=Je;Je=t;try{return e.apply(this,arguments)}finally{Je=n}}}});var xg=rn((LS,Dg)=>{“use strict”;Dg.exports=Eg()});var _g=rn(it=>{“use strict”;var gb=dt();function Mg(e){var t=”https://react.dev/errors/”+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Vn(){}var lt={d:{f:Vn,r:function(){throw Error(Mg(522))},D:Vn,C:Vn,L:Vn,m:Vn,X:Vn,S:Vn,M:Vn},p:0,findDOMNode:null},mb=Symbol.for("react.portal");function hb(e,t,n){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:mb,key:a==null?null:""+a,children:e,containerInfo:t,implementation:n}}var Bi=gb.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function uo(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}it.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=lt;it.createPortal=function(e,t){var n=2{“use strict”;function Bg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>”u”||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=”function”))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Bg)}catch(e){console.error(e)}}Bg(),Ng.exports=_g()});var Vp=rn(ku=>{“use strict”;var Ue=xg(),ih=dt(),yb=Og();function w(e){var t=”https://react.dev/errors/”+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;nSl||(e.current=ws[Sl],ws[Sl]=null,Sl–)}function se(e,t){Sl++,ws[Sl]=e.current,e.current=t}var dn=fn(null),ar=fn(null),aa=fn(null),jo=fn(null);function Yo(e,t){switch(se(aa,t),se(ar,e),se(dn,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Fm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Fm(t),e=Bp(t,e);else switch(e){case”svg”:e=1;break;case”math”:e=2;break;default:e=0}}je(dn),se(dn,e)}function ql(){je(dn),je(ar),je(aa)}function Ss(e){e.memoizedState!==null&&se(jo,e);var t=dn.current,n=Bp(t,e.type);t!==n&&(se(ar,e),se(dn,n))}function Vo(e){ar.current===e&&(je(dn),je(ar)),jo.current===e&&(je(jo),mr._currentValue=ka)}var Hc,zg;function _a(e){if(Hc===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/n( *(at )?)/);Hc=t&&t[1]||””,zg=-1<n.stack.indexOf(` at`)?" ()”:-1<n.stack.indexOf("@")?"@unknown:0:0":""}return“+Hc+e+zg}var Uc=!1;function Gc(e,t){if(!e||Uc)return"";Uc=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var f=function(){throw Error()};if(Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(m){var d=m}Reflect.construct(e,[],f)}else{try{f.call()}catch(m){d=m}e.call(f.prototype)}}else{try{throw Error()}catch(m){d=m}(f=e())&&typeof f.catch=="function"&&f.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],o=i[1];if(r&&o){var u=r.split(“),c=o.split(“);for(l=a=0;a<u.length&&!u[a].includes("DetermineComponentFrameRoot");)a++;for(;l<c.length&&!c[l].includes("DetermineComponentFrameRoot");)l++;if(a===u.length||l===c.length)for(a=u.length-1,l=c.length-1;1<=a&&0<=l&&u[a]!==c[l];)l–;for(;1<=a&&0l||u[a]!==c[l]){var s=“+u[a].replace(” at new “,” at “);return e.displayName&&s.includes(“”)&&(s=s.replace(“”,e.displayName)),s}while(1<=a&&0>>=0,e===0?32:31-(xb(e)/Mb|0)|0}var so=256,fo=262144,go=4194304;function Ba(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function vu(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var o=a&134217727;return o!==0?(a=o&~i,a!==0?l=Ba(a):(r&=o,r!==0?l=Ba(r):n||(n=o&~e,n!==0&&(l=Ba(n))))):(o=a&~i,o!==0?l=Ba(o):r!==0?l=Ba(r):n||(n=a&~e,n!==0&&(l=Ba(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function br(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Bb(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function hh(){var e=go;return go<n;n++)t.push(e);return t}function Ar(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Nb(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var o=e.entanglements,u=e.expirationTimes,c=e.hiddenUpdates;for(n=r&~n;0<n;){var s=31-Dt(n),f=1<<s;o[s]=0,u[s]=-1;var d=c[s];if(d!==null)for(c[s]=null,s=0;s<d.length;s++){var m=d[s];m!==null&&(m.lane&=-536870913)}n&=~f}a!==0&&yh(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function yh(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Dt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function ph(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Dt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function vh(e,t){var n=t&-t;return n=(n&42)!==0?1:md(n),(n&(e.suspendedLanes|t))!==0?0:n}function md(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function hd(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function bh(){var e=Z.p;return e!==0?e:(e=window.event,e===void 0?32:Fp(e.type))}function Ug(e,t){var n=Z.p;try{return Z.p=e,t()}finally{Z.p=n}}var ya=Math.random().toString(36).slice(2),Xe="__reactFiber$"+ya,pt="__reactProps$"+ya,Il="__reactContainer$"+ya,Rs="__reactEvents$"+ya,Ob="__reactListeners$"+ya,kb="__reactHandles$"+ya,Gg="__reactResources$"+ya,wr="__reactMarker$"+ya;function yd(e){delete e[Xe],delete e[pt],delete e[Rs],delete e[Ob],delete e[kb]}function Cl(e){var t=e[Xe];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Il]||n[Xe]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Qm(e);e!==null;){if(n=e[Xe])return n;e=Qm(e)}return t}e=n,n=e.parentNode}return null}function Jl(e){if(e=e[Xe]||e[Il]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Pi(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(w(33))}function Ol(e){var t=e[Gg];return t||(t=e[Gg]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Fe(e){e[wr]=!0}var Ah=new Set,wh={};function Ya(e,t){Pl(e,t),Pl(e+"Capture",t)}function Pl(e,t){for(wh[e]=t,e=0;e<t.length;e++)Ah.add(t[e])}var Lb=RegExp("^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$"),qg={},Pg={};function zb(e){return Cs.call(Pg,e)?!0:Cs.call(qg,e)?!1:Lb.test(e)?Pg[e]=!0:(qg[e]=!0,!1)}function xo(e,t,n){if(zb(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function mo(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function An(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function Gt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Sh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Hb(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ts(e){if(!e._valueTracker){var t=Sh(e)?"checked":"value";e._valueTracker=Hb(e,t,""+e[t])}}function Ch(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=Sh(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function Qo(e){if(e=e||(typeof document”u”)return null;try{return e.activeElement||e.body}catch{return e.body}}var Ub=/[n”\]/g;function Ft(e){return e.replace(Ub,function(t){return”\”+t.charCodeAt(0).toString(16)+” “})}function Es(e,t,n,a,l,i,r,o){e.name=””,r!=null&&typeof r!=”function”&&typeof r!=”symbol”&&typeof r!=”boolean”?e.type=r:e.removeAttribute(“type”),t!=null?r===”number”?(t===0&&e.value===””||e.value!=t)&&(e.value=””+Gt(t)):e.value!==””+Gt(t)&&(e.value=””+Gt(t)):r!==”submit”&&r!==”reset”||e.removeAttribute(“value”),t!=null?Ds(e,r,Gt(t)):n!=null?Ds(e,r,Gt(n)):a!=null&&e.removeAttribute(“value”),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!=”function”&&typeof l!=”symbol”),o!=null&&typeof o!=”function”&&typeof o!=”symbol”&&typeof o!=”boolean”?e.name=””+Gt(o):e.removeAttribute(“name”)}function Rh(e,t,n,a,l,i,r,o){if(i!=null&&typeof i!=”function”&&typeof i!=”symbol”&&typeof i!=”boolean”&&(e.type=i),t!=null||n!=null){if(!(i!==”submit”&&i!==”reset”||t!=null)){Ts(e);return}n=n!=null?””+Gt(n):””,t=t!=null?””+Gt(t):n,o||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!=”function”&&typeof a!=”symbol”&&!!a,e.checked=o?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!=”function”&&typeof r!=”symbol”&&typeof r!=”boolean”&&(e.name=r),Ts(e)}function Ds(e,t,n){t===”number”&&Qo(e.ownerDocument)===e||e.defaultValue===””+n||(e.defaultValue=””+n)}function kl(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+Gt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function Th(e,t,n){if(t!=null&&(t=""+Gt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Gt(n):""}function Eh(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(w(92));if(qi(a)){if(1<a.length)throw Error(w(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=Gt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),Ts(e)}function Fl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Gb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Fg(e,t,n){var a=t.indexOf("–")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||Gb.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Dh(e,t,n){if(t!=null&&typeof t!="object")throw Error(w(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("–")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&Fg(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&Fg(e,i,t[i])}function pd(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var qb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Pb=/^[u0000-u001F ]*j[rnt]*a[rnt]*v[rnt]*a[rnt]*s[rnt]*c[rnt]*r[rnt]*i[rnt]*p[rnt]*t[rnt]*:/i;function Mo(e){return Pb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function xn(){}var xs=null;function vd(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Rl=null,Ll=null;function jg(e){var t=Jl(e);if(t&&(e=t.stateNode)){var n=e[pt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Es(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Ft(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[pt]||null;if(!l)throw Error(w(90));Es(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&Ch(a)}break e;case"textarea":Th(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&kl(e,!!n.multiple,t,!1)}}}var Fc=!1;function xh(e,t,n){if(Fc)return e(t,n);Fc=!0;try{var a=e(t);return a}finally{if(Fc=!1,(Rl!==null||Ll!==null)&&(_u(),Rl&&(t=Rl,e=Ll,Ll=Rl=null,jg(t),e)))for(t=0;t”u”||typeof window.document>”u”||typeof window.document.createElement>”u”),Ms=!1;if(On)try{yl={},Object.defineProperty(yl,”passive”,{get:function(){Ms=!0}}),window.addEventListener(“test”,yl,yl),window.removeEventListener(“test”,yl,yl)}catch{Ms=!1}var yl,$n=null,bd=null,_o=null;function Mh(){if(_o)return _o;var e,t=bd,n=t.length,a,l=”value”in $n?$n.value:$n.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return _o=l.slice(e,1<a?1-a:void 0)}function Bo(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function ho(){return!0}function Yg(){return!1}function vt(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?ho:Yg,this.isPropagationStopped=Yg,this}return he(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=ho)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=ho)},persist:function(){},isPersistent:ho}),t}var Va={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},bu=vt(Va),Sr=he({},Va,{view:0,detail:0}),Fb=vt(Sr),jc,Yc,Oi,Au=he({},Sr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ad,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Oi&&(Oi&&e.type==="mousemove"?(jc=e.screenX-Oi.screenX,Yc=e.screenY-Oi.screenY):Yc=jc=0,Oi=e),jc)},movementY:function(e){return"movementY"in e?e.movementY:Yc}}),Vg=vt(Au),jb=he({},Au,{dataTransfer:0}),Yb=vt(jb),Vb=he({},Sr,{relatedTarget:0}),Vc=vt(Vb),Xb=he({},Va,{animationName:0,elapsedTime:0,pseudoElement:0}),Qb=vt(Xb),Kb=he({},Va,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Zb=vt(Kb),Wb=he({},Va,{data:0}),Xg=vt(Wb),Ib={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Jb={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},$b={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function eA(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=$b[e])?!!t[e]:!1}function Ad(){return eA}var tA=he({},Sr,{key:function(e){if(e.key){var t=Ib[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Bo(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Jb[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ad,charCode:function(e){return e.type==="keypress"?Bo(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Bo(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),nA=vt(tA),aA=he({},Au,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Qg=vt(aA),lA=he({},Sr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ad}),iA=vt(lA),rA=he({},Va,{propertyName:0,elapsedTime:0,pseudoElement:0}),oA=vt(rA),uA=he({},Au,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),cA=vt(uA),sA=he({},Va,{newState:0,oldState:0}),dA=vt(sA),fA=[9,13,27,32],wd=On&&"CompositionEvent"in window,Yi=null;On&&"documentMode"in document&&(Yi=document.documentMode);var gA=On&&"TextEvent"in window&&!Yi,_h=On&&(!wd||Yi&&8=Yi),Kg=” “,Zg=!1;function Bh(e,t){switch(e){case”keyup”:return fA.indexOf(t.keyCode)!==-1;case”keydown”:return t.keyCode!==229;case”keypress”:case”mousedown”:case”focusout”:return!0;default:return!1}}function Nh(e){return e=e.detail,typeof e==”object”&&”data”in e?e.data:null}var Tl=!1;function mA(e,t){switch(e){case”compositionend”:return Nh(t);case”keypress”:return t.which!==32?null:(Zg=!0,Kg);case”textInput”:return e=t.data,e===Kg&&Zg?null:e;default:return null}}function hA(e,t){if(Tl)return e===”compositionend”||!wd&&Bh(e,t)?(e=Mh(),_o=bd=$n=null,Tl=!1,e):null;switch(e){case”paste”:return null;case”keypress”:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return _h&&t.locale!=="ko"?null:t.data;default:return null}}var yA={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Wg(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!yA[e.type]:t==="textarea"}function Oh(e,t,n,a){Rl?Ll?Ll.push(a):Ll=[a]:Rl=a,t=du(t,"onChange"),0<t.length&&(n=new bu("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Vi=null,ir=null;function pA(e){xp(e,0)}function wu(e){var t=Pi(e);if(Ch(t))return e}function Ig(e,t){if(e==="change")return t}var kh=!1;On&&(On?(po="oninput"in document,po||(Xc=document.createElement("div"),Xc.setAttribute("oninput","return;"),po=typeof Xc.oninput=="function"),yo=po):yo=!1,kh=yo&&(!document.documentMode||9<document.documentMode));var yo,po,Xc;function Jg(){Vi&&(Vi.detachEvent("onpropertychange",Lh),ir=Vi=null)}function Lh(e){if(e.propertyName==="value"&&wu(ir)){var t=[];Oh(t,ir,e,vd(e)),xh(pA,t)}}function vA(e,t,n){e==="focusin"?(Jg(),Vi=t,ir=n,Vi.attachEvent("onpropertychange",Lh)):e==="focusout"&&Jg()}function bA(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return wu(ir)}function AA(e,t){if(e==="click")return wu(t)}function wA(e,t){if(e==="input"||e==="change")return wu(t)}function SA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Mt=typeof Object.is=="function"?Object.is:SA;function rr(e,t){if(Mt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Cs.call(t,l)||!Mt(e[l],t[l]))return!1}return!0}function $g(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function em(e,t){var n=$g(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=$g(n)}}function zh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?zh(e,t.parentNode):”contains”in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Hh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Qo(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==”string”}catch{n=!1}if(n)e=t.contentWindow;else break;t=Qo(e.document)}return t}function Sd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===”input”&&(e.type===”text”||e.type===”search”||e.type===”tel”||e.type===”url”||e.type===”password”)||t===”textarea”||e.contentEditable===”true”)}var CA=On&&”documentMode”in document&&11>=document.documentMode,El=null,_s=null,Xi=null,Bs=!1;function tm(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Bs||El==null||El!==Qo(a)||(a=El,”selectionStart”in a&&Sd(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Xi&&rr(Xi,a)||(Xi=a,a=du(_s,”onSelect”),0<a.length&&(t=new bu("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=El)))}function Ma(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Dl={animationend:Ma("Animation","AnimationEnd"),animationiteration:Ma("Animation","AnimationIteration"),animationstart:Ma("Animation","AnimationStart"),transitionrun:Ma("Transition","TransitionRun"),transitionstart:Ma("Transition","TransitionStart"),transitioncancel:Ma("Transition","TransitionCancel"),transitionend:Ma("Transition","TransitionEnd")},Qc={},Uh={};On&&(Uh=document.createElement("div").style,"AnimationEvent"in window||(delete Dl.animationend.animation,delete Dl.animationiteration.animation,delete Dl.animationstart.animation),"TransitionEvent"in window||delete Dl.transitionend.transition);function Xa(e){if(Qc[e])return Qc[e];if(!Dl[e])return e;var t=Dl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Uh)return Qc[e]=t[n];return e}var Gh=Xa("animationend"),qh=Xa("animationiteration"),Ph=Xa("animationstart"),RA=Xa("transitionrun"),TA=Xa("transitionstart"),EA=Xa("transitioncancel"),Fh=Xa("transitionend"),jh=new Map,Ns="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Ns.push("scrollEnd");function en(e,t){jh.set(e,t),Ya(t,[e])}var Ko=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Ut=[],xl=0,Cd=0;function Su(){for(var e=xl,t=Cd=xl=0;t<e;){var n=Ut[t];Ut[t++]=null;var a=Ut[t];Ut[t++]=null;var l=Ut[t];Ut[t++]=null;var i=Ut[t];if(Ut[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&Yh(n,l,i)}}function Cu(e,t,n,a){Ut[xl++]=e,Ut[xl++]=t,Ut[xl++]=n,Ut[xl++]=a,Cd|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function Rd(e,t,n,a){return Cu(e,t,n,a),Zo(e)}function Qa(e,t){return Cu(e,null,null,t),Zo(e)}function Yh(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Dt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function Zo(e){if(50<tr)throw tr=0,$s=null,Error(w(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ml={};function DA(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ct(e,t,n,a){return new DA(e,t,n,a)}function Td(e){return e=e.prototype,!(!e||!e.isReactComponent)}function _n(e,t){var n=e.alternate;return n===null?(n=Ct(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Vh(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function No(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Td(e)&&(r=1);else if(typeof e=="string")r=_w(e,n,dn.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case bs:return e=Ct(31,n,t,l),e.elementType=bs,e.lanes=i,e;case wl:return La(n.children,l,i,t);case sh:r=8,l|=24;break;case ys:return e=Ct(12,n,t,l|2),e.elementType=ys,e.lanes=i,e;case ps:return e=Ct(13,n,t,l),e.elementType=ps,e.lanes=i,e;case vs:return e=Ct(19,n,t,l),e.elementType=vs,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Dn:r=10;break e;case dh:r=9;break e;case dd:r=11;break e;case fd:r=14;break e;case Xn:r=16,a=null;break e}r=29,n=Error(w(130,e===null?"null":typeof e,"")),a=null}return t=Ct(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function La(e,t,n,a){return e=Ct(7,e,a,t),e.lanes=n,e}function Kc(e,t,n){return e=Ct(6,e,null,t),e.lanes=n,e}function Xh(e){var t=Ct(18,null,null,0);return t.stateNode=e,t}function Zc(e,t,n){return t=Ct(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var nm=new WeakMap;function jt(e,t){if(typeof e=="object"&&e!==null){var n=nm.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Hg(t)},nm.set(e,t),t)}return{value:e,source:t,stack:Hg(t)}}var _l=[],Bl=0,Wo=null,or=0,qt=[],Pt=0,fa=null,un=1,cn="";function Tn(e,t){_l[Bl++]=or,_l[Bl++]=Wo,Wo=e,or=t}function Qh(e,t,n){qt[Pt++]=un,qt[Pt++]=cn,qt[Pt++]=fa,fa=e;var a=un;e=cn;var l=32-Dt(a)-1;a&=~(1<<l),n+=1;var i=32-Dt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<>=r,l-=r,un=1<<32-Dt(t)+l|n<<l|a,cn=i+e}else un=1<<i|n<<l|a,cn=e}function Ed(e){e.return!==null&&(Tn(e,1),Qh(e,1,0))}function Dd(e){for(;e===Wo;)Wo=_l[–Bl],_l[Bl]=null,or=_l[–Bl],_l[Bl]=null;for(;e===fa;)fa=qt[–Pt],qt[Pt]=null,cn=qt[–Pt],qt[Pt]=null,un=qt[–Pt],qt[Pt]=null}function Kh(e,t){qt[Pt++]=un,qt[Pt++]=cn,qt[Pt++]=fa,un=t.id,cn=t.overflow,fa=e}var Qe=null,me=null,V=!1,la=null,Yt=!1,Os=Error(w(519));function ga(e){var t=Error(w(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw ur(jt(t,e)),Os}function am(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[Xe]=e,t[pt]=a,n){case"dialog":P("cancel",t),P("close",t);break;case"iframe":case"object":case"embed":P("load",t);break;case"video":case"audio":for(n=0;n<fr.length;n++)P(fr[n],t);break;case"source":P("error",t);break;case"img":case"image":case"link":P("error",t),P("load",t);break;case"details":P("toggle",t);break;case"input":P("invalid",t),Rh(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":P("invalid",t);break;case"textarea":P("invalid",t),Eh(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||_p(t.textContent,n)?(a.popover!=null&&(P("beforetoggle",t),P("toggle",t)),a.onScroll!=null&&P("scroll",t),a.onScrollEnd!=null&&P("scrollend",t),a.onClick!=null&&(t.onclick=xn),t=!0):t=!1,t||ga(e,!0)}function lm(e){for(Qe=e.return;Qe;)switch(Qe.tag){case 5:case 31:case 13:Yt=!1;return;case 27:case 3:Yt=!0;return;default:Qe=Qe.return}}function pl(e){if(e!==Qe)return!1;if(!V)return lm(e),V=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||ld(e.type,e.memoizedProps)),n=!n),n&&me&&ga(e),lm(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(w(317));me=Xm(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(w(317));me=Xm(e)}else t===27?(t=me,pa(e.type)?(e=ud,ud=null,me=e):me=t):me=Qe?Xt(e.stateNode.nextSibling):null;return!0}function Ga(){me=Qe=null,V=!1}function Wc(){var e=la;return e!==null&&(ht===null?ht=e:ht.push.apply(ht,e),la=null),e}function ur(e){la===null?la=[e]:la.push(e)}var ks=fn(null),Ka=null,Mn=null;function Kn(e,t,n){se(ks,t._currentValue),t._currentValue=n}function Bn(e){e._currentValue=ks.current,je(ks)}function Ls(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function zs(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var o=i;i=l;for(var u=0;u<t.length;u++)if(o.context===t[u]){i.lanes|=n,o=i.alternate,o!==null&&(o.lanes|=n),Ls(i.return,n,e),a||(r=null);break e}i=o.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(w(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),Ls(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function $l(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(w(387));if(r=r.memoizedProps,r!==null){var o=l.type;Mt(l.pendingProps.value,r.value)||(e!==null?e.push(o):e=[o])}}else if(l===jo.current){if(r=l.alternate,r===null)throw Error(w(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(mr):e=[mr])}l=l.return}e!==null&&zs(t,e,n,a),t.flags|=262144}function Io(e){for(e=e.firstContext;e!==null;){if(!Mt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function qa(e){Ka=e,Mn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ke(e){return Zh(Ka,e)}function vo(e,t){return Ka===null&&qa(e),Zh(e,t)}function Zh(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Mn===null){if(e===null)throw Error(w(308));Mn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Mn=Mn.next=t;return n}var xA=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},MA=Ue.unstable_scheduleCallback,_A=Ue.unstable_NormalPriority,ke={$$typeof:Dn,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function xd(){return{controller:new xA,data:new Map,refCount:0}}function Cr(e){e.refCount–,e.refCount===0&&MA(_A,function(){e.controller.abort()})}var Qi=null,Hs=0,jl=0,zl=null;function BA(e,t){if(Qi===null){var n=Qi=[];Hs=0,jl=$d(),zl={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Hs++,t.then(im,im),t}function im(){if(–Hs===0&&Qi!==null){zl!==null&&(zl.status="fulfilled");var e=Qi;Qi=null,jl=0,zl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function NA(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var rm=k.S;k.S=function(e,t){cp=Tt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&BA(e,t),rm!==null&&rm(e,t)};var za=fn(null);function Md(){var e=za.current;return e!==null?e:oe.pooledCache}function Oo(e,t){t===null?se(za,za.current):se(za,t.pool)}function Wh(){var e=Md();return e===null?null:{parent:ke._currentValue,pool:e}}var ei=Error(w(460)),_d=Error(w(474)),Ru=Error(w(542)),Jo={then:function(){}};function om(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Ih(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(xn,xn),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,cm(e),e;default:if(typeof t.status=="string")t.then(xn,xn);else{if(e=oe,e!==null&&100<e.shellSuspendCounter)throw Error(w(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,cm(e),e}throw Ha=t,ei}}function Na(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Ha=n,ei):n}}var Ha=null;function um(){if(Ha===null)throw Error(w(459));var e=Ha;return Ha=null,e}function cm(e){if(e===ei||e===Ru)throw Error(w(483))}var Hl=null,cr=0;function bo(e){var t=cr;return cr+=1,Hl===null&&(Hl=[]),Ih(Hl,e,t)}function ki(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Ao(e,t){throw t.$$typeof===vb?Error(w(525)):(e=Object.prototype.toString.call(t),Error(w(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Jh(e){function t(h,g){if(e){var y=h.deletions;y===null?(h.deletions=[g],h.flags|=16):y.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function a(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function l(h,g){return h=_n(h,g),h.index=0,h.sibling=null,h}function i(h,g,y){return h.index=y,e?(y=h.alternate,y!==null?(y=y.index,y<g?(h.flags|=67108866,g):y):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function r(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function o(h,g,y,p){return g===null||g.tag!==6?(g=Kc(y,h.mode,p),g.return=h,g):(g=l(g,y),g.return=h,g)}function u(h,g,y,p){var C=y.type;return C===wl?s(h,g,y.props.children,p,y.key):g!==null&&(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Xn&&Na(C)===g.type)?(g=l(g,y.props),ki(g,y),g.return=h,g):(g=No(y.type,y.key,y.props,null,h.mode,p),ki(g,y),g.return=h,g)}function c(h,g,y,p){return g===null||g.tag!==4||g.stateNode.containerInfo!==y.containerInfo||g.stateNode.implementation!==y.implementation?(g=Zc(y,h.mode,p),g.return=h,g):(g=l(g,y.children||[]),g.return=h,g)}function s(h,g,y,p,C){return g===null||g.tag!==7?(g=La(y,h.mode,p,C),g.return=h,g):(g=l(g,y),g.return=h,g)}function f(h,g,y){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Kc(""+g,h.mode,y),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case co:return y=No(g.type,g.key,g.props,null,h.mode,y),ki(y,g),y.return=h,y;case Gi:return g=Zc(g,h.mode,y),g.return=h,g;case Xn:return g=Na(g),f(h,g,y)}if(qi(g)||Ni(g))return g=La(g,h.mode,y,null),g.return=h,g;if(typeof g.then=="function")return f(h,bo(g),y);if(g.$$typeof===Dn)return f(h,vo(h,g),y);Ao(h,g)}return null}function d(h,g,y,p){var C=g!==null?g.key:null;if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return C!==null?null:o(h,g,""+y,p);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case co:return y.key===C?u(h,g,y,p):null;case Gi:return y.key===C?c(h,g,y,p):null;case Xn:return y=Na(y),d(h,g,y,p)}if(qi(y)||Ni(y))return C!==null?null:s(h,g,y,p,null);if(typeof y.then=="function")return d(h,g,bo(y),p);if(y.$$typeof===Dn)return d(h,g,vo(h,y),p);Ao(h,y)}return null}function m(h,g,y,p,C){if(typeof p=="string"&&p!==""||typeof p=="number"||typeof p=="bigint")return h=h.get(y)||null,o(g,h,""+p,C);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case co:return h=h.get(p.key===null?y:p.key)||null,u(g,h,p,C);case Gi:return h=h.get(p.key===null?y:p.key)||null,c(g,h,p,C);case Xn:return p=Na(p),m(h,g,y,p,C)}if(qi(p)||Ni(p))return h=h.get(y)||null,s(g,h,p,C,null);if(typeof p.then=="function")return m(h,g,y,bo(p),C);if(p.$$typeof===Dn)return m(h,g,y,vo(g,p),C);Ao(g,p)}return null}function v(h,g,y,p){for(var C=null,R=null,T=g,M=g=0,S=null;T!==null&&MM?(S=T,T=null):S=T.sibling;var D=d(h,T,y[M],p);if(D===null){T===null&&(T=S);break}e&&T&&D.alternate===null&&t(h,T),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D,T=S}if(M===y.length)return n(h,T),V&&Tn(h,M),C;if(T===null){for(;M<y.length;M++)T=f(h,y[M],p),T!==null&&(g=i(T,g,M),R===null?C=T:R.sibling=T,R=T);return V&&Tn(h,M),C}for(T=a(T);MM?(S=T,T=null):S=T.sibling;var G=d(h,T,D.value,p);if(G===null){T===null&&(T=S);break}e&&T&&G.alternate===null&&t(h,T),g=i(G,g,M),R===null?C=G:R.sibling=G,R=G,T=S}if(D.done)return n(h,T),V&&Tn(h,M),C;if(T===null){for(;!D.done;M++,D=y.next())D=f(h,D.value,p),D!==null&&(g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return V&&Tn(h,M),C}for(T=a(T);!D.done;M++,D=y.next())D=m(T,h,M,D.value,p),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?M:D.key),g=i(D,g,M),R===null?C=D:R.sibling=D,R=D);return e&&T.forEach(function(Se){return t(h,Se)}),V&&Tn(h,M),C}function b(h,g,y,p){if(typeof y==”object”&&y!==null&&y.type===wl&&y.key===null&&(y=y.props.children),typeof y==”object”&&y!==null){switch(y.$$typeof){case co:e:{for(var C=y.key;g!==null;){if(g.key===C){if(C=y.type,C===wl){if(g.tag===7){n(h,g.sibling),p=l(g,y.props.children),p.return=h,h=p;break e}}else if(g.elementType===C||typeof C==”object”&&C!==null&&C.$$typeof===Xn&&Na(C)===g.type){n(h,g.sibling),p=l(g,y.props),ki(p,y),p.return=h,h=p;break e}n(h,g);break}else t(h,g);g=g.sibling}y.type===wl?(p=La(y.props.children,h.mode,p,y.key),p.return=h,h=p):(p=No(y.type,y.key,y.props,null,h.mode,p),ki(p,y),p.return=h,h=p)}return r(h);case Gi:e:{for(C=y.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===y.containerInfo&&g.stateNode.implementation===y.implementation){n(h,g.sibling),p=l(g,y.children||[]),p.return=h,h=p;break e}else{n(h,g);break}else t(h,g);g=g.sibling}p=Zc(y,h.mode,p),p.return=h,h=p}return r(h);case Xn:return y=Na(y),b(h,g,y,p)}if(qi(y))return v(h,g,y,p);if(Ni(y)){if(C=Ni(y),typeof C!=”function”)throw Error(w(150));return y=C.call(y),A(h,g,y,p)}if(typeof y.then==”function”)return b(h,g,bo(y),p);if(y.$$typeof===Dn)return b(h,g,vo(h,y),p);Ao(h,y)}return typeof y==”string”&&y!==””||typeof y==”number”||typeof y==”bigint”?(y=””+y,g!==null&&g.tag===6?(n(h,g.sibling),p=l(g,y),p.return=h,h=p):(n(h,g),p=Kc(y,h.mode,p),p.return=h,h=p),r(h)):n(h,g)}return function(h,g,y,p){try{cr=0;var C=b(h,g,y,p);return Hl=null,C}catch(T){if(T===ei||T===Ru)throw T;var R=Ct(29,T,null,h.mode);return R.lanes=p,R.return=h,R}finally{}}}var Pa=Jh(!0),$h=Jh(!1),Qn=!1;function Bd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Us(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ia(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ra(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(K&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=Zo(e),Yh(e,null,n),t}return Cu(e,a,t,n),Zo(e)}function Ki(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,ph(e,n)}}function Ic(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Gs=!1;function Zi(){if(Gs){var e=zl;if(e!==null)throw e}}function Wi(e,t,n,a){Gs=!1;var l=e.updateQueue;Qn=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var u=o,c=u.next;u.next=null,r===null?i=c:r.next=c,r=u;var s=e.alternate;s!==null&&(s=s.updateQueue,o=s.lastBaseUpdate,o!==r&&(o===null?s.firstBaseUpdate=c:o.next=c,s.lastBaseUpdate=u))}if(i!==null){var f=l.baseState;r=0,s=c=u=null,o=i;do{var d=o.lane&-536870913,m=d!==o.lane;if(m?(j&d)===d:(a&d)===d){d!==0&&d===jl&&(Gs=!0),s!==null&&(s=s.next={lane:0,tag:o.tag,payload:o.payload,callback:null,next:null});e:{var v=e,A=o;d=t;var b=n;switch(A.tag){case 1:if(v=A.payload,typeof v==”function”){f=v.call(b,f,d);break e}f=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=A.payload,d=typeof v==”function”?v.call(b,f,d):v,d==null)break e;f=he({},f,d);break e;case 2:Qn=!0}}d=o.callback,d!==null&&(e.flags|=64,m&&(e.flags|=8192),m=l.callbacks,m===null?l.callbacks=[d]:m.push(d))}else m={lane:d,tag:o.tag,payload:o.payload,callback:o.callback,next:null},s===null?(c=s=m,u=f):s=s.next=m,r|=d;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);s===null&&(u=f),l.baseState=u,l.firstBaseUpdate=c,l.lastBaseUpdate=s,i===null&&(l.shared.lanes=0),ha|=r,e.lanes=r,e.memoizedState=f}}function ey(e,t){if(typeof e!=”function”)throw Error(w(191,e));e.call(t)}function ty(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ey(n[e],t)}var Yl=fn(null),$o=fn(0);function sm(e,t){e=Hn,se($o,e),se(Yl,t),Hn=e|t.baseLanes}function qs(){se($o,Hn),se(Yl,Yl.current)}function Nd(){Hn=$o.current,je(Yl),je($o)}var _t=fn(null),Vt=null;function Zn(e){var t=e.alternate;se(Me,Me.current&1),se(_t,e),Vt===null&&(t===null||Yl.current!==null||t.memoizedState!==null)&&(Vt=e)}function Ps(e){se(Me,Me.current),se(_t,e),Vt===null&&(Vt=e)}function ny(e){e.tag===22?(se(Me,Me.current),se(_t,e),Vt===null&&(Vt=e)):Wn(e)}function Wn(){se(Me,Me.current),se(_t,_t.current)}function St(e){je(_t),Vt===e&&(Vt=null),je(Me)}var Me=fn(0);function eu(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||rd(n)||od(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var kn=0,H=null,le=null,Ne=null,tu=!1,Ul=!1,Fa=!1,nu=0,sr=0,Gl=null,OA=0;function Ce(){throw Error(w(321))}function Od(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Mt(e[n],t[n]))return!1;return!0}function kd(e,t,n,a,l,i){return kn=i,H=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,k.H=e===null||e.memoizedState===null?Oy:Vd,Fa=!1,i=n(a,l),Fa=!1,Ul&&(i=ly(t,n,a,l)),ay(e),i}function ay(e){k.H=dr;var t=le!==null&&le.next!==null;if(kn=0,Ne=le=H=null,tu=!1,sr=0,Gl=null,t)throw Error(w(300));e===null||Le||(e=e.dependencies,e!==null&&Io(e)&&(Le=!0))}function ly(e,t,n,a){H=e;var l=0;do{if(Ul&&(Gl=null),sr=0,Ul=!1,25<=l)throw Error(w(301));if(l+=1,Ne=le=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}k.H=ky,i=t(n,a)}while(Ul);return i}function kA(){var e=k.H,t=e.useState()[0];return t=typeof t.then=="function"?Rr(t):t,e=e.useState()[0],(le!==null?le.memoizedState:null)!==e&&(H.flags|=1024),t}function Ld(){var e=nu!==0;return nu=0,e}function zd(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Hd(e){if(tu){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}tu=!1}kn=0,Ne=le=H=null,Ul=!1,sr=nu=0,Gl=null}function rt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ne===null?H.memoizedState=Ne=e:Ne=Ne.next=e,Ne}function _e(){if(le===null){var e=H.alternate;e=e!==null?e.memoizedState:null}else e=le.next;var t=Ne===null?H.memoizedState:Ne.next;if(t!==null)Ne=t,le=e;else{if(e===null)throw H.alternate===null?Error(w(467)):Error(w(310));le=e,e={memoizedState:le.memoizedState,baseState:le.baseState,baseQueue:le.baseQueue,queue:le.queue,next:null},Ne===null?H.memoizedState=Ne=e:Ne=Ne.next=e}return Ne}function Tu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Rr(e){var t=sr;return sr+=1,Gl===null&&(Gl=[]),e=Ih(Gl,e,t),t=H,(Ne===null?t.memoizedState:Ne.next)===null&&(t=t.alternate,k.H=t===null||t.memoizedState===null?Oy:Vd),e}function Eu(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Rr(e);if(e.$$typeof===Dn)return Ke(e)}throw Error(w(438,String(e)))}function Ud(e){var t=null,n=H.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=H.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Tu(),H.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=bb;return t.index++,n}function Ln(e,t){return typeof t=="function"?t(e):t}function ko(e){var t=_e();return Gd(t,le,e)}function Gd(e,t,n){var a=e.queue;if(a===null)throw Error(w(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var o=r=null,u=null,c=t,s=!1;do{var f=c.lane&-536870913;if(f!==c.lane?(j&f)===f:(kn&f)===f){var d=c.revertLane;if(d===0)u!==null&&(u=u.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),f===jl&&(s=!0);else if((kn&d)===d){c=c.next,d===jl&&(s=!0);continue}else f={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=f,r=i):u=u.next=f,H.lanes|=d,ha|=d;f=c.action,Fa&&n(i,f),i=c.hasEagerState?c.eagerState:n(i,f)}else d={lane:f,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},u===null?(o=u=d,r=i):u=u.next=d,H.lanes|=f,ha|=f;c=c.next}while(c!==null&&c!==t);if(u===null?r=i:u.next=o,!Mt(i,e.memoizedState)&&(Le=!0,s&&(n=zl,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=u,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function Jc(e){var t=_e(),n=t.queue;if(n===null)throw Error(w(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);Mt(i,t.memoizedState)||(Le=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function iy(e,t,n){var a=H,l=_e(),i=V;if(i){if(n===void 0)throw Error(w(407));n=n()}else n=t();var r=!Mt((le||l).memoizedState,n);if(r&&(l.memoizedState=n,Le=!0),l=l.queue,qd(uy.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Ne!==null&&Ne.memoizedState.tag&1){if(a.flags|=2048,Vl(9,{destroy:void 0},oy.bind(null,a,l,n,t),null),oe===null)throw Error(w(349));i||(kn&127)!==0||ry(a,t,n)}return n}function ry(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=H.updateQueue,t===null?(t=Tu(),H.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function oy(e,t,n,a){t.value=n,t.getSnapshot=a,cy(t)&&sy(e)}function uy(e,t,n){return n(function(){cy(t)&&sy(e)})}function cy(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Mt(e,n)}catch{return!0}}function sy(e){var t=Qa(e,2);t!==null&&yt(t,e,2)}function Fs(e){var t=rt();if(typeof e=="function"){var n=e;if(e=n(),Fa){Jn(!0);try{n()}finally{Jn(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ln,lastRenderedState:e},t}function dy(e,t,n,a){return e.baseState=n,Gd(e,le,typeof a=="function"?a:Ln)}function LA(e,t,n,a,l){if(xu(e))throw Error(w(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};k.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,fy(t,i)):(i.next=n.next,t.pending=n.next=i)}}function fy(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=k.T,r={};k.T=r;try{var o=n(l,a),u=k.S;u!==null&&u(r,o),dm(e,t,o)}catch(c){js(e,t,c)}finally{i!==null&&r.types!==null&&(i.types=r.types),k.T=i}}else try{i=n(l,a),dm(e,t,i)}catch(c){js(e,t,c)}}function dm(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){fm(e,t,a)},function(a){return js(e,t,a)}):fm(e,t,n)}function fm(e,t,n){t.status="fulfilled",t.value=n,gy(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,fy(e,n)))}function js(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,gy(t),t=t.next;while(t!==a)}e.action=null}function gy(e){e=e.listeners;for(var t=0;ti?i:8;var r=k.T,o={};k.T=o,Yd(e,!1,t,n);try{var u=l(),c=k.S;if(c!==null&&c(o,u),u!==null&&typeof u==”object”&&typeof u.then==”function”){var s=NA(u,a);Ii(e,t,s,xt(e))}else Ii(e,t,a,xt(e))}catch(f){Ii(e,t,{then:function(){},status:”rejected”,reason:f},xt())}finally{Z.p=i,r!==null&&o.types!==null&&(r.types=o.types),k.T=r}}function UA(){}function Ys(e,t,n,a){if(e.tag!==5)throw Error(w(476));var l=Ey(e).queue;Ty(e,l,t,ka,n===null?UA:function(){return Dy(e),n(a)})}function Ey(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ka,baseState:ka,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ln,lastRenderedState:ka},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ln,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Dy(e){var t=Ey(e);t.next===null&&(t=e.alternate.memoizedState),Ii(e,t.next.queue,{},xt())}function jd(){return Ke(mr)}function xy(){return _e().memoizedState}function My(){return _e().memoizedState}function GA(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=xt();e=ia(n);var a=ra(t,e,n);a!==null&&(yt(a,t,n),Ki(a,t,n)),t={cache:xd()},e.payload=t;return}t=t.return}}function qA(e,t,n){var a=xt();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},xu(e)?By(t,n):(n=Rd(e,t,n,a),n!==null&&(yt(n,e,a),Ny(n,t,a)))}function _y(e,t,n){var a=xt();Ii(e,t,n,a)}function Ii(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(xu(e))By(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,o=i(r,n);if(l.hasEagerState=!0,l.eagerState=o,Mt(o,r))return Cu(e,t,l,0),oe===null&&Su(),!1}catch{}finally{}if(n=Rd(e,t,l,a),n!==null)return yt(n,e,a),Ny(n,t,a),!0}return!1}function Yd(e,t,n,a){if(a={lane:2,revertLane:$d(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},xu(e)){if(t)throw Error(w(479))}else t=Rd(e,n,a,2),t!==null&&yt(t,e,2)}function xu(e){var t=e.alternate;return e===H||t!==null&&t===H}function By(e,t){Ul=tu=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ny(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,ph(e,n)}}var dr={readContext:Ke,use:Eu,useCallback:Ce,useContext:Ce,useEffect:Ce,useImperativeHandle:Ce,useLayoutEffect:Ce,useInsertionEffect:Ce,useMemo:Ce,useReducer:Ce,useRef:Ce,useState:Ce,useDebugValue:Ce,useDeferredValue:Ce,useTransition:Ce,useSyncExternalStore:Ce,useId:Ce,useHostTransitionStatus:Ce,useFormState:Ce,useActionState:Ce,useOptimistic:Ce,useMemoCache:Ce,useCacheRefresh:Ce};dr.useEffectEvent=Ce;var Oy={readContext:Ke,use:Eu,useCallback:function(e,t){return rt().memoizedState=[e,t===void 0?null:t],e},useContext:Ke,useEffect:ym,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Lo(4194308,4,Ay.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Lo(4194308,4,e,t)},useInsertionEffect:function(e,t){Lo(4,2,e,t)},useMemo:function(e,t){var n=rt();t=t===void 0?null:t;var a=e();if(Fa){Jn(!0);try{e()}finally{Jn(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=rt();if(n!==void 0){var l=n(t);if(Fa){Jn(!0);try{n(t)}finally{Jn(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=qA.bind(null,H,e),[a.memoizedState,e]},useRef:function(e){var t=rt();return e={current:e},t.memoizedState=e},useState:function(e){e=Fs(e);var t=e.queue,n=_y.bind(null,H,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Pd,useDeferredValue:function(e,t){var n=rt();return Fd(n,e,t)},useTransition:function(){var e=Fs(!1);return e=Ty.bind(null,H,e.queue,!0,!1),rt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=H,l=rt();if(V){if(n===void 0)throw Error(w(407));n=n()}else{if(n=t(),oe===null)throw Error(w(349));(j&127)!==0||ry(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,ym(uy.bind(null,a,i,e),[e]),a.flags|=2048,Vl(9,{destroy:void 0},oy.bind(null,a,i,n,t),null),n},useId:function(){var e=rt(),t=oe.identifierPrefix;if(V){var n=cn,a=un;n=(a&~(1<<32-Dt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=nu++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=OA++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:jd,useFormState:gm,useActionState:gm,useOptimistic:function(e){var t=rt();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Yd.bind(null,H,!0,n),n.dispatch=t,[e,t]},useMemoCache:Ud,useCacheRefresh:function(){return rt().memoizedState=GA.bind(null,H)},useEffectEvent:function(e){var t=rt(),n={impl:e};return t.memoizedState=n,function(){if((K&2)!==0)throw Error(w(440));return n.impl.apply(void 0,arguments)}}},Vd={readContext:Ke,use:Eu,useCallback:Sy,useContext:Ke,useEffect:qd,useImperativeHandle:wy,useInsertionEffect:vy,useLayoutEffect:by,useMemo:Cy,useReducer:ko,useRef:yy,useState:function(){return ko(Ln)},useDebugValue:Pd,useDeferredValue:function(e,t){var n=_e();return Ry(n,le.memoizedState,e,t)},useTransition:function(){var e=ko(Ln)[0],t=_e().memoizedState;return[typeof e=="boolean"?e:Rr(e),t]},useSyncExternalStore:iy,useId:xy,useHostTransitionStatus:jd,useFormState:mm,useActionState:mm,useOptimistic:function(e,t){var n=_e();return dy(n,le,e,t)},useMemoCache:Ud,useCacheRefresh:My};Vd.useEffectEvent=py;var ky={readContext:Ke,use:Eu,useCallback:Sy,useContext:Ke,useEffect:qd,useImperativeHandle:wy,useInsertionEffect:vy,useLayoutEffect:by,useMemo:Cy,useReducer:Jc,useRef:yy,useState:function(){return Jc(Ln)},useDebugValue:Pd,useDeferredValue:function(e,t){var n=_e();return le===null?Fd(n,e,t):Ry(n,le.memoizedState,e,t)},useTransition:function(){var e=Jc(Ln)[0],t=_e().memoizedState;return[typeof e=="boolean"?e:Rr(e),t]},useSyncExternalStore:iy,useId:xy,useHostTransitionStatus:jd,useFormState:hm,useActionState:hm,useOptimistic:function(e,t){var n=_e();return le!==null?dy(n,le,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Ud,useCacheRefresh:My};ky.useEffectEvent=py;function $c(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:he({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Vs={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=xt(),l=ia(a);l.payload=t,n!=null&&(l.callback=n),t=ra(e,l,a),t!==null&&(yt(t,e,a),Ki(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=xt(),l=ia(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=ra(e,l,a),t!==null&&(yt(t,e,a),Ki(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=xt(),a=ia(n);a.tag=2,t!=null&&(a.callback=t),t=ra(e,a,n),t!==null&&(yt(t,e,n),Ki(t,e,n))}};function pm(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!rr(n,a)||!rr(l,i):!0}function vm(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&Vs.enqueueReplaceState(t,t.state,null)}function ja(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=he({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Ly(e){Ko(e)}function zy(e){console.error(e)}function Hy(e){Ko(e)}function au(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function bm(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function Xs(e,t,n){return n=ia(n),n.tag=3,n.payload={element:null},n.callback=function(){au(e,t)},n}function Uy(e){return e=ia(e),e.tag=3,e}function Gy(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){bm(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){bm(t,n,a),typeof l!="function"&&(oa===null?oa=new Set([this]):oa.add(this));var o=a.stack;this.componentDidCatch(a.value,{componentStack:o!==null?o:""})})}function PA(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&$l(t,n,l,!0),n=_t.current,n!==null){switch(n.tag){case 31:case 13:return Vt===null?uu():n.alternate===null&&Re===0&&(Re=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===Jo?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),ss(e,a,l)),!1;case 22:return n.flags|=65536,a===Jo?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),ss(e,a,l)),!1}throw Error(w(435,n.tag))}return ss(e,a,l),uu(),!1}if(V)return t=_t.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==Os&&(e=Error(w(422),{cause:a}),ur(jt(e,n)))):(a!==Os&&(t=Error(w(423),{cause:a}),ur(jt(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=jt(a,n),l=Xs(e.stateNode,a,l),Ic(e,l),Re!==4&&(Re=2)),!1;var i=Error(w(520),{cause:a});if(i=jt(i,n),er===null?er=[i]:er.push(i),Re!==4&&(Re=2),t===null)return!0;a=jt(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=Xs(n.stateNode,a,e),Ic(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(oa===null||!oa.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=Uy(l),Gy(l,e,n,a),Ic(n,l),!1}n=n.return}while(n!==null);return!1}var Xd=Error(w(461)),Le=!1;function Ve(e,t,n,a){t.child=e===null?$h(t,null,n,a):Pa(t,e.child,n,a)}function Am(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var o in a)o!=="ref"&&(r[o]=a[o])}else r=a;return qa(t),a=kd(e,t,n,r,i,l),o=Ld(),e!==null&&!Le?(zd(e,t,l),zn(e,t,l)):(V&&o&&Ed(t),t.flags|=1,Ve(e,t,a,l),t.child)}function wm(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Td(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,qy(e,t,i,a,l)):(e=No(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Qd(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:rr,n(r,a)&&e.ref===t.ref)return zn(e,t,l)}return t.flags|=1,e=_n(i,a),e.ref=t.ref,e.return=t,t.child=e}function qy(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(rr(i,a)&&e.ref===t.ref)if(Le=!1,t.pendingProps=a=i,Qd(e,l))(e.flags&131072)!==0&&(Le=!0);else return t.lanes=e.lanes,zn(e,t,l)}return Qs(e,t,n,a,l)}function Py(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Sm(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Oo(t,i!==null?i.cachePool:null),i!==null?sm(t,i):qs(),ny(t);else return a=t.lanes=536870912,Sm(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Oo(t,i.cachePool),sm(t,i),Wn(t),t.memoizedState=null):(e!==null&&Oo(t,null),qs(),Wn(t));return Ve(e,t,l,n),t.child}function Fi(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Sm(e,t,n,a,l){var i=Md();return i=i===null?null:{parent:ke._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Oo(t,null),qs(),ny(t),e!==null&&$l(e,t,a,!0),t.childLanes=l,null}function zo(e,t){return t=lu({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Cm(e,t,n){return Pa(t,e.child,null,n),e=zo(t,t.pendingProps),e.flags|=2,St(t),t.memoizedState=null,e}function FA(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(V){if(a.mode==="hidden")return e=zo(t,a),t.lanes=536870912,Fi(null,e);if(Ps(t),(e=me)?(e=Op(e,Yt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:fa!==null?{id:un,overflow:cn}:null,retryLane:536870912,hydrationErrors:null},n=Xh(e),n.return=t,t.child=n,Qe=t,me=null)):e=null,e===null)throw ga(t);return t.lanes=536870912,null}return zo(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(Ps(t),l)if(t.flags&256)t.flags&=-257,t=Cm(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(w(558));else if(Le||$l(e,t,n,!1),l=(n&e.childLanes)!==0,Le||l){if(a=oe,a!==null&&(r=vh(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Qa(e,r),yt(a,e,r),Xd;uu(),t=Cm(e,t,n)}else e=i.treeContext,me=Xt(r.nextSibling),Qe=t,V=!0,la=null,Yt=!1,e!==null&&Kh(t,e),t=zo(t,a),t.flags|=4096;return t}return e=_n(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ho(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(w(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Qs(e,t,n,a,l){return qa(t),n=kd(e,t,n,a,void 0,l),a=Ld(),e!==null&&!Le?(zd(e,t,l),zn(e,t,l)):(V&&a&&Ed(t),t.flags|=1,Ve(e,t,n,l),t.child)}function Rm(e,t,n,a,l,i){return qa(t),t.updateQueue=null,n=ly(t,a,n,l),ay(e),a=Ld(),e!==null&&!Le?(zd(e,t,i),zn(e,t,i)):(V&&a&&Ed(t),t.flags|=1,Ve(e,t,n,i),t.child)}function Tm(e,t,n,a,l){if(qa(t),t.stateNode===null){var i=Ml,r=n.contextType;typeof r=="object"&&r!==null&&(i=Ke(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=Vs,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Bd(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Ke(r):Ml,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&($c(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&Vs.enqueueReplaceState(i,i.state,null),Wi(t,a,i,l),Zi(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var o=t.memoizedProps,u=ja(n,o);i.props=u;var c=i.context,s=n.contextType;r=Ml,typeof s=="object"&&s!==null&&(r=Ke(s));var f=n.getDerivedStateFromProps;s=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function",o=t.pendingProps!==o,s||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(o||c!==r)&&vm(t,i,a,r),Qn=!1;var d=t.memoizedState;i.state=d,Wi(t,a,i,l),Zi(),c=t.memoizedState,o||d!==c||Qn?(typeof f=="function"&&($c(t,n,f,a),c=t.memoizedState),(u=Qn||pm(t,n,u,a,d,c,r))?(s||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=r,a=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Us(e,t),r=t.memoizedProps,s=ja(n,r),i.props=s,f=t.pendingProps,d=i.context,c=n.contextType,u=Ml,typeof c=="object"&&c!==null&&(u=Ke(c)),o=n.getDerivedStateFromProps,(c=typeof o=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==f||d!==u)&&vm(t,i,a,u),Qn=!1,d=t.memoizedState,i.state=d,Wi(t,a,i,l),Zi();var m=t.memoizedState;r!==f||d!==m||Qn||e!==null&&e.dependencies!==null&&Io(e.dependencies)?(typeof o=="function"&&($c(t,n,o,a),m=t.memoizedState),(s=Qn||pm(t,n,s,a,d,m,u)||e!==null&&e.dependencies!==null&&Io(e.dependencies))?(c||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,m,u),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,m,u)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=u,a=s):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,Ho(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Pa(t,e.child,null,l),t.child=Pa(t,null,n,l)):Ve(e,t,n,l),t.memoizedState=i.state,e=t.child):e=zn(e,t,l),e}function Em(e,t,n,a){return Ga(),t.flags|=256,Ve(e,t,n,a),t.child}var es={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ts(e){return{baseLanes:e,cachePool:Wh()}}function ns(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Rt),e}function Fy(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(Me.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(V){if(l?Zn(t):Wn(t),(e=me)?(e=Op(e,Yt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:fa!==null?{id:un,overflow:cn}:null,retryLane:536870912,hydrationErrors:null},n=Xh(e),n.return=t,t.child=n,Qe=t,me=null)):e=null,e===null)throw ga(t);return od(e)?t.lanes=32:t.lanes=536870912,null}var o=a.children;return a=a.fallback,l?(Wn(t),l=t.mode,o=lu({mode:"hidden",children:o},l),a=La(a,l,n,null),o.return=t,a.return=t,o.sibling=a,t.child=o,a=t.child,a.memoizedState=ts(n),a.childLanes=ns(e,r,n),t.memoizedState=es,Fi(null,a)):(Zn(t),Ks(t,o))}var u=e.memoizedState;if(u!==null&&(o=u.dehydrated,o!==null)){if(i)t.flags&256?(Zn(t),t.flags&=-257,t=as(e,t,n)):t.memoizedState!==null?(Wn(t),t.child=e.child,t.flags|=128,t=null):(Wn(t),o=a.fallback,l=t.mode,a=lu({mode:"visible",children:a.children},l),o=La(o,l,n,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,Pa(t,e.child,null,n),a=t.child,a.memoizedState=ts(n),a.childLanes=ns(e,r,n),t.memoizedState=es,t=Fi(null,a));else if(Zn(t),od(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var c=r.dgst;r=c,a=Error(w(419)),a.stack="",a.digest=r,ur({value:a,source:null,stack:null}),t=as(e,t,n)}else if(Le||$l(e,t,n,!1),r=(n&e.childLanes)!==0,Le||r){if(r=oe,r!==null&&(a=vh(r,n),a!==0&&a!==u.retryLane))throw u.retryLane=a,Qa(e,a),yt(r,e,a),Xd;rd(o)||uu(),t=as(e,t,n)}else rd(o)?(t.flags|=192,t.child=e.child,t=null):(e=u.treeContext,me=Xt(o.nextSibling),Qe=t,V=!0,la=null,Yt=!1,e!==null&&Kh(t,e),t=Ks(t,a.children),t.flags|=4096);return t}return l?(Wn(t),o=a.fallback,l=t.mode,u=e.child,c=u.sibling,a=_n(u,{mode:"hidden",children:a.children}),a.subtreeFlags=u.subtreeFlags&65011712,c!==null?o=_n(c,o):(o=La(o,l,n,null),o.flags|=2),o.return=t,a.return=t,a.sibling=o,t.child=a,Fi(null,a),a=t.child,o=e.child.memoizedState,o===null?o=ts(n):(l=o.cachePool,l!==null?(u=ke._currentValue,l=l.parent!==u?{parent:u,pool:u}:l):l=Wh(),o={baseLanes:o.baseLanes|n,cachePool:l}),a.memoizedState=o,a.childLanes=ns(e,r,n),t.memoizedState=es,Fi(e.child,a)):(Zn(t),n=e.child,e=n.sibling,n=_n(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Ks(e,t){return t=lu({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function lu(e,t){return e=Ct(22,e,null,t),e.lanes=0,e}function as(e,t,n){return Pa(t,e.child,null,n),e=Ks(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Dm(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Ls(e.return,t,n)}function ls(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function jy(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=Me.current,o=(r&2)!==0;if(o?(r=r&1|2,t.flags|=128):r&=1,se(Me,r),Ve(e,t,a,n),a=V?or:0,!o&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Dm(e,n,t);else if(e.tag===19)Dm(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&eu(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),ls(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&eu(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}ls(t,!0,n,null,i,a);break;case"together":ls(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function zn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),ha|=t.lanes,(n&t.childLanes)===0)if(e!==null){if($l(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(w(153));if(t.child!==null){for(e=t.child,n=_n(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=_n(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Qd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Io(e)))}function jA(e,t,n){switch(t.tag){case 3:Yo(t,t.stateNode.containerInfo),Kn(t,ke,e.memoizedState.cache),Ga();break;case 27:case 5:Ss(t);break;case 4:Yo(t,t.stateNode.containerInfo);break;case 10:Kn(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Ps(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(Zn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Fy(e,t,n):(Zn(t),e=zn(e,t,n),e!==null?e.sibling:null);Zn(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||($l(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return jy(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),se(Me,Me.current),a)break;return null;case 22:return t.lanes=0,Py(e,t,n,t.pendingProps);case 24:Kn(t,ke,e.memoizedState.cache)}return zn(e,t,n)}function Yy(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Le=!0;else{if(!Qd(e,n)&&(t.flags&128)===0)return Le=!1,jA(e,t,n);Le=(e.flags&131072)!==0}else Le=!1,V&&(t.flags&1048576)!==0&&Qh(t,or,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=Na(t.elementType),t.type=e,typeof e=="function")Td(e)?(a=ja(e,a),t.tag=1,t=Tm(null,t,e,a,n)):(t.tag=0,t=Qs(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===dd){t.tag=11,t=Am(null,t,e,a,n);break e}else if(l===fd){t.tag=14,t=wm(null,t,e,a,n);break e}}throw t=As(e)||e,Error(w(306,t,""))}}return t;case 0:return Qs(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=ja(a,t.pendingProps),Tm(e,t,a,l,n);case 3:e:{if(Yo(t,t.stateNode.containerInfo),e===null)throw Error(w(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Us(e,t),Wi(t,a,null,n);var r=t.memoizedState;if(a=r.cache,Kn(t,ke,a),a!==i.cache&&zs(t,[ke],n,!0),Zi(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Em(e,t,a,n);break e}else if(a!==l){l=jt(Error(w(424)),t),ur(l),t=Em(e,t,a,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(me=Xt(e.firstChild),Qe=t,V=!0,la=null,Yt=!0,n=$h(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Ga(),a===l){t=zn(e,t,n);break e}Ve(e,t,a,n)}t=t.child}return t;case 26:return Ho(e,t),e===null?(n=Zm(t.type,null,t.pendingProps,null))?t.memoizedState=n:V||(n=t.type,e=t.pendingProps,a=fu(aa.current).createElement(n),a[Xe]=t,a[pt]=e,Ze(a,n,e),Fe(a),t.stateNode=a):t.memoizedState=Zm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Ss(t),e===null&&V&&(a=t.stateNode=kp(t.type,t.pendingProps,aa.current),Qe=t,Yt=!0,l=me,pa(t.type)?(ud=l,me=Xt(a.firstChild)):me=l),Ve(e,t,t.pendingProps.children,n),Ho(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&V&&((l=a=me)&&(a=pw(a,t.type,t.pendingProps,Yt),a!==null?(t.stateNode=a,Qe=t,me=Xt(a.firstChild),Yt=!1,l=!0):l=!1),l||ga(t)),Ss(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,ld(l,i)?a=null:r!==null&&ld(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=kd(e,t,kA,null,null,n),mr._currentValue=l),Ho(e,t),Ve(e,t,a,n),t.child;case 6:return e===null&&V&&((e=n=me)&&(n=vw(n,t.pendingProps,Yt),n!==null?(t.stateNode=n,Qe=t,me=null,e=!0):e=!1),e||ga(t)),null;case 13:return Fy(e,t,n);case 4:return Yo(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Pa(t,null,a,n):Ve(e,t,a,n),t.child;case 11:return Am(e,t,t.type,t.pendingProps,n);case 7:return Ve(e,t,t.pendingProps,n),t.child;case 8:return Ve(e,t,t.pendingProps.children,n),t.child;case 12:return Ve(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,Kn(t,t.type,a.value),Ve(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,qa(t),l=Ke(l),a=a(l),t.flags|=1,Ve(e,t,a,n),t.child;case 14:return wm(e,t,t.type,t.pendingProps,n);case 15:return qy(e,t,t.type,t.pendingProps,n);case 19:return jy(e,t,n);case 31:return FA(e,t,n);case 22:return Py(e,t,n,t.pendingProps);case 24:return qa(t),a=Ke(ke),e===null?(l=Md(),l===null&&(l=oe,i=xd(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Bd(t),Kn(t,ke,l)):((e.lanes&n)!==0&&(Us(e,t),Wi(t,null,null,n),Zi()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),Kn(t,ke,a)):(a=i.cache,Kn(t,ke,a),a!==l.cache&&zs(t,[ke],n,!0))),Ve(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(w(156,t.tag))}function wn(e){e.flags|=4}function is(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(mp())e.flags|=8192;else throw Ha=Jo,_d}else e.flags&=-16777217}function xm(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Hp(t))if(mp())e.flags|=8192;else throw Ha=Jo,_d}function wo(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?hh():536870912,e.lanes|=t,Xl|=t)}function Li(e,t){if(!V)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function ge(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function YA(e,t,n){var a=t.pendingProps;switch(Dd(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ge(t),null;case 1:return ge(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Bn(ke),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(pl(t)?wn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Wc())),ge(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(wn(t),i!==null?(ge(t),xm(t,i)):(ge(t),is(t,l,null,a,n))):i?i!==e.memoizedState?(wn(t),ge(t),xm(t,i)):(ge(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&wn(t),ge(t),is(t,l,e,a,n)),null;case 27:if(Vo(t),n=aa.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&wn(t);else{if(!a){if(t.stateNode===null)throw Error(w(166));return ge(t),null}e=dn.current,pl(t)?am(t,e):(e=kp(l,a,n),t.stateNode=e,wn(t))}return ge(t),null;case 5:if(Vo(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&wn(t);else{if(!a){if(t.stateNode===null)throw Error(w(166));return ge(t),null}if(i=dn.current,pl(t))am(t,i);else{var r=fu(aa.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="”,i=i.removeChild(i.firstChild);break;case”select”:i=typeof a.is==”string”?r.createElement(“select”,{is:a.is}):r.createElement(“select”),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is==”string”?r.createElement(l,{is:a.is}):r.createElement(l)}}i[Xe]=t,i[pt]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Ze(i,l,a),l){case”button”:case”input”:case”select”:case”textarea”:a=!!a.autoFocus;break e;case”img”:a=!0;break e;default:a=!1}a&&wn(t)}}return ge(t),is(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&wn(t);else{if(typeof a!=”string”&&t.stateNode===null)throw Error(w(166));if(e=aa.current,pl(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Qe,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[Xe]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||_p(e.nodeValue,n)),e||ga(t,!0)}else e=fu(e).createTextNode(a),e[Xe]=t,t.stateNode=e}return ge(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=pl(t),n!==null){if(e===null){if(!a)throw Error(w(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(w(557));e[Xe]=t}else Ga(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ge(t),e=!1}else n=Wc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(St(t),t):(St(t),null);if((t.flags&128)!==0)throw Error(w(558))}return ge(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=pl(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(w(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(w(317));l[Xe]=t}else Ga(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ge(t),l=!1}else l=Wc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(St(t),t):(St(t),null)}return St(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),wo(t,t.updateQueue),ge(t),null);case 4:return ql(),e===null&&ef(t.stateNode.containerInfo),ge(t),null;case 10:return Bn(t.type),ge(t),null;case 19:if(je(Me),a=t.memoizedState,a===null)return ge(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Li(a,!1);else{if(Re!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=eu(e),i!==null){for(t.flags|=128,Li(a,!1),e=i.updateQueue,t.updateQueue=e,wo(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Vh(n,e),n=n.sibling;return se(Me,Me.current&1|2),V&&Tn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Tt()>ru&&(t.flags|=128,l=!0,Li(a,!1),t.lanes=4194304)}else{if(!l)if(e=eu(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,wo(t,e),Li(a,!0),a.tail===null&&a.tailMode===”hidden”&&!i.alternate&&!V)return ge(t),null}else 2*Tt()-a.renderingStartTime>ru&&n!==536870912&&(t.flags|=128,l=!0,Li(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Tt(),e.sibling=null,n=Me.current,se(Me,l?n&1|2:n&1),V&&Tn(t,a.treeForkCount),e):(ge(t),null);case 22:case 23:return St(t),Nd(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(ge(t),t.subtreeFlags&6&&(t.flags|=8192)):ge(t),n=t.updateQueue,n!==null&&wo(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&je(za),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Bn(ke),ge(t),null;case 25:return null;case 30:return null}throw Error(w(156,t.tag))}function VA(e,t){switch(Dd(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Bn(ke),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Vo(t),null;case 31:if(t.memoizedState!==null){if(St(t),t.alternate===null)throw Error(w(340));Ga()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(St(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(w(340));Ga()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return je(Me),null;case 4:return ql(),null;case 10:return Bn(t.type),null;case 22:case 23:return St(t),Nd(),e!==null&&je(za),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Bn(ke),null;case 25:return null;default:return null}}function Vy(e,t){switch(Dd(t),t.tag){case 3:Bn(ke),ql();break;case 26:case 27:case 5:Vo(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&St(t);break;case 13:St(t);break;case 19:je(Me);break;case 10:Bn(t.type);break;case 22:case 23:St(t),Nd(),e!==null&&je(za);break;case 24:Bn(ke)}}function Tr(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(o){te(t,t.return,o)}}function ma(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,o=r.destroy;if(o!==void 0){r.destroy=void 0,l=t;var u=n,c=o;try{c()}catch(s){te(l,u,s)}}}a=a.next}while(a!==i)}}catch(s){te(t,t.return,s)}}function Xy(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{ty(t,n)}catch(a){te(e,e.return,a)}}}function Qy(e,t,n){n.props=ja(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){te(e,t,a)}}function Ji(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n==”function”?e.refCleanup=n(a):n.current=a}}catch(l){te(e,t,l)}}function sn(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a==”function”)try{a()}catch(l){te(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==”function”)try{n(null)}catch(l){te(e,t,l)}else n.current=null}function Ky(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case”button”:case”input”:case”select”:case”textarea”:n.autoFocus&&a.focus();break e;case”img”:n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){te(e,e.return,l)}}function rs(e,t,n){try{var a=e.stateNode;dw(a,e.type,n,t),a[pt]=t}catch(l){te(e,e.return,l)}}function Zy(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&pa(e.type)||e.tag===4}function os(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Zy(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&pa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Zs(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===”HTML”?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===”HTML”?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=xn));else if(a!==4&&(a===27&&pa(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Zs(e,t,n),e=e.sibling;e!==null;)Zs(e,t,n),e=e.sibling}function iu(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&pa(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(iu(e,t,n),e=e.sibling;e!==null;)iu(e,t,n),e=e.sibling}function Wy(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Ze(t,a,n),t[Xe]=e,t[pt]=n}catch(i){te(e,e.return,i)}}var En=!1,Oe=!1,us=!1,Mm=typeof WeakSet==”function”?WeakSet:Set,Pe=null;function XA(e,t){if(e=e.containerInfo,nd=yu,e=Hh(e),Sd(e)){if(“selectionStart”in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,o=-1,u=-1,c=0,s=0,f=e,d=null;t:for(;;){for(var m;f!==n||l!==0&&f.nodeType!==3||(o=r+l),f!==i||a!==0&&f.nodeType!==3||(u=r+a),f.nodeType===3&&(r+=f.nodeValue.length),(m=f.firstChild)!==null;)d=f,f=m;for(;;){if(f===e)break t;if(d===n&&++c===l&&(o=r),d===i&&++s===a&&(u=r),(m=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=m}n=o===-1||u===-1?null:{start:o,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ad={focusedElem:e,selectionRange:n},yu=!1,Pe=t;Pe!==null;)if(t=Pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Pe=e;else for(;Pe!==null;){switch(t=Pe,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var v=ja(n.type,l);e=a.getSnapshotBeforeUpdate(v,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(A){te(n,n.return,A)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)id(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":id(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(w(163))}if(e=t.sibling,e!==null){e.return=t.return,Pe=e;break}Pe=t.return}}function Iy(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Cn(e,n),a&4&&Tr(5,n);break;case 1:if(Cn(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){te(n,n.return,r)}else{var l=ja(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){te(n,n.return,r)}}a&64&&Xy(n),a&512&&Ji(n,n.return);break;case 3:if(Cn(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{ty(e,t)}catch(r){te(n,n.return,r)}}break;case 27:t===null&&a&4&&Wy(n);case 26:case 5:Cn(e,n),t===null&&a&4&&Ky(n),a&512&&Ji(n,n.return);break;case 12:Cn(e,n);break;case 31:Cn(e,n),a&4&&ep(e,n);break;case 13:Cn(e,n),a&4&&tp(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=tw.bind(null,n),bw(e,n))));break;case 22:if(a=n.memoizedState!==null||En,!a){t=t!==null&&t.memoizedState!==null||Oe,l=En;var i=Oe;En=a,(Oe=t)&&!i?Rn(e,n,(n.subtreeFlags&8772)!==0):Cn(e,n),En=l,Oe=i}break;case 30:break;default:Cn(e,n)}}function Jy(e){var t=e.alternate;t!==null&&(e.alternate=null,Jy(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&yd(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ae=null,mt=!1;function Sn(e,t,n){for(n=n.child;n!==null;)$y(e,t,n),n=n.sibling}function $y(e,t,n){if(Et&&typeof Et.onCommitFiberUnmount=="function")try{Et.onCommitFiberUnmount(vr,n)}catch{}switch(n.tag){case 26:Oe||sn(n,t),Sn(e,t,n),n.memoizedState?n.memoizedState.count–:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Oe||sn(n,t);var a=Ae,l=mt;pa(n.type)&&(Ae=n.stateNode,mt=!1),Sn(e,t,n),nr(n.stateNode),Ae=a,mt=l;break;case 5:Oe||sn(n,t);case 6:if(a=Ae,l=mt,Ae=null,Sn(e,t,n),Ae=a,mt=l,Ae!==null)if(mt)try{(Ae.nodeType===9?Ae.body:Ae.nodeName==="HTML"?Ae.ownerDocument.body:Ae).removeChild(n.stateNode)}catch(i){te(n,t,i)}else try{Ae.removeChild(n.stateNode)}catch(i){te(n,t,i)}break;case 18:Ae!==null&&(mt?(e=Ae,Ym(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),Wl(e)):Ym(Ae,n.stateNode));break;case 4:a=Ae,l=mt,Ae=n.stateNode.containerInfo,mt=!0,Sn(e,t,n),Ae=a,mt=l;break;case 0:case 11:case 14:case 15:ma(2,n,t),Oe||ma(4,n,t),Sn(e,t,n);break;case 1:Oe||(sn(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Qy(n,t,a)),Sn(e,t,n);break;case 21:Sn(e,t,n);break;case 22:Oe=(a=Oe)||n.memoizedState!==null,Sn(e,t,n),Oe=a;break;default:Sn(e,t,n)}}function ep(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Wl(e)}catch(n){te(t,t.return,n)}}}function tp(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Wl(e)}catch(n){te(t,t.return,n)}}function QA(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Mm),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Mm),t;default:throw Error(w(435,e.tag))}}function So(e,t){var n=QA(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=nw.bind(null,e,a);a.then(l,l)}})}function ft(e,t){var n=t.deletions;if(n!==null)for(var a=0;a title”))),Ze(i,a,n),i[Xe]=e,Fe(i),a=i;break e;case”link”:var r=Im(“link”,”href”,l).get(a+(n.href||””));if(r){for(var o=0;o<r.length;o++)if(i=r[o],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(o,1);break t}}i=l.createElement(a),Ze(i,a,n),l.head.appendChild(i);break;case"meta":if(r=Im("meta","content",l).get(a+(n.content||""))){for(o=0;o<r.length;o++)if(i=r[o],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(o,1);break t}}i=l.createElement(a),Ze(i,a,n),l.head.appendChild(i);break;default:throw Error(w(468,a))}i[Xe]=e,Fe(i),a=i}e.stateNode=a}else Jm(l,e.type,e.stateNode);else e.stateNode=Wm(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count–,a===null?Jm(l,e.type,e.stateNode):Wm(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&rs(e,e.memoizedProps,n.memoizedProps)}break;case 27:ft(t,e),gt(e),a&512&&(Oe||n===null||sn(n,n.return)),n!==null&&a&4&&rs(e,e.memoizedProps,n.memoizedProps);break;case 5:if(ft(t,e),gt(e),a&512&&(Oe||n===null||sn(n,n.return)),e.flags&32){l=e.stateNode;try{Fl(l,"")}catch(v){te(e,e.return,v)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,rs(e,l,n!==null?n.memoizedProps:l)),a&1024&&(us=!0);break;case 6:if(ft(t,e),gt(e),a&4){if(e.stateNode===null)throw Error(w(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(v){te(e,e.return,v)}}break;case 3:if(qo=null,l=$t,$t=gu(t.containerInfo),ft(t,e),$t=l,gt(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{Wl(t.containerInfo)}catch(v){te(e,e.return,v)}us&&(us=!1,ap(e));break;case 4:a=$t,$t=gu(e.stateNode.containerInfo),ft(t,e),gt(e),$t=a;break;case 12:ft(t,e),gt(e);break;case 31:ft(t,e),gt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,So(e,a)));break;case 13:ft(t,e),gt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Mu=Tt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,So(e,a)));break;case 22:l=e.memoizedState!==null;var u=n!==null&&n.memoizedState!==null,c=En,s=Oe;if(En=c||l,Oe=s||u,ft(t,e),Oe=s,En=c,gt(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||u||En||Oe||Oa(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){u=n=t;try{if(i=u.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{o=u.stateNode;var f=u.memoizedProps.style,d=f!=null&&f.hasOwnProperty("display")?f.display:null;o.style.display=d==null||typeof d=="boolean"?"":(""+d).trim()}}catch(v){te(u,u.return,v)}}}else if(t.tag===6){if(n===null){u=t;try{u.stateNode.nodeValue=l?"":u.memoizedProps}catch(v){te(u,u.return,v)}}}else if(t.tag===18){if(n===null){u=t;try{var m=u.stateNode;l?Vm(m,!0):Vm(u.stateNode,!1)}catch(v){te(u,u.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,So(e,n))));break;case 19:ft(t,e),gt(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,So(e,a)));break;case 30:break;case 21:break;default:ft(t,e),gt(e)}}function gt(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(Zy(a)){n=a;break}a=a.return}if(n==null)throw Error(w(160));switch(n.tag){case 27:var l=n.stateNode,i=os(e);iu(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(Fl(r,""),n.flags&=-33);var o=os(e);iu(e,o,r);break;case 3:case 4:var u=n.stateNode.containerInfo,c=os(e);Zs(e,c,u);break;default:throw Error(w(161))}}catch(s){te(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function ap(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;ap(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Cn(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Iy(e,t.alternate,t),t=t.sibling}function Oa(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ma(4,t,t.return),Oa(t);break;case 1:sn(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Qy(t,t.return,n),Oa(t);break;case 27:nr(t.stateNode);case 26:case 5:sn(t,t.return),Oa(t);break;case 22:t.memoizedState===null&&Oa(t);break;case 30:Oa(t);break;default:Oa(t)}e=e.sibling}}function Rn(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:Rn(l,i,n),Tr(4,i);break;case 1:if(Rn(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(c){te(a,a.return,c)}if(a=i,l=a.updateQueue,l!==null){var o=a.stateNode;try{var u=l.shared.hiddenCallbacks;if(u!==null)for(l.shared.hiddenCallbacks=null,l=0;l<u.length;l++)ey(u[l],o)}catch(c){te(a,a.return,c)}}n&&r&64&&Xy(i),Ji(i,i.return);break;case 27:Wy(i);case 26:case 5:Rn(l,i,n),n&&a===null&&r&4&&Ky(i),Ji(i,i.return);break;case 12:Rn(l,i,n);break;case 31:Rn(l,i,n),n&&r&4&&ep(l,i);break;case 13:Rn(l,i,n),n&&r&4&&tp(l,i);break;case 22:i.memoizedState===null&&Rn(l,i,n),Ji(i,i.return);break;case 30:break;default:Rn(l,i,n)}t=t.sibling}}function Kd(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Cr(n))}function Zd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Cr(e))}function Jt(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)lp(e,t,n,a),t=t.sibling}function lp(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:Jt(e,t,n,a),l&2048&&Tr(9,t);break;case 1:Jt(e,t,n,a);break;case 3:Jt(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Cr(e)));break;case 12:if(l&2048){Jt(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,o=i.onPostCommit;typeof o=="function"&&o(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(u){te(t,t.return,u)}}else Jt(e,t,n,a);break;case 31:Jt(e,t,n,a);break;case 13:Jt(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?Jt(e,t,n,a):$i(e,t):i._visibility&2?Jt(e,t,n,a):(i._visibility|=2,bl(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Kd(r,t);break;case 24:Jt(e,t,n,a),l&2048&&Zd(t.alternate,t);break;default:Jt(e,t,n,a)}}function bl(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,o=n,u=a,c=r.flags;switch(r.tag){case 0:case 11:case 15:bl(i,r,o,u,l),Tr(8,r);break;case 23:break;case 22:var s=r.stateNode;r.memoizedState!==null?s._visibility&2?bl(i,r,o,u,l):$i(i,r):(s._visibility|=2,bl(i,r,o,u,l)),l&&c&2048&&Kd(r.alternate,r);break;case 24:bl(i,r,o,u,l),l&&c&2048&&Zd(r.alternate,r);break;default:bl(i,r,o,u,l)}t=t.sibling}}function $i(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:$i(n,a),l&2048&&Kd(a.alternate,a);break;case 24:$i(n,a),l&2048&&Zd(a.alternate,a);break;default:$i(n,a)}t=t.sibling}}var ji=8192;function vl(e,t,n){if(e.subtreeFlags&ji)for(e=e.child;e!==null;)ip(e,t,n),e=e.sibling}function ip(e,t,n){switch(e.tag){case 26:vl(e,t,n),e.flags&ji&&e.memoizedState!==null&&Bw(n,$t,e.memoizedState,e.memoizedProps);break;case 5:vl(e,t,n);break;case 3:case 4:var a=$t;$t=gu(e.stateNode.containerInfo),vl(e,t,n),$t=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=ji,ji=16777216,vl(e,t,n),ji=a):vl(e,t,n));break;default:vl(e,t,n)}}function rp(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,up(a,e)}rp(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)op(e),e=e.sibling}function op(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ma(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Uo(e)):zi(e);break;default:zi(e)}}function Uo(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];Pe=a,up(a,e)}rp(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ma(8,t,t.return),Uo(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Uo(t));break;default:Uo(t)}e=e.sibling}}function up(e,t){for(;Pe!==null;){var n=Pe;switch(n.tag){case 0:case 11:case 15:ma(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Cr(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,Pe=a;else e:for(n=e;Pe!==null;){a=Pe;var l=a.sibling,i=a.return;if(Jy(a),a===n){Pe=null;break e}if(l!==null){l.return=i,Pe=l;break e}Pe=i}}}var KA={getCacheForType:function(e){var t=Ke(ke),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Ke(ke).controller.signal}},ZA=typeof WeakMap=="function"?WeakMap:Map,K=0,oe=null,F=null,j=0,ee=0,wt=null,ea=!1,ti=!1,Wd=!1,Hn=0,Re=0,ha=0,Ua=0,Id=0,Rt=0,Xl=0,er=null,ht=null,Ws=!1,Mu=0,cp=0,ru=1/0,ou=null,oa=null,He=0,ua=null,Ql=null,Nn=0,Is=0,Js=null,sp=null,tr=0,$s=null;function xt(){return(K&2)!==0&&j!==0?j&-j:k.T!==null?$d():bh()}function dp(){if(Rt===0)if((j&536870912)===0||V){var e=fo;fo<<=1,(fo&3932160)===0&&(fo=262144),Rt=e}else Rt=536870912;return e=_t.current,e!==null&&(e.flags|=32),Rt}function yt(e,t,n){(e===oe&&(ee===2||ee===9)||e.cancelPendingCommit!==null)&&(Kl(e,0),ta(e,j,Rt,!1)),Ar(e,n),((K&2)===0||e!==oe)&&(e===oe&&((K&2)===0&&(Ua|=n),Re===4&&ta(e,j,Rt,!1)),gn(e))}function fp(e,t,n){if((K&6)!==0)throw Error(w(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||br(e,t),l=a?JA(e,t):cs(e,t,!0),i=a;do{if(l===0){ti&&!a&&ta(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!WA(n)){l=cs(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var o=e;l=er;var u=o.current.memoizedState.isDehydrated;if(u&&(Kl(o,r).flags|=256),r=cs(o,r,!1),r!==2){if(Wd&&!u){o.errorRecoveryDisabledLanes|=i,Ua|=i,l=4;break e}i=ht,ht=l,i!==null&&(ht===null?ht=i:ht.push.apply(ht,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){Kl(e,0),ta(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(w(345));case 4:if((t&4194048)!==t)break;case 6:ta(a,t,Rt,!ea);break e;case 2:ht=null;break;case 3:case 5:break;default:throw Error(w(329))}if((t&62914560)===t&&(l=Mu+300-Tt(),10<l)){if(ta(a,t,Rt,!ea),vu(a,0,!0)!==0)break e;Nn=t,a.timeoutHandle=Np(_m.bind(null,a,n,ht,ou,Ws,t,Rt,Ua,Xl,ea,i,"Throttled",-0,0),l);break e}_m(a,n,ht,ou,Ws,t,Rt,Ua,Xl,ea,i,null,-0,0)}}break}while(!0);gn(e)}function _m(e,t,n,a,l,i,r,o,u,c,s,f,d,m){if(e.timeoutHandle=-1,f=t.subtreeFlags,f&8192||(f&16785408)===16785408){f={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:xn},ip(t,i,f);var v=(i&62914560)===i?Mu-Tt():(i&4194048)===i?cp-Tt():0;if(v=Nw(f,v),v!==null){Nn=i,e.cancelPendingCommit=v(Nm.bind(null,e,t,i,n,a,l,r,o,u,s,f,null,d,m)),ta(e,i,r,!c);return}}Nm(e,t,i,n,a,l,r,o,u)}function WA(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!Mt(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function ta(e,t,n,a){t&=~Id,t&=~Ua,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Dt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&yh(e,n,t)}function _u(){return(K&6)===0?(Er(0,!1),!1):!0}function Jd(){if(F!==null){if(ee===0)var e=F.return;else e=F,Mn=Ka=null,Hd(e),Hl=null,cr=0,e=F;for(;e!==null;)Vy(e.alternate,e),e=e.return;F=null}}function Kl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,mw(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Nn=0,Jd(),oe=e,F=n=_n(e.current,null),j=t,ee=0,wt=null,ea=!1,ti=br(e,t),Wd=!1,Xl=Rt=Id=Ua=ha=Re=0,ht=er=null,Ws=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Dt(a),i=1<b&&(r=b,b=A,A=r);var h=em(o,A),g=em(o,b);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var y=f.createRange();y.setStart(h.node,h.offset),m.removeAllRanges(),A>b?(m.addRange(y),m.extend(g.node,g.offset)):(y.setEnd(g.node,g.offset),m.addRange(y))}}}}for(f=[],m=o;m=m.parentNode;)m.nodeType===1&&f.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof o.focus==”function”&&o.focus(),o=0;o<f.length;o++){var p=f[o];p.element.scrollLeft=p.left,p.element.scrollTop=p.top}}yu=!!nd,ad=nd=null}finally{K=l,Z.p=a,k.T=n}}e.current=t,He=2}}function Ap(){if(He===2){He=0;var e=ua,t=Ql,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=k.T,k.T=null;var a=Z.p;Z.p=2;var l=K;K|=4;try{Iy(e,t.alternate,t)}finally{K=l,Z.p=a,k.T=n}}He=3}}function wp(){if(He===4||He===3){He=0,Cb();var e=ua,t=Ql,n=Nn,a=sp;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?He=5:(He=0,Ql=ua=null,Sp(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(oa=null),hd(n),t=t.stateNode,Et&&typeof Et.onCommitFiberRoot=="function")try{Et.onCommitFiberRoot(vr,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=k.T,l=Z.p,Z.p=2,k.T=null;try{for(var i=e.onRecoverableError,r=0;rn?32:n,k.T=null,n=Js,Js=null;var i=ua,r=Nn;if(He=0,Ql=ua=null,Nn=0,(K&6)!==0)throw Error(w(331));var o=K;if(K|=4,op(i.current),lp(i,i.current,r,n),K=o,Er(0,!1),Et&&typeof Et.onPostCommitFiberRoot==”function”)try{Et.onPostCommitFiberRoot(vr,i)}catch{}return!0}finally{Z.p=l,k.T=a,Sp(e,t)}}function Om(e,t,n){t=jt(n,t),t=Xs(e.stateNode,t,2),e=ra(e,t,2),e!==null&&(Ar(e,2),gn(e))}function te(e,t,n){if(e.tag===3)Om(e,e,n);else for(;t!==null;){if(t.tag===3){Om(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError==”function”||typeof a.componentDidCatch==”function”&&(oa===null||!oa.has(a))){e=jt(n,e),n=Uy(2),a=ra(t,n,2),a!==null&&(Gy(n,a,t,e),Ar(a,2),gn(a));break}}t=t.return}}function ss(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new ZA;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Wd=!0,l.add(n),e=ew.bind(null,e,t,n),t.then(e,e))}function ew(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,oe===e&&(j&n)===n&&(Re===4||Re===3&&(j&62914560)===j&&300>Tt()-Mu?(K&2)===0&&Kl(e,0):Id|=n,Xl===j&&(Xl=0)),gn(e)}function Rp(e,t){t===0&&(t=hh()),e=Qa(e,t),e!==null&&(Ar(e,t),gn(e))}function tw(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Rp(e,n)}function nw(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(w(314))}a!==null&&a.delete(t),Rp(e,n)}function aw(e,t){return gd(e,t)}var cu=null,Al=null,ed=!1,su=!1,ds=!1,na=0;function gn(e){e!==Al&&e.next===null&&(Al===null?cu=Al=e:Al=Al.next=e),su=!0,ed||(ed=!0,iw())}function Er(e,t){if(!ds&&su){ds=!0;do for(var n=!1,a=cu;a!==null;){if(!t)if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,o=a.pingedLanes;i=(1<<31-Dt(42|e)+1)-1,i&=l&~(r&~o),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,km(a,i))}else i=j,i=vu(a,a===oe?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||br(a,i)||(n=!0,km(a,i));a=a.next}while(n);ds=!1}}function lw(){Tp()}function Tp(){su=ed=!1;var e=0;na!==0&&gw()&&(e=na);for(var t=Tt(),n=null,a=cu;a!==null;){var l=a.next,i=Ep(a,t);i===0?(a.next=null,n===null?cu=l:n.next=l,l===null&&(Al=n)):(n=a,(e!==0||(i&3)!==0)&&(su=!0)),a=l}He!==0&&He!==5||Er(e,!1),na!==0&&(na=0)}function Ep(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Dt(i),o=1<<r,u=l[r];u===-1?((o&n)===0||(o&a)!==0)&&(l[r]=Bb(o,t)):u<=t&&(e.expiredLanes|=o),i&=~o}if(t=oe,n=j,n=vu(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(ee===2||ee===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&qc(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||br(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&qc(a),hd(n)){case 2:case 8:n=gh;break;case 32:n=Xo;break;case 268435456:n=mh;break;default:n=Xo}return a=Dp.bind(null,e),n=gd(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&qc(a),e.callbackPriority=2,e.callbackNode=null,2}function Dp(e,t){if(He!==0&&He!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Nu()&&e.callbackNode!==n)return null;var a=j;return a=vu(e,e===oe?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(fp(e,a,t),Ep(e,Tt()),e.callbackNode!=null&&e.callbackNode===n?Dp.bind(null,e):null)}function km(e,t){if(Nu())return null;fp(e,t,!0)}function iw(){hw(function(){(K&6)!==0?gd(fh,lw):Tp()})}function $d(){if(na===0){var e=jl;e===0&&(e=so,so<<=1,(so&261888)===0&&(so=256)),na=e}return na}function Lm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Mo(""+e)}function zm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function rw(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Lm((l[pt]||null).action),r=a.submitter;r&&(t=(t=r[pt]||null)?Lm(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var o=new bu("action","action",null,a,l);e.push({event:o,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(na!==0){var u=r?zm(l,r):new FormData(l);Ys(n,{pending:!0,data:u,method:l.method,action:i},null,u)}}else typeof i=="function"&&(o.preventDefault(),u=r?zm(l,r):new FormData(l),Ys(n,{pending:!0,data:u,method:l.method,action:i},i,u))},currentTarget:l}]})}}for(Co=0;Co<Ns.length;Co++)Ro=Ns[Co],Hm=Ro.toLowerCase(),Um=Ro[0].toUpperCase()+Ro.slice(1),en(Hm,"on"+Um);var Ro,Hm,Um,Co;en(Gh,"onAnimationEnd");en(qh,"onAnimationIteration");en(Ph,"onAnimationStart");en("dblclick","onDoubleClick");en("focusin","onFocus");en("focusout","onBlur");en(RA,"onTransitionRun");en(TA,"onTransitionStart");en(EA,"onTransitionCancel");en(Fh,"onTransitionEnd");Pl("onMouseEnter",["mouseout","mouseover"]);Pl("onMouseLeave",["mouseout","mouseover"]);Pl("onPointerEnter",["pointerout","pointerover"]);Pl("onPointerLeave",["pointerout","pointerover"]);Ya("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Ya("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Ya("onBeforeInput",["compositionend","keypress","textInput","paste"]);Ya("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Ya("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Ya("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var fr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),ow=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(fr));function xp(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r–){var o=a[r],u=o.instance,c=o.currentTarget;if(o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Ko(s)}l.currentTarget=null,i=u}else for(r=0;r<a.length;r++){if(o=a[r],u=o.instance,c=o.currentTarget,o=o.listener,u!==i&&l.isPropagationStopped())break e;i=o,l.currentTarget=c;try{i(l)}catch(s){Ko(s)}l.currentTarget=null,i=u}}}}function P(e,t){var n=t[Rs];n===void 0&&(n=t[Rs]=new Set);var a=e+"__bubble";n.has(a)||(Mp(t,e,2,!1),n.add(a))}function fs(e,t,n){var a=0;t&&(a|=4),Mp(n,e,a,t)}var To="_reactListening"+Math.random().toString(36).slice(2);function ef(e){if(!e[To]){e[To]=!0,Ah.forEach(function(n){n!=="selectionchange"&&(ow.has(n)||fs(n,!1,e),fs(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[To]||(t[To]=!0,fs("selectionchange",!1,t))}}function Mp(e,t,n,a){switch(Fp(t)){case 2:var l=Lw;break;case 8:l=zw;break;default:l=lf}n=l.bind(null,t,n,e),l=void 0,!Ms||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function gs(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var o=a.stateNode.containerInfo;if(o===l)break;if(r===4)for(r=a.return;r!==null;){var u=r.tag;if((u===3||u===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;o!==null;){if(r=Cl(o),r===null)return;if(u=r.tag,u===5||u===6||u===26||u===27){a=i=r;continue e}o=o.parentNode}}a=a.return}xh(function(){var c=i,s=vd(n),f=[];e:{var d=jh.get(e);if(d!==void 0){var m=bu,v=e;switch(e){case"keypress":if(Bo(n)===0)break e;case"keydown":case"keyup":m=nA;break;case"focusin":v="focus",m=Vc;break;case"focusout":v="blur",m=Vc;break;case"beforeblur":case"afterblur":m=Vc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Vg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Yb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=iA;break;case Gh:case qh:case Ph:m=Qb;break;case Fh:m=oA;break;case"scroll":case"scrollend":m=Fb;break;case"wheel":m=cA;break;case"copy":case"cut":case"paste":m=Zb;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Qg;break;case"toggle":case"beforetoggle":m=dA}var A=(t&4)!==0,b=!A&&(e==="scroll"||e==="scrollend"),h=A?d!==null?d+"Capture":null:d;A=[];for(var g=c,y;g!==null;){var p=g;if(y=p.stateNode,p=p.tag,p!==5&&p!==26&&p!==27||y===null||h===null||(p=lr(g,h),p!=null&&A.push(gr(g,p,y))),b)break;g=g.return}0<A.length&&(d=new m(d,v,null,n,s),f.push({event:d,listeners:A}))}}if((t&7)===0){e:{if(d=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",d&&n!==xs&&(v=n.relatedTarget||n.fromElement)&&(Cl(v)||v[Il]))break e;if((m||d)&&(d=s.window===s?s:(d=s.ownerDocument)?d.defaultView||d.parentWindow:window,m?(v=n.relatedTarget||n.toElement,m=c,v=v?Cl(v):null,v!==null&&(b=pr(v),A=v.tag,v!==b||A!==5&&A!==27&&A!==6)&&(v=null)):(m=null,v=c),m!==v)){if(A=Vg,p="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(A=Qg,p="onPointerLeave",h="onPointerEnter",g="pointer"),b=m==null?d:Pi(m),y=v==null?d:Pi(v),d=new A(p,g+"leave",m,n,s),d.target=b,d.relatedTarget=y,p=null,Cl(s)===c&&(A=new A(h,g+"enter",v,n,s),A.target=y,A.relatedTarget=b,p=A),b=p,m&&v)t:{for(A=uw,h=m,g=v,y=0,p=h;p;p=A(p))y++;p=0;for(var C=g;C;C=A(C))p++;for(;0<y-p;)h=A(h),y–;for(;0<p-y;)g=A(g),p–;for(;y–;){if(h===g||g!==null&&h===g.alternate){A=h;break t}h=A(h),g=A(g)}A=null}else A=null;m!==null&&Gm(f,d,m,A,!1),v!==null&&b!==null&&Gm(f,b,v,A,!0)}}e:{if(d=c?Pi(c):window,m=d.nodeName&&d.nodeName.toLowerCase(),m==="select"||m==="input"&&d.type==="file")var R=Ig;else if(Wg(d))if(kh)R=wA;else{R=bA;var T=vA}else m=d.nodeName,!m||m.toLowerCase()!=="input"||d.type!=="checkbox"&&d.type!=="radio"?c&&pd(c.elementType)&&(R=Ig):R=AA;if(R&&(R=R(e,c))){Oh(f,R,n,s);break e}T&&T(e,d,c),e==="focusout"&&c&&d.type==="number"&&c.memoizedProps.value!=null&&Ds(d,"number",d.value)}switch(T=c?Pi(c):window,e){case"focusin":(Wg(T)||T.contentEditable==="true")&&(El=T,_s=c,Xi=null);break;case"focusout":Xi=_s=El=null;break;case"mousedown":Bs=!0;break;case"contextmenu":case"mouseup":case"dragend":Bs=!1,tm(f,n,s);break;case"selectionchange":if(CA)break;case"keydown":case"keyup":tm(f,n,s)}var M;if(wd)e:{switch(e){case"compositionstart":var S="onCompositionStart";break e;case"compositionend":S="onCompositionEnd";break e;case"compositionupdate":S="onCompositionUpdate";break e}S=void 0}else Tl?Bh(e,n)&&(S="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(S="onCompositionStart");S&&(_h&&n.locale!=="ko"&&(Tl||S!=="onCompositionStart"?S==="onCompositionEnd"&&Tl&&(M=Mh()):($n=s,bd="value"in $n?$n.value:$n.textContent,Tl=!0)),T=du(c,S),0<T.length&&(S=new Xg(S,e,null,n,s),f.push({event:S,listeners:T}),M?S.data=M:(M=Nh(n),M!==null&&(S.data=M)))),(M=gA?mA(e,n):hA(e,n))&&(S=du(c,"onBeforeInput"),0<S.length&&(T=new Xg("onBeforeInput","beforeinput",null,n,s),f.push({event:T,listeners:S}),T.data=M)),rw(f,e,c,n,s)}xp(f,t)})}function gr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function du(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=lr(e,n),l!=null&&a.unshift(gr(e,l,i)),l=lr(e,t),l!=null&&a.push(gr(e,l,i))),e.tag===3)return a;e=e.return}return[]}function uw(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Gm(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var o=n,u=o.alternate,c=o.stateNode;if(o=o.tag,u!==null&&u===a)break;o!==5&&o!==26&&o!==27||c===null||(u=c,l?(c=lr(n,i),c!=null&&r.unshift(gr(n,c,u))):l||(c=lr(n,i),c!=null&&r.push(gr(n,c,u)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var cw=/rn?/g,sw=/u0000|uFFFD/g;function qm(e){return(typeof e=="string"?e:""+e).replace(cw,“).replace(sw,"")}function _p(e,t){return t=qm(t),qm(e)===t}function ae(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||Fl(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&Fl(e,""+a);break;case"className":mo(e,"class",a);break;case"tabIndex":mo(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":mo(e,n,a);break;case"style":Dh(e,a,i);break;case"data":if(t!=="object"){mo(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Mo(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof i=="function"&&(n==="formAction"?(t!=="input"&&ae(e,t,"name",l.name,l,null),ae(e,t,"formEncType",l.formEncType,l,null),ae(e,t,"formMethod",l.formMethod,l,null),ae(e,t,"formTarget",l.formTarget,l,null)):(ae(e,t,"encType",l.encType,l,null),ae(e,t,"method",l.method,l,null),ae(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=Mo(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=xn);break;case"onScroll":a!=null&&P("scroll",e);break;case"onScrollEnd":a!=null&&P("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(w(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(w(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=Mo(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":P("beforetoggle",e),P("toggle",e),xo(e,"popover",a);break;case"xlinkActuate":An(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":An(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":An(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":An(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":An(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":An(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":An(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":An(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":An(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":xo(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=qb.get(n)||n,xo(e,n,a))}}function td(e,t,n,a,l,i){switch(n){case"style":Dh(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(w(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(w(60));e.innerHTML=n}}break;case"children":typeof a=="string"?Fl(e,a):(typeof a=="number"||typeof a=="bigint")&&Fl(e,""+a);break;case"onScroll":a!=null&&P("scroll",e);break;case"onScrollEnd":a!=null&&P("scrollend",e);break;case"onClick":a!=null&&(e.onclick=xn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!wh.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[pt]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):xo(e,n,a)}}}function Ze(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":P("error",e),P("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(w(137,t));default:ae(e,t,i,r,n,null)}}l&&ae(e,t,"srcSet",n.srcSet,n,null),a&&ae(e,t,"src",n.src,n,null);return;case"input":P("invalid",e);var o=i=r=l=null,u=null,c=null;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case"name":l=s;break;case"type":r=s;break;case"checked":u=s;break;case"defaultChecked":c=s;break;case"value":i=s;break;case"defaultValue":o=s;break;case"children":case"dangerouslySetInnerHTML":if(s!=null)throw Error(w(137,t));break;default:ae(e,t,a,s,n,null)}}Rh(e,i,o,u,c,r,l,!1);return;case"select":P("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(o=n[l],o!=null))switch(l){case"value":i=o;break;case"defaultValue":r=o;break;case"multiple":a=o;default:ae(e,t,l,o,n,null)}t=i,n=r,e.multiple=!!a,t!=null?kl(e,!!a,t,!1):n!=null&&kl(e,!!a,n,!0);return;case"textarea":P("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(o=n[r],o!=null))switch(r){case"value":a=o;break;case"defaultValue":l=o;break;case"children":i=o;break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(w(91));break;default:ae(e,t,r,o,n,null)}Eh(e,a,l,i);return;case"option":for(u in n)if(n.hasOwnProperty(u)&&(a=n[u],a!=null))switch(u){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ae(e,t,u,a,n,null)}return;case"dialog":P("beforetoggle",e),P("toggle",e),P("cancel",e),P("close",e);break;case"iframe":case"object":P("load",e);break;case"video":case"audio":for(a=0;a<fr.length;a++)P(fr[a],e);break;case"image":P("error",e),P("load",e);break;case"details":P("toggle",e);break;case"embed":case"source":case"link":P("error",e),P("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(a=n[c],a!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(w(137,t));default:ae(e,t,c,a,n,null)}return;default:if(pd(t)){for(s in n)n.hasOwnProperty(s)&&(a=n[s],a!==void 0&&td(e,t,s,a,n,void 0));return}}for(o in n)n.hasOwnProperty(o)&&(a=n[o],a!=null&&ae(e,t,o,a,n,null))}function dw(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,o=null,u=null,c=null,s=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":u=f;default:a.hasOwnProperty(m)||ae(e,t,m,null,a,f)}}for(var d in a){var m=a[d];if(f=n[d],a.hasOwnProperty(d)&&(m!=null||f!=null))switch(d){case"type":i=m;break;case"name":l=m;break;case"checked":c=m;break;case"defaultChecked":s=m;break;case"value":r=m;break;case"defaultValue":o=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(w(137,t));break;default:m!==f&&ae(e,t,d,m,a,f)}}Es(e,r,o,u,c,s,i,l);return;case"select":m=r=o=d=null;for(i in n)if(u=n[i],n.hasOwnProperty(i)&&u!=null)switch(i){case"value":break;case"multiple":m=u;default:a.hasOwnProperty(i)||ae(e,t,i,null,a,u)}for(l in a)if(i=a[l],u=n[l],a.hasOwnProperty(l)&&(i!=null||u!=null))switch(l){case"value":d=i;break;case"defaultValue":o=i;break;case"multiple":r=i;default:i!==u&&ae(e,t,l,i,a,u)}t=o,n=r,a=m,d!=null?kl(e,!!n,d,!1):!!a!=!!n&&(t!=null?kl(e,!!n,t,!0):kl(e,!!n,n?[]:"",!1));return;case"textarea":m=d=null;for(o in n)if(l=n[o],n.hasOwnProperty(o)&&l!=null&&!a.hasOwnProperty(o))switch(o){case"value":break;case"children":break;default:ae(e,t,o,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":d=l;break;case"defaultValue":m=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(w(91));break;default:l!==i&&ae(e,t,r,l,a,i)}Th(e,d,m);return;case"option":for(var v in n)if(d=n[v],n.hasOwnProperty(v)&&d!=null&&!a.hasOwnProperty(v))switch(v){case"selected":e.selected=!1;break;default:ae(e,t,v,null,a,d)}for(u in a)if(d=a[u],m=n[u],a.hasOwnProperty(u)&&d!==m&&(d!=null||m!=null))switch(u){case"selected":e.selected=d&&typeof d!="function"&&typeof d!="symbol";break;default:ae(e,t,u,d,a,m)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var A in n)d=n[A],n.hasOwnProperty(A)&&d!=null&&!a.hasOwnProperty(A)&&ae(e,t,A,null,a,d);for(c in a)if(d=a[c],m=n[c],a.hasOwnProperty(c)&&d!==m&&(d!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(w(137,t));break;default:ae(e,t,c,d,a,m)}return;default:if(pd(t)){for(var b in n)d=n[b],n.hasOwnProperty(b)&&d!==void 0&&!a.hasOwnProperty(b)&&td(e,t,b,void 0,a,d);for(s in a)d=a[s],m=n[s],!a.hasOwnProperty(s)||d===m||d===void 0&&m===void 0||td(e,t,s,d,a,m);return}}for(var h in n)d=n[h],n.hasOwnProperty(h)&&d!=null&&!a.hasOwnProperty(h)&&ae(e,t,h,null,a,d);for(f in a)d=a[f],m=n[f],!a.hasOwnProperty(f)||d===m||d==null&&m==null||ae(e,t,f,d,a,m)}function Pm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function fw(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,o=l.duration;if(i&&o&&Pm(r)){for(r=0,o=l.responseEnd,a+=1;ao)break;var s=u.transferSize,f=u.initiatorType;s&&Pm(f)&&(u=u.responseEnd,r+=s*(u<o?1:(o-c)/(u-c)))}if(–a,t+=8*(i+r)/(l.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var nd=null,ad=null;function fu(e){return e.nodeType===9?e:e.ownerDocument}function Fm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Bp(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function ld(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var ms=null;function gw(){var e=window.event;return e&&e.type==="popstate"?e===ms?!1:(ms=e,!0):(ms=null,!1)}var Np=typeof setTimeout=="function"?setTimeout:void 0,mw=typeof clearTimeout=="function"?clearTimeout:void 0,jm=typeof Promise=="function"?Promise:void 0,hw=typeof queueMicrotask=="function"?queueMicrotask:typeof jm”u”?null:document;function Lp(e,t,n){var a=ni;if(a&&typeof t==”string”&&t){var l=Ft(t);l=’link[rel=”‘+e+'”][href=”‘+l+'”]’,typeof n==”string”&&(l+='[crossorigin=”‘+n+'”]’),Km.has(l)||(Km.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement(“link”),Ze(t,”link”,e),Fe(t),a.head.appendChild(t)))}}function Sw(e){Un.D(e),Lp(“dns-prefetch”,e,null)}function Cw(e,t){Un.C(e,t),Lp(“preconnect”,e,t)}function Rw(e,t,n){Un.L(e,t,n);var a=ni;if(a&&e&&t){var l=’link[rel=”preload”][as=”‘+Ft(t)+'”]’;t===”image”&&n&&n.imageSrcSet?(l+='[imagesrcset=”‘+Ft(n.imageSrcSet)+'”]’,typeof n.imageSizes==”string”&&(l+='[imagesizes=”‘+Ft(n.imageSizes)+'”]’)):l+='[href=”‘+Ft(e)+'”]’;var i=l;switch(t){case”style”:i=Zl(e);break;case”script”:i=ai(e)}Qt.has(i)||(e=he({rel:”preload”,href:t===”image”&&n&&n.imageSrcSet?void 0:e,as:t},n),Qt.set(i,e),a.querySelector(l)!==null||t===”style”&&a.querySelector(Dr(i))||t===”script”&&a.querySelector(xr(i))||(t=a.createElement(“link”),Ze(t,”link”,e),Fe(t),a.head.appendChild(t)))}}function Tw(e,t){Un.m(e,t);var n=ni;if(n&&e){var a=t&&typeof t.as==”string”?t.as:”script”,l=’link[rel=”modulepreload”][as=”‘+Ft(a)+'”][href=”‘+Ft(e)+'”]’,i=l;switch(a){case”audioworklet”:case”paintworklet”:case”serviceworker”:case”sharedworker”:case”worker”:case”script”:i=ai(e)}if(!Qt.has(i)&&(e=he({rel:”modulepreload”,href:e},t),Qt.set(i,e),n.querySelector(l)===null)){switch(a){case”audioworklet”:case”paintworklet”:case”serviceworker”:case”sharedworker”:case”worker”:case”script”:if(n.querySelector(xr(i)))return}a=n.createElement(“link”),Ze(a,”link”,e),Fe(a),n.head.appendChild(a)}}}function Ew(e,t,n){Un.S(e,t,n);var a=ni;if(a&&e){var l=Ol(a).hoistableStyles,i=Zl(e);t=t||”default”;var r=l.get(i);if(!r){var o={loading:0,preload:null};if(r=a.querySelector(Dr(i)))o.loading=5;else{e=he({rel:”stylesheet”,href:e,”data-precedence”:t},n),(n=Qt.get(i))&&tf(e,n);var u=r=a.createElement(“link”);Fe(u),Ze(u,”link”,e),u._p=new Promise(function(c,s){u.onload=c,u.onerror=s}),u.addEventListener(“load”,function(){o.loading|=1}),u.addEventListener(“error”,function(){o.loading|=2}),o.loading|=4,Go(r,t,a)}r={type:”stylesheet”,instance:r,count:1,state:o},l.set(i,r)}}}function Dw(e,t){Un.X(e,t);var n=ni;if(n&&e){var a=Ol(n).hoistableScripts,l=ai(e),i=a.get(l);i||(i=n.querySelector(xr(l)),i||(e=he({src:e,async:!0},t),(t=Qt.get(l))&&nf(e,t),i=n.createElement(“script”),Fe(i),Ze(i,”link”,e),n.head.appendChild(i)),i={type:”script”,instance:i,count:1,state:null},a.set(l,i))}}function xw(e,t){Un.M(e,t);var n=ni;if(n&&e){var a=Ol(n).hoistableScripts,l=ai(e),i=a.get(l);i||(i=n.querySelector(xr(l)),i||(e=he({src:e,async:!0,type:”module”},t),(t=Qt.get(l))&&nf(e,t),i=n.createElement(“script”),Fe(i),Ze(i,”link”,e),n.head.appendChild(i)),i={type:”script”,instance:i,count:1,state:null},a.set(l,i))}}function Zm(e,t,n,a){var l=(l=aa.current)?gu(l):null;if(!l)throw Error(w(446));switch(e){case”meta”:case”title”:return null;case”style”:return typeof n.precedence==”string”&&typeof n.href==”string”?(t=Zl(n.href),n=Ol(l).hoistableStyles,a=n.get(t),a||(a={type:”style”,instance:null,count:0,state:null},n.set(t,a)),a):{type:”void”,instance:null,count:0,state:null};case”link”:if(n.rel===”stylesheet”&&typeof n.href==”string”&&typeof n.precedence==”string”){e=Zl(n.href);var i=Ol(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:”stylesheet”,instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(Dr(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Qt.has(e)||(n={rel:”preload”,as:”style”,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Qt.set(e,n),i||Mw(l,e,n,r.state))),t&&a===null)throw Error(w(528,””));return r}if(t&&a!==null)throw Error(w(529,””));return null;case”script”:return t=n.async,n=n.src,typeof n==”string”&&t&&typeof t!=”function”&&typeof t!=”symbol”?(t=ai(n),n=Ol(l).hoistableScripts,a=n.get(t),a||(a={type:”script”,instance:null,count:0,state:null},n.set(t,a)),a):{type:”void”,instance:null,count:0,state:null};default:throw Error(w(444,e))}}function Zl(e){return’href=”‘+Ft(e)+'”‘}function Dr(e){return’link[rel=”stylesheet”][‘+e+”]”}function zp(e){return he({},e,{“data-precedence”:e.precedence,precedence:null})}function Mw(e,t,n,a){e.querySelector(‘link[rel=”preload”][as=”style”][‘+t+”]”)?a.loading=1:(t=e.createElement(“link”),a.preload=t,t.addEventListener(“load”,function(){return a.loading|=1}),t.addEventListener(“error”,function(){return a.loading|=2}),Ze(t,”link”,n),Fe(t),e.head.appendChild(t))}function ai(e){return'[src=”‘+Ft(e)+'”]’}function xr(e){return”script[async]”+e}function Wm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case”style”:var a=e.querySelector(‘style[data-href~=”‘+Ft(n.href)+'”]’);if(a)return t.instance=a,Fe(a),a;var l=he({},n,{“data-href”:n.href,”data-precedence”:n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement(“style”),Fe(a),Ze(a,”style”,l),Go(a,n.precedence,e),t.instance=a;case”stylesheet”:l=Zl(n.href);var i=e.querySelector(Dr(l));if(i)return t.state.loading|=4,t.instance=i,Fe(i),i;a=zp(n),(l=Qt.get(l))&&tf(a,l),i=(e.ownerDocument||e).createElement(“link”),Fe(i);var r=i;return r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ze(i,”link”,a),t.state.loading|=4,Go(i,n.precedence,e),t.instance=i;case”script”:return i=ai(n.src),(l=e.querySelector(xr(i)))?(t.instance=l,Fe(l),l):(a=n,(l=Qt.get(i))&&(a=he({},n),nf(a,l)),e=e.ownerDocument||e,l=e.createElement(“script”),Fe(l),Ze(l,”link”,a),e.head.appendChild(l),t.instance=l);case”void”:return null;default:throw Error(w(443,t.type))}else t.type===”stylesheet”&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Go(a,n.precedence,e));return t.instance}function Go(e,t,n){for(var a=n.querySelectorAll(‘link[rel=”stylesheet”][data-precedence],style[data-precedence]’),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var o=a[r];if(o.dataset.precedence===t)i=o;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function tf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function nf(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var qo=null;function Im(e,t,n){if(qo===null){var a=new Map,l=qo=new Map;l.set(n,a)}else l=qo,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l title”):null)}function _w(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case”meta”:case”title”:return!0;case”style”:if(typeof t.precedence!=”string”||typeof t.href!=”string”||t.href===””)break;return!0;case”link”:if(typeof t.rel!=”string”||typeof t.href!=”string”||t.href===””||t.onLoad||t.onError)break;switch(t.rel){case”stylesheet”:return e=t.disabled,typeof t.precedence==”string”&&e==null;default:return!0}case”script”:if(t.async&&typeof t.async!=”function”&&typeof t.async!=”symbol”&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==”string”)return!0}return!1}function Hp(e){return!(e.type===”stylesheet”&&(e.state.loading&3)===0)}function Bw(e,t,n,a){if(n.type===”stylesheet”&&(typeof a.media!=”string”||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=Zl(a.href),i=t.querySelector(Dr(l));if(i){t=i._p,t!==null&&typeof t==”object”&&typeof t.then==”function”&&(e.count++,e=mu.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,Fe(i);return}i=t.ownerDocument||t,a=zp(a),(l=Qt.get(l))&&tf(a,l),i=i.createElement(“link”),Fe(i);var r=i;r._p=new Promise(function(o,u){r.onload=o,r.onerror=u}),Ze(i,”link”,a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=mu.bind(e),t.addEventListener(“load”,n),t.addEventListener(“error”,n))}}var hs=0;function Nw(e,t){return e.stylesheets&&e.count===0&&Po(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&Po(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0hs?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function mu(){if(this.count–,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Po(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var hu=null;function Po(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,hu=new Map,t.forEach(Ow,e),hu=null,mu.call(e))}function Ow(e,t){if(!(t.state.loading&4)){var n=hu.get(e);if(n)var a=n.get(null);else{n=new Map,hu.set(e,n);for(var l=e.querySelectorAll(“link[data-precedence],style[data-precedence]”),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=mu.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var mr={$$typeof:Dn,Provider:null,Consumer:null,_currentValue:ka,_currentValue2:ka,_threadCount:0};function kw(e,t,n,a,l,i,r,o,u){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Pc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pc(0),this.hiddenUpdates=Pc(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=u,this.incompleteTransitions=new Map}function Up(e,t,n,a,l,i,r,o,u,c,s,f){return e=new kw(e,t,n,r,u,c,s,f,o),t=1,i===!0&&(t|=24),i=Ct(3,null,null,t),e.current=i,i.stateNode=e,t=xd(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Bd(i),e}function Gp(e){return e?(e=Ml,e):Ml}function qp(e,t,n,a,l,i){l=Gp(l),a.context===null?a.context=l:a.pendingContext=l,a=ia(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=ra(e,a,t),n!==null&&(yt(n,e,t),Ki(n,e,t))}function $m(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function af(e,t){$m(e,t),(e=e.alternate)&&$m(e,t)}function Pp(e){if(e.tag===13||e.tag===31){var t=Qa(e,67108864);t!==null&&yt(t,e,67108864),af(e,67108864)}}function eh(e){if(e.tag===13||e.tag===31){var t=xt();t=md(t);var n=Qa(e,t);n!==null&&yt(n,e,t),af(e,t)}}var yu=!0;function Lw(e,t,n,a){var l=k.T;k.T=null;var i=Z.p;try{Z.p=2,lf(e,t,n,a)}finally{Z.p=i,k.T=l}}function zw(e,t,n,a){var l=k.T;k.T=null;var i=Z.p;try{Z.p=8,lf(e,t,n,a)}finally{Z.p=i,k.T=l}}function lf(e,t,n,a){if(yu){var l=cd(a);if(l===null)gs(e,t,a,pu,n),th(e,a);else if(Uw(l,e,t,n,a))a.stopPropagation();else if(th(e,a),t&4&&-1<Hw.indexOf(e)){for(;l!==null;){var i=Jl(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=Ba(i.pendingLanes);if(r!==0){var o=i;for(o.pendingLanes|=2,o.entangledLanes|=2;r;){var u=1<<31-Dt(r);o.entanglements[1]|=u,r&=~u}gn(i),(K&6)===0&&(ru=Tt()+500,Er(0,!1))}}break;case 31:case 13:o=Qa(i,2),o!==null&&yt(o,i,2),_u(),af(i,2)}if(i=cd(a),i===null&&gs(e,t,a,pu,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else gs(e,t,a,null,n)}}function cd(e){return e=vd(e),rf(e)}var pu=null;function rf(e){if(pu=null,e=Cl(e),e!==null){var t=pr(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=oh(t),e!==null)return e;e=null}else if(n===31){if(e=uh(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return pu=e,null}function Fp(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Rb()){case fh:return 2;case gh:return 8;case Xo:case Tb:return 32;case mh:return 268435456;default:return 32}default:return 32}}var sd=!1,ca=null,sa=null,da=null,hr=new Map,yr=new Map,In=[],Hw="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function th(e,t){switch(e){case"focusin":case"focusout":ca=null;break;case"dragenter":case"dragleave":sa=null;break;case"mouseover":case"mouseout":da=null;break;case"pointerover":case"pointerout":hr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yr.delete(t.pointerId)}}function Hi(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=Jl(t),t!==null&&Pp(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function Uw(e,t,n,a,l){switch(t){case"focusin":return ca=Hi(ca,e,t,n,a,l),!0;case"dragenter":return sa=Hi(sa,e,t,n,a,l),!0;case"mouseover":return da=Hi(da,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return hr.set(i,Hi(hr.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,yr.set(i,Hi(yr.get(i)||null,e,t,n,a,l)),!0}return!1}function jp(e){var t=Cl(e.target);if(t!==null){var n=pr(t);if(n!==null){if(t=n.tag,t===13){if(t=oh(n),t!==null){e.blockedOn=t,Ug(e.priority,function(){eh(n)});return}}else if(t===31){if(t=uh(n),t!==null){e.blockedOn=t,Ug(e.priority,function(){eh(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Fo(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=cd(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);xs=a,n.target.dispatchEvent(a),xs=null}else return t=Jl(n),t!==null&&Pp(t),e.blockedOn=n,!1;t.shift()}return!0}function nh(e,t,n){Fo(e)&&n.delete(t)}function Gw(){sd=!1,ca!==null&&Fo(ca)&&(ca=null),sa!==null&&Fo(sa)&&(sa=null),da!==null&&Fo(da)&&(da=null),hr.forEach(nh),yr.forEach(nh)}function Eo(e,t){e.blockedOn===t&&(e.blockedOn=null,sd||(sd=!0,Ue.unstable_scheduleCallback(Ue.unstable_NormalPriority,Gw)))}var Do=null;function ah(e){Do!==e&&(Do=e,Ue.unstable_scheduleCallback(Ue.unstable_NormalPriority,function(){Do===e&&(Do=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(rf(a||n)===null)continue;break}var i=Jl(n);i!==null&&(e.splice(t,3),t-=3,Ys(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function Wl(e){function t(u){return Eo(u,e)}ca!==null&&Eo(ca,e),sa!==null&&Eo(sa,e),da!==null&&Eo(da,e),hr.forEach(t),yr.forEach(t);for(var n=0;n<In.length;n++){var a=In[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<In.length&&(n=In[0],n.blockedOn===null);)jp(n),n.blockedOn===null&&In.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[pt]||null;if(typeof i=="function")r||ah(n);else if(r){var o=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[pt]||null)o=r.formAction;else if(rf(l)!==null)continue}else o=r.action;typeof o=="function"?n[a+1]=o:(n.splice(a,3),a-=3),ah(n)}}}function Yp(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function of(e){this._internalRoot=e}Ou.prototype.render=of.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(w(409));var n=t.current,a=xt();qp(n,a,e,t,null,null)};Ou.prototype.unmount=of.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;qp(e.current,2,null,e,null,null),_u(),t[Il]=null}};function Ou(e){this._internalRoot=e}Ou.prototype.unstable_scheduleHydration=function(e){if(e){var t=bh();e={blockedOn:null,target:e,priority:t};for(var n=0;n<In.length&&t!==0&&t<In[n].priority;n++);In.splice(n,0,e),n===0&&jp(e)}};var lh=ih.version;if(lh!=="19.2.8")throw Error(w(527,lh,"19.2.8"));Z.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(w(188)):(e=Object.keys(e).join(","),Error(w(268,e)));return e=pb(t),e=e!==null?ch(e):null,e=e===null?null:e.stateNode,e};var qw={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:k,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__{“use strict”;function Xp(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>”u”||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=”function”))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Xp)}catch(e){console.error(e)}}Xp(),Qp.exports=Vp()});var Wp=rn(Lu=>{“use strict”;var Pw=Symbol.for(“react.transitional.element”),Fw=Symbol.for(“react.fragment”);function Zp(e,t,n){var a=null;if(n!==void 0&&(a=””+n),t.key!==void 0&&(a=””+t.key),”key”in t){n={};for(var l in t)l!==”key”&&(n[l]=t[l])}else n=t;return t=n.ref,{$$typeof:Pw,type:e,key:a,ref:t!==void 0?t:null,props:n}}Lu.Fragment=Fw;Lu.jsx=Zp;Lu.jsxs=Zp});var O=rn((PS,Ip)=>{“use strict”;Ip.exports=Wp()});var kt=B(dt(),1),l1=B(Kp(),1);var Yv=B(dt(),1);var Gn=B(O(),1);function jw(e){return{under50:”Under $50″,over50:”Over $50″,over30:”Over $30″,over500:”Over $500″,”50_100″:”$50 – $100″,”100_200″:”$100 – $200″,”200_500″:”$200 – $500″}[e]||e}function Jp({activeDealTag:e,activeFreeformTags:t,airedaleTags:n,freeformTags:a,discountAmount:l,onBrandSelect:i,onBrandToggle:r,onDiscountAmountChange:o,onPriceRangeChange:u,onTagClear:c,onFreeformTagClear:s,onFreeformTagToggle:f,priceRange:d,selectedBrands:m}){let v=m.map(b=>({type:”brand”,value:b,label:b}));if(e){let b=n.find(h=>h.startsWith(e+”:::”)||h===e);v.push({type:”category”,value:e,label:b?b.split(“:::”)[1]||b.split(“:::”)[0]:e})}if(t.forEach(b=>{let h=a.find(g=>g.handle===b);v.push({type:”freeform-tag”,value:b,label:h?.label||b})}),d&&d!==”all”&&v.push({type:”price”,value:d,label:jw(d)}),l&&l!==”0″&&l!==”all”&&v.push({type:”discount”,value:l,label:`Min ${l}% off`}),v.length===0)return null;let A=b=>{b.type===”brand”&&r?.(b.value),b.type===”category”&&c(),b.type===”freeform-tag”&&f(b.value),b.type===”discount”&&o?.(“0”),b.type===”price”&&u?.(“all”)};return(0,Gn.jsxs)(“div”,{className:”tg-df-active-badges-row”,style:{display:”flex”,flexWrap:”wrap”,gap:”4px”,alignItems:”center”,marginTop:”10px”,marginBottom:”16px”},children:[v.map(b=>(0,Gn.jsxs)(“span”,{className:”tg-df-active-badge”,children:[b.label,(0,Gn.jsx)(“button”,{type:”button”,className:”tg-df-badge-remove”,”aria-label”:`Remove ${b.label}`,onClick:()=>A(b),children:(0,Gn.jsxs)(“svg”,{width:”10″,height:”10″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2.5″,strokeLinecap:”round”,strokeLinejoin:”round”,children:[(0,Gn.jsx)(“line”,{x1:”18″,y1:”6″,x2:”6″,y2:”18″}),(0,Gn.jsx)(“line”,{x1:”6″,y1:”6″,x2:”18″,y2:”18″})]})})]},b.type+”-“+b.value)),v.length>1&&(0,Gn.jsx)(“button”,{type:”button”,className:”tg-df-badge-clear-all”,onClick:()=>{i?.([]),c(),s(),o?.(“0”),u?.(“all”)},children:”Clear all”})]})}function $p(e){if(!e)return null;let t=e.documentname||e.title||””;!t&&e.documentnametext&&(t=Array.isArray(e.documentnametext)?e.documentnametext[0]:e.documentnametext),!t&&e.articlename&&(t=Array.isArray(e.articlename)?e.articlename[0]:e.articlename),!t&&e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&(t=e.articlesocialtitle[0]);let n=e.strapline||e.articlestrapline||e.subtitle||e.dek||””;!n&&e.image_thumbnail&&e.image_thumbnail.dek&&(n=e.image_thumbnail.dek),Array.isArray(n)&&(n=n[0]||””);let a=””;if(e.articlepage)try{let l=e.articlepage;if(typeof l==”string”)try{l=JSON.parse(l)}catch{}if(Array.isArray(l)&&l.length>0){let i=l[0];if(typeof i==”string”)try{i=JSON.parse(i)}catch{}if(Array.isArray(i)){let r=[];for(let o of i){if(o.type===”featured-product”)break;if(o.type===”text”&&o.data)Array.isArray(o.data.paragraphs)?o.data.paragraphs.forEach(u=>{u&&r.push(u.startsWith(“<")?u:`

${u}`)}):typeof o.data.text==”string”&&o.data.text&&r.push(o.data.text.startsWith(“<")?o.data.text:`

${o.data.text}`);else if(o.type===”section”&&o.data){let u=o.data.text||o.data.heading||o.data.title||””;u&&r.push(`

${u}`)}}r.length>0&&(a=r.join(“”))}}}catch(l){console.error(“Error parsing articlepage”,l)}return!a&&e.content?a=typeof e.content==”string”?e.content:””:!a&&e.intro?a=typeof e.intro==”string”?e.intro:””:!a&&e.paragraphs&&(a=(Array.isArray(e.paragraphs)?e.paragraphs:[e.paragraphs]).map(i=>`

${i}`).join(“”)),{headline:t,strapline:n,contentHtml:a}}var li=B(O(),1);function e0({articles:e,selectedArticleId:t}){if(!t)return null;let n=e.find(l=>l.id===t);if(!n)return null;let a=$p(n);return!a||!a.headline&&!a.strapline&&!a.contentHtml?null:(0,li.jsxs)(“div”,{className:”tg-df-article-intro-container”,id:”tg-df-article-intro”,style:{margin:”0 auto 32px”,width:”100%”,maxWidth:”800px”,textAlign:”left”,padding:”0 16px”},children:[a.headline&&(0,li.jsx)(“h2″,{className:”tg-df-article-headline”,id:”tg-df-article-headline”,style:{fontSize:”1.75rem”,fontWeight:800,color:”#0f172a”,marginBottom:”1rem”,lineHeight:1.25},children:a.headline}),a.strapline&&(0,li.jsx)(“p”,{className:”tg-df-article-strapline”,id:”tg-df-article-strapline”,style:{fontSize:”1.125rem”,fontWeight:600,color:”#334155″,marginBottom:”1.25rem”,lineHeight:1.4},children:a.strapline}),a.contentHtml&&(0,li.jsx)(“div”,{className:”tg-df-article-content”,id:”tg-df-article-content”,dangerouslySetInnerHTML:{__html:a.contentHtml}})]})}var qn=B(O(),1);function Yw({articles:e,authorHandle:t,authorName:n}){let a=n||e.length>0&&(e[0].articleauthortext?.[0]||e[0].articleauthor?.[0])||”Author”;(t===”all-authors”||n===”all-authors”||n===”All authors”)&&(a=”All authors”);let l=a.trim().split(” “)[0]||”Author”;return a===”All authors”&&(l=”All authors”),`Shop all ${l===”All authors”?”authors'”:l.endsWith(“‘s”)||l.endsWith(“u2019s”)?l:`${l}’s`} collections`}function Vw(e){let t=[];return e.documentnametext&&t.push(e.documentnametext),e.documentname&&t.push(e.documentname),e.articlename&&t.push(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),e.articlesocialtitle&&Array.isArray(e.articlesocialtitle)&&t.push(…e.articlesocialtitle),t.length>0?t.reduce((n,a)=>a&&a.lengtha(r.target.value),children:[(0,qn.jsx)(“option”,{value:””,style:{textAlign:”left”},children:Yw({articles:e,authorHandle:t,authorName:n})}),e.map(r=>{let o=i?.[r.id]||Vw(r);return o&&o.length>38&&(o=o.substring(0,36)+”u2026″),(0,qn.jsx)(“option”,{value:r.id,style:{textAlign:”left”},children:o},r.id)})]})]})})}var h0=B(dt(),1);function n0(e,t=new Date){if(!e)return””;let n=new Date(e),a=Math.floor((t.getTime()-n.getTime())/1e3);if(a<60)return"Just now";let l=Math.floor(a/60);if(l1?”s”:””} ago`;let i=Math.floor(l/60);if(i1?”s”:””} ago`;let r=Math.floor(i/24);if(r1?”s”:””} ago`;let o=Math.floor(r/30);if(o1?”s”:””} ago`;let u=Math.floor(r/365);return`${u} yr${u>1?”s”:””} ago`}function Xw(e){return e.replace(//gi,” “).replace(/

]*>/gi,” “).replace(/
/gi,” “).replace(/[rn]+/g,” “).replace(/s+/g,” “).trim()}function Mr(e,t,n){let a=””;return n===”short”?a=e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!==”null”?e.articleauthorbio[t]:””:a=e.articleauthorlongbio&&e.articleauthorlongbio[t]&&e.articleauthorlongbio[t]!==”null”?e.articleauthorlongbio[t]:e.articleauthorbio&&e.articleauthorbio[t]&&e.articleauthorbio[t]!==”null”?e.articleauthorbio[t]:””,a?Xw(a):””}function a0(e,t){return e.articleauthorrole&&e.articleauthorrole[t]&&e.articleauthorrole[t]!==”null”?e.articleauthorrole[t]:””}function l0(e,t){return e.articleauthormedia&&e.articleauthormedia[t]?e.articleauthormedia[t]:””}function ii(e){if(typeof e!=”string”||!e.trim())return””;try{let t=new URL(e);if(t.hostname.toLowerCase()!==”cdn.mos.cms.futurecdn.net”)return e;let n=/.(?:jpe?g|png|webp)$/i;return!n.test(t.pathname)||/-d+-d+.(?:jpe?g|png|webp)$/i.test(t.pathname)?e:(t.pathname=t.pathname.replace(n,”-480-80$&”),t.toString())}catch{return e}}function zu(e,t=0){if(!e||!e.articleauthorsocialnetworks)return[];let n=e.articleauthorsocialnetworks[t];if(n||(n=e.articleauthorsocialnetworks[0]),!n)return[];let a=null;if(typeof n==”string”)try{a=JSON.parse(n)}catch{try{a=JSON.parse(n.replace(/\”/g,'”‘))}catch{}}else typeof n==”object”&&n!==null&&(a=n);if(!a||typeof a!=”object”)return[];let l=[];for(let[i,r]of Object.entries(a)){if(!r)continue;let o=””,u=””;if(typeof r==”string”?o=r:typeof r==”object”&&r!==null&&(o=r.url||r.address||r.link||””,u=r.address||””),!o&&!u)continue;let c=i.toLowerCase().trim(),s=o||u;c===”email”?s.startsWith(“mailto:”)||(s=s.includes(“@”)?`mailto:${s}`:`mailto:${s}`):!s.startsWith(“http://”)&&!s.startsWith(“https://”)&&!s.startsWith(“//”)&&(s=`https://${s}`);let f=c.charAt(0).toUpperCase()+c.slice(1);c===”linkedin”?f=”LinkedIn”:c===”youtube”?f=”YouTube”:c===”tiktok”?f=”TikTok”:c===”twitch”?f=”Twitch”:c===”steam”?f=”Steam”:c===”github”?f=”GitHub”:c===”rss”?f=”RSS”:(c===”x”||c===”twitter”)&&(f=”X (Twitter)”),l.push({key:c,href:s,label:f})}return l}function ne(e){if(!e)return””;let t=String(e);for(let n=0;nString.fromCharCode(Number(i))).replace(/&#x([0-9a-f]+);/gi,(l,i)=>String.fromCharCode(parseInt(i,16)));if(a===t)break;t=a}return t}var Te=B(O(),1);function uf({authorUrl:e,deal:t}){if(!t.authorName)return null;let n=ne(String(t.authorName)),a=t.authorRole&&![“null”,”nul”,”undefined”].includes(String(t.authorRole).toLowerCase())?` u2022 ${ne(String(t.authorRole))}`:””;return(0,Te.jsx)(“div”,{className:”tg-df-author-line-desktop”,style:{padding:”0 0 12px 0″},children:(0,Te.jsxs)(“div”,{style:{display:”flex”,alignItems:”center”,gap:”10px”},children:[t.authorImage&&(0,Te.jsx)(“img”,{src:ii(t.authorImage),alt:n,className:”tg-df-author-img”,width:”36″,height:”36″,style:{borderRadius:”50%”,objectFit:”cover”,flexShrink:0,aspectRatio:”1 / 1″,minWidth:”36px”,minHeight:”36px”}}),(0,Te.jsxs)(“div”,{style:{display:”flex”,flexDirection:”column”},children:[(0,Te.jsx)(“div”,{style:{fontSize:”10px”,color:”var(–tg-df-text-muted)”,textTransform:”uppercase”,letterSpacing:”0.5px”,marginBottom:”2px”,fontWeight:600},children:t.isReviewProduct?(0,Te.jsx)(Te.Fragment,{children:”Product tested by:”}):t.isBuyingGuideProduct?(0,Te.jsx)(Te.Fragment,{children:”Expert review by:”}):t.isFeatured?(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(“span”,{style:{color:”#FF6600″},children:”Top product”}),” “,”recommended by:”]}):(0,Te.jsxs)(Te.Fragment,{children:[(0,Te.jsx)(“span”,{style:{color:”#FF6600″},children:t.merchant}),” “,”deal recommended by:”]})}),(0,Te.jsxs)(“div”,{style:{fontSize:”11px”,color:”var(–tg-df-text)”,lineHeight:1.2},children:[(0,Te.jsx)(“strong”,{children:(0,Te.jsx)(“a”,{href:e,target:”_blank”,rel:”noopener”,style:{textDecoration:”none”,color:”inherit”,borderBottom:”1px dotted var(–tg-df-text-muted)”},children:n})}),a,t.modifiedDate?(0,Te.jsxs)(“span”,{style:{color:”var(–tg-df-text-muted)”},children:[” “,”u2022 “,n0(t.modifiedDate)]}):””]})]})]})})}var J=B(O(),1);function i0({authorUrl:e,deal:t,msrpFormatted:n,sourceArticleUrl:a}){let l=ne(String(t.merchant||””)),i=ne(String(t.currency||””));if(t.isBuyingGuideProduct||t.isReviewProduct){let r=!!t.hasCommerceOffer,o=r&&!t.isCheckPrice,u=!!t.hawkPricePending,c=!!t.isReviewProduct&&!u&&!r;return(0,J.jsxs)(“div”,{className:”tg-df-card-footer”,children:[u?(0,J.jsx)(“div”,{className:”tg-df-card-price-group”,”aria-live”:”polite”,children:(0,J.jsx)(“span”,{className:”tg-df-card-price”,style:{color:”var(–tg-df-text-muted)”,fontSize:”13px”,fontWeight:500},children:”Checking live priceu2026″})}):o?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(“div”,{className:”tg-df-card-merchant-wrapper”,children:(0,J.jsx)(“span”,{className:”tg-df-card-merchant-pill”,title:l,children:l})}),(0,J.jsxs)(“div”,{className:”tg-df-card-price-group”,children:[(0,J.jsxs)(“span”,{className:”tg-df-card-price”,children:[i,(0,J.jsx)(“span”,{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,J.jsx)(“span”,{className:”tg-df-card-msrp”,children:n})]})]}):c?(0,J.jsx)(“div”,{className:”tg-df-card-price-group”,children:(0,J.jsx)(“span”,{className:”tg-df-card-price tg-df-card-price–unavailable”,style:{color:”var(–tg-df-text-muted)”,fontSize:”13px”,fontWeight:500},children:”No retail listing found”})}):null,(0,J.jsx)(uf,{authorUrl:e,deal:t}),(0,J.jsx)(“a”,{href:r?t.url:a,”data-fcaw-affiliate-link”:r?””:void 0,target:”_blank”,rel:r?”sponsored nofollow noopener”:”noopener”,className:”tg-df-card-cta hawk-affiliate-link-deal-button”,style:{textDecoration:”none”},children:r?o?”VIEW DEAL”:”CHECK PRICE”:”READ REVIEW”})]})}return(0,J.jsxs)(“div”,{className:”tg-df-card-footer”,children:[!(t.authorName&&!t.isFeatured)&&(0,J.jsx)(“div”,{className:”tg-df-card-merchant-wrapper”,children:(0,J.jsx)(“span”,{className:”tg-df-card-merchant-pill”,title:l,children:l})}),(0,J.jsx)(“div”,{className:”tg-df-card-price-group”,children:t.isCheckPrice?(0,J.jsx)(“span”,{className:”tg-df-card-price”,style:{fontSize:”15px”,fontWeight:500,fontStyle:”italic”},children:”See price at retailer”}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(“span”,{className:”tg-df-card-price”,children:[i,(0,J.jsx)(“span”,{children:t.rawPrice})]}),t.rawMsrp>t.rawPrice&&(0,J.jsx)(“span”,{className:”tg-df-card-msrp”,children:n})]})}),(0,J.jsx)(uf,{authorUrl:e,deal:t}),(0,J.jsx)(“a”,{href:t.url,”data-fcaw-affiliate-link”:””,target:”_blank”,rel:”sponsored nofollow noopener”,className:”tg-df-card-cta hawk-affiliate-link-deal-button”,style:{textDecoration:”none”},”data-model-id”:t.modelId||void 0,”data-product-key”:t.productKey||void 0,”data-merchant-id”:t.merchantId||void 0,children:t.isCheckPrice?”CHECK PRICE”:t.isFeatured?”SHOP NOW”:”VIEW DEAL”})]})}var We=B(O(),1);function r0({couponStatus:e,deal:t,onOpenVouchers:n}){let a=!!t.hasCommerceOffer;return(0,We.jsxs)(“div”,{className:”tg-df-card-image-box”,children:[t.buyingGuideBadge?(0,We.jsx)(“span”,{className:”tg-df-card-discount-badge tg-df-buying-guide-badge”,children:t.buyingGuideBadge}):t.savingLabel&&!t.isCheckPrice?(0,We.jsx)(“span”,{className:”tg-df-card-discount-badge”,children:ne(t.savingLabel)}):null,(0,We.jsx)(“a”,{href:t.url,”data-fcaw-affiliate-link”:a?””:void 0,className:a?”hawk-affiliate-link-deal-widget”:void 0,target:”_blank”,rel:a?”sponsored nofollow noopener”:”noopener”,style:{display:”flex”,alignItems:”center”,justifyContent:”center”,width:”100%”,height:”100%”},children:(0,We.jsx)(“img”,{src:t.image||void 0,alt:ne(String(t.title||””)),className:”tg-df-card-image”,loading:”lazy”,onError:l=>{t.fallbackImage&&!l.currentTarget.dataset.fb?(l.currentTarget.dataset.fb=”1″,l.currentTarget.src=t.fallbackImage):l.currentTarget.style.opacity=”0″}})}),(0,We.jsxs)(“div”,{className:”tg-df-card-badges”,children:[t.isPrime&&(0,We.jsxs)(“span”,{className:”tg-df-tag tg-df-tag-prime”,children:[(0,We.jsx)(“svg”,{width:”12″,height:”12″,viewBox:”0 0 24 24″,fill:”currentColor”,children:(0,We.jsx)(“path”,{d:”M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z”})}),” “,”Prime”]}),!t.merchant?.toLowerCase().includes(“amazon”)&&(e===”loading”||e===”has”)&&(0,We.jsx)(“div”,{className:”tg-df-coupon-wrapper”,style:{display:”inline-flex”,alignItems:”center”},children:e===”loading”?(0,We.jsx)(“div”,{className:”tg-df-coupon-spinner”}):(0,We.jsxs)(“button”,{type:”button”,className:”tg-df-tag tg-df-tag-coupons”,onClick:l=>{l.preventDefault(),n(t.merchant)},children:[(0,We.jsxs)(“svg”,{width:”12″,height:”12″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,strokeLinecap:”round”,strokeLinejoin:”round”,children:[(0,We.jsx)(“path”,{d:”M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z”}),(0,We.jsx)(“line”,{x1:”7″,y1:”7″,x2:”7.01″,y2:”7″})]}),” “,”Coupons”]})})]})]})}var ot=B(O(),1);function o0({label:e=”Tom’s Guide:”,starRating:t,color:n=”#1f69ff”}){if(!t||t=.5?1:0,i=Math.max(0,5-a-l),r=[];for(let o=0;o<a;o++)r.push((0,ot.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:n,stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,ot.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})},`f${o}`));l&&r.push((0,ot.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"url(#halfGrad)",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,ot.jsx)("defs",{children:(0,ot.jsxs)("linearGradient",{id:"halfGrad",x1:"0",x2:"1",y1:"0",y2:"0",children:[(0,ot.jsx)("stop",{offset:"50%",stopColor:n}),(0,ot.jsx)("stop",{offset:"50%",stopColor:"transparent"})]})}),(0,ot.jsx)("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26"})]},"h"));for(let o=0;o{let a=ne(String(n));return(0,Bt.jsx)(“li”,{children:a},n)})})]})}function c0({cons:e=[],expanded:t,fullReviewUrl:n,onToggle:a,pros:l=[],subtitle:i=””,truncateSubtitle:r=!1}){let o=l.length>0||e.length>0,u=ne(i);return!u&&!o?null:(0,Bt.jsxs)(“div”,{style:{marginBottom:”12px”},children:[u&&(0,Bt.jsx)(“p”,{style:{color:”var(–tg-df-text-muted)”,fontSize:”13px”,lineHeight:1.4,margin:”0 0 8px”,display:!t&&r?”-webkit-box”:”block”,WebkitLineClamp:!t&&r?3:void 0,WebkitBoxOrient:!t&&r?”vertical”:void 0,overflow:!t&&r?”hidden”:void 0},children:u}),t&&o&&(0,Bt.jsxs)(“div”,{children:[(0,Bt.jsx)(u0,{heading:”Pros”,items:l}),(0,Bt.jsx)(u0,{heading:”Cons”,items:e})]}),t&&n&&(0,Bt.jsx)(“a”,{href:n,target:”_blank”,rel:”noopener”,className:”tg-df-review-full-link”,style:{color:”var(–tg-df-blue)”,display:”inline-block”,fontSize:”12px”,fontWeight:700,marginBottom:”8px”,textDecoration:”underline”},children:”Read our full review”}),(o||r)&&(0,Bt.jsx)(“button”,{type:”button”,onClick:c=>{c.preventDefault(),c.stopPropagation(),a()},style:{appearance:”none”,background:”transparent”,border:”none”,color:”#000000″,cursor:”pointer”,display:”block”,fontFamily:”inherit”,fontSize:”11px”,fontWeight:700,padding:0,textTransform:”uppercase”},children:t?”LESS”:”READ MORE”})]})}var ri=B(dt(),1);var _r=B(O(),1);function s0({text:e,expanded:t,onToggle:n}){let[a,l]=(0,ri.useState)(!1),i=(0,ri.useRef)(null),r=ne(e);return(0,ri.useEffect)(()=>{i.current&&l(i.current.scrollHeight>i.current.clientHeight||i.current.scrollHeight>60)},[r]),r?(0,_r.jsxs)(“div”,{style:{marginBottom:”12px”,position:”relative”},children:[(0,_r.jsx)(“p”,{ref:i,style:{fontSize:”13px”,color:”var(–tg-df-text-muted)”,marginBottom:”0″,lineHeight:”1.4″,display:t?”inline”:”-webkit-box”,WebkitLineClamp:t?”unset”:3,WebkitBoxOrient:”vertical”,overflow:”hidden”},children:r}),a&&(0,_r.jsx)(“button”,{type:”button”,onClick:o=>{o.preventDefault(),o.stopPropagation(),n()},style:{display:”block”,appearance:”none”,border:”none”,color:”#000000″,fontSize:”11px”,fontWeight:700,textTransform:”uppercase”,cursor:”pointer”,fontFamily:”inherit”,position:t?”static”:”absolute”,bottom:”2px”,right:0,background:t?”transparent”:”linear-gradient(to right, transparent, #fff 20%, #fff)”,padding:t?”0″:”0 0 0 16px”},children:t?”LESS”:”READ MORE”})]}):null}var d0={pcgamer:”#DC191B”,space:”#2E4A7F”,tomsguide:”#1F69FF”,techradar:”#E40784″,golfmonthly:”#FFFFFF”,androidcentral:”#1CCC3E”,cinemablend:”#FFC033″,creativebloq:”#DC361A”,cyclingnews:”#371B51″,cyclingweekly:”#AE1305″,decanter:”#1B1B1B”,digitalcameraworld:”#CAEBF2″,fitandwell:”#BED100″,fourfourtwo:”#AE1006″,gamesradar:”#DC361A”,guitarplayer:”#FFFFFF”,guitarworld:”#DC1F26″,homesandgardens:”#185A7D”,idealhome:”#CAEBF2″,imore:”#FFD600″,livescience:”#023953″,livingetc:”#FFFFFF”,loudersound:”#DC0F17″,marieclaireus:”#FFFFFF”,marieclaireuk:”#FFFFFF”,musicradar:”#006EA9″,shortlist:”#2853E0″,t3:”#DF0A14″,theweek:”#DF0A14″,theweekjuniorus:”#10A0B0″,tomshardware:”#D8373B”,wallpaper:”#FFFFFF”,whathifi:”#E02928″,whowhatwear:”#FFFFFF”,windowscentral:”#CE0E5F”,womanandhome:”#2F746E”},Br={tomsguide:”https://proof.vanilla.tools/media/images/brandLogos/tomsguide.png”,techradar:”https://proof.vanilla.tools/media/images/brandLogos/techradar.png”,tomshardware:”https://proof.vanilla.tools/media/images/brandLogos/tomshardware.png”,pcgamer:”https://proof.vanilla.tools/media/images/brandLogos/pcgamer.png”,gamesradar:”https://proof.vanilla.tools/media/images/brandLogos/gamesradar.png”,creativebloq:”https://proof.vanilla.tools/media/images/brandLogos/creativebloq.png”,space:”https://proof.vanilla.tools/media/images/brandLogos/space.png”,livescience:”https://proof.vanilla.tools/media/images/brandLogos/livescience.png”,cinemablend:”https://proof.vanilla.tools/media/images/brandLogos/cinemablend.png”,marieclaireus:”https://proof.vanilla.tools/media/images/brandLogos/marieclaireus.png”,marieclaireuk:”https://proof.vanilla.tools/media/images/brandLogos/marieclaireuk.png”,homesandgardens:”https://proof.vanilla.tools/media/images/brandLogos/homesandgardens.png”,whowhatwear:”https://proof.vanilla.tools/media/images/brandLogos/whowhatwear.png”,idealhome:”https://proof.vanilla.tools/media/images/brandLogos/idealhome.png”,womanandhome:”https://proof.vanilla.tools/media/images/brandLogos/womanandhome.png”,livingetc:”https://proof.vanilla.tools/media/images/brandLogos/livingetc.png”,t3:”https://proof.vanilla.tools/media/images/brandLogos/t3.png”,whathifi:”https://proof.vanilla.tools/media/images/brandLogos/whathifi.png”,digitalcameraworld:”https://proof.vanilla.tools/media/images/brandLogos/digitalcameraworld.png”,fitandwell:”https://proof.vanilla.tools/media/images/brandLogos/fitandwell.png”,golfmonthly:”https://proof.vanilla.tools/media/images/brandLogos/golfmonthly.png”,musicradar:”https://proof.vanilla.tools/media/images/brandLogos/musicradar.png”,windowscentral:”https://proof.vanilla.tools/media/images/brandLogos/windowscentral.png”,cyclingnews:”https://proof.vanilla.tools/media/images/brandLogos/cyclingnews.png”,cyclingweekly:”https://proof.vanilla.tools/media/images/brandLogos/cyclingweekly.png”,loudersound:”https://proof.vanilla.tools/media/images/brandLogos/loudersound.png”,guitarworld:”https://proof.vanilla.tools/media/images/brandLogos/guitarworld.png”,guitarplayer:”https://proof.vanilla.tools/media/images/brandLogos/guitarplayer.png”,wallpaper:”https://proof.vanilla.tools/media/images/brandLogos/wallpaper.png”,fourfourtwo:”https://proof.vanilla.tools/media/images/brandLogos/fourfourtwo.png”,shortlist:”https://proof.vanilla.tools/media/images/brandLogos/shortlist.png”,advnture:”https://proof.vanilla.tools/media/images/brandLogos/advnture.png”,countrylife:”https://proof.vanilla.tools/media/images/brandLogos/countrylife.png”,gardeningknowhow:”https://proof.vanilla.tools/media/images/brandLogos/gardeningknowhow.png”,gnomesingardens:”https://proof.vanilla.tools/media/images/brandLogos/gnomesingardens.png”,kiplinger:”https://proof.vanilla.tools/media/images/brandLogos/kiplinger.png”,moneyweek:”https://proof.vanilla.tools/media/images/brandLogos/moneyweek.png”,toptenreviews:”https://proof.vanilla.tools/media/images/brandLogos/toptenreviews.png”},Hu={tomsguide:”Tom’s Guide”,techradar:”TechRadar”,tomshardware:”Tom’s Hardware”,pcgamer:”PC Gamer”,gamesradar:”GamesRadar+”,creativebloq:”Creative Bloq”,space:”Space”,livescience:”Live Science”,cinemablend:”CinemaBlend”,marieclaireus:”Marie Claire US”,marieclaireuk:”Marie Claire UK”,homesandgardens:”Homes & Gardens”,whowhatwear:”Who What Wear”,idealhome:”Ideal Home”,womanandhome:”Woman & Home”,livingetc:”Living Etc”,t3:”T3″,whathifi:”What Hi-Fi?”,digitalcameraworld:”Digital Camera World”,fitandwell:”Fit & Well”,golfmonthly:”Golf Monthly”,musicradar:”MusicRadar”,androidcentral:”Android Central”,imore:”iMore”,windowscentral:”Windows Central”,cyclingnews:”Cycling News”,cyclingweekly:”Cycling Weekly”,loudersound:”Louder Sound”,guitarworld:”Guitar World”,guitarplayer:”Guitar Player”,theweek:”The Week”,theweekjuniorus:”The Week Junior US”,wallpaper:”Wallpaper”,decanter:”Decanter”,fourfourtwo:”FourFourTwo”,shortlist:”ShortList”,advnture:”Advnture”,countrylife:”Country Life”,gardeningknowhow:”Gardening Know How”,gnomesingardens:”Gnomes in Gardens”,kiplinger:”Kiplinger”,moneyweek:”Money Week”,toptenreviews:”Top 10 Reviews”},f0={pcgamer:[{key:”steam”,href:”https://steamcommunity.com/groups/pcgamer”,label:”PC Gamer on Steam”},{key:”x”,href:”https://twitter.com/pcgamer”,label:”PC Gamer on X”},{key:”facebook”,href:”https://www.facebook.com/pcgamermagazine”,label:”PC Gamer on Facebook”},{key:”instagram”,href:”https://www.instagram.com/pcgamer_mag/?hl=en”,label:”PC Gamer on Instagram”},{key:”youtube”,href:”https://www.youtube.com/user/pcgamer”,label:”PC Gamer on YouTube”},{key:”twitch”,href:”https://www.twitch.tv/pcgamer”,label:”PC Gamer on Twitch”},{key:”tiktok”,href:”https://www.tiktok.com/@pcgamer_mag?lang=en”,label:”PC Gamer on TikTok”}],homesandgardens:[{key:”instagram”,href:”https://www.instagram.com/homesandgardensofficial”,label:”Homes & Gardens on Instagram”},{key:”facebook”,href:”https://www.facebook.com/homesandgardens/”,label:”Homes & Gardens on Facebook”},{key:”x”,href:”https://x.com/homesandgardens”,label:”Homes & Gardens on X”},{key:”tiktok”,href:”https://www.tiktok.com/@homesandgardensofficial”,label:”Homes & Gardens on TikTok”},{key:”pinterest”,href:”https://pinterest.com/homesgardensofficial/”,label:”Homes & Gardens on Pinterest”}],whowhatwear:[{key:”x”,href:”https://twitter.com/WhoWhatWear”,label:”Who What Wear on X”},{key:”instagram”,href:”https://www.instagram.com/whowhatwear/”,label:”Who What Wear on Instagram”},{key:”facebook”,href:”https://www.facebook.com/WhoWhatWear/”,label:”Who What Wear on Facebook”},{key:”pinterest”,href:”https://www.pinterest.co.uk/whowhatwearuk/”,label:”Who What Wear on Pinterest”},{key:”tiktok”,href:”https://www.tiktok.com/@whowhatwear.uk”,label:”Who What Wear on TikTok”}]};var Nt=B(O(),1);function g0(e){return String(e||””).normalize(“NFD”).replace(/[u0300-u036f]/g,””).replace(/s+/g,” “).trim().toLowerCase()}function Qw(e){let t=ne(String(e.brand||””)).trim(),n=ne(String(e.productName||e.title||””)).trim(),a=g0(t),l=g0(n);return a.length>0&&l.startsWith(a)&&!/^[a-z0-9]/.test(l.slice(a.length))||!t?n:`${t} ${n}`.trim()}function m0({couponStatus:e,deal:t,editorMode:n,isDescriptionExpanded:a,isSelected:l,onDescriptionToggle:i,onOpenVouchers:r,onSelectionChange:o,website:u}){let c=ne(String(t.currency||””)),s=t.rawMsrp?c+t.rawMsrp:null,f=Qw(t),d=ne(String(t.title||””)),m=Hu[u||”tomsguide”]||u||”Tom’s Guide”,v=(u||”tomsguide”).includes(“.”)?(u||””).startsWith(“http”)?u:`https://${u}`:`https://www.${u||”tomsguide”}.com`,A=(t.documentUrl||””).replace(/^/+/,””),b=A.startsWith(“http://”)||A.startsWith(“https://”)?A:`${v}/${A}`,h=String(t.sourceArticleUrl||t.documentUrl||t.url||””).replace(/^/+/,””),g=h.startsWith(“http://”)||h.startsWith(“https://”)?h:`${v}/${h}`,y=!!t.hasCommerceOffer;return(0,Nt.jsxs)(“div”,{className:”tg-df-card”,”data-brand”:t.modelBrand||t.brand||void 0,”data-currency”:t.isoCurrencyCode||c||void 0,”data-deal-id”:t.externalProductId||t.id||void 0,”data-merchant”:t.merchant||void 0,”data-merchant-id”:t.merchantId||void 0,”data-model-id”:t.modelId||void 0,”data-previous-price”:t.rawMsrp||void 0,”data-price”:t.rawPrice||void 0,”data-product-key”:t.productKey||void 0,”data-product-name”:t.productName||t.title||void 0,”data-review-product”:t.isReviewProduct?”true”:void 0,”data-source-article-url”:t.isReviewProduct?g:void 0,children:[n&&(0,Nt.jsx)(“input”,{type:”checkbox”,className:”tg-df-deal-checkbox”,checked:l,onChange:p=>o(p.target.checked)}),(0,Nt.jsx)(r0,{couponStatus:e,deal:t,onOpenVouchers:r}),(0,Nt.jsxs)(“div”,{className:”tg-df-card-body”,children:[(0,Nt.jsx)(“h3″,{className:”tg-df-card-title”,title:d,children:(0,Nt.jsx)(“a”,{href:t.url,”data-fcaw-affiliate-link”:y?””:void 0,className:y?”hawk-affiliate-link-container”:void 0,target:”_blank”,rel:y?”sponsored nofollow noopener”:”noopener”,style:{textDecoration:”none”,color:”inherit”},children:(0,Nt.jsx)(“strong”,{children:f})})}),(0,Nt.jsx)(o0,{label:t.isBuyingGuideProduct?””:`${m} rating:`,starRating:t.starRating,color:t.isReviewProduct?”var(–tg-df-blue)”:void 0}),t.isBuyingGuideProduct||t.isReviewProduct?(0,Nt.jsx)(c0,{cons:t.cons,expanded:a,fullReviewUrl:t.isReviewProduct&&h?g:void 0,onToggle:i,pros:t.pros,subtitle:t.isReviewProduct?t.description:t.subtitle,truncateSubtitle:t.isReviewProduct}):t.description?(0,Nt.jsx)(s0,{text:t.description,expanded:a,onToggle:i}):null,(0,Nt.jsx)(i0,{authorUrl:b,deal:t,msrpFormatted:s,sourceArticleUrl:g})]})]})}var ue=B(O(),1);function Kw(){return(0,ue.jsx)(ue.Fragment,{children:Array.from({length:6}).map((e,t)=>(0,ue.jsxs)(“div”,{className:”tg-df-card”,children:[(0,ue.jsx)(“div”,{className:”tg-df-card-image-box tg-df-skeleton”}),(0,ue.jsxs)(“div”,{className:”tg-df-card-body”,children:[(0,ue.jsx)(“div”,{className:”tg-df-skeleton tg-df-skeleton-text title”}),(0,ue.jsx)(“div”,{className:”tg-df-skeleton tg-df-skeleton-text title”}),(0,ue.jsx)(“div”,{className:”tg-df-skeleton tg-df-skeleton-text short”,style:{marginBottom:”24px”}}),(0,ue.jsx)(“div”,{className:”tg-df-skeleton tg-df-skeleton-text title”,style:{width:”80%”}}),(0,ue.jsx)(“div”,{className:”tg-df-skeleton tg-df-skeleton-text short”}),(0,ue.jsx)(“div”,{className:”tg-df-card-cta tg-df-skeleton”,style:{width:”100%”,height:”40px”,marginTop:”auto”,border:”none”}})]})]},t))})}function Zw(e,t){return{“@context”:”https://schema.org”,”@type”:”ItemList”,itemListElement:e.slice(0,t).map((n,a)=>{let l=”USD”;return n.currency===”xA3″?l=”GBP”:n.currency===”u20AC”?l=”EUR”:n.currency===”A$”?l=”AUD”:n.currency===”CA$”&&(l=”CAD”),{“@type”:”ListItem”,position:a+1,item:{“@type”:”Product”,name:n.title,image:n.image||””,description:n.description||””,brand:{“@type”:”Brand”,name:n.brand||””},offers:{“@type”:”Offer”,priceCurrency:l,price:n.rawPrice||0,url:n.url||””,seller:{“@type”:”Organization”,name:n.merchant||””}}}}}).filter(n=>n.item.name)}}function y0({couponMap:e,deals:t,displayCount:n,editorMode:a,error:l,expandedDealIds:i,hasMore:r,loading:o,loadingMore:u,loadMoreStartCount:c,onDescriptionToggle:s,onLoadMore:f,onOpenVouchers:d,query:m,selectedDeals:v,setSelectedDeals:A,website:b}){let h=u&&c!=null?c:n,g=!u&&c!=null&&cp.map(C=>(0,ue.jsx)(h0.default.Fragment,{children:(0,ue.jsx)(m0,{couponStatus:e[C.merchant],deal:C,editorMode:a,isDescriptionExpanded:i.has(C.id),isSelected:v.has(C.id),onDescriptionToggle:()=>s(C.id),onOpenVouchers:d,onSelectionChange:R=>{let T=new Map(v);R?T.set(C.id,C):T.delete(C.id),A(T)},website:b})},C.id));return(0,ue.jsx)(“div”,{className:”tg-df-grid-wrapper”,children:(0,ue.jsx)(“div”,{className:”tg-df-grid article-body tg-df-grid-auto”,id:”tg-df-grid”,children:o?(0,ue.jsx)(Kw,{}):l?(0,ue.jsx)(“div”,{className:”tg-df-message”,children:”Failed to load deals. Please try again.”}):t.length===0?(0,ue.jsx)(“div”,{className:”tg-df-message”,children:!m||m.length{p.preventDefault(),p.stopPropagation(),f()},children:u?”Loading more productsu2026″:”Load More”})}),t.length>0&&(0,ue.jsx)(“script”,{type:”application/ld+json”,dangerouslySetInnerHTML:{__html:JSON.stringify(Zw(t,h))}})]})})})}var p0=B(O(),1);var mn=B(dt(),1),tn=B(O(),1);function Uu({onScrollLeft:e,onScrollRight:t,showLeft:n,showRight:a}){return(0,tn.jsxs)(tn.Fragment,{children:[(0,tn.jsx)(“button”,{“aria-label”:”Scroll left”,className:”tg-df-scroll-btn left tg-df-desktop-only”,onClick:e,style:{display:n?”flex”:”none”},type:”button”,children:(0,tn.jsx)(“svg”,{“aria-hidden”:”true”,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,viewBox:”0 0 24 24″,children:(0,tn.jsx)(“path”,{d:”M15 18l-6-6 6-6″})})}),(0,tn.jsx)(“button”,{“aria-label”:”Scroll right”,className:”tg-df-scroll-btn right tg-df-desktop-only”,onClick:t,style:{display:a?”flex”:”none”},type:”button”,children:(0,tn.jsx)(“svg”,{“aria-hidden”:”true”,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,viewBox:”0 0 24 24″,children:(0,tn.jsx)(“path”,{d:”M9 18l6-6-6-6″})})})]})}function Gu(e){let t=(0,mn.useRef)(null),[n,a]=(0,mn.useState)(!1),[l,i]=(0,mn.useState)(!1),r=(0,mn.useCallback)(()=>{let u=t.current;u&&(a(u.scrollLeft>1),i(Math.ceil(u.scrollLeft+u.clientWidth){let u=t.current;if(!u)return;r();let c=requestAnimationFrame(r),s=typeof ResizeObserver>”u”?null:new ResizeObserver(r);return s?.observe(u),()=>{cancelAnimationFrame(c),s?.disconnect()}},[e,r]);let o=(0,mn.useCallback)(u=>{t.current?.scrollBy({left:u,behavior:”smooth”})},[]);return{onScroll:r,railRef:t,scrollLeft:()=>o(-240),scrollRight:()=>o(240),showLeft:n,showRight:l}}var Pn=B(O(),1);function oi({containerClassName:e,itemClassName:t,items:n,loading:a,loadingKey:l,onItemClick:i,rowClassName:r,showCounters:o}){let u=Gu(n.length);return n.length===0&&!a?null:(0,Pn.jsxs)(“div”,{className:e,style:{borderBottom:”1px solid var(–tg-df-border)”,position:”relative”},children:[n.length>0&&(0,Pn.jsx)(Uu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,Pn.jsx)(“div”,{className:r,ref:u.railRef,style:{display:”flex”,overflowX:”auto”,scrollbarWidth:”none”,msOverflowStyle:”none”},onScroll:u.onScroll,children:n.length>0?n.map(c=>(0,Pn.jsxs)(“button”,{className:t,onClick:()=>i(c.key),style:{border:”none”,borderRight:”1px solid var(–tg-df-border)”,padding:”12px 20px”,fontSize:”11px”,textTransform:”uppercase”,letterSpacing:”1px”,cursor:”pointer”,whiteSpace:”nowrap”,display:”flex”,alignItems:”center”,gap:”6px”,…t===”tg-df-brand-row-item”?{transition:”all 0.2s ease”}:{},background:c.selected?”var(–tg-df-bg-secondary)”:”var(–tg-df-bg)”,color:c.selected?”var(–tg-df-text-primary)”:”var(–tg-df-text-muted)”,fontWeight:c.selected?600:500},children:[c.label,” “,l===c.key&&(0,Pn.jsx)(“span”,{className:”tg-df-coupon-spinner”,”aria-label”:”Loading”,style:{borderWidth:”2px”,height:”12px”,width:”12px”}}),o!==!1&&(0,Pn.jsx)(“span”,{style:{color:”var(–tg-df-blue)”,fontSize:”10px”,…t===”tg-df-brand-row-item”?{fontWeight:400}:{}},children:c.count})]},c.key)):[1,2,3,4,5].map(c=>(0,Pn.jsx)(“div”,{className:”tg-df-skeleton”,style:{height:”36px”,width:”80px”,borderRadius:”18px”,flexShrink:0,margin:”8px 12px”}},`${r}-skeleton-${c}`))})]})}var b0=B(O(),1);function v0({airedaleBrands:e,brands:t,loading:n,refreshing:a,onBrandToggle:l,selectedBrands:i,showAuthorCounters:r}){let o=e.length>0?e:t||[],u=o.slice(0,15).map(c=>({count:c.count||0,key:c.formatted_value,label:c.formatted_value,selected:i?.includes(c.formatted_value)||!1}));return(0,b0.jsx)(oi,{containerClassName:”tg-df-brands-row-container”,itemClassName:”tg-df-brand-row-item”,items:u,loading:n&&o.length===0,loadingKey:a?i?.[0]:null,onItemClick:c=>l?.(c),rowClassName:”tg-df-brands-row”,showCounters:r})}var w0=B(O(),1);function A0({activeDealTag:e,airedaleTagCounts:t,airedaleTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>{let c=u.split(“:::”),s=c[0];return{count:t[u]||0,key:s,label:c[1]||u,selected:e===s}});return(0,w0.jsx)(oi,{containerClassName:”tg-df-categories-row-container”,itemClassName:”tg-df-category-row-item”,items:o,loading:a&&n.length===0,loadingKey:l?e:null,onItemClick:i,rowClassName:”tg-df-categories-row”,showCounters:r})}var C0=B(O(),1);function S0({activeFreeformTags:e,freeformTagCounts:t,freeformTags:n,loading:a,refreshing:l,onTagClick:i,showAuthorCounters:r}){let o=n.map(u=>({count:t[u.handle]||0,key:u.handle,label:u.label,selected:e.includes(u.handle)}));return(0,C0.jsx)(oi,{containerClassName:”tg-df-freeform-tags-row-container”,itemClassName:”tg-df-freeform-tag-row-item”,items:o,loading:a&&n.length===0,loadingKey:l&&e.at(-1)||null,onItemClick:i,rowClassName:”tg-df-freeform-tags-row”,showCounters:r})}var Be=B(O(),1),Ww=4;function R0({authors:e,clickedAuthorOverride:t,loading:n,refreshing:a,onAuthorClick:l,overriddenAuthorHandle:i,overriddenAuthorName:r,website:o}){let u=Gu(e.length);return e.length===0&&!n?null:(0,Be.jsxs)(“div”,{className:”tg-df-authors-row-container”,style:{borderBottom:”1px solid var(–tg-df-border)”,position:”relative”},children:[e.length>0&&(0,Be.jsx)(Uu,{onScrollLeft:u.scrollLeft,onScrollRight:u.scrollRight,showLeft:u.showLeft,showRight:u.showRight}),(0,Be.jsx)(“div”,{className:”tg-df-authors-row tg-df-mobile-authors”,onScroll:u.onScroll,ref:u.railRef,style:{display:”flex”,overflowX:”auto”,scrollbarWidth:”none”,msOverflowStyle:”none”,gap:”24px”,padding:”4px 16px 2px 16px”,alignItems:”flex-start”},children:e.length>0?e.map((c,s)=>{let f=Br[c.brandKey]||Br[o||”tomsguide”],d=t&&(i===c.handle||r===c.fullName);return(0,Be.jsxs)(“div”,{className:”tg-df-author-row-item”,onClick:()=>l(c),style:{cursor:”pointer”,display:”flex”,flexDirection:”column”,alignItems:”center”,width:”72px”,flexShrink:0,gap:”4px”,opacity:t?d?1:.4:1},children:[(0,Be.jsxs)(“div”,{className:”tg-df-author-img-wrapper”,style:{position:”relative”,width:”64px”,height:”64px”,borderRadius:”50%”,boxShadow:d?”0 0 0 3px var(–tg-df-blue, #1F69FF)”:”none”},children:[(0,Be.jsx)(“img”,{src:ii(c.image),alt:c.fullName,decoding:”async”,loading:s(0,Be.jsxs)(“div”,{className:”tg-df-author-row-item”,style:{display:”flex”,flexDirection:”column”,alignItems:”center”,width:”72px”,flexShrink:0,gap:”4px”},children:[(0,Be.jsx)(“div”,{className:”tg-df-author-img-wrapper”,style:{position:”relative”,width:”64px”,height:”64px”},children:(0,Be.jsx)(“div”,{className:”tg-df-skeleton”,style:{width:”100%”,height:”100%”,borderRadius:”50%”}})}),(0,Be.jsxs)(“div”,{style:{textAlign:”center”,width:”100%”},children:[(0,Be.jsx)(“div”,{className:”tg-df-skeleton”,style:{height:”12px”,width:”80%”,margin:”0 auto 4px auto”,borderRadius:”2px”}}),(0,Be.jsx)(“div”,{className:”tg-df-skeleton”,style:{height:”10px”,width:”60%”,margin:”0 auto”,borderRadius:”2px”}})]})]},`author-skeleton-${c}`))})]})}var Za=B(O(),1);function T0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,freeformTagCounts:i,freeformTags:r,allAuthorsList:o,brands:u,clickedAuthorOverride:c,loading:s,refreshing:f,onAuthorClick:d,onBrandToggle:m,onTagClick:v,onFreeformTagClick:A,overriddenAuthorHandle:b,overriddenAuthorName:h,selectedBrands:g,showAuthorRail:y,showAuthorCounters:p,showBrandRail:C,showCategoryRail:R,showFreeformTagRail:T,website:M}){let S=R!==!1&&l.length>0||T!==!1&&r.length>0||C!==!1&&(n.length>0||!!u?.length)||y&&o.length>0;return!(y||R!==!1||T!==!1||C!==!1)||!S&&!s?null:(0,Za.jsxs)(“div”,{id:”tg-df-spreadsheet-filters”,style:{display:”block”,marginBottom:”16px”},children:[y&&(0,Za.jsx)(R0,{authors:o,clickedAuthorOverride:c,loading:s&&o.length===0,refreshing:f,onAuthorClick:d,overriddenAuthorHandle:b,overriddenAuthorName:h,website:M}),R!==!1&&(0,Za.jsx)(A0,{activeDealTag:e,airedaleTagCounts:a,airedaleTags:l,loading:s,refreshing:f,onTagClick:v,showAuthorCounters:p}),T!==!1&&(0,Za.jsx)(S0,{activeFreeformTags:t,freeformTagCounts:i,freeformTags:r,loading:s,refreshing:f,onTagClick:A,showAuthorCounters:p}),C!==!1&&(0,Za.jsx)(v0,{airedaleBrands:n,brands:u,loading:s,refreshing:f,onBrandToggle:m,selectedBrands:g,showAuthorCounters:p})]})}var x0=B(dt(),1);var E0=[{value:”date_desc”,label:”Most recent”},{value:”rating_desc”,label:”Highest rating”},{value:”scored_first”,label:”Scored products first”}];function Nr({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}){return!!(a&&e!==!0&&t===!1&&n===!1)}function qu({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a,lightweightReviewDelivery:l,showPriceDiscountFilters:i,showReviewSort:r}){return!!(l&&i===!1&&r===!1&&Nr({includeBuyingGuideProducts:e,includeCollections:t,includeDeals:n,includeReviewProducts:a}))}function Pu(e=!0){return e?E0:E0.filter(t=>t.value!==”scored_first”)}function va(e,t=!0){return!t&&e===”scored_first”?”date_desc”:e||”date_desc”}var L=B(O(),1),D0=[{value:”all”,label:”All Prices”,shortLabel:””},{value:”under50″,label:”Under $50″,shortLabel:” $500″}],Iw=[{value:”0″,label:”Any discount”},…[5,10,15,20,25,30,40,50,60,70].map(e=>({value:String(e),label:`Min ${e}% off`}))];function Jw({open:e}){return(0,L.jsx)(“svg”,{“aria-hidden”:”true”,className:e?”is-open”:void 0,width:”12″,height:”12″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2.5″,children:(0,L.jsx)(“path”,{d:”m6 9 6 6 6-6″})})}function Fn(){return(0,L.jsx)(“svg”,{“aria-hidden”:”true”,width:”14″,height:”14″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2.5″,children:(0,L.jsx)(“polyline”,{points:”20 6 9 17 4 12″})})}function M0({activeDealTag:e,activeFreeformTags:t,airedaleBrands:n,airedaleTagCounts:a,airedaleTags:l,brands:i,discountAmount:r,enabled:o,freeformTagCounts:u,freeformTags:c,includeScoredFirst:s,onBrandSelect:f,onBrandToggle:d,onDiscountAmountChange:m,onFreeformTagClear:v,onFreeformTagToggle:A,onPriceRangeChange:b,onReviewSortChange:h,onTagClear:g,onTagClick:y,priceRange:p,reviewSort:C,selectedBrands:R,showCounters:T,showBrandRail:M,showCategoryRail:S,showFreeformTagRail:D,showPriceDiscountFilters:G,showReviewSort:Se}){let[ie,Y]=(0,×0.useState)(null);if(!o)return null;let ze=l.map(x=>{let X=x.split(“:::”);return{count:a[x]||0,handle:X[0],label:X[1]||x}}),Ee=n.length>0?n:i||[],ut=ze.find(x=>x.handle===e),q=p||”all”,Ge=!r||r===”all”?”0″:r,pe=D0.find(x=>x.value===q),De=G!==!1,et=va(C,s),tl=Pu(s),At=et===”rating_desc”?”Highest rating”:et===”scored_first”?”Scored first”:”Most recent”,Pr=x=>{Y(X=>X===x?null:x)},qe=[];return S!==!1&&qe.push({active:!!e,label:`CATEGORIES${ut?` (${ut.label})`:””}`,menu:”categories”}),D!==!1&&qe.push({active:t.length>0,label:`KEYWORDS${t.length>0?` (${t.length})`:””}`,menu:”keywords”}),M!==!1&&qe.push({active:R.length>0,label:`BRANDS${R.length>0?` (${R.length})`:””}`,menu:”brands”}),De&&qe.push({active:q!==”all”,label:`PRICES${pe?.shortLabel?` (${pe.shortLabel})`:””}`,menu:”prices”}),(De||Se)&&qe.push({active:Se?et!==”date_desc”:Ge!==”0″,label:Se?`SORT REVIEWS (${At})`:`DISCOUNTS${Ge!==”0″?` (${Ge}%+)`:””}`,menu:Se?”review-sort”:”discounts”}),(0,L.jsxs)(“div”,{className:”tg-df-mobile-2×2-container”,children:[(0,L.jsx)(“div”,{className:`tg-df-mobile-2×2-grid tg-df-mobile-2×2-grid–${qe.length%2===0?”even”:”odd”}`,children:qe.map(x=>(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-grid-cell${x.active?” has-active-filter”:””}${ie===x.menu?” active”:””}`,”aria-expanded”:ie===x.menu,onClick:()=>Pr(x.menu),children:[(0,L.jsx)(“span”,{children:x.label}),(0,L.jsx)(Jw,{open:ie===x.menu})]},x.menu))}),S!==!1&&ie===”categories”&&(0,L.jsxs)(“div”,{className:”tg-df-mobile-menu-drawer”,children:[(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-menu-item${e?””:” selected”}`,onClick:()=>{g(),Y(null)},children:[(0,L.jsx)(“span”,{children:”All Categories”}),!e&&(0,L.jsx)(Fn,{})]}),ze.map(x=>{let X=e===x.handle;return(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-menu-item${X?” selected”:””}`,onClick:()=>{y(x.handle),Y(null)},children:[(0,L.jsx)(“span”,{children:x.label}),X?(0,L.jsx)(Fn,{}):T!==!1?(0,L.jsx)(“span”,{className:”tg-df-mobile-cell-badge”,children:x.count}):null]},x.handle)})]}),M!==!1&&ie===”brands”&&(0,L.jsxs)(“div”,{className:”tg-df-mobile-menu-drawer”,children:[(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-menu-item${R.length===0?” selected”:””}`,onClick:()=>f?.([]),children:[(0,L.jsx)(“span”,{children:”All Brands”}),R.length===0&&(0,L.jsx)(Fn,{})]}),Ee.map(x=>{let X=x.formatted_value,$=R.includes(X);return(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-menu-item${$?” selected”:””}`,onClick:()=>d?.(X),children:[(0,L.jsx)(“span”,{children:X}),$?(0,L.jsx)(Fn,{}):T!==!1&&x.count?(0,L.jsx)(“span”,{className:”tg-df-mobile-cell-badge”,children:x.count}):null]},X)})]}),D!==!1&&ie===”keywords”&&(0,L.jsxs)(“div”,{className:”tg-df-mobile-menu-drawer”,children:[(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-menu-item${t.length===0?” selected”:””}`,onClick:()=>{v(),Y(null)},children:[(0,L.jsx)(“span”,{children:”All Keywords”}),t.length===0&&(0,L.jsx)(Fn,{})]}),c.map(x=>{let X=t.includes(x.handle);return(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-menu-item${X?” selected”:””}`,onClick:()=>A(x.handle),children:[(0,L.jsx)(“span”,{children:x.label}),X?(0,L.jsx)(Fn,{}):T!==!1&&u[x.handle]?(0,L.jsx)(“span”,{className:”tg-df-mobile-cell-badge”,children:u[x.handle]}):null]},x.handle)})]}),ie===”prices”&&(0,L.jsx)(“div”,{className:”tg-df-mobile-menu-drawer”,children:D0.map(x=>{let X=q===x.value;return(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-menu-item${X?” selected”:””}`,onClick:()=>{b?.(x.value),Y(null)},children:[(0,L.jsx)(“span”,{children:x.label}),X&&(0,L.jsx)(Fn,{})]},x.value)})}),ie===”discounts”&&(0,L.jsx)(“div”,{className:”tg-df-mobile-menu-drawer”,children:Iw.map(x=>{let X=Ge===x.value;return(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-menu-item${X?” selected”:””}`,onClick:()=>{m?.(x.value),Y(null)},children:[(0,L.jsx)(“span”,{children:x.label}),X&&(0,L.jsx)(Fn,{})]},x.value)})}),ie===”review-sort”&&(0,L.jsx)(“div”,{className:”tg-df-mobile-menu-drawer”,children:tl.map(x=>{let X=et===x.value;return(0,L.jsxs)(“button”,{type:”button”,className:`tg-df-mobile-menu-item${X?” selected”:””}`,onClick:()=>{h?.(x.value),Y(null)},children:[(0,L.jsx)(“span”,{children:x.label}),X&&(0,L.jsx)(Fn,{})]},x.value)})})]})}var Wa=B(dt(),1);var Q=B(O(),1);function _0({airedaleBrands:e,airedaleTags:t,discountAmount:n,hidden:a,includeScoredFirst:l,onDiscountAmountChange:i,onPriceRangeChange:r,onReviewSortChange:o,priceRange:u,reviewSort:c,showReviewSort:s,showPriceDiscountFilters:f}){let d=(0,Wa.useRef)(null),[m,v]=(0,Wa.useState)(!1),[A,b]=(0,Wa.useState)(!1),h=Pu(l),g=va(c,l),y=()=>{if(!d.current)return;let{scrollLeft:p,scrollWidth:C,clientWidth:R}=d.current;v(p>0),b(Math.ceil(p+R)(y(),window.addEventListener(“resize”,y),setTimeout(y,100),setTimeout(()=>{document.querySelector(“.tg-df-categories-row”)?.dispatchEvent(new Event(“scroll”)),document.querySelector(“.tg-df-brands-row”)?.dispatchEvent(new Event(“scroll”))},150),()=>window.removeEventListener(“resize”,y)),[t,e]),(0,Q.jsx)(“div”,{className:”tg-df-controls”,id:”tg-df-controls”,style:{display:a?”none”:”flex”,marginTop:”12px”,marginBottom:”16px”,justifyContent:”center”},children:(0,Q.jsxs)(“div”,{className:”tg-df-filters-container”,style:{position:”relative”,width:”100%”,maxWidth:”800px”,margin:”0 auto”},children:[(0,Q.jsx)(“button”,{className:”tg-df-scroll-btn left”,style:{display:m?”flex”:”none”},onClick:()=>d.current?.scrollBy({left:-200,behavior:”smooth”}),children:(0,Q.jsx)(“svg”,{viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,children:(0,Q.jsx)(“path”,{d:”M15 18l-6-6 6-6″})})}),(0,Q.jsx)(“button”,{className:”tg-df-scroll-btn right”,style:{display:A?”flex”:”none”},onClick:()=>d.current?.scrollBy({left:200,behavior:”smooth”}),children:(0,Q.jsx)(“svg”,{viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,children:(0,Q.jsx)(“path”,{d:”M9 18l6-6-6-6″})})}),(0,Q.jsxs)(“div”,{className:”tg-df-filters”,ref:d,onScroll:y,children:[(0,Q.jsxs)(“div”,{className:”tg-df-sort-wrapper”,id:”tg-df-legacy-price-wrapper”,style:{display:f!==!1?”flex”:”none”},children:[(0,Q.jsx)(“svg”,{className:”tg-df-sort-icon”,xmlns:”http://www.w3.org/2000/svg”,viewBox:”0 0 24 24″,children:(0,Q.jsx)(“path”,{d:”M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z”})}),(0,Q.jsxs)(“select”,{className:”tg-df-filter-select”,id:”tg-df-price-filter”,”aria-label”:”Filter Prices”,value:u||”all”,onChange:p=>r?.(p.target.value),children:[(0,Q.jsx)(“option”,{value:”all”,children:”All Prices”}),(0,Q.jsx)(“option”,{value:”under50″,children:”Under $50″}),(0,Q.jsx)(“option”,{value:”50_100″,children:”$50 – $100″}),(0,Q.jsx)(“option”,{value:”100_200″,children:”$100 – $200″}),(0,Q.jsx)(“option”,{value:”200_500″,children:”$200 – $500″}),(0,Q.jsx)(“option”,{value:”over500″,children:”Over $500″})]})]}),(0,Q.jsxs)(“div”,{className:”tg-df-sort-wrapper”,id:”tg-df-discount-filter-wrapper”,style:{display:f!==!1&&!s?”flex”:”none”},children:[(0,Q.jsx)(“svg”,{className:”tg-df-sort-icon”,xmlns:”http://www.w3.org/2000/svg”,viewBox:”0 0 24 24″,fill:”currentColor”,children:(0,Q.jsx)(“path”,{d:”M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z”})}),(0,Q.jsxs)(“select”,{className:”tg-df-filter-select”,id:”tg-df-discount-filter”,”aria-label”:”Discount Amount”,value:n||”all”,onChange:p=>i?.(p.target.value),children:[(0,Q.jsx)(“option”,{value:”all”,children:”Any discount”}),[5,10,15,20,25,30,40,50,60,70].map(p=>(0,Q.jsxs)(“option”,{value:p,children:[“Min “,p,”%”]},p))]})]}),(0,Q.jsxs)(“div”,{className:”tg-df-sort-wrapper”,id:”tg-df-review-sort-wrapper”,style:{display:s?”flex”:”none”},children:[(0,Q.jsx)(“svg”,{className:”tg-df-sort-icon”,xmlns:”http://www.w3.org/2000/svg”,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,children:(0,Q.jsx)(“path”,{d:”M4 7h16M7 12h10m-7 5h4″})}),(0,Q.jsx)(“select”,{className:”tg-df-filter-select”,id:”tg-df-review-sort”,”aria-label”:”Sort Reviews”,value:g,onChange:p=>o?.(p.target.value),children:h.map(p=>(0,Q.jsx)(“option”,{value:p.value,children:p.label},p.value))})]})]})]})})}var ye=B(dt(),1);function Or(e,t){return e.filter(n=>{let a=n.handle.toLowerCase(),l=n.fullName.toLowerCase(),i=n.name.toLowerCase();return t.some(r=>{let o=r.articleauthorhandle||[],u=r.articleauthor||[],c=r.articleauthortext||[];return[…o,…u,…c].some(s=>{let f=String(s||””).toLowerCase();return f===a||f===l||f===i})})})}function Fu(e,t){return e.map((n,a)=>({index:a,profile:n,productCount:t[n.handle]||0})).sort((n,a)=>a.productCount-n.productCount||n.index-a.index).map(({profile:n})=>n)}function ju(e,t){return e===”all-authors”||t===”all-authors”||t===”All authors”||!e&&!t}function Yu(e,t,n){let a=e;if((t||n)&&t!==”all-authors”&&n!==”all-authors”&&n!==”All authors”){if(t){let l=t.toLowerCase(),i=e.filter(r=>r.articleauthorhandle&&r.articleauthorhandle.some(o=>o.toLowerCase()===l));if(i.length>0)a=i;else if(n){let r=n.toLowerCase(),o=e.filter(u=>u.articleauthor&&u.articleauthor.some(c=>c.toLowerCase()===r));o.length>0&&(a=o)}}else if(n){let l=n.toLowerCase();a=e.filter(i=>i.articleauthor&&i.articleauthor.some(r=>r.toLowerCase()===l))}}return a}function cf(e,t,n){let a=0;if(t&&e.articleauthorhandle){let l=e.articleauthorhandle.findIndex(i=>i.toLowerCase()===t.toLowerCase());l>=0&&(a=l)}else if(n&&e.articleauthor){let l=e.articleauthor.findIndex(i=>i.toLowerCase()===n.toLowerCase());l>=0&&(a=l)}return a}function Vu(e,t,n){let a=cf(e,t,n),l=i=>typeof i==”string”?ne(i):i||””;return{authorName:e.articleauthortext?l(e.articleauthortext[a]):e.articleauthor?l(e.articleauthor[a]):””,authorRole:e.articleauthorrole?l(e.articleauthorrole[a]):””,authorImage:e.articleauthormedia?e.articleauthormedia[a]:””}}function kr(e,t){let n=new Map;return e.forEach(a=>{if(!a.articleauthor)return;let l=t;if(a.documenturl)try{let f=new URL(a.documenturl).hostname.replace(“www.”,””).split(“.”);f.length>0&&(l=f[0].toLowerCase())}catch{}let i=a.articleauthorhandle||[],r=a.articleauthor||[],o=a.articleauthortext||[],u=a.articleauthorrole||[],c=a.articleauthormedia||[];r.forEach((s,f)=>{if(!s||s===”null”||s.toLowerCase()===”all authors”)return;let d=i[f]&&i[f]!==”null”?i[f]:s.toLowerCase().replace(/s+/g,”-“);if(!d||d===”null”)return;let m=o[f]&&o[f]!==”null”?o[f]:s,v=u[f]&&u[f]!==”null”?u[f]:””,A=ne(String(m)),b=ne(String(v)),h=c[f]&&c[f]!==”null”?c[f]:””,g=A.split(” “)[0],y=Mr(a,f,”short”),p=Mr(a,f,”long”),C=zu(a,f),R=n.get(d);!R&&A&&h?n.set(d,{…p?{bioLong:p}:{},…y?{bioShort:y}:{},name:g,fullName:A,handle:d,role:b,image:h,brandKey:l,…C.length>0?{socialNetworks:C}:{}}):R&&(!R.bioShort&&y&&(R.bioShort=y),!R.bioLong&&p&&(R.bioLong=p),!R.socialNetworks?.length&&C.length>0&&(R.socialNetworks=C))})}),Array.from(n.values())}var E=B(O(),1);function N0(e){let t=(0,ye.useRef)(“”),n=(0,ye.useRef)(null),a=(0,ye.useCallback)(()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null)},[]),l=(0,ye.useCallback)(r=>{a(),t.current=r},[a]),i=(0,ye.useCallback)((r,o,u=!1)=>{if(!e)return;if(r===t.current){a();return}let c=()=>{n.current=null,t.current=r,e(o)};a(),u?c():n.current=window.setTimeout(c,350)},[a,e]);return(0,ye.useEffect)(()=>a,[a]),{save:i,synchronise:l}}function B0({contentKey:e,defaultText:t,kind:n,onChange:a,value:l}){let i=(0,ye.useRef)(null),r=(0,ye.useRef)(e),[o,u]=(0,ye.useState)(!1),c=l??t,s=!!a,{save:f,synchronise:d}=N0(a);(0,ye.useLayoutEffect)(()=>{let g=r.current!==e;i.current&&(g||document.activeElement!==i.current)&&(i.current.innerHTML!==c&&(i.current.innerHTML=c),d(c)),r.current=e},[e,d,c]);let m=(g=!1)=>{if(!i.current)return;let y=i.current.innerHTML;f(y,y===t?void 0:y,g)},v=(g,y)=>{document.execCommand(g,!1,y),m(!0)},A=n===”kicker”?{fontSize:”0.875rem”,color:”#6B7280″,fontStyle:”normal”,margin:”0 0 0.25rem 0″}:{fontSize:”2.25rem”,fontWeight:300,color:”#111827″,margin:”0 0 0.25rem 0″,lineHeight:1.1,letterSpacing:”-0.02em”},b=n===”kicker”?”tg-df-author-curated-by tg-df-author-kicker”:”tg-df-author-name”,h=()=>n===”kicker”?(0,E.jsx)(“p”,{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{…A,outline:s&&o?”2px solid #3b82f6″:”none”,borderRadius:”4px”,cursor:s?”text”:”default”}}):(0,E.jsx)(“h2″,{ref:i,className:b,contentEditable:s||void 0,dangerouslySetInnerHTML:s?void 0:{__html:c},onBlur:s?()=>{u(!1),m(!0)}:void 0,onFocus:s?()=>u(!0):void 0,onInput:s?()=>m():void 0,suppressContentEditableWarning:s,style:{…A,outline:s&&o?”2px solid #3b82f6″:”none”,borderRadius:”4px”,cursor:s?”text”:”default”}});return s?(0,E.jsxs)(“div”,{className:”tg-df-author-header-text-shell”,style:{position:”relative”},children:[o&&(0,E.jsxs)(“div”,{className:”tg-df-author-header-text-toolbar”,role:”toolbar”,”aria-label”:`${n===”kicker”?”Shop by text”:”Site or author name”} formatting`,style:{display:”flex”,justifyContent:”center”,alignItems:”center”,gap:”0.25rem”,margin:”0 auto 0.375rem”,width:”fit-content”,padding:”0.25rem 0.5rem”,background:”#ffffff”,border:”1px solid #cbd5e1″,borderRadius:”9999px”,boxShadow:”0 4px 12px rgba(0,0,0,0.1)”,fontSize:”11px”,zIndex:10},children:[(0,E.jsx)(“span”,{style:{color:”#64748b”,padding:”2px 2px 2px 0″},children:”Editing”}),(0,E.jsx)(“button”,{type:”button”,onMouseDown:g=>g.preventDefault(),onClick:()=>v(“bold”),title:”Bold”,children:”B”}),(0,E.jsx)(“button”,{type:”button”,onMouseDown:g=>g.preventDefault(),onClick:()=>v(“italic”),title:”Italic”,children:(0,E.jsx)(“em”,{children:”I”})}),(0,E.jsx)(“button”,{type:”button”,onMouseDown:g=>g.preventDefault(),onClick:()=>{let g=prompt(“Enter URL:”);g&&v(“createLink”,g)},title:”Add link”,children:”u{1F517}”}),l!==void 0&&(0,E.jsx)(“button”,{type:”button”,onMouseDown:g=>g.preventDefault(),onClick:()=>{i.current&&(i.current.innerHTML=t),d(t),a?.(void 0)},title:”Restore default”,children:”Reset”})]}),h()]}):h()}function $w({contentKey:e,initialBio:t,defaultPlaceholder:n,onBioChange:a,stabilizeHeight:l=!1}){let r=(0,ye.useRef)(null),o=(0,ye.useRef)(e),u=(0,ye.useRef)(n),c=(0,ye.useRef)(!1),[s,f]=(0,ye.useState)(!1),[d,m]=(0,ye.useState)(!1),[v,A]=(0,ye.useState)(!1),b=t||n,h=l&&b.replace(/]*>/g,””).trim().length>240,g=!!a,{save:y,synchronise:p}=N0(a);(0,ye.useLayoutEffect)(()=>{let S=o.current!==e,D=u.current!==n;S&&(c.current=!1);let G=!t&&D&&!c.current;r.current&&(S||document.activeElement!==r.current||G)&&(r.current.innerHTML!==b&&(r.current.innerHTML=b),p(b)),o.current=e,u.current=n},[b,e,n,t,p]),(0,ye.useLayoutEffect)(()=>{m(!1)},[e]),(0,ye.useLayoutEffect)(()=>{if(!h||!r.current){A(!1);return}let S=r.current,D=()=>{A(S.scrollHeight>S.clientHeight+1)};if(D(),typeof ResizeObserver>”u”)return;let G=new ResizeObserver(D);return G.observe(S),()=>G.disconnect()},[b,e,d,h]);let C=(S,D=null)=>{if(c.current=!0,document.execCommand(S,!1,D||void 0),r.current){let G=r.current.innerHTML;y(G,G===n?””:G,!0)}},R=(S=!1)=>{if(!r.current)return;let D=r.current.innerHTML;y(D,D===n?””:D,S)};return(0,E.jsxs)(“div”,{style:{position:”relative”,maxWidth:”42rem”,margin:”0 auto 0.5rem auto”,padding:”0.25rem 0.5rem”},className:`tg-df-author-bio-shell${l?” tg-df-author-bio-shell–stable”:””}`,children:[g&&s&&(0,E.jsxs)(“div”,{role:”toolbar”,”aria-label”:”Introduction text formatting”,style:{display:”flex”,alignItems:”center”,justifyContent:”center”,gap:”0.375rem”,marginBottom:”0.5rem”,padding:”0.25rem 0.625rem”,background:”#ffffff”,border:”1px solid #cbd5e1″,borderRadius:”9999px”,boxShadow:”0 4px 12px rgba(0,0,0,0.1)”,width:”fit-content”,margin:”0 auto 0.5rem auto”,fontSize:”12px”,userSelect:”none”,zIndex:10},children:[(0,E.jsx)(“span”,{style:{fontSize:”11px”,color:”#64748b”,fontWeight:500,marginRight:”2px”},children:”Editing u2014 saves when you click away”}),(0,E.jsx)(“button”,{type:”button”,onMouseDown:S=>S.preventDefault(),onClick:()=>C(“bold”),style:{fontWeight:”bold”,padding:”2px 8px”,borderRadius:”4px”,background:”#f1f5f9″,cursor:”pointer”,border:”1px solid #e2e8f0″},title:”Bold”,children:”B”}),(0,E.jsx)(“button”,{type:”button”,onMouseDown:S=>S.preventDefault(),onClick:()=>C(“italic”),style:{fontStyle:”italic”,padding:”2px 8px”,borderRadius:”4px”,background:”#f1f5f9″,cursor:”pointer”,border:”1px solid #e2e8f0″},title:”Italic”,children:”I”}),(0,E.jsx)(“button”,{type:”button”,onMouseDown:S=>S.preventDefault(),onClick:()=>{let S=prompt(“Enter URL:”);S&&C(“createLink”,S)},style:{padding:”2px 8px”,borderRadius:”4px”,background:”#f1f5f9″,cursor:”pointer”,border:”1px solid #e2e8f0″},title:”Add Link”,children:”u{1F517}”}),t&&(0,E.jsx)(“button”,{type:”button”,onMouseDown:S=>S.preventDefault(),onClick:S=>{S.preventDefault(),S.stopPropagation(),r.current&&(r.current.innerHTML=n),c.current=!1,p(n),a&&a(“”)},style:{fontSize:”10px”,padding:”2px 8px”,borderRadius:”4px”,background:”#fee2e2″,color:”#991b1b”,cursor:”pointer”,border:”1px solid #fca5a5″},title:”Reset Bio”,children:”Reset”})]}),(0,E.jsx)(“div”,{ref:r,contentEditable:g?!0:void 0,suppressContentEditableWarning:g,onFocus:g?()=>{f(!0)}:void 0,onBlur:g?()=>{f(!1),R(!0),c.current=!1}:void 0,onInput:g?()=>{c.current=!0}:void 0,className:`tg-df-author-bio ${g?”wysiwyg-bio-editable”:”tg-df-author-bio–static”}${h?d?” tg-df-author-bio–expanded”:” tg-df-author-bio–clamped”:””}`,style:{color:”#4b5563″,lineHeight:1.6,fontWeight:300,fontSize:”0.9375rem”,textAlign:”center”,outline:g&&s?”2px solid #3b82f6″:”none”,borderRadius:”6px”,padding:”0.375rem 0.5rem”,cursor:g?”text”:”default”,transition:”all 0.15s ease-in-out”}}),h?(0,E.jsx)(“div”,{className:”tg-df-author-bio-toggle-slot”,children:(0,E.jsx)(“button”,{type:”button”,className:”tg-df-author-bio-toggle”,”aria-expanded”:d,onClick:()=>m(S=>!S),style:{visibility:v||d?”visible”:”hidden”},children:d?”Show less”:”Read more”})}):null]})}function e2(e){let t=(e||””).toLowerCase();return t===”linkedin”?(0,E.jsx)(“svg”,{width:”15″,height:”15″,viewBox:”0 0 24 24″,fill:”currentColor”,children:(0,E.jsx)(“path”,{d:”M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.28 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.75M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z”})}):t===”twitter”||t===”x”?(0,E.jsx)(“svg”,{className:”icon-svg”,xmlns:”http://www.w3.org/2000/svg”,width:”24″,height:”24″,viewBox:”0 0 24 24″,”aria-hidden”:”true”,children:(0,E.jsx)(“path”,{fill:”currentColor”,d:”M18 2h4l-8 9 9 11h-7l-5-7-6 7H2l7-9L1 2h7l5 6zm-1 18h2L7 4H5z”})}):t===”email”||t===”mail”?(0,E.jsxs)(“svg”,{width:”15″,height:”15″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,strokeLinecap:”round”,strokeLinejoin:”round”,children:[(0,E.jsx)(“rect”,{width:”20″,height:”16″,x:”2″,y:”4″,rx:”2″}),(0,E.jsx)(“path”,{d:”m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7″})]}):t===”instagram”?(0,E.jsxs)(“svg”,{className:”icon-svg”,height:”24″,viewBox:”0 0 24 24″,width:”24″,xmlns:”http://www.w3.org/2000/svg”,”aria-hidden”:”true”,children:[(0,E.jsx)(“rect”,{x:”3″,y:”3″,width:”18″,height:”18″,rx:”5″,fill:”none”,stroke:”currentColor”,strokeWidth:”2.25″}),(0,E.jsx)(“circle”,{cx:”12″,cy:”12″,r:”4.25″,fill:”none”,stroke:”currentColor”,strokeWidth:”2.25″}),(0,E.jsx)(“circle”,{cx:”17.4″,cy:”6.7″,r:”1.25″,fill:”currentColor”})]}):t===”steam”?(0,E.jsxs)(“svg”,{className:”icon-svg”,height:”24″,viewBox:”0 0 24 24″,width:”24″,xmlns:”http://www.w3.org/2000/svg”,”aria-hidden”:”true”,children:[(0,E.jsx)(“circle”,{fill:”#0f1618″,cx:”12″,cy:”12″,r:”12″}),(0,E.jsx)(“path”,{d:”m18.22 8.9a2.269 2.269 0 1 1 -2.27-2.265 2.267 2.267 0 0 1 2.27 2.265zm2.258.005a4.534 4.534 0 0 1 -4.533 4.526h-.1l-4.087 2.911v.161a3.4 3.4 0 0 1 -6.74.669l-4.549-1.879c-.032-.109-.057-.219-.085-.329a11.973 11.973 0 0 1 -.384-2.964c0-.214.02-.423.032-.635 0-.1.008-.206.016-.308l6.394 2.643a3.385 3.385 0 0 1 1.915-.591c.065 0 .127 0 .191.005l2.865-4.145v-.062a4.533 4.533 0 0 1 9.066 0zm-9.763 6.618a2.55 2.55 0 0 0 -3.262-1.411l1.525.63a1.877 1.877 0 1 1 -1.446 3.464l-1.475-.606a2.529 2.529 0 0 0 1.315 1.25 2.559 2.559 0 0 0 3.339-1.374 2.526 2.526 0 0 0 .004-1.951zm8.251-6.618a3.021 3.021 0 1 0 -3.021 3.015 3.022 3.022 0 0 0 3.021-3.013z”,fill:”#fff”})]}):t===”youtube”?(0,E.jsx)(“svg”,{width:”16″,height:”16″,viewBox:”0 0 24 24″,fill:”currentColor”,children:(0,E.jsx)(“path”,{d:”M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z”})}):t===”twitch”?(0,E.jsxs)(“svg”,{className:”icon-svg”,height:”24″,viewBox:”0 0 24 24″,width:”24″,xmlns:”http://www.w3.org/2000/svg”,”aria-hidden”:”true”,children:[(0,E.jsx)(“path”,{d:”m24 12a12 12 0 1 1 -12-12 12 12 0 0 1 12 12z”,fill:”#111″}),(0,E.jsx)(“path”,{d:”m12.308 17.167-1.833 1.833h-1.818v-1.833h-3.357v-9.733l.925-2.434h12.475v8.517l-3.648 3.65zm5.175-10.95h-10.043v8.824h2.743v1.833l1.817-1.833h3.342l2.14-2.126zm-5.483 6.083v-3.65h-1.218v3.65zm3.342 0v-3.65h-1.216v3.65z”,fill:”#fff”})]}):t===”facebook”?(0,E.jsx)(“svg”,{className:”icon-svg”,height:”24″,viewBox:”0 0 24 24″,width:”24″,xmlns:”http://www.w3.org/2000/svg”,”aria-hidden”:”true”,children:(0,E.jsx)(“path”,{d:”m13.079 19h-2.9v-7h-1.441v-2.408h1.442v-1.456c0-1.96.813-3.136 3.136-3.136h1.933v2.408h-1.2c-.91 0-.965.35-.965.966v1.218h2.183l-.257 2.408h-1.931z”,fill:”currentColor”})}):t===”pinterest”?(0,E.jsx)(“svg”,{className:”icon-svg”,height:”24″,viewBox:”0 0 24 24″,width:”24″,xmlns:”http://www.w3.org/2000/svg”,”aria-hidden”:”true”,children:(0,E.jsx)(“path”,{d:”m12.336 5c-3.822 0-5.754 2.744-5.754 5.025a3.065 3.065 0 0 0 1.652 3.066.279.279 0 0 0 .407-.2l.154-.644a.373.373 0 0 0-.113-.448 2.341 2.341 0 0 1-.532-1.582 3.812 3.812 0 0 1 3.961-3.849 3.009 3.009 0 0 1 3.346 3.08c0 2.323-1.022 4.283-2.547 4.283a1.253 1.253 0 0 1-1.273-1.554 17.616 17.616 0 0 0 .713-2.856 1.081 1.081 0 0 0-1.092-1.2c-.854 0-1.553.881-1.553 2.071a2.954 2.954 0 0 0 .266 1.274l-1.038 4.383a9.389 9.389 0 0 0-.027 3.065.109.109 0 0 0 .2.042 8.737 8.737 0 0 0 1.457-2.631l.561-2.212a2.3 2.3 0 0 0 1.959 1.008c2.59 0 4.34-2.366 4.34-5.516a4.8 4.8 0 0 0-5.087-4.605z”,fill:”currentColor”})}):t===”substack”?(0,E.jsx)(“svg”,{width:”14″,height:”14″,viewBox:”0 0 24 24″,fill:”currentColor”,children:(0,E.jsx)(“path”,{d:”M22.539 8.242H1.46V5.406h21.08v2.836zM1.46 10.812V24L12 18.11 22.54 24V10.812H1.46zM22.54 0H1.46v2.836h21.08V0z”})}):t===”threads”?(0,E.jsx)(“svg”,{width:”15″,height:”15″,viewBox:”0 0 24 24″,fill:”currentColor”,children:(0,E.jsx)(“path”,{d:”M12.186 24h-.007c-3.582-.024-6.332-1.22-8.173-3.555C2.26 18.212 1.5 15.228 1.5 11.83 1.5 8.16 2.673 5.097 4.902 2.935 7.026.877 10.02 0 13.565 0c3.784 0 6.81 1.028 8.995 3.056 2.008 1.862 3.013 4.417 2.91 7.391-.122 3.518-1.57 6.136-4.304 7.781-1.892 1.138-4.103 1.62-6.57 1.433-.122.392-.266.769-.434 1.127-.514 1.096-1.18 1.96-1.982 2.569-.884.67-1.933 1.01-3.118 1.01-1.34 0-2.42-.42-3.21-1.248-.78-.82-1.17-1.89-1.17-3.18 0-1.512.52-2.73 1.545-3.62 1.018-.883 2.45-1.33 4.258-1.33.56 0 1.11.04 1.63.12-.04-.53-.13-1.02-.27-1.46-.26-.81-.71-1.45-1.34-1.92-.62-.47-1.42-.71-2.38-.71-1.09 0-2.02.29-2.77.87-.29.22-.68.17-.9-.12l-.76-1.03c-.22-.3-.16-.71.13-.93C7.43 5.37 8.95 4.9 10.8 4.9c1.64 0 2.99.41 4.02 1.22 1.04.81 1.73 1.93 2.06 3.33.15.65.25 1.42.3 2.31 1.68-.31 3.05-1.05 4.08-2.2 1.01-1.13 1.52-2.58 1.52-4.31 0-2.43-.84-4.32-2.5-5.62C18.63 1.32 16.32.5 13.56.5c-3.03 0-5.54.73-7.27 2.21C4.48 4.27 3.5 6.78 3.5 10c0 3.1.66 5.62 1.96 7.49 1.34 1.93 3.38 2.92 6.07 2.95 1.76.02 3.32-.34 4.64-1.07.28-.15.63-.05.78.22l.55.98c.15.28.05.63-.22.78-1.63.9-3.55 1.35-5.7 1.35z”})}):t===”tiktok”?(0,E.jsx)(“svg”,{className:”icon-svg”,height:”24″,viewBox:”0 0 24 24″,width:”24″,xmlns:”http://www.w3.org/2000/svg”,”aria-hidden”:”true”,children:(0,E.jsx)(“path”,{d:”m12.308 5.012c.763-.012 1.522 0 2.281-.012a3.636 3.636 0 0 0 1.02 2.434 4.12 4.12 0 0 0 2.473 1.043v2.349a6.177 6.177 0 0 1-2.449-.564 7.207 7.207 0 0 1-.947-.543c0 1.705.008 3.406-.01 5.105a4.442 4.442 0 0 1-.789 2.3 4.343 4.343 0 0 1-3.448 1.872 4.254 4.254 0 0 1-2.379-.6 4.393 4.393 0 0 1-2.127-3.331c-.014-.292-.019-.584-.007-.868a4.395 4.395 0 0 1 5.091-3.9c.013.864-.021 1.727-.021 2.591a2.007 2.007 0 0 0-2.558 1.237 2.316 2.316 0 0 0-.079.939 1.992 1.992 0 0 0 3.658.736 1.39 1.39 0 0 0 .239-.62c.057-1.043.034-2.082.041-3.126.006-2.351-.007-4.7.011-7.041z”,fill:”currentColor”})}):t===”bluesky”?(0,E.jsx)(“svg”,{width:”15″,height:”15″,viewBox:”0 0 24 24″,fill:”currentColor”,children:(0,E.jsx)(“path”,{d:”M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.879.139 2.588-.02 3.868.002 5.03c.08 4.201 1.84 10.024 3.931 12.397 2.091 2.373 4.545 1.573 5.467.927.817-.573 1.564-1.611 2.6-2.92 1.036 1.309 1.783 2.347 2.6 2.92.922.646 3.376 1.446 5.467-.927 2.091-2.373 3.851-8.196 3.931-12.397.022-1.162-.137-2.442-.9-3.151-.659-.613-1.664-.935-4.3-1.074C16.046 4.747 13.087 8.686 12 10.8z”})}):t===”github”?(0,E.jsx)(“svg”,{width:”15″,height:”15″,viewBox:”0 0 24 24″,fill:”currentColor”,children:(0,E.jsx)(“path”,{d:”M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z”})}):t===”rss”?(0,E.jsxs)(“svg”,{width:”15″,height:”15″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,strokeLinecap:”round”,strokeLinejoin:”round”,children:[(0,E.jsx)(“path”,{d:”M4 11a9 9 0 0 1 9 9″}),(0,E.jsx)(“path”,{d:”M4 4a16 16 0 0 1 16 16″}),(0,E.jsx)(“circle”,{cx:”5″,cy:”19″,r:”1″})]}):(0,E.jsxs)(“svg”,{width:”15″,height:”15″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,strokeLinecap:”round”,strokeLinejoin:”round”,children:[(0,E.jsx)(“circle”,{cx:”12″,cy:”12″,r:”10″}),(0,E.jsx)(“path”,{d:”M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20″}),(0,E.jsx)(“path”,{d:”M2 12h20″})]})}function O0({authorCount:e=0,authorArticlesList:t,authorBioLength:n,customBio:a,customHeaderKicker:l,customHeaderTitle:i,effectiveAuthorHandle:r,effectiveAuthorName:o,isReviewWidget:u=!1,onBioChange:c,onHeaderKickerChange:s,onHeaderTitleChange:f,selectedProfile:d,showAuthorBio:m=!0,showAuthorIdentity:v=!0,showSocialButtons:A=!0,stabilizeBio:b=!1,totalDealCount:h=0,website:g}){let y=ju(r,o),p=g||”tomsguide”,C=Hu[p]||p,R=Br[p],T=r?.toLowerCase(),M=o?.toLowerCase(),S=t.find(pe=>T&&pe.articleauthorhandle?.some(De=>De?.toLowerCase()===T)||M&&pe.articleauthor?.some(De=>De?.toLowerCase()===M))||null,D=S?cf(S,r,o):0,G=d?.image||(S?l0(S,D):””),Se=d?n===”short”?d.bioShort||””:d.bioLong||d.bioShort||””:S?Mr(S,D,n):””,ie=y?`Our team is dedicated to researching, reviewing and recommending the latest and best products in all the categories that matter to you. Below you can shop the latest ${h} ${u?”review “:””}recommendations from ${e} ${C} ${u?”editor tests”:”editors”}.`:Se||`Handpicked deals and recommendations curated by ${o||”our expert editorial team”}.`,Y=d?.role||””,ze=y?f0[p]||[]:d?.socialNetworks||[];!y&&S&&(Y||(Y=a0(S,D)),ze.length===0&&(ze=zu(S,D)));let Ee=d?.fullName||o||”Author Name”,ut=y?`site:${p}`:`author:${d?.handle||r||Ee}`,q=A&&ze.length>0,Ge=!y&&!!Y||q;return(0,E.jsxs)(“div”,{className:”tg-df-author-card”,style:{textAlign:”center”,padding:”1.75rem 1rem 0.25rem 1rem”,margin:”0 auto”,maxWidth:”48rem”},children:[v&&(y?(0,E.jsx)(“div”,{className:”tg-df-author-media-slot tg-df-author-image-container”,style:{margin:”0 auto 0.75rem auto”,textAlign:”center”,minHeight:”180px”,display:”flex”,alignItems:”center”,justifyContent:”center”},children:R?(0,E.jsx)(“img”,{src:R,alt:C,className:”tg-df-site-logo”,style:{maxHeight:”150px”,maxWidth:”520px”,objectFit:”contain”,margin:”0 auto”,display:”block”}}):(0,E.jsx)(“div”,{style:{fontSize:”1.75rem”,fontWeight:700,color:”#111827″},children:C})}):(0,E.jsx)(“div”,{className:”tg-df-author-media-slot”,children:(0,E.jsxs)(“div”,{className:”tg-df-author-profile-image-wrapper”,children:[G?(0,E.jsx)(“img”,{src:ii(G),alt:Ee,className:”tg-df-author-image”,style:{width:”180px”,height:”180px”,borderRadius:”50%”,objectFit:”cover”,display:”block”}}):(0,E.jsx)(“div”,{className:”tg-df-author-image”,style:{width:”180px”,height:”180px”,borderRadius:”50%”,background:”#e2e8f0″,display:”block”}}),R?(0,E.jsx)(“img”,{src:R,alt:””,className:”tg-df-author-profile-brand-logo”}):null]})})),v&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(B0,{contentKey:`${ut}:kicker`,defaultText:u?”Reviews shop by”:”Shop by”,kind:”kicker”,onChange:s,value:l}),(0,E.jsx)(B0,{contentKey:`${ut}:title`,defaultText:y?C:Ee,kind:”title”,onChange:f,value:i}),Ge&&(0,E.jsxs)(“div”,{className:`tg-df-author-meta-slot${y?” tg-df-author-meta-slot–site”:””}${q?””:” tg-df-author-meta-slot–no-social”}`,children:[!y&&Y?(0,E.jsx)(“div”,{className:”tg-df-author-role”,id:”tg-df-author-role-display”,style:{fontSize:”0.9375rem”,fontWeight:500,color:”var(–tg-df-blue, #1F69FF)”,margin:”0 0 0.5rem 0″,lineHeight:1.3},children:Y}):null,q?(0,E.jsx)(“div”,{className:”tg-df-author-social-links”,children:ze.map(pe=>(0,E.jsx)(“a”,{href:pe.href,target:”_blank”,rel:”noopener noreferrer”,title:pe.label,”aria-label”:pe.label,className:”tg-df-author-social-btn”,”data-social-key”:pe.key.toLowerCase(),children:e2(pe.key)},pe.key))}):null]})]}),m&&(0,E.jsx)($w,{contentKey:ut,initialBio:a,defaultPlaceholder:ie,onBioChange:c,stabilizeHeight:b})]})}var W=B(O(),1);function sf(e){if(!e||typeof e!=”object”)return””;if(e.type===”voucher_code”&&e.display_value)return e.display_value;let t=Array.isArray(e)?e:Object.keys(e).filter(n=>Object.prototype.hasOwnProperty.call(e,n)).map(n=>e[n]);for(let n of t){let a=sf(n);if(a)return a}return””}function t2({endTime:e}){if(!e)return null;let t=e;!isNaN(Number(t))&&String(t).length===10&&(t=Number(t)*1e3);let n=new Date(t),a=new Intl.DateTimeFormat(“en-US”,{month:”short”,day:”numeric”,year:”numeric”});return(0,W.jsxs)(“span”,{className:”tg-df-voucher-expiry”,children:[(0,W.jsxs)(“svg”,{width:”12″,height:”12″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,strokeLinecap:”round”,strokeLinejoin:”round”,style:{marginRight:”4px”},children:[(0,W.jsx)(“circle”,{cx:”12″,cy:”12″,r:”10″}),(0,W.jsx)(“polyline”,{points:”12 6 12 12 16 14″})]}),”Expires “,a.format(n)]})}function k0({error:e,loading:t,merchant:n,onClose:a,vouchers:l}){return(0,W.jsx)(“div”,{className:`tg-df-modal-backdrop ${n?”active”:””}`,onClick:i=>{i.target===i.currentTarget&&a()},children:(0,W.jsxs)(“div”,{className:”tg-df-modal”,children:[(0,W.jsxs)(“div”,{className:”tg-df-modal-header”,children:[(0,W.jsx)(“h3″,{className:”tg-df-modal-title”,children:n?`${n} Coupons & Deals`:”Available Coupons & Deals”}),(0,W.jsx)(“button”,{className:”tg-df-modal-close”,onClick:a,children:(0,W.jsxs)(“svg”,{width:”24″,height:”24″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,strokeLinecap:”round”,strokeLinejoin:”round”,children:[(0,W.jsx)(“line”,{x1:”18″,y1:”6″,x2:”6″,y2:”18″}),(0,W.jsx)(“line”,{x1:”6″,y1:”6″,x2:”18″,y2:”18″})]})})]}),(0,W.jsx)(“div”,{className:”tg-df-modal-body”,children:t?(0,W.jsx)(“div”,{className:”tg-df-message”,children:(0,W.jsx)(“div”,{className:”tg-df-coupon-spinner”,style:{width:”24px”,height:”24px”,borderColor:”#ccc”,borderTopColor:”#3b82f6″}})}):e?(0,W.jsx)(“div”,{className:”tg-df-message”,children:”Failed to load vouchers.”}):l.length===0?(0,W.jsxs)(“div”,{className:”tg-df-message”,children:[“No active vouchers found for “,n,”.”]}):l.map((i,r)=>{let o=i.offer?.name||i.offer?.title||i.name||i.title||i.model_name||”Voucher”,u=i.offer?.link||i.offer?.url||i.link||i.url||”#”,c=i.merchant,s=Array.isArray(c)?c[0]?.logo_url||””:c?.logo_url||””,f=sf(i.offer)||sf(i)||i.offer?.voucher_code||i.voucher_code||””,d=i.offer?.end_time||i.end_time||””;return(0,W.jsxs)(“a”,{href:u,target:”_blank”,rel:”noopener nofollow”,className:”tg-df-voucher-item”,children:[s?(0,W.jsx)(“img”,{src:s,alt:”Logo”,className:”tg-df-voucher-logo”}):(0,W.jsx)(“div”,{className:”tg-df-voucher-logo”,style:{background:”#e2e8f0″}}),(0,W.jsxs)(“div”,{className:”tg-df-voucher-content”,children:[(0,W.jsx)(“h4″,{className:”tg-df-voucher-title”,children:o}),(0,W.jsxs)(“div”,{style:{display:”flex”,alignItems:”center”,flexWrap:”wrap”,gap:”8px”,marginTop:”8px”},children:[f&&(0,W.jsxs)(“span”,{className:”tg-df-voucher-code”,title:”Copy to clipboard”,onClick:m=>{m.preventDefault(),m.stopPropagation();let v=m.currentTarget;navigator.clipboard.writeText(f).then(()=>{v.classList.add(“copied”);let A=v.querySelector(“.tg-df-voucher-code-text”),b=v.querySelector(“.tg-df-voucher-copy-icon”),h=A.innerText,g=b.innerHTML;A.innerText=”Copied!”,b.innerHTML=”,setTimeout(()=>{v.classList.remove(“copied”),A&&(A.innerText=h),b&&(b.innerHTML=g)},2e3)})},children:[(0,W.jsx)(“span”,{className:”tg-df-voucher-code-text”,children:f}),(0,W.jsxs)(“svg”,{width:”14″,height:”14″,viewBox:”0 0 24 24″,fill:”none”,stroke:”currentColor”,strokeWidth:”2″,strokeLinecap:”round”,strokeLinejoin:”round”,style:{marginLeft:”6px”,flexShrink:0},className:”tg-df-voucher-copy-icon”,children:[(0,W.jsx)(“rect”,{x:”9″,y:”9″,width:”13″,height:”13″,rx:”2″,ry:”2″}),(0,W.jsx)(“path”,{d:”M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1″})]})]}),d&&(0,W.jsx)(t2,{endTime:d})]})]})]},r)})})]})})}var N=B(dt(),1);function ui(e){if(!e||!e.articlepage)return[];try{let t=e.articlepage;if(!Array.isArray(t))return typeof t==”string”?JSON.parse(t):t;if(t.length===0)return[];let n=t[0];return typeof n==”string”?JSON.parse(n):Array.isArray(n)?n:n&&typeof n==”object”&&”type”in n?t:n}catch{return[]}}function ci(e,t=!1,{includeCollections:n=!0,includeDeals:a=!0}={}){let l=t?e.filter(r=>r.type===”buying-guide”):[];if(l.length>0)return l;let i=e.filter(r=>r.type===”deal”||r.type===”featured-product”);return a&&!n&&!t?i.filter(r=>r.type===”deal”):i}function si(e,t){if(!t||t.length===0)return!0;let n=e&&(e.brand||e.retailer)||””;if(!n)return!1;let a=n.replace(/^d+.s*/,””).trim().toLowerCase();return t.some(l=>{let i=l.trim().toLowerCase();return a===i||a.startsWith(`${i} `)||a.includes(i)||i.includes(a)})}function bt(e){return!e||e===”auto”?”US”:e}function nn(e){return e===”GB”||e===”UK”?”GBP”:e===”AU”?”AUD”:e===”CA”?”CAD”:[“DE”,”FR”,”IT”,”ES”,”NL”].includes(e)?”EUR”:”USD”}function L0(e,t){if(e.isBuyingGuideProduct||e.isReviewProduct)return!0;if(t===”unavailable”)return!1;let n=String(e.isoCurrency||e.currency||””).trim().toUpperCase();return({$:”USD”,A$:”AUD”,CA$:”CAD”,”xA3″:”GBP”,”u20AC”:”EUR”}[n]||n)===nn(t)}function di(e,t){let n=e.data||{},a=e.type===”featured-product”,l=n.price||{},i=a?n.currency||(n.price&&typeof n.price==”object”?n.price.currency:””):l.currency||(typeof l==”string”?l:””)||n.currency||””;!i&&n.variants&&n.variants.length>0&&(i=n.variants[0].currency||””);let r=”$”,o=”USD”,u=(i||””).toString().toUpperCase().trim();return u===”GBP”||u===”xA3″||u.includes(“POUND”)||u.includes(“163″)?(r=”xA3″,o=”GBP”):u===”EUR”||u===”u20AC”||u.includes(“EURO”)||u.includes(“8364″)?(r=”u20AC”,o=”EUR”):u===”AUD”||u===”A$”?(r=”A$”,o=”AUD”):u===”CAD”||u===”CA$”?(r=”CA$”,o=”CAD”):u===”USD”||u===”$”||u.includes(“DOLLAR”)||u.includes(“36″)?(r=”$”,o=”USD”):(o=nn(t),o===”GBP”?r=”xA3″:o===”AUD”?r=”A$”:o===”CAD”?r=”CA$”:o===”EUR”&&(r=”u20AC”)),{isoCurr:o,currencyStr:r}}function Xu(e){let t=e.data||{},n=e.type===”featured-product”,a=t.price||{},l=0,i=0;return n?(l=typeof a==”number”?a:a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):t.msrp?parseFloat(t.msrp):0):(l=a.amount?parseFloat(a.amount):0,i=a.amountWas?parseFloat(a.amountWas):0),{rawPrice:l,rawMsrp:i}}function ba(e,t){if(!t||t===”all”||e=50||t===”over50″&&e<=50||t==="over30"&&e<=30||t==="over500"&&e<=500)return!1;if(t.includes("_")){let[n,a]=t.split("_").map(Number);if(n&&ea)return!1}return!0}function Aa(e,t,n){if(!n||n===”0″||n===”all”)return!0;let a=parseInt(n);return!(!isNaN(a)&&a>0&&(!t||t<=e||Math.round((1-e/t)*100)
r.inventoryKind===”collections”?n:r.inventoryKind===”deals”?a:r.value===”sig-product-collection”?n:a);return t?{…l,scopes:[…i,…l.buyingGuideScopes||[df]]}:{…l,scopes:i}}function ff(e){if(Array.isArray(e))return e;let t=e.data;return t&&Array.isArray(t)?t:[]}function z0(e){let t=new Set;return e.filter(n=>{let a=n.id||n.articleid||n.url;return!a||t.has(a)?!1:(t.add(a),!0)})}function Kt(e){return typeof e.articletype==”string”?e.articletype.toLowerCase():Array.isArray(e.articletype)&&e.articletype.length>0?e.articletype[0].toLowerCase():””}function Lr(e){return String(e||””).toLowerCase().replace(/[^a-z0-9]/g,””)}function gf(e){return[…Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],…Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]].map(Lr)}function l2(e){return Kt(e)===”review”&&gf(e).some(t=>t.includes(“channelgaminghardware”))}function H0(e,t,n){let a=Kt(e),l=gf(e),i=c=>l.some(s=>s.includes(c)),r=a===”news”&&i(“shopping”)&&i(“deal”)&&i(“typedeal”),o=a===”deals”||r,u=a===”collection”||i(“sigproductcollection”)||i(“vanhawkcollectionwidget”)||a===”news”&&i(“shopping”)&&!r||a===”idea”&&i(“shopping”)&&(i(“sigproductcollection”)||i(“vanhawkcollectionwidget”));return t&&o||n&&u}function Ia(e,t=!0,n=!0,a){if(a===”homesandgardens”)return H0(e,t,n);let l=Kt(e),i=gf(e),r=l===”deals”||i.some(u=>u.includes(“typedeal”)),o=i.some(u=>u.includes(“sigproductcollection”));return t&&r||n&&o}function U0(e,t,n=!1,a=!1,l=!0,i=!0){if(a&&Kt(e)===”review”)return t!==”pcgamer”||l2(e);if(t===”homesandgardens”)return Kt(e)===”buying guide”?n:H0(e,i,l);let r=Ku(t,{includeBuyingGuideProducts:n,includeCollections:l,includeDeals:i});if(r.includeAllContent)return i&&l?!0:n||Ia(e,i,l);let o=Kt(e),u=[…Array.isArray(e.articlecontroltag)?e.articlecontroltag:[],…Array.isArray(e.articletagtypetaghandle)?e.articletagtypetaghandle:[]],c=f=>!f.requiredArticleType||o===f.requiredArticleType.toLowerCase(),s=f=>!f.requiredControlTags||f.requiredControlTags.every(d=>u.some(m=>typeof m==”string”&&Lr(m).includes(Lr(d))));return r.scopes.some(f=>!c(f)||!s(f)?!1:f.parameter===”articleType”?o===f.value.toLowerCase():f.parameter===”articleControlTag”?u.some(d=>typeof d==”string”&&Lr(d).includes(Lr(f.value))):!1)}function mf(e,t){let n=e.map(a=>({…a}));return t.filter(a=>(a.isBuyingGuideProduct||a.isReviewProduct)&&a.brand).forEach(a=>{let l=String(a.brand).trim();if(!l)return;let i=n.find(r=>r.formatted_value.toLowerCase()===l.toLowerCase());i?i.count++:n.push({formatted_value:l,count:1})}),n.sort((a,l)=>l.count-a.count)}function Zu(e,t){let n={};return e.forEach(a=>{if(!a.articlepage)return;let l=ui(a),i=ci(l,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});(t.includeDeals===!1||t.includeCollections===!1)&&!i.some(r=>r.type===”buying-guide”)&&!Ia(a,t.includeDeals,t.includeCollections,t.website)||i.forEach(r=>{if(di(r,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:o,rawMsrp:u}=Xu(r);if(!ba(o,t.priceRange)||!Aa(o,u,t.discountAmount))return;let c=r.data||{},s=c.brand||c.retailer;if(!s)return;let f=s.replace(/^d+.s*/,””).trim(),d=f.toLowerCase(),m=Object.keys(n).find(v=>v.toLowerCase()===d);m?n[m]++:(f===f.toLowerCase()&&(f=f.replace(/bw/g,v=>v.toUpperCase())),n[f]=1)})}),Object.keys(n).map(a=>({formatted_value:a,count:n[a]})).sort((a,l)=>l.count-a.count)}function i2(e){return String(e||””).trim().toLowerCase()}function Wu(e){return(Array.isArray(e)?e:[e]).map(i2).filter(Boolean)}function r2(e){let t=Wu(e.articletype),n=[…Wu(e.articlecontroltag),…Wu(e.articletagtypetaghandle)];return t.includes(“deals”)||n.some(a=>a.replace(/[s-]+/g,”_”)===”type_deal”)}function q0(e){let t=Array.isArray(e)?e[0]:e,n=new Date(String(t||””)).getTime();return Number.isFinite(n)?n:null}function o2(e){for(let t of[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]){let n=q0(t);if(n!==null)return n}return null}function u2(e){for(let t of[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]){let n=q0(t);if(n!==null)return n}return null}function G0(e){return Wu(e.articletype).includes(“review”)}function c2(e,t=new Date,n=0){let a=r2(e)?1:G0(e)?36:n;if(a=i.getTime()}function Ja(e,t,n=0){return e.filter(a=>c2(a,t,n))}var s2=15;function F0(e){return Array.isArray(e.articlemedia)?e.articlemedia[0]:””}function zr(e){return Array.isArray(e.documenturl)?e.documenturl[0]:e.documenturl||””}function d2(e){return Ot(String(e||””).replace(/^d+.s*/,””).trim())}function $e(e){return Array.isArray(e)?e.map($e).find(Boolean)||””:typeof e==”string”||typeof e==”number”?String(e).trim():””}function hf(e,t=!1){return(t?[e.datepublished,e.publisheddate,e.createddate,e.contentmodifieddate,e.modifieddate]:[e.contentmodifieddate,e.modifieddate,e.createddate,e.datepublished,e.publisheddate]).map($e).find(Boolean)||””}function f2(e,t,n){let a=$e(e).match(/^s*(d+)s*[.)]s*/)?.[1];return a||[t.rank,t.position,t.number,t.productNumber,t.product_number].map($e).map(i=>i.match(/^s*(d+)s*$/)?.[1]||””).find(Boolean)||String(n+1)}function g2(e){let t=$e(e);try{t=new URL(t).pathname}catch{}return t=t.split(/[?#]/)[0].split(“/”).filter(Boolean).at(-1)||””,t.split(/[-_]+/).filter(Boolean).map(n=>n.charAt(0).toUpperCase()+n.slice(1)).join(” “)}function m2(e){return $e(e.documenthandle)||$e(e.document_handle)||zr(e)||$e(e.documentname)||$e(e.documentnametext)}function h2(e,t){if(!t)return””;let n=t.length>s2?”Ranked”:t;return`#${e} ${n}`}function y2(e){if(typeof e==”object”&&e)return String(e[“data-model-name”]||””);try{return String(JSON.parse(String(e||””))[“data-model-name”]||””)}catch{return””}}function p2(e){let t=e.brand||e.productBrand||e.manufacturer||e.maker||””;return typeof t==”string”?Ot(t.replace(/^d+.s*/,””).trim()):””}function v2(e){let t=e.price&&typeof e.price==”object”?e.price:{},n=Number(t.salePrice||t.price||e.salePrice||e.current_price||(typeof e.price==”number”?e.price:0)),a=Number(t.wasPrice||t.msrp||e.was_price||e.msrp||0),l=e.url||e.link?.url||e.link?.href||””;return{currency:t.currency||e.currency||””,rawMsrp:Number.isFinite(a)?a:0,rawPrice:Number.isFinite(n)?n:0,url:l}}function yf(e){let t=e?.review||{},n=t.rating??t.starRating??t.score??e?.rating??e?.starRating??e?.score,a=Number(n);if(!Number.isFinite(a)||a5?a/20:a;return Math.min(l,5)}function j0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,imageUrl:i}){let r=t.data||{},o=r.review||{},u=d2(r.title),c=f2(r.title,r,a),s=g2(m2(e)),f=zr(e),d=v2(r),m=!!d.url,v=m?d.url:o.url||f,A=i||F0(e);return{id:`airedale-buying-guide-${n}-${a}`,url:v,image:A,fallbackImage:A,title:u,brand:p2(r),productName:u,merchant:””,rawPrice:d.rawPrice,rawMsrp:d.rawMsrp,price:d.rawPrice>0?String(d.rawPrice):””,msrp:d.rawMsrp>0?String(d.rawMsrp):””,currency:d.currency,isoCurrency:””,isCheckPrice:d.rawPriceOt($e(t))).filter(Boolean)}function Y0({article:e,articleIdentity:t,authorProfile:n}){let a=Ot(fi(e)),l=Ot(b2(e)),i=zr(e),r=F0(e),o=Ot($e(e.productverdict));return{id:`airedale-review-${t}`,url:i,image:r,fallbackImage:r,title:l,brand:””,productName:l,merchant:””,rawPrice:0,rawMsrp:0,price:””,msrp:””,currency:””,isoCurrency:””,isCheckPrice:!0,savingLabel:””,savingType:”none”,isPrime:!1,starRating:yf({rating:e.productrating}),description:o,text:o,…n,documentUrl:i,modifiedDate:hf(e,!0),isFeatured:!1,isReviewProduct:!0,hawkModelName:a||l,hasCommerceOffer:!1,sourceArticleUrl:i,pros:P0(e.productpros),cons:P0(e.productcons)}}function Ot(e){return typeof e==”string”?ne(e):e}function V0({article:e,block:t,articleIdentity:n,blockIndex:a,authorProfile:l,currencyString:i,isoCurrency:r,presentation:o,pricing:u}){let c=t.data||{},{isFeatured:s,externalUrl:f,summaryTitle:d,description:m,imageUrl:v,merchantName:A}=o,{rawPrice:b,rawMsrp:h,savingLabel:g}=u;return{id:`airedale-${n}-${a}`,url:f,image:v,fallbackImage:v,title:Ot(d),brand:Ot(c.brand||””),productName:Ot(c.productName||””),merchant:Ot(A),rawPrice:b,rawMsrp:h,price:b>0?b.toString():””,msrp:h>0?h.toString():””,currency:i,isoCurrency:r,isCheckPrice:!b,savingLabel:g,savingType:h>b?”amount”:”none”,isPrime:!1,starRating:yf(c),description:Ot(m),text:Ot(c.text||””),…l,documentUrl:zr(e),modifiedDate:hf(e),isFeatured:s,hasCommerceOffer:!!f}}function X0(e,t){let n=t.data||{},a=t.type===”featured-product”,l=n.link||{},i=n.image||{};n.brand&&(n.brand=n.brand.replace(/^d+.s*/,””).trim());let r=a?n.url:l.href||null,o=a?n.name||n.brand:n.productName||l.label||(Array.isArray(e.articlename)?e.articlename[0]:e.articlename),u=a?n.strapline||””:n.text||””;if(!a&&!n.productName&&n.text){let f=n.text.split(/
/i);if(f.length>1)o=f[0].replace(/]+>/g,””).trim(),u=f.slice(1).join(” “).replace(/
/gi,” “).replace(/]*>/gi,” “).replace(/]+>/g,””).replace(/s+/g,” “).trim();else{let d=n.text.match(/(.*?)/);d&&(o=d[1].replace(/]+>/g,””).trim(),o.endsWith(“:”)&&(o=o.slice(0,-1)))}}let c=a?i.mos:i.src||null;c?.startsWith(“//”)&&(c=`https:${c}`),u=u.replace(/
/gi,” “).replace(/]*>/gi,” “).replace(/]+>/g,””).replace(/s+/g,” “).replace(/View Deal$/i,””).trim();let s=n.retailer||””;if(!s&&r)try{s=new URL(r).hostname.replace(“www.”,””).split(“.”)[0],s=s.charAt(0).toUpperCase()+s.slice(1)}catch{}return s||(s=”Retailer”),{isFeatured:a,externalUrl:r,summaryTitle:o,description:u,imageUrl:c,merchantName:s}}function Q0(e,t){let n=e.data||{},a=e.type===”featured-product”,l=n.price||{},i=0,r=0;a?(i=typeof n.salePrice==”number”&&n.salePrice>0?n.salePrice:typeof n.price==”number”?n.price:0,r=typeof n.salePrice==”number”&&typeof n.price==”number”&&n.price>n.salePrice?n.price:0):(i=l.amount?parseFloat(l.amount):0,r=l.amountWas?parseFloat(l.amountWas):0);let o=0,u=””;return i>0&&r>i&&(o=parseFloat((r-i).toFixed(2)),u=`Save ${t}${o}`),{rawPrice:i,rawMsrp:r,savingLabel:u}}function A2(e,t){let n=e.indexOf(t);if(n{if(d&&Kt(b)===”review”){v.push(Y0({article:b,articleIdentity:b.id||u(),authorProfile:Vu(b,r,o)}));return}if(!b.articlepage)return;let h=ui(b),g=ci(h,c,{includeCollections:s,includeDeals:f});(f===!1||s===!1)&&!g.some(y=>y.type===”buying-guide”)&&!Ia(b,f,s,m)||g.forEach((y,p)=>{if(y.type===”buying-guide”){v.push(j0({article:b,block:y,articleIdentity:b.id||u(),blockIndex:p,authorProfile:Vu(b,r,o),imageUrl:A2(h,y)}));return}let{isoCurr:C,currencyStr:R}=di(y,t);if(C!==n)return;let T=y.data||{},M=X0(b,y),{externalUrl:S}=M,D=Q0(y,R),{rawPrice:G,rawMsrp:Se}=D;if(!(a&&a.length>0&&!si(T,a))&&ba(G,l)&&Aa(G,Se,i)){if(S){if(A.has(S))return;A.add(S)}v.push(V0({article:b,block:y,articleIdentity:b.id||u(),blockIndex:p,authorProfile:Vu(b,r,o),currencyString:R,isoCurrency:C,presentation:M,pricing:D}))}})}),v}function gi(e,t){return Hr(e,{…t,selectedBrands:[],priceRange:”all”,discountAmount:”0″})}function K0(e,t){return Hr(e,t)}function Ur(e){return(Array.isArray(e)?e:[e]).filter(n=>typeof n==”string”).map(n=>n.trim())}function Ju(e){return e?.trim().toLowerCase()===”freeform”}function pf(e){return!!e&&!/[^p{L}p{N}s]/u.test(e)}function vf(e){let t=Ur(e.articletag),n=Ur(e.articletaghandle),a=Ur(e.articletagtype),l=new Map;t.forEach((o,u)=>{let c=n[u];!Ju(a[u])||!c||!pf(o)||l.set(c.toLowerCase(),{handle:c,label:o,requestValue:o})});let i=Ur(e.articletagtypetag),r=Ur(e.articletagtypetaghandle);return i.forEach((o,u)=>{let[c,…s]=o.split(“|”),[f,…d]=(r[u]||””).split(“|”),m=s.join(“|”).trim(),v=d.join(“|”).trim();!Ju(c)||!Ju(f)||!v||!pf(m)||l.has(v.toLowerCase())||l.set(v.toLowerCase(),{handle:v,label:m,requestValue:m})}),r.forEach(o=>{let[u,…c]=o.split(“|”),s=c.join(“|”).trim();!Ju(u)||!s||!pf(s)||l.has(s.toLowerCase())||l.set(s.toLowerCase(),{handle:s,label:s})}),[…l.values()]}function Z0(e,t){if(t)return e.find(n=>n.handle.toLowerCase()===t.toLowerCase())?.requestValue}function mi(e,t){let n=(Array.isArray(t)?t:[t]).filter(a=>typeof a==”string”).map(a=>a.trim().toLowerCase()).filter(Boolean);return n.length===0?e:e.filter(a=>vf(a).some(l=>n.includes(l.handle.toLowerCase())))}function w2(e){let t=new Map;return Array.isArray(e.articlecategory)?(e.articlecategory.forEach(n=>{if(typeof n!=”string”)return;let a=n.trim();a===a.toLowerCase()&&(a=a.replace(/bw/g,l=>l.toUpperCase())),a&&!t.has(a.toLowerCase())&&t.set(a.toLowerCase(),{handle:a,label:a})}),[…t.values()]):[]}function W0(e,t,n){let a={},l={},i={};e.forEach(u=>{let c=[];if(t.includeReviewProducts&&Kt(u)===”review”&&c.push(u.id||u.documenturl||u.documenthandle||””),u.articlepage)try{let s=ui(u),f=ci(s,t.includeBuyingGuideProducts,{includeCollections:t.includeCollections,includeDeals:t.includeDeals});if((t.includeDeals===!1||t.includeCollections===!1)&&!f.some(d=>d.type===”buying-guide”)&&!Ia(u,t.includeDeals,t.includeCollections,t.website))return;f.forEach(d=>{if(d.type===”buying-guide”){c.push(d.id||JSON.stringify(d.data||{}));return}if(di(d,t.activeRegionCode).isoCurr!==t.targetIso)return;let{rawPrice:m,rawMsrp:v}=Xu(d);if(!ba(m,t.priceRange)||!Aa(m,v,t.discountAmount))return;let A=d.data||{};if(t.selectedBrands&&t.selectedBrands.length>0&&!si(A,t.selectedBrands))return;let h=d.type===”featured-product”?A.primaryLink:A.link,g=A.url||A.link&&A.link.url||h&&h.url;c.push(g||JSON.stringify(A))})}catch{}c.length!==0&&n(u).forEach(s=>{let f=s.handle.toLowerCase(),d=Object.keys(a).find(m=>m.toLowerCase()===f);d||(d=s.handle,a[d]=new Set,l[d]=s.label,i[d]=s.requestValue),c.forEach(m=>a[d].add(m))})});let r={};return Object.keys(a).forEach(u=>{r[u]=a[u].size}),{tags:Object.keys(r).map(u=>({handle:u,label:l[u]||u,requestValue:i[u]})).sort((u,c)=>r[c.handle]-r[u.handle]),tagCounts:r}}function $u(e,t){let{tags:n,tagCounts:a}=W0(e,t,w2);return{tags:n.map(l=>l.label),tagCounts:a}}function ec(e,t){let{tags:n,tagCounts:a}=W0(e,t,vf);return{tags:n,tagCounts:a}}function S2(e,t){return e.documentUrl||e.sourceArticleUrl||e.articleId||`deal-${t}`}function hn(e,t,n){if(t!==”mix”||n!==”date_desc”)return e;let a=new Map;e.forEach((o,u)=>{let c=S2(o,u),s=a.get(c)||[];s.push(o),a.set(c,s)});let l=[],i=0,r=!0;for(;r;)r=!1,a.forEach(o=>{let u=o[i];u&&(l.push(u),r=!0)}),i+=1;return l}var I0=”compact-v1″,C2={brand:””,currency:””,hasCommerceOffer:!1,isoCurrency:””,isCheckPrice:!0,isFeatured:!1,isPrime:!1,merchant:””,merchantId:””,msrp:””,price:””,rawMsrp:0,rawPrice:0,savingLabel:””,savingType:”none”},R2={hasCommerceOffer:!0,hawkPricePending:!1,rawMsrp:0,rawPrice:0};function J0(e){return e.map(t=>{if(!t.isReviewProduct)return t;let n=String(t.sourceArticleUrl||t.documentUrl||t.url||””),a=t.fallbackImage??t.image??””,l={…C2,…t,fallbackImage:a,image:t.image??a,sourceArticleUrl:n,documentUrl:t.documentUrl??n,url:t.url??n,title:t.title??t.productName??””,text:t.text??t.description??””,hawkPricePending:t.hawkPricePending??!!t.hawkModelName,pros:t.pros??[],cons:t.cons??[]};return t.hawkRegionalCommerce&&(l.hawkRegionalCommerce=Object.fromEntries(Object.entries(t.hawkRegionalCommerce).map(([i,r])=>{let o=r,u=o.productName??l.productName,c=o.rawPrice??0,s=o.rawMsrp??0;return[i,{…R2,…o,fallbackImage:o.fallbackImage??a,image:o.image??a,productName:u,title:o.title??u??l.title,price:o.price??(c?String(c):””),msrp:o.msrp??(s?String(s):””)}]}))),l})}function tc(e,t,n=100){let a=new Set(e.slice(0,t).map((i,r)=>i.id||`visible-${r}`)),l=e.slice(0,t).filter(i=>i.isReviewProduct).length;return e.filter((i,r)=>{let o=i.id||`visible-${r}`;return a.has(o)?!0:i.isReviewProduct?(l+=1,l[a.id||`enriched-${l}`,a]));return e.map((a,l)=>n.get(a.id||`enriched-${l}`)||a)}var T2=new Set([“deal”,”featured-product”,”gallery”,”buying-guide”,”text”,”section”]);function nc(e){return!!e&&typeof e==”object”}function ev(e){if(typeof e!=”string”)return e;try{return JSON.parse(e)}catch{return e}}function tv(e){try{let t=ev(e);if(!Array.isArray(t)||!t[0])return;let n=t[0],a=typeof n==”string”?ev(n):Array.isArray(n)?n:nc(n)&&”type”in n?t:n;if(!Array.isArray(a))return;let l=a.filter(i=>nc(i)&&T2.has(i.type)).map(i=>i.type===”text”&&i.data?{type:”text”,data:{paragraphs:Array.isArray(i.data.paragraphs)?i.data.paragraphs.slice(0,3):void 0,text:typeof i.data.text==”string”?i.data.text.slice(0,500):void 0}}:i.type===”section”&&i.data?{type:”section”,data:{text:i.data.text,heading:i.data.heading,title:i.data.title}}:i);return l.length>0?[JSON.stringify(l)]:void 0}catch{return}}function nv(e){if(!Array.isArray(e))return[];let t=!1;return e.map(n=>{if(!nc(n))return n;let a=n.articlepage?tv(n.articlepage):void 0,l=!!(n.articleauthormedia||n.articleauthorrole),i=!!(!t&&(n.articleauthorbio||n.articleauthorlongbio||n.articleauthorsocialnetworks));return i&&(t=!0),{id:n.id,articlename:n.articlename,documentname:n.documentname,documentnametext:n.documentnametext,documenthandle:n.documenthandle,articlecategory:n.articlecategory,articletag:n.articletag,articletaghandle:n.articletaghandle,articletagtype:n.articletagtype,articletagtypetag:n.articletagtypetag,articletagtypetaghandle:n.articletagtypetaghandle,articlecontroltag:n.articlecontroltag,articletype:n.articletype,articleauthor:n.articleauthor,articleauthorhandle:n.articleauthorhandle,articleauthortext:n.articleauthortext,…l?{articleauthorrole:n.articleauthorrole,articleauthormedia:n.articleauthormedia}:{},articlestrapline:n.articlestrapline,articlesocialtitle:n.articlesocialtitle,documenturl:n.documenturl,articlemedia:n.articlemedia,articlehawkmodels:n.articlehawkmodels,productrating:n.productrating,productpros:n.productpros,productcons:n.productcons,productverdict:n.productverdict,contentmodifieddate:n.contentmodifieddate,modifieddate:n.modifieddate,createddate:n.createddate,datepublished:n.datepublished,publisheddate:n.publisheddate,…i?{articleauthorbio:n.articleauthorbio,articleauthorlongbio:n.articleauthorlongbio,articleauthorsocialnetworks:n.articleauthorsocialnetworks}:{},…a?{articlepage:a}:{}}})}function av(e){return Array.isArray(e)?e.map(t=>{if(!nc(t))return t;let n=t.articlepage?tv(t.articlepage):void 0;return{id:t.id,articleid:t.articleid,articlename:t.articlename,documentname:t.documentname,documentnametext:t.documentnametext,documenthandle:t.documenthandle,articleauthor:t.articleauthor,articleauthorhandle:t.articleauthorhandle,articleauthortext:t.articleauthortext,articleauthorrole:t.articleauthorrole,articleauthormedia:t.articleauthormedia,articleauthorbio:t.articleauthorbio,articleauthorlongbio:t.articleauthorlongbio,articleauthorsocialnetworks:t.articleauthorsocialnetworks,articlecategory:t.articlecategory,articletag:t.articletag,articletaghandle:t.articletaghandle,articletagtype:t.articletagtype,articletagtypetag:t.articletagtypetag,articletagtypetaghandle:t.articletagtypetaghandle,articletype:t.articletype,articlestrapline:t.articlestrapline,articlesocialtitle:t.articlesocialtitle,documenturl:t.documenturl,articlemedia:t.articlemedia,articlehawkmodels:t.articlehawkmodels,productrating:t.productrating,productpros:t.productpros,productcons:t.productcons,productverdict:t.productverdict,url:t.url,contentmodifieddate:t.contentmodifieddate,modifieddate:t.modifieddate,createddate:t.createddate,datepublished:t.datepublished,publisheddate:t.publisheddate,content:t.content,dek:t.dek,image_thumbnail:t.image_thumbnail,intro:t.intro,paragraphs:t.paragraphs,strapline:t.strapline,subtitle:t.subtitle,title:t.title,…n?{articlepage:n}:{}}}):[]}function hi(e){if(!e?.modifiedDate)return 0;let t=Array.isArray(e.modifiedDate)?e.modifiedDate[0]:e.modifiedDate,n=new Date(t).getTime();return Number.isNaN(n)?0:n}function $a(e){return e?.hasCommerceOffer===!0?!0:e?.hasCommerceOffer===!1?!1:!!(!e?.isBuyingGuideProduct&&!e?.isReviewProduct&&e?.url)}function an(e,t,n=!0){let a=!0;t===”date_desc”?e.sort((l,i)=>hi(i)-hi(l)):t===”price_asc”?e.sort((l,i)=>l.rawPrice-i.rawPrice):t===”price_desc”?e.sort((l,i)=>i.rawPrice-l.rawPrice):t===”discount_desc”?e.sort((l,i)=>{let r=l.rawMsrp>l.rawPrice?l.rawMsrp-l.rawPrice:0;return(i.rawMsrp>i.rawPrice?i.rawMsrp-i.rawPrice:0)-r}):t===”rating_desc”?e.sort((l,i)=>{let r=Number(l.starRating)||0;return(Number(i.starRating)||0)-r||hi(i)-hi(l)}):t===”scored_first”?e.sort((l,i)=>{let r=Number(l.starRating)>0?1:0;return(Number(i.starRating)>0?1:0)-r||hi(i)-hi(l)}):a=!1,a&&n&&e.sort((l,i)=>Number($a(i))-Number($a(l)))}function lv(e,t,n){let a=e;if(!a&&t){let l=n.find(i=>i.toLowerCase()===t?.toLowerCase());l&&(a=l)}return a}function Gr(e,t){if(!t)return e;let n=t.toLowerCase();return e.filter(a=>a.articlecategory&&Array.isArray(a.articlecategory)&&a.articlecategory.some(l=>{if(!l||typeof l!=”string”)return!1;let i=l.toLowerCase(),r=i.split(“:::”);return i===n||r[0]===n||i.includes(n)}))}function iv(e){let t=bt(e.region);return{activeRegionCode:t,targetIso:nn(t)}}function el(e,t,{discountAmount:n,priceRange:a}={}){let l=!!(a&&a!==”all”),i=!!(n&&n!==”0″&&n!==”all”);return!t?.length&&!l&&!i?e:e.filter(r=>!r.isBuyingGuideProduct&&!r.isReviewProduct?!0:t?.length&&!si({brand:r.brand},t)||l&&(!Number(r.rawPrice)||!ba(Number(r.rawPrice),a))?!1:Aa(Number(r.rawPrice)||0,Number(r.rawMsrp)||0,n))}function E2(e,t){let n=e.articleauthorhandle||[],a=e.articleauthor||[],l=e.articleauthortext||[],i=new Set([t.handle.toLowerCase(),t.fullName.toLowerCase(),t.name.toLowerCase()]);return[…n,…a,…l].some(r=>i.has(String(r||””).toLowerCase()))}function bf(e,t,n){let a=Object.fromEntries(e.map(l=>[l.handle,0]));return t.forEach(l=>{let i=gi([l],n).length;i!==0&&e.forEach(r=>{E2(l,r)&&(a[r.handle]+=i)})}),a}function Af(e,t){let n=Yu(e,t.authorHandle,t.authorName),a=t.selectedArticleId?n.filter(v=>v.id===t.selectedArticleId):n,{activeRegionCode:l,targetIso:i}=iv(t),{tags:r,tagCounts:o}=$u(a,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),u=lv(t.activeDealTag,t.query,r),c=Gr(a,u),{tags:s,tagCounts:f}=ec(c,{activeRegionCode:l,targetIso:i,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),m=(t.activeFreeformTags?.length?t.activeFreeformTags:t.activeFreeformTag?[t.activeFreeformTag]:[]).flatMap(v=>{let A=s.find(b=>b.handle.toLowerCase()===v.toLowerCase());return A?[A.handle]:[]});return{activeDealTag:u,activeFreeformTag:m[0]||null,activeFreeformTags:m,activeRegionCode:l,authorArticles:n,freeformTagCounts:f,freeformTags:s,tagCounts:o,tags:r,targetArticles:mi(c,m),targetIso:i}}function ac(e,t,n,a){let l=Zu(e,{activeRegionCode:n,targetIso:a,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),i=Hr(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});an(i,t.sort,t.prioritiseCommercialProducts);let r=hn(el(i,t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange}),t.productSelection,t.sort).map(o=>(o.isBuyingGuideProduct||o.isReviewProduct)&&o.hawkModelName?{…o,hawkPricePending:!0}:o);return{brands:l,displayedDeals:r,extractedDeals:i}}function rv(e,t){let{activeRegionCode:n,targetIso:a}=iv(t),l=kr(e,t.website||”tomsguide”),i=e.filter(o=>gi([o],{activeRegionCode:n,targetIso:a,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}).length>0),r=el(Hr(e,{activeRegionCode:n,targetIso:a,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),t.selectedBrands,{discountAmount:t.discountAmount,priceRange:t.priceRange});return{authorCount:Or(l,i).length,deals:r}}function ov({allArticles:e,authorArticles:t,inventoryArticles:n,bakeReviewInventory:a,brands:l,couponMap:i,currentDealTag:r,currentFreeformTags:o,displayedDeals:u,options:c,resultCount:s,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}){let h=kr(e,c.website||”tomsguide”),g=bf(h,n,{activeRegionCode:bt(c.region),targetIso:nn(bt(c.region)),selectedBrands:c.selectedBrands,priceRange:c.priceRange,discountAmount:c.discountAmount,includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}),y=Or(h,e.filter(C=>gi([C],{activeRegionCode:bt(c.region),targetIso:nn(bt(c.region)),includeBuyingGuideProducts:c.includeBuyingGuideProducts,includeCollections:c.includeCollections,includeDeals:c.includeDeals,includeReviewProducts:c.includeReviewProducts,website:c.website}).length>0)),p=Number(s)||12;return{activeDealTag:r,activeFreeformTag:o[0]||null,activeFreeformTags:o,allDeals:a?tc(u,p):u,authorArticles:nv(t),authors:Fu(y,g),brands:l,couponMap:i,deals:u.slice(0,p),reviewInventoryBaked:a,tagCounts:f,tags:d,freeformTagCounts:m,freeformTags:v,totalAuthorCount:A,totalDealCount:b}}function D2(e){return e&&e.widget&&e.widget.data&&Array.isArray(e.widget.data.offers)?e.widget.data.offers:e&&e.data&&Array.isArray(e.data.offers)?e.data.offers:Array.isArray(e)?e:e&&Array.isArray(e.offers)?e.offers:e&&e.offers&&Array.isArray(e.offers.offer)?e.offers.offer:e&&Array.isArray(e.data)?e.data:[]}function uv(e,t,n){let a={…n},l=new Set;return D2(e).forEach(r=>{let o=””;r.merchant_name?o=r.merchant_name:r.merchant&&r.merchant[0]&&r.merchant[0].name?o=r.merchant[0].name:r.merchant&&r.merchant.name?o=r.merchant.name:r.retailer&&(o=r.retailer),o&&l.add(o.toLowerCase())}),t.forEach(r=>{a[r]=l.has(r.toLowerCase())?”has”:”none”}),a}function cv(e){let t=[];return e?.widget?.data?.offers?t=e.widget.data.offers:e?.data?.offers?t=e.data.offers:Array.isArray(e)?t=e:e?.offers?.offer?t=Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers&&(t=Array.isArray(e.offers)?e.offers:[e.offers]),t}async function sv({couponMap:e,couponUrl:t,fetcher:n=fetch,merchants:a}){if(!t)return e;try{let l=await n(t.toString());return uv(await l.json(),a,e)}catch{let l={…e};return a.forEach(i=>{l[i]=”none”}),l}}function dv({enrichingBuyingGuides:e,error:t,loading:n,loadingMore:a,refreshingFeed:l}){return t?”error”:a?”loading_more”:n?”loading_inventory”:l?”refreshing_inventory”:e?”enriching_visible_cards”:”ready”}function fv(e,t){let n=Yu(Ja(e),t.authorHandle,t.authorName),a=bt(t.region),l=nn(a),{tags:i,tagCounts:r}=$u(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),o=Zu(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,website:t.website}),{tags:u,tagCounts:c}=ec(n,{activeRegionCode:a,targetIso:l,priceRange:t.priceRange,discountAmount:t.discountAmount,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website}),s=K0(n,{activeRegionCode:a,targetIso:l,selectedBrands:t.selectedBrands,priceRange:t.priceRange,discountAmount:t.discountAmount,authorHandle:t.authorHandle,authorName:t.authorName,includeBuyingGuideProducts:t.includeBuyingGuideProducts,includeCollections:t.includeCollections,includeDeals:t.includeDeals,includeReviewProducts:t.includeReviewProducts,website:t.website});an(s,t.sort,t.prioritiseCommercialProducts);let f=hn(s,t.productSelection,t.sort);return{authorArticles:n,brands:o,deals:f,tagCounts:r,tags:i,freeformTagCounts:c,freeformTags:u}}var x2=”fc-author-commerce-widget”,yn=”airedale-feeds”;var lc=null;function gv(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function wf(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function Sf(){return lc||(typeof window>”u”||typeof window.indexedDB>”u”?Promise.resolve(null):(lc=new Promise(e=>{let t=window.indexedDB.open(x2,13);t.onupgradeneeded=()=>{let n=t.result;n.objectStoreNames.contains(yn)||n.createObjectStore(yn,{keyPath:”key”})},t.onsuccess=()=>e(t.result),t.onerror=()=>e(null),t.onblocked=()=>e(null)}),lc))}function mv({authorHandle:e,authorName:t,includeBuyingGuideProducts:n,includeCollections:a,includeDeals:l,includeReviewProducts:i,articleCategory:r,articleTag:o,pageStarts:u,reviewPageStarts:c,loadAllReviewPages:s,website:f}){return[“v13″,f||”tomsguide”,e||””,t||””,n?”buying-guides”:””,a===!1?”no-collections”:”collections”,l===!1?”no-deals”:”deals”,i?”reviews”:””,r||””,o||””,u?.join(“,”)||””,c?.join(“,”)||””,s===!1?”review-pages-partial”:””].map(d=>encodeURIComponent(d)).join(“|”)}async function M2(e){let t=await Sf();if(!t)return;let n=t.transaction(yn,”readwrite”),a=wf(n);n.objectStore(yn).delete(e),await a}async function hv(e,t=Date.now()){try{let n=await Sf();if(!n)return null;let a=n.transaction(yn,”readonly”),l=await gv(a.objectStore(yn).get(e));if(!l||l.schemaVersion!==13||!Array.isArray(l.articles)||l.articles.length===0)return null;let i=Math.max(0,t-l.cachedAt);return i>864e5?(M2(e),null):{articles:l.articles,cachedAt:l.cachedAt,isFresh:ir.cachedAt-i.cachedAt).slice(10).forEach(i=>a.delete(i.key)),await n}async function yv(e,t,n=Date.now()){if(t.length!==0)try{let a=await Sf();if(!a)return;let l=a.transaction(yn,”readwrite”),i=wf(l);l.objectStore(yn).put({articles:t,cachedAt:n,key:e,schemaVersion:13}),await i,await _2(a)}catch{}}var Cf=[];var Ef=[],Rf=0;function pv(){for(;Rf0;){let e=Ef.shift();if(!e)return;Rf+=1,e.run().then(e.resolve,e.reject).finally(()=>{Rf-=1,pv()})}}function B2(e){return new Promise((t,n)=>{Ef.push({reject:n,resolve:t,run:e}),pv()})}function Tf(e){Cf.push(e),Cf.length>100&&Cf.shift()}async function ic(e,t,n=4){let a=new Array(e.length),l=0,i=Math.min(Math.max(1,n),e.length);return await Promise.all(Array.from({length:i},async()=>{for(;l{let n=t.fetcher||fetch,a=Date.now(),l=new AbortController,i=!1,r=()=>l.abort();if(t.signal?.aborted)return Tf({durationMs:0,outcome:”aborted”,source:t.source,startedAt:a}),{data:null,response:null};t.signal?.addEventListener(“abort”,r,{once:!0});let o=setTimeout(()=>{i=!0,l.abort()},8e3);try{let u=await n(e,{signal:l.signal}),c=u.ok?await u.json():null;return Tf({durationMs:Date.now()-a,outcome:u.ok?”succeeded”:”failed”,source:t.source,startedAt:a}),{data:c,response:u}}catch{return Tf({durationMs:Date.now()-a,outcome:i?”timed_out”:t.signal?.aborted?”aborted”:”failed”,source:t.source,startedAt:a}),{data:null,response:null}}finally{clearTimeout(o),t.signal?.removeEventListener(“abort”,r)}})}var xf=”https://airedale.futurecdn.net/feeds/feed_1786707986217.json”,N2=”https://airedale.futurecdn.net/feeds/feed_1786702796175.json”,O2=”https://airedale.futurecdn.net/feeds/feed_1787582137748.json”,k2=2,Df=new Map,vv=new Map;function L2(e){return!e.parameter||!e.value?””:`&${e.parameter}=${encodeURIComponent(e.value)}`}function z2(e,t=””,n=!1,a,l,{includeCollections:i=!0,includeDeals:r=!0}={},o){let u=Ku(e,{includeBuyingGuideProducts:n,includeCollections:i,includeDeals:r}),c=a?`&articleCategory=${encodeURIComponent(a)}`:””,s=o?`&articleTag=${encodeURIComponent(o)}`:””;return u.scopes.flatMap(f=>(l||u.pageStarts).map(d=>`${xf}?site=${e}&limit=${50}&start=${d}${L2(f)}${t}${c}${s}`))}function bv(e,t=””,n,a=0,l){let i=e===”pcgamer”?”&articleControlTag=channel_gaming_hardware”:””,r=n?`&articleCategory=${encodeURIComponent(n)}`:””,o=l?`&articleTag=${encodeURIComponent(l)}`:””;return`${N2}?site=${encodeURIComponent(e)}&articleType=review&limit=${50}&start=${a}${i}${t}${r}${o}`}function H2(e,t){return t!==”pcgamer”?e:e.map(n=>{let a=Array.isArray(n.articlecontroltag)?n.articlecontroltag:[];return a.some(l=>String(l).replace(/[^a-z0-9]/gi,””).toLowerCase()===”channelgaminghardware”)?n:{…n,articlecontroltag:[…a,”channel_gaming_hardware”]}})}function U2(e,t){return`${O2}?site=${encodeURIComponent(e)}&documentHandle=${encodeURIComponent(t)}&limit=1`}async function G2(e,t){let n=`${e}|${t}`,a=vv.get(n);if(a)return a;let l=yi(U2(e,t),{source:”review-model-resolver”}).then(({data:i})=>i?ff(i)[0]:null).then(i=>i?fi(i):””).catch(()=>””);return vv.set(n,l),l}async function Mf(e,t,n,a=”date_desc”){let l=o=>{let u=[o.datepublished,o.publisheddate,o.createddate,o.contentmodifieddate,o.modifieddate].find(s=>s!=null&&String(s).trim()),c=new Date(Array.isArray(u)?u[0]:u).getTime();return Number.isFinite(c)?c:0},i=o=>{let u=Array.isArray(o.productrating)?o.productrating[0]:o.productrating;return Number(u)||0},r=e.filter(o=>Kt(o)===”review”&&!fi(o)&&typeof o.documenthandle==”string”&&o.documenthandle.trim()).sort((o,u)=>{let c=i(o),s=i(u);return a===”rating_desc”?s-c||l(u)-l(o):a===”scored_first”&&+(s>0)-+(c>0)||l(u)-l(o)}).slice(0,n);return await Promise.all(r.map(async o=>{let u=await G2(t,o.documenthandle);u&&(o.articlehawkmodels=[u])})),e}function Sv(e,t){let n=()=>{yv(e,av(t))};if(typeof windowU0(S,b,a,r,l,i),R=()=>z0(g).map(S=>{let D=fi(S);return D&&!String(S.articlehawkmodels||””).trim()?{…S,articlehawkmodels:[D]}:S}).filter(C),T=()=>{let S=R();S.length>0&&o?.(S)};try{let S=z2(b,h,a,u,s,{includeCollections:l,includeDeals:i},c),D=[];r&&(f||[0]).forEach(q=>{let Ge=bv(b,h,u,q,c);D.push(Ge),S.push(Ge)});let G=async(q,Ge=D.includes(q)?”review-feed”:”author-feed”)=>{let pe=await yi(q,{signal:m,source:Ge});for(let At=0;AtNumber(new URL(q).searchParams.get(“start”)||0)===0),ie=S.filter(q=>!Se.includes(q)),Y=await ic(Se,q=>G(q));T();let ze=await ic(ie,q=>G(q)),Ee=[…Y,…ze];y=Ee.length>0&&Ee.every(q=>!q.response?.ok);let ut=Ee.find(q=>q.reviewTotalCount!==null)?.reviewTotalCount;if(d!==!1&&f&&ut&&ut>f.length*50){let q=new Set(f),Ge=[];for(let De=0;Deawait G(bv(b,h,u,De,c),”review-feed-page”));Ee.push(…pe)}p=Ee.every(q=>q.response?.ok)}catch(S){p=!1}if(v&&y)throw new Error(“The author feed could not be loaded”);let M=R();if(M.length===0&&P2({authorParameter:h,articleCategory:u,articleTag:c}))try{let S=await yi(`${xf}?site=${b}&limit=150${h}`,{signal:m,source:”author-feed-fallback”});if(!S.response?.ok&&n&&(S=await yi(`${xf}?site=${b}&limit=150&articleAuthor=${encodeURIComponent(n)}`,{signal:m,source:”author-feed-fallback”})),S.data){let D=S.data,G=Array.isArray(D)?D:D.data||[];G.length>0&&(M=G.slice(0,150))}}catch(S){}return{articles:M.filter(C),complete:!m?.aborted&&p}}function Av(e,t){let n=Df.get(e);if(n)return n;let a=Cv(t).then(l=>(l.complete&&l.articles.length>0&&Sv(e,l.articles),l)).finally(()=>{Df.delete(e)});return Df.set(e,a),a}async function wv(e,t){let n=await Cv(t);return n.complete&&n.articles.length>0&&Sv(e,n.articles),n}async function Rv({onBackgroundRefresh:e,onProgress:t,…n}){let a=mv(n),l=await hv(a);return l?(t?.(l.articles),l.isFresh||(n.signal?wv(a,n):Av(a,n)).then(({articles:o,complete:u})=>{u&&o.length>0&&e?.(o)}),l.articles):(await(n.signal?wv(a,{…n,onProgress:t}):Av(a,{…n,onProgress:t}))).articles}function Tv(e,t){let n=e.shipping?.prime===!0,a=e.merchant?.name||e.merchant_name||e.retailer||”Retailer”;typeof e.merchant==”string”&&(a=e.merchant);let l=null,i=0,r=String(e.model_id||e.id||””);if(r&&t)if(t[r]&&t[r].score!=null)l=parseFloat(t[r].score);else{let o=Object.values(t).find(u=>String(u.model_id)===r||String(u.id)===r);o&&o.score!=null&&(l=parseFloat(o.score))}return l!=null&&(i=Math.round((l>10?l/20:l/2)*2)/2),{isPrime:n,merchant:a,starRating:i>0?i:null}}function Ev(e){let t=String(e.price||e.current_price||”0″),n=String(e.was_price||e.msrp||e.original_price||”0″),a=parseFloat(t.replace(/[^0-9.]/g,””))||0,l=parseFloat(n.replace(/[^0-9.]/g,””))||0,i=a===0||t===”0.00″||t===”0″,r=e.currency&&typeof e.currency==”string”?e.currency:e.currency_symbol&&typeof e.currency_symbol==”string”?e.currency_symbol:”$”,o=ne(e.percentage_saving_label||””);!o&&l>a&&a>0&&(o=Math.round((l-a)/l*100)+”% OFF”);let u=r;return u.includes(“&”)&&(u.includes(“36″)?u=”$”:u.includes(“163”)||u.includes(“pound”)?u=”xA3″:(u.includes(“8364”)||u.includes(“euro”))&&(u=”u20AC”)),{rawPrice:a,rawMsrp:l,currency:u,isCheckPrice:i,savingLabel:o}}function Dv({query:e,region:t,retailer:n,selectedBrands:a,offerType:l,priceRange:i,discountAmount:r,resultCount:o}){let u=new URL(“https://search-api.fie.future.net.uk/widget.php”);if(u.searchParams.append(“model_name”,e),t&&t!==”auto”&&u.searchParams.append(“area”,t),n&&u.searchParams.append(“filter_merchant_name”,n),a&&a.length>0&&u.searchParams.append(“filter_label[text_brand]”,a.join(“,”)),l&&u.searchParams.append(“offer”,l),i&&i!==”all”){if(i===”under50″)u.searchParams.append(“filter_max_price”,”50″);else if(i===”over50″)u.searchParams.append(“filter_min_price”,”50″);else if(i===”over30″)u.searchParams.append(“filter_min_price”,”30″);else if(i===”over500″)u.searchParams.append(“filter_min_price”,”500″);else if(i.includes(“_”)){let[c,s]=i.split(“_”);c&&u.searchParams.append(“filter_min_price”,c),s&&u.searchParams.append(“filter_max_price”,s)}}if(r&&r!==”0″){let c=(100-parseInt(r))/100;u.searchParams.append(“min_discount_ratio”,c.toString())}return u.searchParams.append(“filter_product_types”,”deals”),u.searchParams.append(“rows”,String(o||”12″)),u}function xv(e){return e?.widget?.data?.offers?e.widget.data.offers:e?.data?.offers?e.data.offers:Array.isArray(e)?e:e?.offers?.offer?Array.isArray(e.offers.offer)?e.offers.offer:[e.offers.offer]:e?.offers?Array.isArray(e.offers)?e.offers:[e.offers]:[]}function Mv(e){let t=[];return e.forEach(n=>{let a=[];Array.isArray(n.offers)?a=n.offers:Array.isArray(n.offer)?a=n.offer:n.offers&&typeof n.offers==”object”?a=[n.offers]:n.offer&&typeof n.offer==”object”&&(a=[n.offer]),a.length>0?a.forEach(l=>{t.push({…n,…l})}):t.push(n)}),t}function _v(e){return e?.widget?.data?.model_info?e.widget.data.model_info:e?.data?.model_info?e.data.model_info:{}}var _f=new Map,F2=3e3,j2=[“GB”,”US”],Bv=6,Y2=[“brand”,”currency”,”fallbackImage”,”hasCommerceOffer”,”hawkPricePending”,”image”,”isCheckPrice”,”merchant”,”merchantId”,”modelId”,”msrp”,”price”,”productKey”,”productName”,”rawMsrp”,”rawPrice”,”savingLabel”,”title”,”url”];function Bf(e){return String(e||””).trim().toLowerCase()}function Lv(e){return e===”UK”?”GB”:e}function V2(e,t){let n=String(t||””).trim().toUpperCase(),l={AU:[“A$”,”AUD”],CA:[“CA$”,”CAD”],DE:[“u20AC”,”EUR”],ES:[“u20AC”,”EUR”],FR:[“u20AC”,”EUR”],GB:[“xA3″,”GBP”,”GBxA3″],IT:[“u20AC”,”EUR”],NL:[“u20AC”,”EUR”],US:[“$”,”USD”,”US$”]}[e];return!l||l.includes(n)}function Nv(e,t){return String(e.id||`hawk-deal-${t}`)}function X2(e){return e.map(t=>({…t,hasCommerceOffer:!1,hawkPricePending:!!t.hawkModelName,image:t.fallbackImage||t.image||””,isCheckPrice:!0,merchant:””,merchantId:””,msrp:””,price:””,productKey:””,rawMsrp:0,rawPrice:0,savingLabel:””,url:t.sourceArticleUrl||t.documentUrl||t.url}))}function Q2(e){return Y2.reduce((t,n)=>(n in e&&(t[n]=e[n]),t),{})}function zv(e){return!!((e.isBuyingGuideProduct||e.isReviewProduct)&&e.hawkModelName)}function K2(e){return e.model_image_url||e.model_image||e.product_image||e.image_url||e.image||””}function Z2(e){return e.link||e.url||e.offer_link||””}function W2(e,t){let n=String(t.model_id||t.id||””);return n&&e[n]?e[n]:Object.values(e).find(a=>String(a?.model_id||a?.id||””)===n)||{}}async function Ov(e,t,n){let a=`${t}|${Bf(e)}`;return _f.has(a)||_f.set(a,(async()=>{let l;try{let i=new AbortController;l=setTimeout(()=>i.abort(),F2);let r=await n(Dv({query:e,region:t,resultCount:12}).toString(),{signal:i.signal});if(!r.ok)return null;let o=await r.json(),u=Mv(xv(o)),c=Bf(e),s=u.find(m=>Bf(m.model_name||m.model)===c)||u[0]||null;if(!s)return null;let f=_v(o),d=W2(f,s);return{brand:String(d?.brand||s.brand||””).trim(),modelInfo:f,offer:s}}catch{return null}finally{l&&clearTimeout(l)}})()),_f.get(a)}function kv(e,t,n){return e.map(a=>{let l=String(a.hawkModelName);if(!zv(a)||!t.has(l))return a;let i=t.get(l);if(!i)return{…a,hawkPricePending:!1};let{offer:r}=i.lookup,o=Ev(r),u=Tv(r,i.lookup.modelInfo),c=K2(r),s=Z2(r),f=ne(String(r.model_name||r.model||a.hawkModelName||a.productName||a.title||””).trim());return!(i.region===n&&s&&V2(n,o.currency))?{…a,brand:i.lookup.brand||a.brand,fallbackImage:c?a.image:a.fallbackImage,hawkPricePending:!1,image:c||a.image,productName:f||a.productName,title:f||a.title}:{…a,brand:i.lookup.brand||r.brand||a.brand,currency:o.currency||a.currency,fallbackImage:c?a.image:a.fallbackImage,hasCommerceOffer:!0,hawkPricePending:!1,image:c||a.image,isCheckPrice:o.isCheckPrice,merchant:u.merchant||a.merchant,merchantId:typeof r.merchant==”object”&&r.merchant?.id||””,modelId:r.model_id||””,msrp:o.rawMsrp>0?String(o.rawMsrp):””,price:o.rawPrice>0?String(o.rawPrice):””,productKey:r.product_key||””,productName:f||a.productName,rawMsrp:o.rawMsrp,rawPrice:o.rawPrice,savingLabel:o.savingLabel,title:f||a.title,url:s||a.url}})}async function pi(e,t,n=fetch,a,l=[],i){let r=Lv(t),o=new Map,u=e.filter(zv).map(f=>String(f.hawkModelName)),c=new Set(u),s=Array.from(new Set([…l.filter(f=>c.has(f)),…u])).slice(0,a);for(let f=0;f{let m=await Ov(d,r,n),v=m||r===”GB”?null:await Ov(d,”GB”,n);o.set(d,m?{lookup:m,region:r}:v?{lookup:v,region:”GB”}:null),i?.(kv(e,o,r))}));return kv(e,o,r)}async function Hv(e,t=fetch){let n=X2(e),a=await Promise.all(j2.map(async i=>[i,await pi(n,i,t)])),l=new Map;return a.forEach(([i,r])=>{r.forEach((o,u)=>{if(!o.hasCommerceOffer)return;let c=Nv(o,u),s=l.get(c)||{};s[i]=Q2(o),l.set(c,s)})}),e.map((i,r)=>{let o=l.get(Nv(i,r));return o?{…i,hawkRegionalCommerce:o}:i})}function Nf(e,t){let n=Lv(t);return e.map(a=>{let l=a.hawkRegionalCommerce?.[n];return l?{…a,…l,hawkPricePending:!1}:a})}function Uv(e,t){let n=Array.from(new Set(e.map(i=>i.merchant).filter(Boolean))),a={};if(n.forEach(i=>{a[i]=”loading”}),n.length===0)return{merchants:n,couponMap:a,couponUrl:null};let l=new URL(“https://search-api.fie.future.net.uk/widget.php”);return l.searchParams.append(“model_name”,”Everything”),l.searchParams.append(“filter_merchant_name”,n.join(“,”)),l.searchParams.append(“filter_product_types”,”vouchers,offer_deals,newsletter”),l.searchParams.append(“sort”,”voucher”),l.searchParams.append(“rows”,”120″),l.searchParams.append(“origin”,”widgets-clientside”),l.searchParams.append(“combine_product_types”,”1″),l.searchParams.append(“language”,”en-GB”),l.searchParams.append(“all_filters”,”false”),l.searchParams.append(“exclude_unlabelled”,”false”),l.searchParams.append(“include_specs”,”false”),t&&t!==”auto”&&l.searchParams.append(“area”,t),{merchants:n,couponMap:a,couponUrl:l}}function Gv(e,t){let n=new URL(“https://search-api.fie.future.net.uk/widget.php”);return n.searchParams.append(“model_name”,”Everything”),n.searchParams.append(“language”,”en-GB”),t&&t!==”auto”&&n.searchParams.append(“area”,t),n.searchParams.append(“combine_product_types”,”1″),n.searchParams.append(“filter_merchant_name”,e),n.searchParams.append(“all_filters”,”false”),n.searchParams.append(“exclude_unlabelled”,”false”),n.searchParams.append(“include_specs”,”false”),n.searchParams.append(“sort”,”voucher”),n.searchParams.append(“distinct_merchants”,”natural”),n.searchParams.append(“filter_product_types”,”vouchers,offer_deals,newsletter”),n.searchParams.append(“rows”,”50″),n.searchParams.append(“origin”,”widgets-clientside”),n}function Of(e,t,n=!0){if(!e?.length)return e||[];if(t===”date_desc”&&!n)return e;let a=[…e];return an(a,t,n),a}function oc(e,t,n,a=!0){if(n!==”date_desc”||!e?.length)return t;let l=(c,s)=>String(c.id||s),i=new Map(t.map((c,s)=>[l(c,s),c])),r=new Set,o=e.flatMap((c,s)=>{let f=l(c,s);r.add(f);let d=i.get(f);return d?[d]:[]}),u=t.filter((c,s)=>!r.has(l(c,s)));return a?[…o.filter($a),…u.filter($a),…o.filter(c=>!$a(c)),…u.filter(c=>!$a(c))]:[…o,…u]}function qv({activeDealTag:e,activeFreeformTag:t,clickedAuthorOverride:n,compactEmbed:a,compactInventoryExplored:l,compactLoadRequested:i,initialActiveDealTag:r,initialActiveFreeformTag:o,reviewInventoryBaked:u}){return!!(a&&u&&!n&&!i&&!l&&(!e||e===r)&&(!t||t===o))}var Pv=[0,50,100,150,200,250,300,350,400,450],kf=4;function Fv(e){return(Array.isArray(e)?e:[e]).reduce((n,a)=>{if(typeof a!=”string”||!a.trim())return n;let l=a.trim();return n.some(i=>i.toLowerCase()===l.toLowerCase())?n:[…n,l]},[])}function J2(e,t){return e.length===t.length&&e.every((n,a)=>n===t[a])}function Lf(e){return e.map(t=>t.trim().toLowerCase()).sort().join(“|”)}function zf(e){let t=e.initialData,n=qu(e),a=!!(e.preloadReviewInventory&&!n),l=!!(e.preloadReviewInventory&&e.includeReviewProducts&&!e.compactEmbed),i=n?Number(e.resultCount)||12:100,r=n?!1:e.prioritiseCommercialProducts,o=bt(e.region),u=Nf(t?.allDeals||t?.deals||[],o).filter(_=>L0(_,o)),c=va(n?”date_desc”:e.sort,!Nr(e)),s=!!(e.priceRange&&e.priceRange!==”all”)||!!(e.discountAmount&&e.discountAmount!==”0″&&e.discountAmount!==”all”),f=Ja(t?.authorArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),d=Ja(t?.authorInteractionArticles||[],void 0,Number(e.editorialMaxAgeMonths)||0),[m,v]=(0,N.useState)(()=>Of(u,c,r)),[A,b]=(0,N.useState)(t?.totalDealCount??t?.allDeals?.length??t?.deals?.length??0),[h,g]=(0,N.useState)(t?.totalAuthorCount??t?.authors?.length??0),[y,p]=(0,N.useState)(!t),[C,R]=(0,N.useState)(!1),[T,M]=(0,N.useState)(!1),[S,D]=(0,N.useState)(!1),[G,Se]=(0,N.useState)(t?.couponMap||{}),[ie,Y]=(0,N.useState)(f),[ze,Ee]=(0,N.useState)(f),[ut,q]=(0,N.useState)(t?.tags||[]),[Ge,pe]=(0,N.useState)(t?.tagCounts||{}),[De,et]=(0,N.useState)(t?.freeformTags||[]),[tl,At]=(0,N.useState)(t?.freeformTagCounts||{}),[Pr,qe]=(0,N.useState)(t?.brands||[]),[x,X]=(0,N.useState)(()=>{let _=t?.activeDealTag||e.query;return _&&_.toLowerCase()!==”everything”?_:null}),[$,nl]=(0,N.useState)(()=>Fv(t?.activeFreeformTags||t?.activeFreeformTag)),[r1,vi]=(0,N.useState)(f),[cc,al]=(0,N.useState)(null),[tt,Fr]=(0,N.useState)(!1),[ll,jr]=(0,N.useState)(“”),[il,Yr]=(0,N.useState)(“”),[o1,u1]=(0,N.useState)(0),[Zt,sc]=(0,N.useState)(e.resultCount?parseInt(e.resultCount):12),[Pf,dc]=(0,N.useState)(!1),[c1,Vr]=(0,N.useState)(null),[fc,s1]=(0,N.useState)(!1),[gc,d1]=(0,N.useState)([0]),Xr=(0,N.useRef)(t?`${e.website||”tomsguide”}|${e.authorHandle||””}|${e.authorName||””}|${e.includeBuyingGuideProducts?”buying-guides”:””}|${e.includeReviewProducts?”reviews”:””}|${e.includeDeals===!1?”no-deals”:”deals”}|${e.includeCollections===!1?”no-collections”:”collections”}`:””),mc=(0,N.useRef)(t?`${e.website||”tomsguide”}|${e.authorHandle||””}|${e.authorName||””}|${e.includeBuyingGuideProducts?”buying-guides”:””}|${e.includeReviewProducts?”reviews”:””}|${e.includeDeals===!1?”no-deals”:”deals”}|${e.includeCollections===!1?”no-collections”:”collections”}|age-${e.editorialMaxAgeMonths||”none”}`:””),f1=(0,N.useRef)(e.website||”tomsguide”),hc=(0,N.useRef)(e.website||”tomsguide”),Ff=(0,N.useRef)(u.length>0),jf=(0,N.useRef)(null),rl=(0,N.useRef)(new Map),g1=(0,N.useRef)({activeDealTag:String(x||””).trim().toLowerCase(),freeformTags:Lf(Fv(t?.activeFreeformTags||t?.activeFreeformTag)),discountAmount:e.discountAmount,priceRange:e.priceRange}),jn=(0,N.useRef)(!1),xe=(0,N.useRef)(!1),bi=(0,N.useRef)(!1),Yf=(_,re,I=tt?ll:e.authorHandle,ve=tt?il:e.authorName)=>[e.website||”tomsguide”,I||””,ve||””,bt(e.region),String(_||””).trim().toLowerCase(),Lf(re),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?”guides”:””,e.includeReviewProducts?”reviews”:””,e.includeDeals===!1?”no-deals”:”deals”,e.includeCollections===!1?”no-collections”:”collections”].join(“|”),Vf=(_,re)=>{let I=g1.current;return!!(e.compactEmbed&&t?.brands?.length&&String(_||””).trim().toLowerCase()===I.activeDealTag&&Lf(re)===I.freeformTags&&e.priceRange===I.priceRange&&e.discountAmount===I.discountAmount)},Qr=(_,re)=>{let I=rl.current.get(Yf(_,re));if(I){qe(I);return}if(Vf(_,re)){qe(t?.brands||[]);return}},ol=()=>jn.current||n?void 0:e.productSelection;(0,N.useEffect)(()=>{al(null)},[e.authorName,e.authorHandle]),(0,N.useLayoutEffect)(()=>{let _=e.website||”tomsguide”;hc.current!==_&&(hc.current=_,v(()=>[]),Y(()=>[]),Ee(()=>[]),vi(()=>[]),q(()=>[]),pe({}),et(()=>[]),At({}),qe(()=>[]),rl.current.clear(),Se({}),Fr(!1),jr(“”),Yr(“”),al(null),X(null),nl([]),g(0),b(0),M(!1),dc(!1),Vr(null),bi.current=!1,R(!0),p(!0))},[e.website]),(0,N.useEffect)(()=>{e.compactEmbed||typeof document>”u”||setTimeout(()=>{document.dispatchEvent(new CustomEvent(“processArticle”))},100)},[m,Zt,e.query,x,$]),(0,N.useEffect)(()=>{e.resultCount&&(sc(parseInt(e.resultCount,10)||12),Vr(null))},[e.resultCount]),(0,N.useEffect)(()=>{Vr(null)},[x,$,e.authorHandle,e.authorName,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands,e.sort]),(0,N.useEffect)(()=>{if(!t||!e.includeBuyingGuideProducts&&!e.includeReviewProducts||e.compactEmbed&&(xe.current||e.refreshDealsOnViewport))return;let _=bt(e.region),re=Nf(t.allDeals||t.deals||[],_);if(_===”unavailable”){let Wt=re.map(ln=>(ln.isBuyingGuideProduct||ln.isReviewProduct)&&ln.hawkModelName?{…ln,hawkPricePending:!1}:ln);an(Wt,c,r),v(hn(Wt,ol(),c));return}let I=el(re,e.selectedBrands),ve=Number(e.resultCount)||12,Sa=typeof navigator>”u”?void 0:navigator.connection,Ca=!Sa?.saveData&&!Sa?.effectiveType?.includes(“2g”)&&(!e.compactEmbed||!!e.warmInventory),wi=s?I:t.reviewInventoryBaked?I.slice(0,Zt+(Ca?ve:0)):re;if(!wi.some(Wt=>(Wt.isBuyingGuideProduct||Wt.isReviewProduct)&&Wt.hawkModelName))return;let cl=!0;return M(!0),pi(wi,_).then(Wt=>{if(!cl)return;let ln=t.reviewInventoryBaked?$0(re,Wt):Wt,Zr=el(ln,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(nt=>(nt.isBuyingGuideProduct||nt.isReviewProduct)&&nt.hawkModelName?{…nt,hawkPricePending:!1}:nt);an(Zr,c,r),v(hn(Zr,ol(),c)),qe(nt=>t?.brands?.length?nt:mf(nt,Wt))}).finally(()=>{cl&&M(!1)}),()=>{cl=!1}},[t,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,e.selectedBrands,e.discountAmount,e.priceRange,c,e.productSelection,Zt,e.resultCount,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,x,$]),(0,N.useEffect)(()=>{let _=!0,re=new AbortController,I=bi.current,ve=!e.refreshDealsOnViewport&&qv({activeDealTag:x,activeFreeformTag:$[0]||null,clickedAuthorOverride:tt,compactEmbed:e.compactEmbed,compactInventoryExplored:xe.current,compactLoadRequested:fc,initialActiveDealTag:t?.activeDealTag,initialActiveFreeformTag:t?.activeFreeformTag,reviewInventoryBaked:t?.reviewInventoryBaked}),Sa=u.length>0,Ca=!!(n&&e.compactEmbed&&!xe.current),wi=!!(Ca&&e.warmInventory&&ie.length===0&&m.length>0),cl=!!(ve||e.compactEmbed&&Sa&&ie.length===0&&!tt&&!fc&&!xe.current&&!e.refreshDealsOnViewport&&(!n||!e.warmInventory));return!cl&&!I&&!wi&&(R(!0),e.compactEmbed&&xe.current&&v([])),(async()=>{D(!1),M(!1);let ln=m.length>0||ut.length>0||De.length>0||Pr.length>0,Zr=cl;try{if(!e.authorName&&!e.authorHandle){v([]),Y([]),vi([]),q([]),et([]),qe([]),al(null),X(null),nl([]),p(!0);return}let nt=tt?ll:e.authorHandle,Wr=tt?il:e.authorName,Ir=`${e.website||”tomsguide”}|${nt||””}|${Wr||””}|${e.includeBuyingGuideProducts?”buying-guides”:””}|${e.includeReviewProducts?”reviews”:””}|${e.includeDeals===!1?”no-deals”:”deals”}|${e.includeCollections===!1?”no-collections”:”collections”}`,yc=`${Ir}|${e.compactEmbed&&x||””}|${e.compactEmbed?$.join(“,”):””}|${e.compactEmbed&&xe.current?”expanded”:e.refreshDealsOnViewport?”viewport-refresh”:”initial”}|lightweight-pages-${Ca?gc.join(“,”):”all”}|age-${e.editorialMaxAgeMonths||”none”}`,It=ie,Kf=ut,O1=Z0(De,$.length===1?$[0]:null),Zf=()=>({activeDealTag:x,activeFreeformTag:$[0]||null,activeFreeformTags:$,authorHandle:nt,authorName:Wr,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,priceRange:e.priceRange,prioritiseCommercialProducts:r,productSelection:ol(),query:e.query,region:e.region,selectedArticleId:cc,selectedBrands:e.selectedBrands,sort:c,website:e.website}),Wf=mc.current!==yc||It.length===0,Ra=[],pc=!1,If=(de,zt=!1)=>{if(!_||zt&&pc)return;let pn=el(de,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange});an(pn,c,r);let Ei=hn(pn,ol(),c);v(oc(Ra,Ei,c,r))};if(Zr){p(!1),R(!1);return}if(Wf){let de=Xr.current.split(“|”)[0],zt=e.website||”tomsguide”,pn=!!(Xr.current&&de!==zt);!I&&!wi&&R(!!e.compactEmbed||!ln),pn&&(It=[],Kf=[],v(()=>[]),Y(()=>[]),Ee(()=>[]),vi(()=>[]),q(()=>[]),pe({}),et(()=>[]),At({}),qe(()=>[]),Se({}),Fr(!1),jr(“”),Yr(“”),p(!0));let Ei=Ff.current&&Xr.current===Ir&&It.length===0&&!xe.current;Ff.current=!1,!Ei&&!ln&&p(!0);let no=xa=>{if(!_||xa.length===0)return;let ce=Zf(),at=Af(xa,ce),{displayedDeals:ao}=ac(at.targetArticles,ce,at.activeRegionCode,at.targetIso);ao.length!==0&&(Ra=ao,v(Ra),p(!1),e.includeReviewProducts&&Mf(at.targetArticles,e.website||”tomsguide”,Math.min(Zt,kf),c).then(()=>{if(!_||pc)return;let vn=ac(at.targetArticles,ce,at.activeRegionCode,at.targetIso);Ra=vn.displayedDeals,v(Ra);let Di=vn.displayedDeals.filter(st=>st.isReviewProduct&&st.hawkModelName).slice(0,kf).map(st=>String(st.hawkModelName));pi(vn.extractedDeals,at.activeRegionCode,void 0,kf,Di,st=>If(st,!0))}))};if(It=await Rv({authorHandle:nt,authorName:Wr,fallbackAuthorName:e.authorName,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,articleCategory:e.compactEmbed&&x||void 0,articleTag:e.compactEmbed?O1:void 0,pageStarts:e.compactEmbed&&!e.warmInventory&&!xe.current?[0]:void 0,reviewPageStarts:e.includeReviewProducts?Ca?gc:!e.compactEmbed||xe.current?Pv:void 0:void 0,loadAllReviewPages:!Ca,throwOnFailure:!!(e.compactEmbed&&xe.current),onBackgroundRefresh:xa=>{if(!_||mc.current!==yc)return;let ce=Ja(xa,void 0,Number(e.editorialMaxAgeMonths)||0);Y(ce),tt||Ee(ce),u1(at=>at+1)},onProgress:no,signal:re.signal,website:e.website}),!_)return;if(It=Ja(It,void 0,Number(e.editorialMaxAgeMonths)||0),Xr.current=Ir,mc.current=yc,Ei&&It.length===0){p(!1);return}_&&(Y(It),tt||Ee(It),R(!1))}let Jr=Zf(),k1=Af(It,Jr),{activeDealTag:Ta,activeRegionCode:Si,authorArticles:Jf,activeFreeformTags:Ea,freeformTagCounts:$f,freeformTags:$r,tagCounts:eg,tags:Ci,targetArticles:Da,targetIso:L1}=k1,Ri=e.compactEmbed&&x&&!Ta?x:Ta,Ti=e.compactEmbed&&$.length>0&&Ea.length===0?$:Ea,z1=Ci.length>0?Ci:Ri?[Ri]:Ci,H1=$r.length>0?$r:Ti.length>0?t?.freeformTags?.filter(de=>Ti.includes(de.handle))||[]:$r,U1={…eg,…Ri&&!Ta?{[Ri]:0}:{}},G1={…$f,…Object.fromEntries(Ea.length===0?Ti.map(de=>[de,0]):[])},eo=Yf(Ta,Ea,nt,Wr),tg=[Ir,Si,Ta||””,Ea.join(“,”),e.selectedBrands.join(“,”),e.priceRange,e.discountAmount,e.includeBuyingGuideProducts?”guides”:””,e.includeReviewProducts?”reviews”:””,e.includeDeals===!1?”no-deals”:”deals”,e.includeCollections===!1?”no-collections”:”collections”].join(“|”),sl=null,dl=null;if(!tt){let de=jf.current;if(de?.key===tg&&de.articleCount===Da.length)sl=de.deals.length,dl=de.authorCount;else{let zt=rv(Da,Jr);sl=zt.deals.length,dl=zt.authorCount,jf.current={articleCount:Da.length,authorCount:dl,deals:zt.deals,key:tg}}}Kf=Ci;let Lt;_&&(q(z1),pe(U1),et(H1),At(G1)),e.includeReviewProducts&&await Mf(Da,e.website||”tomsguide”,l?Math.min(Da.length,i):Zt,c);let{brands:vc,displayedDeals:bc,extractedDeals:to}=ac(Da,Jr,Si,L1),{merchants:q1,couponMap:Ac,couponUrl:P1}=Uv(bc,e.region);_&&Se(Ac);let F1=de=>{!_||!Lt||(Lt={…Lt,couponMap:de},window.__AUTHOR_PRELOAD_DATA__=Lt,e.onDataLoaded&&e.onDataLoaded(Lt))};if(sv({couponMap:Ac,couponUrl:P1,merchants:q1}).then(de=>{_&&(Se(de),F1(de))}),_){Wf&&X(Ri),J2($,Ti)||nl(Ti),vi(Jf);let de=oc(Ra,bc,c,r);if(pc=!0,v(de),sl!==null){let zt=t?.totalDealCount||0,pn=Ca&&zt>sl;b(pn?zt:sl),g(pn?Math.max(t?.totalAuthorCount||0,dl||0):dl||0)}!rl.current.has(eo)&&Vf(Ta,Ea)&&rl.current.set(eo,t?.brands||[]),qe(rl.current.get(eo)||vc),p(!1),Lt=ov({allArticles:It,authorArticles:Jf,bakeReviewInventory:a&&!e.compactEmbed,brands:vc,couponMap:Ac,currentDealTag:Ta,currentFreeformTags:Ea,displayedDeals:de,inventoryArticles:Da,options:Jr,resultCount:e.resultCount,tagCounts:eg,tags:Ci,freeformTagCounts:$f,freeformTags:$r,totalAuthorCount:dl??h,totalDealCount:sl??A}),window.__AUTHOR_PRELOAD_DATA__=Lt,e.onDataLoaded&&e.onDataLoaded(Lt)}if((e.includeBuyingGuideProducts||e.includeReviewProducts)&&Si!==”unavailable”){let de=Zt,zt=l?to.filter(ce=>ce.isReviewProduct&&ce.hawkModelName).slice(0,i).map(ce=>String(ce.hawkModelName)):[],pn=bc.filter(ce=>(ce.isBuyingGuideProduct||ce.isReviewProduct)&&ce.hawkModelName).map(ce=>String(ce.hawkModelName));to.some(ce=>(ce.isBuyingGuideProduct||ce.isReviewProduct)&&ce.hawkModelName)&&M(!0);let no=pi(to,Si,void 0,s?void 0:e.includeReviewProducts?l?i:de:void 0,[…zt,…pn],If).then(async ce=>{if(!_)return;let at=el(ce,e.selectedBrands,{discountAmount:e.discountAmount,priceRange:e.priceRange}).map(st=>(st.isBuyingGuideProduct||st.isReviewProduct)&&st.hawkModelName?{…st,hawkPricePending:!1}:st);an(at,c,r);let ao=hn(at,ol(),c),vn=oc(Ra,ao,c,r),Di=mf(vc,ce);if(rl.current.set(eo,Di),v(vn),qe(Di),s&&b(at.length),Lt){let st=a&&!e.compactEmbed,ng=l,ag=st?tc(vn,Number(e.resultCount)||12):ng?vn.slice(0,i):vn,j1=ng?await Hv(ag):ag;if(!_)return;let wc={…Lt,allDeals:j1,deals:vn.slice(0,de),brands:Di,totalDealCount:s?at.length:Lt.totalDealCount};Lt=wc,window.__AUTHOR_PRELOAD_DATA__=wc,e.onDataLoaded&&e.onDataLoaded(wc)}}).finally(()=>{_&&M(!1)}),xa=to.slice(de,de+(Number(e.resultCount)||12));e.includeReviewProducts&&e.warmInventory&&!s&&!I&&xa.some(ce=>ce.hawkModelName)&&no.then(()=>{_&&pi(xa,Si)}),I&&await no}}catch(nt){_&&D(!0)}finally{_&&(p(!1),R(!1),dc(!1),bi.current=!1)}})(),()=>{_=!1,re.abort()}},[e.query,e.region,e.selectedBrands,e.website,e.resultCount,Zt,c,e.priceRange,e.discountAmount,x,$,e.authorName,e.authorHandle,e.website,e.authorBioLength,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,s,a,l,i,r,n,gc,e.productSelection,e.compactEmbed,e.warmInventory,e.refreshDealsOnViewport,e.editorialMaxAgeMonths,cc,tt,ll,il,o1,fc]);let Kr=e.website||”tomsguide”,ct=hc.current!==Kr,wa=(0,N.useMemo)(()=>ct?[]:f1.current===Kr&&t?.authors?t.authors:kr(ze.length>0?ze:ie,Kr),[ie,Kr,ze,t?.authors,ct]),m1=tt?ll:e.authorHandle,h1=tt?il:e.authorName,y1=wa.find(_=>_.handle===m1||_.fullName===h1),ul=ze.length>0?ze:ie,Xf=(0,N.useMemo)(()=>{if(ul.length===0)return wa;let _=bt(e.region),re=nn(_),I=mi(Gr(ul,x),$),ve=bf(wa,I,{activeRegionCode:_,targetIso:re,selectedBrands:e.selectedBrands,priceRange:e.priceRange,discountAmount:e.discountAmount,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website});return Fu(wa,ve)},[x,$,wa,ul,e.discountAmount,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.priceRange,e.region,e.selectedBrands]),p1=(0,N.useMemo)(()=>{if(ct)return[];if(ul.length===0&&t?.authors?.length||e.compactEmbed&&!x&&$.length===0&&t?.authors?.length)return wa;let _=bt(e.region),re=nn(_),I=mi(Gr(ul,x),$).filter(ve=>gi([ve],{activeRegionCode:_,targetIso:re,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,website:e.website}).length>0);return Or(Xf,I)},[x,$,ul,ct,tt,t?.authors?.length,e.compactEmbed,e.includeBuyingGuideProducts,e.includeCollections,e.includeDeals,e.includeReviewProducts,e.region,Xf,e.website]),Qf=(_,re)=>{let I=ze.length>0?ze:ie.length>0?ie:d;if(I.length===0)return;let ve=fv(I,{authorHandle:_,authorName:re,discountAmount:e.discountAmount,priceRange:e.priceRange,region:e.region,selectedBrands:e.selectedBrands,sort:c,includeBuyingGuideProducts:e.includeBuyingGuideProducts,includeCollections:e.includeCollections,includeDeals:e.includeDeals,includeReviewProducts:e.includeReviewProducts,prioritiseCommercialProducts:r,website:e.website,productSelection:void 0});al(null),X(null),nl([]),vi(ve.authorArticles),q(ve.tags),pe(ve.tagCounts),et(ve.freeformTags),At(ve.freeformTagCounts),qe(ve.brands),v(ve.deals),p(!1)},v1=()=>{!e.compactEmbed||!t||(v(hn(Of(t.deals||t.allDeals||[],c,r),ol(),c)),q(t.tags||[]),pe(t.tagCounts||{}),et(t.freeformTags||[]),At(t.freeformTagCounts||{}),qe(t.brands||[]),Se(t.couponMap||{}),g(t.totalAuthorCount??t.authors?.length??0),b(t.totalDealCount??t.deals?.length??t.allDeals?.length??0))},b1=_=>{jn.current=!0,xe.current=!0,R(!0),tt&&(ll===_.handle||il===_.fullName)?(e.compactEmbed&&t?v1():Qf(e.authorHandle,e.authorName),Fr(!1),jr(“”),Yr(“”)):(Qf(_.handle,_.fullName),Fr(!0),jr(_.handle),Yr(_.fullName)),e.onQueryChange?.(“”)},A1=_=>{jn.current=!0,xe.current=!0,R(!0);let re=x===_?null:_;Qr(re,$),X(re),e.onQueryChange?.(“”)},w1=()=>{jn.current=!0,xe.current=!0,R(!0)},S1=()=>{jn.current=!0,xe.current=!0,R(!0),Qr(null,$),X(null),e.onQueryChange?.(“”)},C1=_=>{jn.current=!0,xe.current=!0,R(!0);let re=$.some(I=>I.toLowerCase()===_.toLowerCase())?$.filter(I=>I.toLowerCase()!==_.toLowerCase()):[…$,_];Qr(x,re),nl(re)},R1=()=>{jn.current=!0,xe.current=!0,R(!0),Qr(x,[]),nl([])},T1=_=>{jn.current=!0,xe.current=!0,R(!0),al(_)},E1=()=>{if(bi.current)return;bi.current=!0,dc(!0);let _=Zt+(e.resultCount?parseInt(e.resultCount,10):12);!!(n&&e.compactEmbed&&!xe.current)&&ie.length>0&&m.length{let Sa=Pv[ve.length];return Sa===void 0?ve:[…ve,Sa]}),sc(ve=>(Vr(ve),ve+(e.resultCount?parseInt(e.resultCount,10):12)));let I=!!(t?.reviewInventoryBaked&&m.length>Zt);e.compactEmbed&&ie.length===0&&!I&&(R(!0),s1(!0))},Ai=e.compactEmbed&&!e.refreshDealsOnViewport,D1=Ai&&t?.tags?.length?t.tags:ut,x1=Ai&&t?.tags?.length?t.tagCounts||{}:Ge,M1=Ai&&!xe.current&&t?.brands?.length?t.brands:Pr,_1=Ai&&t?.freeformTags?.length&&(!xe.current||$.length===1)?t.freeformTags:De,B1=Ai&&t?.freeformTags?.length&&(!xe.current||$.length===1)?t.freeformTagCounts||{}:tl,N1=dv({enrichingBuyingGuides:T,error:S,loading:y,loadingMore:Pf,refreshingFeed:C});return{activeDealTag:x,activeFreeformTags:$,airedaleBrands:ct?[]:M1,airedaleTagCounts:ct?{}:x1,airedaleTags:ct?[]:D1,airedaleFreeformTagCounts:ct?{}:B1,airedaleFreeformTags:ct?[]:_1,allAuthorsList:p1,authorArticlesList:ct?[]:r1,clickedAuthorOverride:tt,couponMap:G,deals:ct?[]:m,displayCount:Zt,error:S,enrichingBuyingGuides:T,effectiveAuthorProfile:ct?void 0:y1,loading:y,loadingMore:Pf,loadMoreStartCount:c1,markProductSelectionInteracted:w1,hasMore:m.length>Zt||!!e.compactEmbed&&A>m.length,loadMore:E1,refreshingFeed:C,overriddenAuthorHandle:ll,overriddenAuthorName:il,selectedArticleId:cc,setActiveDealTag:X,clearDealTag:S1,clearFreeformTags:R1,selectArticle:T1,setDisplayCount:sc,setSelectedArticleId:al,status:N1,toggleAuthorOverride:b1,toggleDealTag:A1,toggleFreeformTag:C1,totalAuthorCount:ct?0:h,totalDealCount:ct?0:A}}var $2=B(dt(),1);var qr=B(dt(),1);function jv(e){let[t,n]=(0,qr.useState)(null),[a,l]=(0,qr.useState)([]),[i,r]=(0,qr.useState)(!1),[o,u]=(0,qr.useState)(!1);return{close:()=>n(null),error:o,loading:i,merchant:t,open:async f=>{n(f),r(!0),u(!1),l([]);try{let d=Gv(f,e),m=await fetch(d.toString());if(!m.ok)throw new Error(“API Error”);l(cv(await m.json()))}catch(d){u(!0)}finally{r(!1)}},vouchers:a}}var Ye=B(O(),1);function eS(e){return new Set(e.map(t=>Array.isArray(t.authorName)?t.authorName[0]:t.authorName).map(t=>String(t||””).trim().toLowerCase()).filter(Boolean)).size}var tS=new Map,nS=()=>{};function Vv({data:e,editorBar:t,editorMode:n=!1,props:a,selectedDeals:l=tS,setSelectedDeals:i=nS}){let r=jv(a.region),[o,u]=(0,Yv.useState)(new Set),c=d0[a.website||””]||”#1F69FF”,s=a.backgroundColor?a.backgroundColor===”white”?”#ffffff”:a.backgroundColor===”transparent”?”transparent”:a.backgroundColor===”light_blue”?”#E7F0FF”:void 0:void 0,f=ju(a.authorHandle,a.authorName),d=Nr(a),m=qu(a),v=va(m?”date_desc”:a.sort,!d),A=!!(a.showReviewSort&&a.includeReviewProducts),b=a.showPriceDiscountFilters!==!1||A,h=!a.authorFullBleed,g=!e.clickedAuthorOverride,y=e.totalDealCount||e.deals.length,p=e.totalAuthorCount||eS(e.deals),C=e.status===”loading_inventory”||e.status===”refreshing_inventory”||e.status===”enriching_visible_cards”,R=e.status===”loading_inventory”||(e.status===”refreshing_inventory”||e.status===”enriching_visible_cards”)&&e.deals.length===0,M=!!(a.showReviewSort&&a.includeReviewProducts&&(e.status===”refreshing_inventory”||e.status===”enriching_visible_cards”))?”Loading and sorting available review products”:e.status===”enriching_visible_cards”?”Adding live product images and prices”:e.status===”refreshing_inventory”?”Updating products”:`Loading ${a.website||”site”} authors and products`,S=Y=>{e.markProductSelectionInteracted(),a.onBrandToggle?.(Y)},D=Y=>{e.markProductSelectionInteracted(),a.onBrandSelect?.(Y)},G=Y=>{e.markProductSelectionInteracted(),a.onPriceRangeChange?.(Y)},Se=Y=>{e.markProductSelectionInteracted(),a.onDiscountAmountChange?.(Y)},ie=Y=>{e.markProductSelectionInteracted(),a.onSortChange?.(Y)};return(0,Ye.jsx)(“div”,{className:”tg-df-widget-host”,style:{“–tg-df-blue”:c.toUpperCase()===”#FFFFFF”?”#000000″:c},”data-vizualizer-embed”:”true”,”data-tg-df-full-bleed”:a.authorFullBleed?”true”:”false”,”data-tg-df-mobile-dropdowns”:a.mobileDropdowns?”true”:”false”,”data-tg-df-sticky-mobile-filters”:a.stickyMobileFilters===!1?”false”:”true”,children:(0,Ye.jsxs)(“div”,{className:”tg-df-container article-body”,style:a.backgroundColor?{backgroundColor:s}:void 0,children:[(a.showAuthorIdentity!==!1||a.showAuthorBio!==!1)&&(0,Ye.jsx)(“div”,{className:”tg-df-author-embed”,style:{width:”100%”,fontFamily:”inherit”},children:(0,Ye.jsx)(“div”,{className:”tg-df-author-section”,style:{display:”block”,opacity:1,overflow:”visible”,background:”transparent”,border:”none”},children:(0,Ye.jsx)(O0,{authorArticlesList:e.authorArticlesList,authorBioLength:a.authorBioLength,customBio:g?a.customBio:void 0,customHeaderKicker:a.customHeaderKicker,customHeaderTitle:a.customHeaderTitle,effectiveAuthorHandle:e.clickedAuthorOverride?e.overriddenAuthorHandle:a.authorHandle,effectiveAuthorName:e.clickedAuthorOverride?e.overriddenAuthorName:a.authorName,isReviewWidget:d,onBioChange:g?a.onBioChange:void 0,onHeaderKickerChange:a.onHeaderKickerChange,onHeaderTitleChange:a.onHeaderTitleChange,selectedProfile:e.effectiveAuthorProfile,showAuthorBio:a.showAuthorBio,showAuthorIdentity:a.showAuthorIdentity,showSocialButtons:a.showSocialButtons,stabilizeBio:f,authorCount:p,totalDealCount:y,website:a.website})})}),t,a.showCollectionsDropdown&&(0,Ye.jsx)(t0,{articles:e.authorArticlesList,authorHandle:a.authorHandle,authorName:a.authorName||a.author,onChange:e.selectArticle,selectedArticleId:e.selectedArticleId,shortenedHeadlines:a.shortenedHeadlines}),C&&(0,Ye.jsxs)(“div”,{role:”status”,”aria-live”:”polite”,”aria-label”:M,style:{alignItems:”center”,display:”flex”,justifyContent:”center”,marginBottom:”16px”,minHeight:”72px”},children:[(0,Ye.jsx)(“span”,{className:”tg-df-coupon-spinner”,”aria-hidden”:”true”,style:{borderWidth:”3px”,height:”24px”,width:”24px”}}),(0,Ye.jsxs)(“span”,{style:{color:”#4B5563″,fontSize:”14px”,marginLeft:”10px”},children:[M,”u2026″]})]}),(0,Ye.jsx)(T0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,allAuthorsList:e.allAuthorsList,brands:a.brands,clickedAuthorOverride:e.clickedAuthorOverride,loading:e.loading,refreshing:e.refreshingFeed,onAuthorClick:e.toggleAuthorOverride,onBrandToggle:S,onFreeformTagClick:e.toggleFreeformTag,onTagClick:e.toggleDealTag,overriddenAuthorHandle:e.overriddenAuthorHandle,overriddenAuthorName:e.overriddenAuthorName,selectedBrands:a.selectedBrands,showAuthorRail:f&&a.showAuthorRail!==!1,showAuthorCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,website:a.website}),(0,Ye.jsx)(M0,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleBrands:e.airedaleBrands,airedaleTagCounts:e.airedaleTagCounts,airedaleTags:e.airedaleTags,brands:a.brands,discountAmount:a.discountAmount,enabled:a.mobileDropdowns||h,freeformTagCounts:e.airedaleFreeformTagCounts,freeformTags:e.airedaleFreeformTags,onBrandSelect:D,onBrandToggle:S,onDiscountAmountChange:Se,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,onPriceRangeChange:G,onReviewSortChange:ie,onTagClear:e.clearDealTag,onTagClick:e.toggleDealTag,priceRange:a.priceRange,reviewSort:v,selectedBrands:a.selectedBrands||[],showCounters:a.showAuthorCounters,showBrandRail:a.showBrandRail,showCategoryRail:a.showCategoryRail,showFreeformTagRail:a.showFreeformTagRail,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),b&&(0,Ye.jsx)(_0,{airedaleBrands:e.airedaleBrands,airedaleTags:e.airedaleTags,discountAmount:a.discountAmount,hidden:!!e.selectedArticleId,onDiscountAmountChange:Se,onPriceRangeChange:G,onReviewSortChange:ie,priceRange:a.priceRange,reviewSort:v,showPriceDiscountFilters:a.showPriceDiscountFilters,showReviewSort:A,includeScoredFirst:!d}),(0,Ye.jsx)(e0,{articles:e.authorArticlesList,selectedArticleId:e.selectedArticleId}),(a.showCategoryRail!==!1||a.showFreeformTagRail!==!1||a.showBrandRail!==!1)&&(0,Ye.jsx)(Jp,{activeDealTag:e.activeDealTag,activeFreeformTags:e.activeFreeformTags,airedaleTags:e.airedaleTags,freeformTags:e.airedaleFreeformTags,discountAmount:a.discountAmount,onBrandSelect:D,onBrandToggle:S,onDiscountAmountChange:Se,onPriceRangeChange:G,onTagClear:e.clearDealTag,onFreeformTagClear:e.clearFreeformTags,onFreeformTagToggle:e.toggleFreeformTag,priceRange:a.priceRange,selectedBrands:a.selectedBrands||[]}),(0,Ye.jsx)(y0,{couponMap:e.couponMap,deals:e.deals,displayCount:e.displayCount,editorMode:n,error:e.error,expandedDealIds:o,hasMore:e.hasMore,loading:R,loadingMore:e.loadingMore,loadMoreStartCount:e.loadMoreStartCount,onDescriptionToggle:Y=>u(ze=>{let Ee=new Set(ze);return Ee.has(Y)?Ee.delete(Y):Ee.add(Y),Ee}),onLoadMore:e.loadMore,onOpenVouchers:r.open,query:a.query,selectedDeals:l,setSelectedDeals:i,website:a.website}),(0,Ye.jsx)(k0,{error:r.error,loading:r.loading,merchant:r.merchant,onClose:r.close,vouchers:r.vouchers})]})})}var Qv=B(O(),1),Xv=e=>{let t={…e,editorMode:!1},n=zf(t);return(0,Qv.jsx)(Vv,{data:n,props:t})};var U={authorBioLength:”short”,authorFullBleed:!0,authorHandle:”all-authors”,authorName:”All authors”,backgroundColor:”transparent”,customBio:””,customHeaderKicker:void 0,customHeaderTitle:void 0,discountAmount:”0″,editorMode:!1,editorialMaxAgeMonths:”12″,includeBuyingGuideProducts:!0,includeCollections:!0,includeDeals:!0,includeReviewProducts:!1,mobileDropdowns:!0,stickyMobileFilters:!0,offerType:””,preloadReviewInventory:!1,lightweightReviewDelivery:!1,prioritiseCommercialProducts:!0,priceRange:”all”,productSelection:”latest”,query:”Everything”,region:”auto”,resultCount:”12″,retailer:””,selectedBrands:[],showAuthorBio:!0,showAuthorCounters:!0,showAuthorIdentity:!0,showAuthorRail:!0,showBrandRail:!0,showCategoryRail:!0,showCollectionsDropdown:!1,showPriceDiscountFilters:!0,showReviewSort:!1,showSocialButtons:!0,showCountdown:!1,showHeaderDetails:!0,showFreeformTagRail:!0,sort:”date_desc”,viewMode:”author”,website:”whowhatwear”,widgetSubtitle:”Discover the best discounts currently available, curated daily by the Tom’s Guide Savings Squad.”,widgetTitle:”Top Deals Handpicked by Our Editors”};function Ie(e,t){return typeof e==”string”?e:t}function we(e,t){return typeof e==”boolean”?e:t}function Kv(e){let t=e||{},n=t.authorBioLength===”long”?”long”:”short”,a=t.productSelection===”mix”?”mix”:”latest”;return{…U,…t,authorBioLength:n,authorFullBleed:we(t.authorFullBleed,U.authorFullBleed),authorHandle:Ie(t.authorHandle,U.authorHandle),authorName:Ie(t.authorName,U.authorName),backgroundColor:Ie(t.backgroundColor,U.backgroundColor),customBio:Ie(t.customBio,U.customBio),customHeaderKicker:typeof t.customHeaderKicker==”string”?t.customHeaderKicker:void 0,customHeaderTitle:typeof t.customHeaderTitle==”string”?t.customHeaderTitle:void 0,discountAmount:Ie(t.discountAmount,U.discountAmount),editorMode:we(t.editorMode,U.editorMode),editorialMaxAgeMonths:Ie(t.editorialMaxAgeMonths,U.editorialMaxAgeMonths),includeBuyingGuideProducts:we(t.includeBuyingGuideProducts,U.includeBuyingGuideProducts),includeCollections:we(t.includeCollections,U.includeCollections),includeDeals:we(t.includeDeals,U.includeDeals),includeReviewProducts:we(t.includeReviewProducts,U.includeReviewProducts),mobileDropdowns:we(t.mobileDropdowns,U.mobileDropdowns),stickyMobileFilters:we(t.stickyMobileFilters,U.stickyMobileFilters),offerType:Ie(t.offerType,U.offerType),preloadReviewInventory:we(t.preloadReviewInventory,U.preloadReviewInventory),lightweightReviewDelivery:we(t.lightweightReviewDelivery,U.lightweightReviewDelivery),prioritiseCommercialProducts:we(t.prioritiseCommercialProducts,U.prioritiseCommercialProducts),priceRange:Ie(t.priceRange,U.priceRange),productSelection:a,query:Ie(t.query,U.query),region:Ie(t.region,U.region),resultCount:Ie(t.resultCount,U.resultCount),retailer:Ie(t.retailer,U.retailer),selectedBrands:Array.isArray(t.selectedBrands)?t.selectedBrands.filter(l=>typeof l==”string”):[],showAuthorBio:we(t.showAuthorBio,U.showAuthorBio),showAuthorCounters:we(t.showAuthorCounters,U.showAuthorCounters),showAuthorIdentity:we(t.showAuthorIdentity,U.showAuthorIdentity),showAuthorRail:we(t.showAuthorRail,U.showAuthorRail),showBrandRail:we(t.showBrandRail,U.showBrandRail),showCategoryRail:we(t.showCategoryRail,U.showCategoryRail),showCollectionsDropdown:we(t.showCollectionsDropdown,U.showCollectionsDropdown),showPriceDiscountFilters:we(t.showPriceDiscountFilters,U.showPriceDiscountFilters),showReviewSort:we(t.showReviewSort,U.showReviewSort),showSocialButtons:we(t.showSocialButtons,U.showSocialButtons),showCountdown:we(t.showCountdown,U.showCountdown),showHeaderDetails:we(t.showHeaderDetails,U.showHeaderDetails),showFreeformTagRail:we(t.showFreeformTagRail,U.showFreeformTagRail),sort:Ie(t.sort,U.sort),viewMode:Ie(t.viewMode,U.viewMode),website:Ie(t.website,U.website),widgetSubtitle:Ie(t.widgetSubtitle,U.widgetSubtitle),widgetTitle:Ie(t.widgetTitle,U.widgetTitle)}}function Zv(e,t={}){return{…e,brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}}function Wv(e,t){try{window.hawk?.analytics?.freyr?.push({name:e,data:t}),window.dispatchEvent(new CustomEvent(“hawk-analytics-update”)),window.freyr?.cmd.push(()=>{window.freyr?.pushAndUpdate?.(e,t)})}catch{}}function Iv(){window.dataLayer=window.dataLayer||[],window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.hawk=window.hawk||{},window.hawk.analytics=window.hawk.analytics||{},window.hawk.analytics.freyr=window.hawk.analytics.freyr||[],window.freyr=window.freyr||{cmd:[]},window.freyr.cmd=window.freyr.cmd||[];let e=”https://freyr.futurecdn.net/freyr.js”,t=window.location.hostname;if(!(window.navigator.webdriver||window.navigator.userAgent.includes(“Headless”))&&!!t&&t!==”localhost”&&t!==”127.0.0.1″&&!t.includes(“run.app”)&&!document.querySelector(`script[src=”${e}”]`)){let l=document.createElement(“script”);l.src=e,l.async=!0,document.head.appendChild(l)}}function aS(e){let t=Number.parseFloat(e.rawPrice||e.price)||null,n=Number.parseFloat(e.rawMsrp||e.msrp)||null;return{product:{primary:{id:e.externalProductId||e.id||e.matchId||null,name:e.productName||e.title||””,type:”deal”,price:t,previousPrice:n,currency:e.isoCurrencyCode||e.currency||”USD”,preorder:!1,labels:e.modelBrand||e.brand?[{type:”brand”,value:e.modelBrand||e.brand}]:[],link:e.url||null,originalLink:e.originalLink||e.url||null,revenueId:e.revenueId||null,startTime:null,endTime:null,voucherCode:null,voucherAudience:null,voucherPercentageSaving:n&&t&&n>t?Math.round((1-t/n)*100):null,voucherMoneySaving:null,voucherType:null,offerExclusive:!1,offerScope:null,globalId:e.productKey||null,inStock:e.inStock!==!1,contractProvider:null,contractMinutes:null,contractTexts:null,contractData:null,contractLength:null,contractMonthlyPrice:null,contractCurrency:e.isoCurrencyCode||e.currency||”USD”}},merchant:{id:e.merchantId||null,name:e.merchant||”Retailer”,url:e.merchantUrl||null,network:e.merchantNetwork||null},model:{id:e.modelId||null,brand:e.modelBrand||e.brand||null,name:e.productName||e.title||””,parent:e.modelParent||null}}}var lS=new Set([“subid1″,”ascsubtag”,”clickref”,”u1″]);function iS(e){return e.match(/(?:^|[-_])(d{10,})(?=$|[-_])/)?.[1]||null}function rS(e){let t=new Set,n=a=>{if(!a||t.has(a))return null;t.add(a);let l;try{l=new URL(a)}catch{return null}for(let[i,r]of l.searchParams)if(lS.has(i.toLowerCase())){let o=iS(r);if(o)return o}for(let i of l.searchParams.values())if(/^https?:///i.test(i)){let r=n(i);if(r)return r}return null};return n(e)}function Jv({areaClicked:e,clickType:t,deals:n,index:a,queryName:l}){let i={event:”hawkEvent”,category:”Affiliates”,affiliate:{action:{type:t,id:”author-widget”,event:t===”appeared”?”viewed”:”Click from”,timestamp:Date.now()},component:{flag:”Editor”,product:”deals”,category:”Signal Deal Finder Author widget”,type:t===”appeared”?”review”:”signal product”,label:l||n[0]?.productName||n[0]?.title||””,index:a??-1,linkCount:n.length,blockLayout:””,areaClicked:e}},products:n.slice(0,20).map(aS),reviews:[],_clear:!0,”gtm.uniqueEventId”:Date.now()%1e4};Wv(“hawkEvent”,i)}function $v(e,t){e.length&&Jv({areaClicked:””,clickType:”appeared”,deals:e,index:null,queryName:t})}function e1(e,t){if(e?.deals?.length)return e.deals;let n=Number(t)||12;return e?.allDeals?.slice(0,n)||[]}function t1(e){e.addEventListener(“click”,t=>{let n=t.target;if(!(n instanceof Element))return;let a=n.closest(“a[data-fcaw-affiliate-link][href], a.hawk-affiliate-link-deal-widget[href], a.hawk-affiliate-link-container[href], a.hawk-affiliate-link-deal-button[href]”),l=n.closest(“.tg-df-card”),i=!!(!a?.dataset.fcawRevenueId&&(a?.hasAttribute(“data-hl-processed”)||a?.hasAttribute(“data-fcaw-hawklinks-requested”)));a&&l&&!i&&Jv({areaClicked:”Signal Product Card”,clickType:”retailer”,deals:[{brand:l.dataset.brand,currency:l.dataset.currency,id:l.dataset.dealId,merchant:l.dataset.merchant,merchantId:l.dataset.merchantId,modelId:l.dataset.modelId,productKey:l.dataset.productKey,rawMsrp:l.dataset.previousPrice,rawPrice:l.dataset.price,originalLink:a.dataset.fcawOriginalLink||a.href,revenueId:a.dataset.fcawRevenueId||rS(a.href),title:l.dataset.productName,url:a.href}],index:Array.from(e.querySelectorAll(“.tg-df-card”)).indexOf(l)});let r=n.closest(‘button, select, [role=”button”]’);r&&Wv(“elementInteraction”,{element:{action:”click”,id:r.id||void 0,class:r.className||void 0,name:r.getAttribute(“name”)||r.getAttribute(“aria-label”)||void 0,text:r.textContent?.trim()||void 0,label:r.getAttribute(“aria-label”)||void 0}})})}var qf=B(O(),1),oS=’fc-author-commerce-widget[data-fcaw-version=”1″]’,uS=”(max-width: 599px)”,cS=600,sS='[class*=”membership-expandable-banner”]’,dS=/^jumps+tob/i,Uf=”data-fcaw-jump-navigation-suppressed”,fS=50,gS=1e4,mS=[“[data-sticky-header]”,”[data-header-sticky]”,'[role=”banner”]’,”.navigation__container”,”.site-header”,”.main-header”,”.header__container”,'[class*=”membership-expandable-banner”] [class*=”skinny-banner”]’,'[class*=”membership-expandable-banner”] [id=”skinnyBanner”]’,”nav”,”header”].join(“,”),hS=` :host { display: block !important; width: 100% !important; min-width: 0 !important; max-width: none !important; isolation: isolate !important; contain: style !important; } :host([data-fcaw-full-bleed=”true”]) { width: min( 1200px, var(–fcaw-viewport-width, 100vw) ) !important; max-width: 1200px !important; margin-left: var( –fcaw-full-bleed-offset, calc(50% – min(600px, 50vw)) ) !important; margin-right: 0 !important; position: relative !important; } :host([data-fcaw-full-bleed=”true”]) #tg-df-spreadsheet-filters { width: min( 1500px, var(–fcaw-viewport-width, 100vw) ) !important; max-width: 1500px !important; margin-left: calc( ( 100% – min(1500px, var(–fcaw-viewport-width, 100vw)) ) / 2 ) !important; margin-right: 0 !important; } :host, :host *, :host *::before, :host *::after { box-sizing: border-box; }`,Hf=new WeakMap;function yS(){if(document.querySelector(“style[data-fcaw-jump-navigation-protection]”))return;let e=document.createElement(“style”);e.setAttribute(“data-fcaw-jump-navigation-protection”,””),e.textContent=` [${Uf}=”true”] { opacity: 0 !important; pointer-events: none !important; visibility: hidden !important; } `,document.head.appendChild(e)}function pS(){let e=Array.from(document.querySelectorAll(“span, p, div, strong, b”)).filter(n=>n.childElementCount===0&&dS.test(n.textContent?.trim()||””)),t=new Set;for(let n of e)for(let a=n.parentElement;a&&a!==document.body;a=a.parentElement)if(getComputedStyle(a).position===”sticky”){t.add(a);break}return[…t]}function vS(e,t,n){let a=Hf.get(e)||new Set;n?a.add(t):a.delete(t),a.size>0?(Hf.set(e,a),e.setAttribute(Uf,”true”)):(Hf.delete(e),e.removeAttribute(Uf))}function bS(e){if(e.dataset.fcawFullBleed!==”true”||typeof IntersectionObserver>”u”)return;let t=pS().filter(a=>!a.contains(e));if(t.length===0)return;yS(),new IntersectionObserver(([a])=>{t.forEach(l=>vS(l,e,a.isIntersecting))},{threshold:0}).observe(e)}function AS({host:e,initialData:t,initialProps:n}){let[a]=(0,kt.useState)(i1),l=CS(t,a),[i,r]=(0,kt.useState)(n.query),[o,u]=(0,kt.useState)(n.selectedBrands),[c,s]=(0,kt.useState)(n.priceRange),[f,d]=(0,kt.useState)(n.discountAmount),[m,v]=(0,kt.useState)(n.sort),[A,b]=(0,kt.useState)(!1),h=!!(A&&n.compactEmbed&&n.includeDeals!==!1),g=(0,kt.useRef)(!1);return(0,kt.useEffect)(()=>{let y=()=>{g.current||(g.current=!0,$v(e1(l,n.resultCount),n.query))};if(typeof IntersectionObserver>”u”){y();return}let p=new IntersectionObserver(([C])=>{C?.isIntersecting&&(y(),p.disconnect())},{threshold:.1});return p.observe(e),()=>p.disconnect()},[e,l,n.query]),(0,kt.useEffect)(()=>{if(typeof IntersectionObserver>”u”){b(!0);return}let y=new IntersectionObserver(([p])=>{p?.isIntersecting&&(b(!0),y.disconnect())},{rootMargin:”800px 0px”});return y.observe(e),()=>y.disconnect()},[e]),(0,qf.jsx)(Xv,{…n,region:a||”unavailable”,initialData:l,warmInventory:A,refreshDealsOnViewport:h,query:i,selectedBrands:o,priceRange:c,discountAmount:f,sort:m,editorMode:!1,onQueryChange:r,onBrandSelect:u,onBrandToggle:y=>u(p=>p.includes(y)?p.filter(C=>C!==y):[…p,y]),onPriceRangeChange:s,onDiscountAmountChange:d,onSortChange:v})}function wS(e){try{let t=document.cookie.match(new RegExp(`(?:^|;\s*)${e}=([^;]*)`));return t?decodeURIComponent(t[1]):void 0}catch{return}}function uc(e){let n=String(e||””).trim().toUpperCase().replace(“_”,”-“).split(“-“).at(-1);return n===”UK”?”GB”:[“US”,”GB”,”AU”,”CA”,”DE”,”FR”,”IT”,”ES”,”NL”].includes(n||””)?n:void 0}function i1(){let e=new URLSearchParams(window.location.search).get(“area”);return uc(e)||uc(wS(“FTR_Country_Code”))||uc(document.documentElement.getAttribute(“data-locale”))||uc(window.navigator.language)}function n1(e,t){let n=e.querySelector(t);if(n?.textContent)try{return JSON.parse(n.textContent)}catch(a){console.warn(“Author widget configuration could not be parsed.”,a);return}}function SS(e){return e?.reviewInventoryFormat!==I0||!e.allDeals?e:{…e,allDeals:J0(e.allDeals)}}function CS(e,t){let n=t?e?.regionalDealManifests?.[t]:void 0;if(!n)return e;let a=e?.regionalDealRailData?.[t];return{…e,allDeals:void 0,deals:n,…a}}function a1(e){e.querySelectorAll(“a[href]”).forEach(t=>{(t.hasAttribute(“data-fcaw-affiliate-link”)||t.classList.contains(“hawk-affiliate-link-deal-widget”)||t.classList.contains(“hawk-affiliate-link-container”)||t.classList.contains(“hawk-affiliate-link-deal-button”))&&(t.rel=”sponsored nofollow noopener”)})}function RS(e){let t=e.closest(“.tg-df-card”),n=t?.dataset.fcawRevenueId||e.dataset.fcawRevenueId;if(n)return n;let a=[window.location.href,t?.dataset.productName||””,t?.dataset.merchant||””,t?.dataset.modelId||””,new Date().toDateString(),”tomsguide”].join(“|”),l=0;for(let r=0;r<a.length;r+=1)l=(l<<5)-l+a.charCodeAt(r),l|=0;let i=String(Math.abs(l));for(;i.length<19;)l=(l<Array.from(e.querySelectorAll(“.article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-widget[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-container[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested]), .article-body a[data-fcaw-affiliate-link].hawk-affiliate-link-deal-button[href]:not([data-hl-processed]):not([data-fcaw-hawklinks-requested])”)),i=()=>{t=!1;let u=l();if(u.length===0)return;let c=u.filter(s=>!TS(s));if(c.length!==0){if(!ES()){let s=Date.now();a??=s,!n&&s-a{n=void 0,r()},fS));return}a=void 0,c.forEach(s=>s.setAttribute(“data-fcaw-hawklinks-requested”,”true”)),document.dispatchEvent(new CustomEvent(“processArticle”,{detail:{element:e}}))}},r=()=>{t||(t=!0,window.setTimeout(i,0))},o=new MutationObserver(r);return o.observe(e,{attributes:!0,attributeFilter:[“href”],childList:!0,subtree:!0}),r(),()=>{o.disconnect(),n&&window.clearTimeout(n)}}function xS(e){if(e.dataset.fcawFullBleed!==”true”)return;let t=()=>{let n=document.documentElement.clientWidth||window.innerWidth,a=Math.min(1200,n),l=Math.max(0,(n-a)/2),i=e.parentElement?.getBoundingClientRect().left||0;e.style.setProperty(“–fcaw-full-bleed-offset”,`${l-i}px`),e.style.setProperty(“–fcaw-viewport-width”,`${n}px`)};t(),window.addEventListener(“resize”,t,{passive:!0}),typeof ResizeObservert.matches||e.getBoundingClientRect().width{n||(n=!0,window.requestAnimationFrame(s))},u=()=>{if(typeof MutationObserver>”u”)return;let f=new Set(Array.from(document.querySelectorAll(sS)));l.forEach((d,m)=>{f.has(m)&&m.isConnected||(d.disconnect(),l.delete(m))}),f.forEach(d=>{if(l.has(d))return;let m=new MutationObserver(o);m.observe(d,{attributes:!0,attributeFilter:[“class”,”style”],childList:!0,subtree:!0}),l.set(d,m)})},c=f=>{let d=new Set(f);a.forEach(m=>{d.has(m)||(i?.unobserve(m),m.removeEventListener(“transitionend”,o),a.delete(m))}),f.forEach(m=>{a.has(m)||(i?.observe(m),m.addEventListener(“transitionend”,o),a.add(m))})},s=()=>{if(n=!1,u(),!r()){c([]),e.style.removeProperty(“–fcaw-mobile-sticky-offset”);return}let f=Number.parseFloat(getComputedStyle(e).getPropertyValue(“–fcaw-publisher-sticky-offset”));if(Number.isFinite(f)&&f>=0){c([]),e.style.setProperty(“–fcaw-mobile-sticky-offset”,`${f}px`);return}let d=Array.from(document.querySelectorAll(mS)).filter(v=>{if(v.contains(e))return!1;let A=getComputedStyle(v).position;return A===”fixed”||A===”sticky”});c(d);let m=d.reduce((v,A)=>{let b=A.getBoundingClientRect();return b.top>2||b.bottom<=0||b.heightwindow.innerHeight*.5?v:Math.max(v,b.bottom)},0);e.style.setProperty(“–fcaw-mobile-sticky-offset”,`${Math.ceil(m)}px`)};return typeof ResizeObserver{window.removeEventListener(“scroll”,o,!0),window.removeEventListener(“resize”,o),t.removeEventListener?.(“change”,o),i?.disconnect(),a.forEach(f=>f.removeEventListener(“transitionend”,o)),a.clear(),l.forEach(f=>f.disconnect()),l.clear()}}function _S(e){if(e.dataset.fcawEnhanced===”true”)return;let t=n1(e,”script[data-fcaw-config]”);if(!t)return;let n={…Zv(Kv(t),{brands:t.brands,shortenedHeadlines:t.shortenedHeadlines}),compactEmbed:t.compactEmbed,editorMode:!1,warmInventory:t.warmInventory},a=n1(e,”script[data-fcaw-preload]”),l=SS(a),i=e.querySelector(“[data-fcaw-fallback]”);if(!i)return;xS(e),bS(e),n.stickyMobileFilters!==!1&&MS(e),a1(i);let r=e.shadowRoot||e.attachShadow({mode:”open”}),o=e.querySelector(“:scope > style[data-fcaw-host-protection]”);if(o&&r.appendChild(o),!r.querySelector(“style[data-fcaw-shadow-protection]”)){let c=document.createElement(“style”);c.setAttribute(“data-fcaw-shadow-protection”,””),c.textContent=hS,r.appendChild(c)}i.querySelectorAll(“:scope > style”).forEach(c=>{r.appendChild(c)});let u=document.createElement(“div”);for(u.setAttribute(“data-fcaw-mount”,””);i.firstChild;)u.appendChild(i.firstChild);i.remove(),r.appendChild(u),e.dataset.fcawEnhanced=”true”,Iv(),e.dataset.fcawAnalyticsReady=”true”,t1(r),DS(r),(0,l1.createRoot)(u).render((0,qf.jsx)(AS,{host:e,initialData:l,initialProps:n})),window.setTimeout(()=>a1(r),0)}function Gf(){document.querySelectorAll(oS).forEach(_S)}document.readyState===”loading”?document.addEventListener(“DOMContentLoaded”,Gf,{once:!0}):Gf();new MutationObserver(Gf).observe(document.documentElement,{childList:!0,subtree:!0});})();/*! Bundled license information:react/cjs/react.production.js: (** * @license React * react.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *)scheduler/cjs/scheduler.production.js: (** * @license React * scheduler.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *)react-dom/cjs/react-dom.production.js: (** * @license React * react-dom.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *)react-dom/cjs/react-dom-client.production.js: (** * @license React * react-dom-client.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *)react/cjs/react-jsx-runtime.production.js: (** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *)*/

PC Gamer’s Favorite Stuff

We are well-rounded folk here at PC Gamer, which means we don’t just want to recommend expensive hardware, we want to talk about the things we love in and around the hobby, too. And not all of them have to be expensive.

:root { –primary-red: #e60023; –text-dark: #222; –text-gray: #666; –bg-light: #f5f6f8; –blob-blue: #00a8e8; –font-sans: system-ui, -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, sans-serif; –font-serif: Georgia, Cambria, ‘Times New Roman’, Times, serif; } body { margin: 0; padding: 20px 0; background: transparent; font-family: var(–font-sans); } .carousel-wrapper { position: relative; width: 100%; display: flex; align-items: center; } .carousel-container { display: flex; overflow-x: auto; gap: 24px; padding: 12px 20px 20px 20px; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; transition: mask-image 0.3s, -webkit-mask-image 0.3s; } .carousel-container::-webkit-scrollbar { display: none; } .nav-button { position: absolute; top: calc(50% – 4px); transform: translateY(-50%); z-index: 20; background: white; color: var(–primary-red); border: 2px solid var(–primary-red); border-radius: 50%; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: 800; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,0.15); transition: all 0.2s ease; } .nav-button:hover { background: var(–primary-red); color: white; } .prev-button { left: 8px; } .next-button { right: 8px; } .carousel-card { flex: 0 0 auto; width: 320px; background: #fff; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); position: relative; scroll-snap-align: start; display: flex; flex-direction: column; overflow: hidden; } .card-number { position: absolute; top: 12px; left: 12px; color: var(–blob-blue); font-size: 1.3rem; font-weight: 800; z-index: 10; } .card-image-container { position: relative; height: 160px; display: flex; align-items: center; justify-content: center; padding: 8px 12px; overflow: hidden; } .blob { position: absolute; width: 230px; height: 135px; background: linear-gradient(135deg, #0a3d62 10%, #088395 50%, #00b4d8 90%); z-index: 1; transition: transform 0.3s ease; } .blob-0 { border-radius: 50% 50% 50% 50% / 60% 40% 60% 40%; transform: rotate(-5deg); background: linear-gradient(135deg, #0a3d62 10%, #0098b8 70%); } .blob-1 { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; transform: rotate(3deg); background: linear-gradient(140deg, #074768 15%, #00b4d8 75%); } .blob-2 { border-radius: 40% 60% 70% 30% / 40% 50% 50% 60%; transform: rotate(-7deg); background: linear-gradient(130deg, #0b4369 10%, #029bbb 65%); } .blob-3 { border-radius: 70% 30% 50% 50% / 40% 60% 40% 60%; transform: rotate(5deg); background: linear-gradient(145deg, #084c61 10%, #00a8e8 70%); } .blob-4 { border-radius: 30% 70% 60% 40% / 50% 30% 70% 50%; transform: rotate(-4deg); background: linear-gradient(125deg, #064467 15%, #00b2ca 75%); } .blob-5 { border-radius: 50% 50% 40% 60% / 70% 40% 60% 30%; transform: rotate(6deg); background: linear-gradient(135deg, #0a3d62 10%, #00b4d8 65%); } .card-image { position: relative; z-index: 2; max-height: 144px; max-width: 90%; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(0,0,0,0.18)); } .card-content { padding: 16px 20px; display: flex; flex-direction: column; flex-grow: 1; } .card-title { margin: 0 0 6px 0; font-size: 1.15rem; color: var(–text-dark); font-weight: 700; line-height: 1.25; } .card-subtitle { font-size: 0.8rem; margin-bottom: 12px; font-weight: 600; display: flex; gap: 6px; align-items: center; } .category { color: var(–text-gray); text-transform: uppercase; letter-spacing: 0.5px; } .price { color: var(–primary-red); } .price-link { text-decoration: none; } .price-link:hover .price { text-decoration: underline; } .card-description { font-family: var(–font-serif); color: var(–text-dark); font-size: 0.9rem; line-height: 1.5; margin-bottom: 16px; flex-grow: 1; max-height: 400px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(0,0,0,0.2) transparent; } .card-description::-webkit-scrollbar { width: 6px; } .card-description::-webkit-scrollbar-track { background: transparent; } .card-description::-webkit-scrollbar-thumb { background-color: rgba(0, 0, 0, 0.2); border-radius: 10px; } .card-description::-webkit-scrollbar-button { display: none; } .card-description p { margin: 0 0 8px 0; } .card-description p:last-child { margin-bottom: 0; } .card-footer { display: flex; gap: 12px; margin-top: 12px; border-top: 1px solid #eee; padding-top: 12px; } .picker-image-container { flex-shrink: 0; width: 68px; align-self: stretch; } .picker-image { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); } .footer-content { display: flex; flex-direction: column; flex-grow: 1; justify-content: center; gap: 8px; } .picker-info { display: flex; flex-direction: column; justify-content: center; flex-grow: 1; font-family: var(–font-serif); } .picker-label { font-size: 0.75rem; color: var(–text-gray); font-style: italic; } .picker-name { color: var(–primary-red); text-decoration: none; font-weight: 600; font-size: 0.9rem; } .picker-name:hover { text-decoration: underline; } .picker-title { font-size: 0.8rem; color: var(–text-gray); } .buy-button { display: block; text-align: center; background: var(–primary-red); color: white; text-decoration: none; padding: 10px 20px; border-radius: 9999px; font-weight: 600; font-size: 0.9rem; transition: background 0.2s; } .buy-button:hover { background: #cc001f; }

[{“id”:”1″,”image”:”https://media.ceros.com/kiplinger/images/2025/09/23/d9837699739a59e6dfe83365e02b7b6b/cut-absolute-wonder.png”,”title”:”Absolute Wonder Woman Vol. 1″,”category”:”COMIC BOOK”,”price”:”$17″,”description”:”One of the best comics currently in print, this inversion of DC’s 1941 heroine sees Diana’s divine upbringing turned on its head. In this alternate universe, she’s raised as a witch in hell, separated from her Amazon sisters and all others, save for her mother Circe.nnNature wins out over nurture—Diana’s optimism and caring spirit haven’t been lost in the depths of hell, but the tools she brings into battle are more demonic, including a hilariously big buster sword.”,”pickerName”:”Evan Lahti”,”pickerUrl”:”https://www.pcgamer.com/author/evan-lahti/”,”pickerTitle”:”Strategic Director”,”pickerId”:”1″,”buyUrl”:”https://hawk.ly/m/dc-absolute-wonder-woman-vol-1-the-last-amazon/i/pcgamer-onsite-favoritestuff”,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/ihzHnmJd6G2GFqM5j9mkSF.png”},{“id”:”54b9a459-ffe6-4281-9aa6-83745aaadfae”,”image”:”https://media.ceros.com/kiplinger/images/2025/10/02/48178e2610557acbb83d58ecdbeee81b/cut-noctua2.png”,”title”:”Noctua NV-FS1″,”category”:”Desk fan”,”price”:”$119″,”description”:”You might’ve heard of Noctua. The company has earned the top spot in both our best air coolers guide and best PC fans guide. But here’s a product you might not know about: a desk fan.nnThis fan has been a godsend for me in the British summer. And yes, folks outside of Britain will think it silly to complain about the heat in our famously dreary country, but it does get hot, and we have no AC. The fan moves a lot of air with only a slight hum, or can be practically silent. It doesn’t get picked”,”pickerName”:”Jacob Ridley”,”pickerUrl”:”https://www.pcgamer.com/author/jacob-ridley/”,”pickerTitle”:”Managing Editor, HW”,”pickerId”:”3fb0c8f3-365b-4df3-b96d-f9fda3ecf48b”,”buyUrl”:”https://hawk.ly/m/noctua-nv-fs1/i/pcgamer-onsite-favorite-stuff”,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/BPxSjC6VSn6yi8cs3AKXwA.png”},{“id”:”2″,”image”:”https://media.ceros.com/kiplinger/images/2025/09/23/b07587bd0a82248430376a8e80366b42/cut-dragonbane.png”,”title”:”Dragonbane Core Set”,”category”:”TABLETOP RPG”,”price”:”$50″,”description”:”Old school charm meets clever, modern design in this brilliantly accessible fantasy TTRPG. Publisher Free League’s signature high production values are on full display, and the dark yet whimsical artwork of Johan Egerkans seals the deal.nnThis core set is a brilliant package, including not just the full rules of the game but also a full sandbox campaign that’s ready to run out of the box.nnOh, and you can play a talking duck.”,”pickerName”:”Jody Macgregor”,”pickerUrl”:”https://www.pcgamer.com/author/jody-macgregor/”,”pickerTitle”:”Weekend / AU Editor”,”pickerId”:”7c685a5c-5bc7-483d-a597-e19a8eb25c39″,”buyUrl”:”https://hawk.ly/m/free-league-publishing-dragonbane-mirth-mayhem-roleplaying-game-core-set/i/pcgamer-onsite-favoritestuff”,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/HrCxgj78ACBFUP5rCsaH2E.png”},{“id”:”a7ab56bc-a0bc-493f-a119-1dd22fce9324″,”image”:”https://media.ceros.com/kiplinger/images/2025/09/23/2c59bf80c03c24808f8f42ee4be83933/cut-saga-books-1-3.png”,”title”:”Saga Book 1, 2 & 3″,”category”:”Comic Series”,”price”:”$25 each”,”description”:”If Saga isn’t already considered part of the canon of all-time great comics alongside the likes of Watchmen and The Sandman, it certainly will be in the future. I think you really do just have to read it to understand how elegantly it balances its very human character relationships (even when they’re TV-headed robots) with an adventure that leaps from galactic war to alien brothel planets to revenge quests to… I don’t even know, man, it’s a lot.”,”pickerName”:”Wes Fenlon”,”pickerUrl”:”https://www.pcgamer.com/author/wes-fenlon/”,”pickerTitle”:”Senior Editor”,”pickerId”:”e123ce87-0f41-4f2f-a9c9-92331393592e”,”buyUrl”:”https://hawk.ly/m/saga-compendium-one/i/pcgamer-favoritestuff”,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/R8D6x6QFh9WepDNrzhZ6nD.png”},{“id”:”34643639-9117-430b-ad91-6b26c6d663aa”,”image”:”https://media.ceros.com/kiplinger/images/2025/10/02/ab9eca8a8f0bd2e520accd436b2167cd/cut-sleephones.png”,”title”:”SleepPhones Wireless”,”category”:”Bluetooth headphones”,”price”:”$100″,”description”:”I can’t fall asleep easily without listening to something—a TV show, podcast, or white noise. Earbuds can fall out at night (or stay in and hurt like heck in the morning) and headphones don’t let you sleep on your side, so I’ve been using this bluetooth audio headband. nnThe fleece headband is soft and comfy, the speakers are so flat you can sleep on your side, and there’s no discomfort in the morning like you get with in-ear speakers. Best of all is the battery life—I wear them almost every n”,”pickerName”:”Christopher Livinston”,”pickerUrl”:”https://www.pcgamer.com/author/christopher-livingston/”,”pickerTitle”:”Senior Editor”,”pickerId”:”13e0d7bd-c459-4d26-9e5e-b38fcdb55933″,”buyUrl”:”https://hawk.ly/m/sleepphones-wireless-sleep-headphones/i/pcgamer-onsite-favoritestuff”,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/vMPWcamtj9aoVBYFtt2Hp7.png”},{“id”:”18a3c9ac-f5ee-40a2-8d72-ed6daae3c0fb”,”image”:”https://media.ceros.com/kiplinger/images/2025/10/02/989608fcd509064bac117b6237a8ddac/cut-logitech-mouse.png”,”title”:”Logitech G903″,”category”:”Gaming mouse”,”price”:”$125″,”description”:”I’ll swear until my dying breath that this is the finest design Logitech’s ever put out. I’ve yet to touch another mouse with a click that feels as good as this one, owing to its one-of-a-kind pivot bar where a traditional hinge would be. nnnnClearly something about the design didn’t take off, as Logitech has never reused it except in its minor refresh of the original G900. But until I hear otherwise, I’m just going to assume their engineers have simply never been able to one-up it.”,”pickerName”:”Wes Fenlon”,”pickerUrl”:”https://www.pcgamer.com/author/wes-fenlon/”,”pickerTitle”:”Senior Editor”,”pickerId”:”e123ce87-0f41-4f2f-a9c9-92331393592e”,”buyUrl”:”https://hawk.ly/m/logitech-g903-lightspeed/i/pcg-onsite-favoritestuff”,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/R8D6x6QFh9WepDNrzhZ6nD.png”},{“id”:”89945715-7b39-4e24-ab95-463138778ec0″,”image”:”https://media.ceros.com/kiplinger/images/2025/10/02/ef702a100e391a9aaaefe79477539e42/cut-fractal.png”,”title”:”Fractal Design Scape”,”category”:”Wireless gaming headset”,”price”:”$200″,”description”:”Rarely has any piece of hardware gained the immediate status of “permanent fixture on my desk”, but the Fractal Scape has done just that. More than being an excellent gaming headset, it’s added a level of convenience to my setup I didn’t know I needed.nnBeyond being extremely comfortable to wear, the Scape comes with a slim and sleek magnet-assisted wireless charging stand, which makes it simple to top-up. No cables for me anymore—I’m living in 3025, and let me tell you, it’s great out here.”,”pickerName”:”Andy Edser”,”pickerUrl”:”https://www.pcgamer.com/author/andy-edser”,”pickerTitle”:”Hardware Writer”,”pickerId”:”955e654c-7474-4c1c-85d6-5ddc19f92b74″,”buyUrl”:”https://hawk.ly/m/fractal-design-scape/i/pcg-onsite-favoritestuff”,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/dfkkLFa8x7amCDRHNRJBaC.png”},{“id”:”49446ade-dcbb-441b-8008-efda1378ccc7″,”image”:”https://media.ceros.com/kiplinger/images/2025/10/02/239e5f8a0c3fbf166eca6702f8dee2e8/cut-ceptics.png”,”title”:”Ceptics Power Adapter”,”category”:”Power plugs”,”price”:”$30″,”description”:”There are a gazillion power adapter options out there that’ll get the job done, but this is the only one I’ve owned that I can say I really like for international travel. Most of them are oversized chunkers that cram three or four different plugs into a single body, making them bulky to travel with and hard to fit on a cramped socket. This one is svelte by comparison and its sockets can be swapped out with a hearty click, so you can buy and pack just the specific plugs you need for your trip.”,”pickerName”:”Wes Fenlon”,”pickerUrl”:”https://www.pcgamer.com/author/wes-fenlon/”,”pickerTitle”:”Senior Editor”,”pickerId”:”e123ce87-0f41-4f2f-a9c9-92331393592e”,”buyUrl”:”https://amazon.com/Adapter-Travel-Ceptics-Compact-Powerful/dp/B07Z46413P?tag=hawk-future-20&ascsubtag=hawk-gb-1359258431597810348-20″,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/R8D6x6QFh9WepDNrzhZ6nD.png”},{“id”:”aade3022-5439-4007-aedf-d65b3b10e881″,”image”:”https://media.ceros.com/kiplinger/images/2025/10/02/7eba4b31dc902ab04f0e5411ff02d630/cut-thermalite.png”,”title”:”Thermalright Peerless Assassin”,”category”:”CPU cooler”,”price”:”$35″,”description”:”In my office, I have seven different PCs for testing hardware and games. They’ve all got different parts and pieces, but there’s one bit of kit common to four of them. It’s the brilliant Thermalright PA120SE: a cheap CPU air cooler that has no right being as good as it is.nnSure, it can be fiddly to install in some PCs, and the fans can get a bit loud, but it handles just about any processor and looks pretty neat, to boot. Did I mention that it’s cheap? Like $35 cheap?”,”pickerName”:”Dave James”,”pickerUrl”:”https://www.pcgamer.com/author/dave-james/”,”pickerTitle”:”EIC hardware”,”pickerId”:”6700bee7-c944-4e0d-9111-bf3b45f6e9d1″,”buyUrl”:”https://hawk.ly/m/thermalright-peerless-assassin-120-se/i/pcg-onsite-favoritestuff”,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/PCDf8FovgTJHVECFzSkav7.png”},{“id”:”c62018c3-1676-448e-8f94-9a8ffc484748″,”image”:”https://media.ceros.com/kiplinger/images/2025/10/02/e553ef159eb2625258611be290ae5ea1/cut-vantage.png”,”title”:”Vantage”,”category”:”Board game”,”price”:”$85″,”description”:”A genuine open-world board game, Vantage crashes you and up to five friends into an alien planet overflowing with life, weirdness, and discovery: burning deserts, magic crystals, treasure heists, and underwater prisons. Vantage is structurally loose and light on complexity, leaving maximum room for pleasant wandering. You might start off trying to repair your broken spaceship, but decide that you actually want to settle down and build a barn for all the sentient rock people you’ve befriended.”,”pickerName”:”Evan Lahti”,”pickerUrl”:”https://www.pcgamer.com/author/evan-lahti/”,”pickerTitle”:”Strategic Director”,”pickerId”:”1″,”buyUrl”:”https://store.stonemaiergames.com/products/vantage?srsltid=AfmBOoqfIMEOzhD7wcIJQMxYTfaP5PAysK6hMqJXnlgZ8wSRtA50i5iI”,”pickerImage”:”https://cdn.mos.cms.futurecdn.net/ihzHnmJd6G2GFqM5j9mkSF.png”}] function updateNav() { const container = document.getElementById(‘carousel’); const prevBtn = document.getElementById(‘prev-btn’); const nextBtn = document.getElementById(‘next-btn’); // Increased threshold to 30px to account for padding/snapping const isAtStart = container.scrollLeft = container.scrollWidth – 30; prevBtn.style.display = isAtStart ? ‘none’ : ‘flex’; nextBtn.style.display = isAtEnd ? ‘none’ : ‘flex’; if (isAtStart && isAtEnd) { container.style.maskImage = ‘none’; container.style.webkitMaskImage = ‘none’; } else if (isAtStart) { container.style.maskImage = ‘linear-gradient(to right, black calc(100% – 40px), transparent 100%)’; container.style.webkitMaskImage = ‘linear-gradient(to right, black calc(100% – 40px), transparent 100%)’; } else if (isAtEnd) { container.style.maskImage = ‘linear-gradient(to right, transparent 0px, black 40px, black 100%)’; container.style.webkitMaskImage = ‘linear-gradient(to right, transparent 0px, black 40px, black 100%)’; } else { container.style.maskImage = ‘linear-gradient(to right, transparent 0px, black 40px, black calc(100% – 40px), transparent 100%)’; container.style.webkitMaskImage = ‘linear-gradient(to right, transparent 0px, black 40px, black calc(100% – 40px), transparent 100%)’; } } function scrollCarousel(direction) { const container = document.getElementById(‘carousel’); const scrollAmount = 344; // card width + gap container.scrollBy({ left: direction * scrollAmount, behavior: ‘smooth’ }); } function broadcastHeight() { const height = document.body.scrollHeight; if (window.parent && window.parent !== window) { window.parent.postMessage({ type: ‘widget-resize’, height: height + ‘px’ }, ‘*’); } } // Call immediately to set initial state updateNav(); window.addEventListener(‘load’, () => { updateNav(); broadcastHeight(); }); window.addEventListener(‘resize’, () => { updateNav(); broadcastHeight(); }); document.getElementById(‘carousel’).addEventListener(‘scroll’, updateNav); const observer = new MutationObserver(broadcastHeight); observer.observe(document.body, { childList: true, subtree: true, attributes: true }); function sendMessageToParentWindow(typeOfMessage, message = null) { let postMessage = { bordeaux: message }; let url = “http://crow.futurecdn.net/output/carousel-widget-0001/carousel-widget-0001.html”; if (typeOfMessage === “analytics”) { postMessage = { analytics: { …message } }; } if (postMessage !== {}) { window.parent.postMessage( postMessage, url ); } } let message = { targeting: { [“carousel-widget-0001.html”]: “” } } window.onload = sendMessageToParentWindow(“bordeaux”, message);

Budget win or recycle bin?

Cheap hardare can either feel like a new life hack, or a frustrating false economy. So our intrepid budget explorer Andy regularly gets sent packages from Dave, without any prior warning or knowledge, and he has to decide whether the cheap tech in question is a budget win or more food for the techie recycle bin.

Amazon Basics gaming microphone on a wooden desktop

Amazon Basics Condenser Mic

I’ve had the privilege of working with some roadworthy audio equipment over the years, and the little Amazon Basics mic has the same sort of heft I’d usually associate with something gig-proof, like a Shure SM58 or SM57.

ICYMI…

PC Gamer Reviews

We review hundreds and hundreds of different pieces of PC gaming hardware each year, so if you want to know how we rated the some old Razer mouse or a brand new Alienware monitor just check out the list of recent reviews or search for a classic.

pc gaming hardware

(Image credit: Future)
body { margin: 0; padding: 0; background: transparent; } <iframe srcdoc=" #widget-xnn0w8y *:not(svg):not(path) { box-sizing: border-box; } #widget-xnn0w8y h1, #widget-xnn0w8y p, #widget-xnn0w8y h3 { margin: 0; line-height: normal; } body { margin: 0; background: transparent; font-family: ui-sans-serif, system-ui, sans-serif; } @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) { *, ::before, ::after, ::backdrop { –tw-translate-x: 0; –tw-translate-y: 0; –tw-translate-z: 0; –tw-scale-x: 1; –tw-scale-y: 1; –tw-scale-z: 1; –tw-rotate-x: initial; –tw-rotate-y: initial; –tw-rotate-z: initial; –tw-skew-x: initial; –tw-skew-y: initial; –tw-scroll-snap-strictness: proximity; –tw-space-y-reverse: 0; –tw-space-x-reverse: 0; –tw-divide-y-reverse: 0; –tw-border-style: solid; –tw-gradient-position: initial; –tw-gradient-from: #0000; –tw-gradient-via: #0000; –tw-gradient-to: #0000; –tw-gradient-stops: initial; –tw-gradient-via-stops: initial; –tw-gradient-from-position: 0%; –tw-gradient-via-position: 50%; –tw-gradient-to-position: 100%; –tw-leading: initial; –tw-font-weight: initial; –tw-tracking: initial; –tw-ordinal: initial; –tw-slashed-zero: initial; –tw-numeric-figure: initial; –tw-numeric-spacing: initial; –tw-numeric-fraction: initial; –tw-shadow: 0 0 #0000; –tw-shadow-color: initial; –tw-shadow-alpha: 100%; –tw-inset-shadow: 0 0 #0000; –tw-inset-shadow-color: initial; –tw-inset-shadow-alpha: 100%; –tw-ring-color: initial; –tw-ring-shadow: 0 0 #0000; –tw-inset-ring-color: initial; –tw-inset-ring-shadow: 0 0 #0000; –tw-ring-inset: initial; –tw-ring-offset-width: 0px; –tw-ring-offset-color: #fff; –tw-ring-offset-shadow: 0 0 #0000; –tw-outline-style: solid; –tw-blur: initial; –tw-brightness: initial; –tw-contrast: initial; –tw-grayscale: initial; –tw-hue-rotate: initial; –tw-invert: initial; –tw-opacity: initial; –tw-saturate: initial; –tw-sepia: initial; –tw-drop-shadow: initial; –tw-drop-shadow-color: initial; –tw-drop-shadow-alpha: 100%; –tw-drop-shadow-size: initial; –tw-backdrop-blur: initial; –tw-backdrop-brightness: initial; –tw-backdrop-contrast: initial; –tw-backdrop-grayscale: initial; –tw-backdrop-hue-rotate: initial; –tw-backdrop-invert: initial; –tw-backdrop-opacity: initial; –tw-backdrop-saturate: initial; –tw-backdrop-sepia: initial; –tw-duration: initial; –tw-ease: initial; }}#widget-xnn0w8y, :host { –font-sans: ui-sans-serif, system-ui, sans-serif, “Apple Color Emoji”, “Segoe UI Emoji”, “Segoe UI Symbol”, “Noto Color Emoji”; –font-serif: ui-serif, Georgia, Cambria, “Times New Roman”, Times, serif; –font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, “Liberation Mono”, “Courier New”, monospace; –color-red-50: oklch(97.1% .013 17.38); –color-red-100: oklch(93.6% .032 17.717); –color-red-400: oklch(70.4% .191 22.216); –color-red-500: oklch(63.7% .237 25.331); –color-red-600: oklch(57.7% .245 27.325); –color-red-700: oklch(50.5% .213 27.518); –color-orange-50: oklch(98% .016 73.684); –color-orange-600: oklch(64.6% .222 41.116); –color-orange-700: oklch(55.3% .195 38.402); –color-amber-50: oklch(98.7% .022 95.277); –color-amber-600: oklch(66.6% .179 58.318); –color-amber-700: oklch(55.5% .163 48.998); –color-yellow-50: oklch(98.7% .026 102.212); –color-yellow-300: oklch(90.5% .182 98.111); –color-yellow-500: oklch(79.5% .184 86.047); –color-yellow-600: oklch(68.1% .162 75.834); –color-yellow-700: oklch(55.4% .135 66.442); –color-yellow-800: oklch(47.6% .114 61.907); –color-lime-700: oklch(53.2% .157 131.589); –color-green-50: oklch(98.2% .018 155.826); –color-green-100: oklch(96.2% .044 156.743); –color-green-400: oklch(79.2% .209 151.711); –color-green-500: oklch(72.3% .219 149.579); –color-green-600: oklch(62.7% .194 149.214); –color-green-700: oklch(52.7% .154 150.069); –color-teal-50: oklch(98.4% .014 180.72); –color-teal-600: oklch(60% .118 184.704); –color-teal-700: oklch(51.1% .096 186.391); –color-blue-50: oklch(97% .014 254.604); –color-blue-500: oklch(62.3% .214 259.815); –color-blue-600: oklch(54.6% .245 262.881); –color-blue-700: oklch(48.8% .243 264.376); –color-indigo-50: oklch(96.2% .018 272.314); –color-indigo-600: oklch(51.1% .262 276.966); –color-purple-50: oklch(97.7% .014 308.299); –color-purple-400: oklch(71.4% .203 305.504); –color-purple-600: oklch(55.8% .288 302.321); –color-purple-700: oklch(49.6% .265 301.924); –color-pink-600: oklch(59.2% .249 .584); –color-rose-50: oklch(96.9% .015 12.422); –color-rose-100: oklch(94.1% .03 12.58); –color-rose-500: oklch(64.5% .246 16.439); –color-rose-600: oklch(58.6% .253 17.585); –color-slate-50: oklch(98.4% .003 247.858); –color-slate-400: oklch(70.4% .04 256.788); –color-slate-500: oklch(55.4% .046 257.417); –color-slate-600: oklch(44.6% .043 257.281); –color-slate-900: oklch(20.8% .042 265.755); –color-gray-50: oklch(98.5% .002 247.839); –color-gray-100: oklch(96.7% .003 264.542); –color-gray-200: oklch(92.8% .006 264.531); –color-gray-300: oklch(87.2% .01 258.338); –color-gray-400: oklch(70.7% .022 261.325); –color-gray-500: oklch(55.1% .027 264.364); –color-gray-600: oklch(44.6% .03 256.802); –color-gray-700: oklch(37.3% .034 259.733); –color-gray-800: oklch(27.8% .033 256.848); –color-gray-900: oklch(21% .034 264.665); –color-gray-950: oklch(13% .028 261.692); –color-zinc-300: oklch(87.1% .006 286.286); –color-zinc-800: oklch(27.4% .006 286.033); –color-zinc-900: oklch(21% .006 285.885); –color-neutral-50: oklch(98.5% 0 0); –color-neutral-100: oklch(97% 0 0); –color-neutral-200: oklch(92.2% 0 0); –color-neutral-300: oklch(87% 0 0); –color-neutral-400: oklch(70.8% 0 0); –color-neutral-500: oklch(55.6% 0 0); –color-neutral-600: oklch(43.9% 0 0); –color-neutral-700: oklch(37.1% 0 0); –color-neutral-800: oklch(26.9% 0 0); –color-neutral-900: oklch(20.5% 0 0); –color-neutral-950: oklch(14.5% 0 0); –color-black: #000; –color-white: #fff; –spacing: 4px; –breakpoint-xl: 1280px; –container-sm: 384px; –container-md: 448px; –container-lg: 512px; –container-xl: 576px; –container-2xl: 672px; –container-4xl: 896px; –container-6xl: 1152px; –container-7xl: 1280px; –text-xs: 12px; –text-xs–line-height: calc(1 / .75); –text-sm: 14px; –text-sm–line-height: calc(1.25 / .875); –text-base: 16px; –text-base–line-height: 1.5; –text-lg: 18px; –text-lg–line-height: calc(1.75 / 1.125); –text-xl: 20px; –text-xl–line-height: calc(1.75 / 1.25); –text-2xl: 24px; –text-2xl–line-height: calc(2 / 1.5); –text-3xl: 30px; –text-3xl–line-height: 1.2; –text-4xl: 36px; –text-4xl–line-height: calc(2.5 / 2.25); –font-weight-normal: 400; –font-weight-medium: 500; –font-weight-semibold: 600; –font-weight-bold: 700; –font-weight-extrabold: 800; –font-weight-black: 900; –tracking-tight: -.025em; –tracking-normal: 0em; –tracking-wide: .025em; –tracking-wider: .05em; –tracking-widest: .1em; –leading-tight: 1.25; –leading-snug: 1.375; –leading-normal: 1.5; –leading-relaxed: 1.625; –radius-xs: 2px; –radius-sm: 4px; –radius-md: 6px; –radius-lg: 8px; –radius-xl: 12px; –radius-2xl: 16px; –radius-3xl: 24px; –radius-4xl: 32px; –ease-in: cubic-bezier(.4, 0, 1, 1); –ease-out: cubic-bezier(0, 0, .2, 1); –ease-in-out: cubic-bezier(.4, 0, .2, 1); –animate-spin: spin 1s linear infinite; –animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; –blur-sm: 8px; –default-transition-duration: .15s; –default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); –default-font-family: var(–font-sans); –default-mono-font-family: var(–font-mono); }*, ::after, ::before, ::backdrop { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }::file-selector-button { box-sizing: border-box; border: 0px solid; margin: 0px; padding: 0px; }html, :host { text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(–default-font-family,ui-sans-serif, system-ui, sans-serif, “Apple Color Emoji”, “Segoe UI Emoji”, “Segoe UI Symbol”, “Noto Color Emoji”); font-feature-settings: var(–default-font-feature-settings,normal); font-variation-settings: var(–default-font-variation-settings,normal); -webkit-tap-highlight-color: transparent; }hr { height: 0px; color: inherit; border-top-width: 1px; }abbr:where([title]) { text-decoration: underline dotted; }h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }a { color: inherit; text-decoration: inherit; }b, strong { font-weight: bolder; }code, kbd, samp, pre { font-family: var(–default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, “Liberation Mono”, “Courier New”, monospace); font-feature-settings: var(–default-mono-font-feature-settings,normal); font-variation-settings: var(–default-mono-font-variation-settings,normal); font-size: 1em; }small { font-size: 80%; }sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }sub { bottom: -0.25em; }sup { top: -0.5em; }table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }progress { vertical-align: baseline; }summary { display: list-item; }ol, ul, menu { list-style: none; }img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }img, video { max-width: 100%; height: auto; }button, input, select, optgroup, textarea { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; opacity: 1; background-color: rgba(0, 0, 0, 0); border-radius: 0px; }:where(select:is([multiple], [size])) optgroup { font-weight: bolder; }:where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }::file-selector-button { margin-inline-end: 4px; }::placeholder { opacity: 1; }@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) { ::placeholder { color: currentcolor; } @supports (color:color-mix(in lab,red,red)) { ::placeholder { color: color-mix(currentcolor, transparent); }}}textarea { resize: vertical; }::-webkit-search-decoration { appearance: none; }::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }::-webkit-datetime-edit { display: inline-flex; }::-webkit-datetime-edit-fields-wrapper { padding: 0px; }::-webkit-datetime-edit { padding-block: 0px; }::-webkit-datetime-edit-year-field { padding-block: 0px; }::-webkit-datetime-edit-month-field { padding-block: 0px; }::-webkit-datetime-edit-day-field { padding-block: 0px; }::-webkit-datetime-edit-hour-field { padding-block: 0px; }::-webkit-datetime-edit-minute-field { padding-block: 0px; }::-webkit-datetime-edit-second-field { padding-block: 0px; }::-webkit-datetime-edit-millisecond-field { padding-block: 0px; }::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }::-webkit-calendar-picker-indicator { line-height: 1; }button, input:where([type=”button”], [type=”reset”], [type=”submit”]) { appearance: button; }::file-selector-button { appearance: button; }::-webkit-inner-spin-button { height: auto; }::-webkit-outer-spin-button { height: auto; }[hidden]:where(:not([hidden=”until-found”])) { display: none !important; }@layer components;.@container { container-type: inline-size; }.pointer-events-auto { pointer-events: auto; }.pointer-events-none { pointer-events: none; }.collapse { visibility: collapse; }.invisible { visibility: hidden; }.visible { visibility: visible; }.sr-only { clip-path: inset(50%); white-space: nowrap; border-width: 0px; width: 1px; height: 1px; margin: -1px; padding: 0px; position: absolute; overflow: hidden; }.absolute { position: absolute; }.fixed { position: fixed; }.relative { position: relative; }.static { position: static; }.sticky { position: sticky; }.inset-0 { inset: calc(var(–spacing) * 0); }.top-0 { top: calc(var(–spacing) * 0); }.top-1 { top: calc(var(–spacing) * 1); }.top-1/2 { top: 50%; }.top-3 { top: calc(var(–spacing) * 3); }.top-4 { top: calc(var(–spacing) * 4); }.top-[76px] { top: 76px; }.top-[80px] { top: 80px; }.top-auto { top: auto; }.top-full { top: 100%; }.-right-0, .right-0 { right: calc(var(–spacing) * 0); }.right-1 { right: calc(var(–spacing) * 1); }.right-2 { right: calc(var(–spacing) * 2); }.right-3 { right: calc(var(–spacing) * 3); }.right-4 { right: calc(var(–spacing) * 4); }.right-full { right: 100%; }.-bottom-0, .bottom-0 { bottom: calc(var(–spacing) * 0); }.bottom-3 { bottom: calc(var(–spacing) * 3); }.bottom-4 { bottom: calc(var(–spacing) * 4); }.bottom-full { bottom: 100%; }.-left-2 { left: calc(var(–spacing) * -2); }.left-0 { left: calc(var(–spacing) * 0); }.left-1 { left: calc(var(–spacing) * 1); }.left-1/2 { left: 50%; }.left-2 { left: calc(var(–spacing) * 2); }.left-3 { left: calc(var(–spacing) * 3); }.left-4 { left: calc(var(–spacing) * 4); }.left-auto { left: auto; }.left-full { left: 100%; }.isolate { isolation: isolate; }.z-10 { z-index: 10; }.z-20 { z-index: 20; }.z-50 { z-index: 50; }.z-[60] { z-index: 60; }.z-[99] { z-index: 99; }.z-[100] { z-index: 100; }.z-[9999] { z-index: 9999; }.z-[10000] { z-index: 10000; }.z-[10001] { z-index: 10001; }.z-[var(–burger-btn-z-index,1)] { z-index: var(–burger-btn-z-index,1); }.order-first { order: -9999; }.col-span-2 { grid-column: span 2 / span 2; }.col-span-3 { grid-column: span 3 / span 3; }.col-span-7 { grid-column: span 7 / span 7; }.col-span-10 { grid-column: span 10 / span 10; }.row-3 { grid-row: 3; }.row-4 { grid-row: 4; }.float-end { float: inline-end; }.float-left { float: left; }.float-start { float: inline-start; }.clear-both { clear: both; }.clear-left { clear: left; }.container { width: 100%; }@media (min-width: 640px) { .container { max-width: 640px; }}@media (min-width: 768px) { .container { max-width: 768px; }}@media (min-width: 1024px) { .container { max-width: 1024px; }}@media (min-width: 1280px) { .container { max-width: 1280px; }}@media (min-width: 1536px) { .container { max-width: 1536px; }}.m-0 { margin: calc(var(–spacing) * 0); }.m-1 { margin: calc(var(–spacing) * 1); }.m-4 { margin: calc(var(–spacing) * 4); }.m-auto { margin: auto; }.-mx-4 { margin-inline: calc(var(–spacing) * -4); }.mx-0 { margin-inline: calc(var(–spacing) * 0); }.mx-1 { margin-inline: calc(var(–spacing) * 1); }.mx-2 { margin-inline: calc(var(–spacing) * 2); }.mx-4 { margin-inline: calc(var(–spacing) * 4); }.mx-auto { margin-inline: auto; }.-my-2 { margin-block: calc(var(–spacing) * -2); }.my-0 { margin-block: calc(var(–spacing) * 0); }.my-1 { margin-block: calc(var(–spacing) * 1); }.my-2 { margin-block: calc(var(–spacing) * 2); }.my-3 { margin-block: calc(var(–spacing) * 3); }.my-4 { margin-block: calc(var(–spacing) * 4); }.my-5 { margin-block: calc(var(–spacing) * 5); }.my-6 { margin-block: calc(var(–spacing) * 6); }.my-7 { margin-block: calc(var(–spacing) * 7); }.my-8 { margin-block: calc(var(–spacing) * 8); }.my-10 { margin-block: calc(var(–spacing) * 10); }.my-auto { margin-block: auto; }.ms-4 { margin-inline-start: calc(var(–spacing) * 4); }.me-2 { margin-inline-end: calc(var(–spacing) * 2); }.prose { color: var(–tw-prose-#widget-xnn0w8y); max-width: 65ch; }.prose :where(p):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where([class~=”lead”]):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-lead); margin-top: 1.2em; margin-bottom: 1.2em; font-size: 1.25em; line-height: 1.6; }.prose :where(a):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-links); font-weight: 500; text-decoration: underline; }.prose :where(strong):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-bold); font-weight: 600; }.prose :where(a strong):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose :where(blockquote strong):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose :where(thead th strong):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: inherit; }.prose :where(ol):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: decimal; }.prose :where(ol[type=”A”]):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { list-style-type: upper-alpha; }.prose :where(ol[type=”a”]):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { list-style-type: lower-alpha; }.prose :where():not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { list-style-type: upper-alpha; }.prose :where():not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { list-style-type: lower-alpha; }.prose :where(ol[type=”I”]):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { list-style-type: upper-roman; }.prose :where(ol[type=”i”]):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { list-style-type: lower-roman; }.prose :where():not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { list-style-type: upper-roman; }.prose :where():not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { list-style-type: lower-roman; }.prose :where(ol[type=”1″]):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { list-style-type: decimal; }.prose :where(ul):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.25em; margin-bottom: 1.25em; padding-inline-start: 1.625em; list-style-type: disc; }.prose :where(ol > li):not(:where([class~=”not-prose”], [class~=”not-prose”] *))::marker { color: var(–tw-prose-counters); font-weight: 400; }.prose :where(ul > li):not(:where([class~=”not-prose”], [class~=”not-prose”] *))::marker { color: var(–tw-prose-bullets); }.prose :where(dt):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-headings); margin-top: 1.25em; font-weight: 600; }.prose :where(hr):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { border-color: var(–tw-prose-hr); border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }.prose :where(blockquote):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-quotes); border-inline-start-width: 4px; border-inline-start-color: var(–tw-prose-quote-borders); quotes: ““” “”” “‘” “’”; margin-top: 1.6em; margin-bottom: 1.6em; padding-inline-start: 1em; font-style: italic; font-weight: 500; }.prose :where(blockquote p:first-of-type):not(:where([class~=”not-prose”], [class~=”not-prose”] *))::before { content: open-quote; }.prose :where(blockquote p:last-of-type):not(:where([class~=”not-prose”], [class~=”not-prose”] *))::after { content: close-quote; }.prose :where(h1):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-headings); margin-top: 0px; margin-bottom: 0.888889em; font-size: 2.25em; font-weight: 800; line-height: 1.11111; }.prose :where(h1 strong):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: inherit; font-weight: 900; }.prose :where(h2):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-headings); margin-top: 2em; margin-bottom: 1em; font-size: 1.5em; font-weight: 700; line-height: 1.33333; }.prose :where(h2 strong):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: inherit; font-weight: 800; }.prose :where(h3):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-headings); margin-top: 1.6em; margin-bottom: 0.6em; font-size: 1.25em; font-weight: 600; line-height: 1.6; }.prose :where(h3 strong):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: inherit; font-weight: 700; }.prose :where(h4):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-headings); margin-top: 1.5em; margin-bottom: 0.5em; font-weight: 600; line-height: 1.5; }.prose :where(h4 strong):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: inherit; font-weight: 700; }.prose :where(img):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(picture):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 2em; margin-bottom: 2em; display: block; }.prose :where(video):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(kbd):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-kbd); box-shadow: 0 0 0 1px var(–tw-prose-kbd-shadows),0 3px 0 var(–tw-prose-kbd-shadows); padding-top: 0.1875em; padding-inline: 0.375em; padding-bottom: 0.1875em; border-radius: 5px; font-family: inherit; font-size: 0.875em; font-weight: 500; }.prose :where(code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-code); font-size: 0.875em; font-weight: 600; }.prose :where(code):not(:where([class~=”not-prose”], [class~=”not-prose”] *))::before, .prose :where(code):not(:where([class~=”not-prose”], [class~=”not-prose”] *))::after { content: “`”; }.prose :where(a code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose :where(h1 code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: inherit; }.prose :where(h2 code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: inherit; font-size: 0.875em; }.prose :where(h3 code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: inherit; font-size: 0.9em; }.prose :where(h4 code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose :where(blockquote code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose :where(thead th code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: inherit; }.prose :where(pre):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-pre-code); background-color: var(–tw-prose-pre-bg); padding-top: 0.857143em; padding-inline: 1.14286em; padding-bottom: 0.857143em; border-radius: 6px; margin-top: 1.71429em; margin-bottom: 1.71429em; font-size: 0.875em; font-weight: 400; line-height: 1.71429; overflow-x: auto; }.prose :where(pre code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { font-weight: inherit; color: inherit; font-size: inherit; font-family: inherit; line-height: inherit; background-color: rgba(0, 0, 0, 0); border-width: 0px; border-radius: 0px; padding: 0px; }.prose :where(pre code):not(:where([class~=”not-prose”], [class~=”not-prose”] *))::before, .prose :where(pre code):not(:where([class~=”not-prose”], [class~=”not-prose”] *))::after { content: none; }.prose :where(table):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { table-layout: auto; width: 100%; margin-top: 2em; margin-bottom: 2em; font-size: 0.875em; line-height: 1.71429; }.prose :where(thead):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { border-bottom-width: 1px; border-bottom-color: var(–tw-prose-th-borders); }.prose :where(thead th):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-headings); vertical-align: bottom; padding-inline: 0.571429em; padding-bottom: 0.571429em; font-weight: 600; }.prose :where(t#widget-xnn0w8y tr):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { border-bottom-width: 1px; border-bottom-color: var(–tw-prose-td-borders); }.prose :where(t#widget-xnn0w8y tr:last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { border-bottom-width: 0px; }.prose :where(t#widget-xnn0w8y td):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { vertical-align: baseline; }.prose :where(tfoot):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { border-top-width: 1px; border-top-color: var(–tw-prose-th-borders); }.prose :where(tfoot td):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { vertical-align: top; }.prose :where(th, td):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { text-align: start; }.prose :where(figure > *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(figcaption):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–tw-prose-captions); margin-top: 0.857143em; font-size: 0.875em; line-height: 1.42857; }.prose { –tw-prose-#widget-xnn0w8y: oklch(37.3% .034 259.733); –tw-prose-headings: oklch(21% .034 264.665); –tw-prose-lead: oklch(44.6% .03 256.802); –tw-prose-links: oklch(21% .034 264.665); –tw-prose-bold: oklch(21% .034 264.665); –tw-prose-counters: oklch(55.1% .027 264.364); –tw-prose-bullets: oklch(87.2% .01 258.338); –tw-prose-hr: oklch(92.8% .006 264.531); –tw-prose-quotes: oklch(21% .034 264.665); –tw-prose-quote-borders: oklch(92.8% .006 264.531); –tw-prose-captions: oklch(55.1% .027 264.364); –tw-prose-kbd: oklch(21% .034 264.665); –tw-prose-kbd-shadows: oklab(21% -.00316127 -.0338527/.1); –tw-prose-code: oklch(21% .034 264.665); –tw-prose-pre-code: oklch(92.8% .006 264.531); –tw-prose-pre-bg: oklch(27.8% .033 256.848); –tw-prose-th-borders: oklch(87.2% .01 258.338); –tw-prose-td-borders: oklch(92.8% .006 264.531); –tw-prose-invert-#widget-xnn0w8y: oklch(87.2% .01 258.338); –tw-prose-invert-headings: #fff; –tw-prose-invert-lead: oklch(70.7% .022 261.325); –tw-prose-invert-links: #fff; –tw-prose-invert-bold: #fff; –tw-prose-invert-counters: oklch(70.7% .022 261.325); –tw-prose-invert-bullets: oklch(44.6% .03 256.802); –tw-prose-invert-hr: oklch(37.3% .034 259.733); –tw-prose-invert-quotes: oklch(96.7% .003 264.542); –tw-prose-invert-quote-borders: oklch(37.3% .034 259.733); –tw-prose-invert-captions: oklch(70.7% .022 261.325); –tw-prose-invert-kbd: #fff; –tw-prose-invert-kbd-shadows: #ffffff1a; –tw-prose-invert-code: #fff; –tw-prose-invert-pre-code: oklch(87.2% .01 258.338); –tw-prose-invert-pre-bg: #00000080; –tw-prose-invert-th-borders: oklch(44.6% .03 256.802); –tw-prose-invert-td-borders: oklch(37.3% .034 259.733); font-size: 16px; line-height: 1.75; }.prose :where(picture > img):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0px; margin-bottom: 0px; }.prose :where(li):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }.prose :where(ol > li):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose :where(ul > li):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-start: 0.375em; }.prose :where(.prose > ul > li p):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(.prose > ul > li > p:first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.25em; }.prose :where(.prose > ul > li > p:last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-bottom: 1.25em; }.prose :where(.prose > ol > li > p:first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.25em; }.prose :where(.prose > ol > li > p:last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-bottom: 1.25em; }.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0.75em; margin-bottom: 0.75em; }.prose :where(dl):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }.prose :where(dd):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0.5em; padding-inline-start: 1.625em; }.prose :where(hr + *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose :where(h2 + *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose :where(h3 + *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose :where(h4 + *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0px; }.prose :where(thead th:first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-start: 0px; }.prose :where(thead th:last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-end: 0px; }.prose :where(t#widget-xnn0w8y td, tfoot td):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-top: 0.571429em; padding-inline: 0.571429em; padding-bottom: 0.571429em; }.prose :where(t#widget-xnn0w8y td:first-child, tfoot td:first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-start: 0px; }.prose :where(t#widget-xnn0w8y td:last-child, tfoot td:last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-end: 0px; }.prose :where(figure):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 2em; margin-bottom: 2em; }.prose :where(.prose > :first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0px; }.prose :where(.prose > :last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-bottom: 0px; }.prose-lg { font-size: 18px; line-height: 1.77778; }.prose-lg :where(p):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where([class~=”lead”]):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.09091em; margin-bottom: 1.09091em; font-size: 1.22222em; line-height: 1.45455; }.prose-lg :where(blockquote):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.66667em; margin-bottom: 1.66667em; padding-inline-start: 1em; }.prose-lg :where(h1):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0px; margin-bottom: 0.833333em; font-size: 2.66667em; line-height: 1; }.prose-lg :where(h2):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.86667em; margin-bottom: 1.06667em; font-size: 1.66667em; line-height: 1.33333; }.prose-lg :where(h3):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.66667em; margin-bottom: 0.666667em; font-size: 1.33333em; line-height: 1.5; }.prose-lg :where(h4):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.77778em; margin-bottom: 0.444444em; line-height: 1.55556; }.prose-lg :where(img):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose-lg :where(picture):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(picture > img):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(video):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(kbd):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-top: 0.222222em; padding-inline: 0.444444em; padding-bottom: 0.222222em; border-radius: 5px; font-size: 0.888889em; }.prose-lg :where(code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { font-size: 0.888889em; }.prose-lg :where(h2 code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { font-size: 0.866667em; }.prose-lg :where(h3 code):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { font-size: 0.875em; }.prose-lg :where(pre):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-top: 1em; padding-inline: 1.5em; padding-bottom: 1em; border-radius: 6px; margin-top: 2em; margin-bottom: 2em; font-size: 0.888889em; line-height: 1.75; }.prose-lg :where(ol):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose-lg :where(ul):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; padding-inline-start: 1.55556em; }.prose-lg :where(li):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0.666667em; margin-bottom: 0.666667em; }.prose-lg :where(ol > li):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose-lg :where(ul > li):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-start: 0.444444em; }.prose-lg :where(.prose-lg > ul > li p):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(.prose-lg > ul > li > p:first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ul > li > p:last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-bottom: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.33333em; }.prose-lg :where(.prose-lg > ol > li > p:last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-bottom: 1.33333em; }.prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0.888889em; margin-bottom: 0.888889em; }.prose-lg :where(dl):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.33333em; margin-bottom: 1.33333em; }.prose-lg :where(dt):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.33333em; }.prose-lg :where(dd):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0.666667em; padding-inline-start: 1.55556em; }.prose-lg :where(hr):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 3.11111em; margin-bottom: 3.11111em; }.prose-lg :where(hr + *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose-lg :where(h2 + *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose-lg :where(h3 + *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose-lg :where(h4 + *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0px; }.prose-lg :where(table):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(thead th):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(thead th:first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-start: 0px; }.prose-lg :where(thead th:last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-end: 0px; }.prose-lg :where(t#widget-xnn0w8y td, tfoot td):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-top: 0.75em; padding-inline: 0.75em; padding-bottom: 0.75em; }.prose-lg :where(t#widget-xnn0w8y td:first-child, tfoot td:first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-start: 0px; }.prose-lg :where(t#widget-xnn0w8y td:last-child, tfoot td:last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { padding-inline-end: 0px; }.prose-lg :where(figure):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1.77778em; margin-bottom: 1.77778em; }.prose-lg :where(figure > *):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0px; margin-bottom: 0px; }.prose-lg :where(figcaption):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 1em; font-size: 0.888889em; line-height: 1.5; }.prose-lg :where(.prose-lg > :first-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-top: 0px; }.prose-lg :where(.prose-lg > :last-child):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { margin-bottom: 0px; }.mt-0 { margin-top: calc(var(–spacing) * 0); }.mt-1 { margin-top: calc(var(–spacing) * 1); }.mt-2 { margin-top: calc(var(–spacing) * 2); }.mt-3 { margin-top: calc(var(–spacing) * 3); }.mt-4 { margin-top: calc(var(–spacing) * 4); }.mt-5 { margin-top: calc(var(–spacing) * 5); }.mt-6 { margin-top: calc(var(–spacing) * 6); }.mt-7 { margin-top: calc(var(–spacing) * 7); }.mt-8 { margin-top: calc(var(–spacing) * 8); }.mt-10 { margin-top: calc(var(–spacing) * 10); }.mt-auto { margin-top: auto; }.-mr-1 { margin-right: calc(var(–spacing) * -1); }.mr-0 { margin-right: calc(var(–spacing) * 0); }.mr-1 { margin-right: calc(var(–spacing) * 1); }.mr-1.5 { margin-right: calc(var(–spacing) * 1.5); }.mr-2 { margin-right: calc(var(–spacing) * 2); }.mr-3 { margin-right: calc(var(–spacing) * 3); }.mr-4 { margin-right: calc(var(–spacing) * 4); }.mr-5 { margin-right: calc(var(–spacing) * 5); }.mr-8 { margin-right: calc(var(–spacing) * 8); }.mr-auto { margin-right: auto; }.mb-0 { margin-bottom: calc(var(–spacing) * 0); }.mb-1 { margin-bottom: calc(var(–spacing) * 1); }.mb-2 { margin-bottom: calc(var(–spacing) * 2); }.mb-3 { margin-bottom: calc(var(–spacing) * 3); }.mb-4 { margin-bottom: calc(var(–spacing) * 4); }.mb-5 { margin-bottom: calc(var(–spacing) * 5); }.mb-6 { margin-bottom: calc(var(–spacing) * 6); }.mb-7 { margin-bottom: calc(var(–spacing) * 7); }.mb-8 { margin-bottom: calc(var(–spacing) * 8); }.mb-10 { margin-bottom: calc(var(–spacing) * 10); }.-ml-1 { margin-left: calc(var(–spacing) * -1); }.-ml-2 { margin-left: calc(var(–spacing) * -2); }.-ml-5 { margin-left: calc(var(–spacing) * -5); }.ml-0 { margin-left: calc(var(–spacing) * 0); }.ml-0.5 { margin-left: calc(var(–spacing) * .5); }.ml-1 { margin-left: calc(var(–spacing) * 1); }.ml-2 { margin-left: calc(var(–spacing) * 2); }.ml-3 { margin-left: calc(var(–spacing) * 3); }.ml-4 { margin-left: calc(var(–spacing) * 4); }.ml-6 { margin-left: calc(var(–spacing) * 6); }.ml-8 { margin-left: calc(var(–spacing) * 8); }.ml-auto { margin-left: auto; }.box-border { box-sizing: border-box; }.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }.block { display: block; }.contents { display: contents; }.flex { display: flex; }.flow-root { display: flow-root; }.grid { display: grid; }.hidden { display: none; }.inline { display: inline; }.inline-block { display: inline-block; }.inline-flex { display: inline-flex; }.table { display: table; }.table-row { display: table-row; }.aspect-square { aspect-ratio: 1 / 1; }.size-1 { width: calc(var(–spacing) * 1); height: calc(var(–spacing) * 1); }.size-1.5 { width: calc(var(–spacing) * 1.5); height: calc(var(–spacing) * 1.5); }.size-2 { width: calc(var(–spacing) * 2); height: calc(var(–spacing) * 2); }.size-3 { width: calc(var(–spacing) * 3); height: calc(var(–spacing) * 3); }.size-4 { width: calc(var(–spacing) * 4); height: calc(var(–spacing) * 4); }.size-5 { width: calc(var(–spacing) * 5); height: calc(var(–spacing) * 5); }.size-6 { width: calc(var(–spacing) * 6); height: calc(var(–spacing) * 6); }.size-7 { width: calc(var(–spacing) * 7); height: calc(var(–spacing) * 7); }.size-8 { width: calc(var(–spacing) * 8); height: calc(var(–spacing) * 8); }.size-9 { width: calc(var(–spacing) * 9); height: calc(var(–spacing) * 9); }.size-10 { width: calc(var(–spacing) * 10); height: calc(var(–spacing) * 10); }.size-12 { width: calc(var(–spacing) * 12); height: calc(var(–spacing) * 12); }.size-16 { width: calc(var(–spacing) * 16); height: calc(var(–spacing) * 16); }.size-20 { width: calc(var(–spacing) * 20); height: calc(var(–spacing) * 20); }.size-40 { width: calc(var(–spacing) * 40); height: calc(var(–spacing) * 40); }.size-full { width: 100%; height: 100%; }.h-1 { height: calc(var(–spacing) * 1); }.h-1.5 { height: calc(var(–spacing) * 1.5); }.h-2 { height: calc(var(–spacing) * 2); }.h-3 { height: calc(var(–spacing) * 3); }.h-4 { height: calc(var(–spacing) * 4); }.h-5 { height: calc(var(–spacing) * 5); }.h-6 { height: calc(var(–spacing) * 6); }.h-7 { height: calc(var(–spacing) * 7); }.h-8 { height: calc(var(–spacing) * 8); }.h-9 { height: calc(var(–spacing) * 9); }.h-10 { height: calc(var(–spacing) * 10); }.h-12 { height: calc(var(–spacing) * 12); }.h-14 { height: calc(var(–spacing) * 14); }.h-16 { height: calc(var(–spacing) * 16); }.h-20 { height: calc(var(–spacing) * 20); }.h-24 { height: calc(var(–spacing) * 24); }.h-28 { height: calc(var(–spacing) * 28); }.h-64 { height: calc(var(–spacing) * 64); }.h-[30px] { height: 30px; }.h-[40px] { height: 40px; }.h-[44px] { height: 44px; }.h-[76px] { height: 76px; }.h-[600px] { height: 600px; }.h-[var(–logo-height-mobile,25px)] { height: var(–logo-height-mobile,25px); }.h-[var(–site-header-height,60px)] { height: var(–site-header-height,60px); }.h-auto { height: auto; }.h-fit { height: fit-content; }.h-full { height: 100%; }.h-min { height: min-content; }.h-px { height: 1px; }.h-screen { height: 100vh; }.max-h-0 { max-height: calc(var(–spacing) * 0); }.max-h-6 { max-height: calc(var(–spacing) * 6); }.max-h-12 { max-height: calc(var(–spacing) * 12); }.max-h-32 { max-height: calc(var(–spacing) * 32); }.max-h-80 { max-height: calc(var(–spacing) * 80); }.max-h-[90vh] { max-height: 90vh; }.max-h-[var(–logo-height-mobile,25px)] { max-height: var(–logo-height-mobile,25px); }.min-h-8 { min-height: calc(var(–spacing) * 8); }.min-h-10 { min-height: calc(var(–spacing) * 10); }.min-h-[400px] { min-height: 400px; }.min-h-full { min-height: 100%; }.min-h-screen { min-height: 100vh; }.w-0 { width: calc(var(–spacing) * 0); }.w-1 { width: calc(var(–spacing) * 1); }.w-1.5 { width: calc(var(–spacing) * 1.5); }.w-1/3 { width: 33.3333%; }.w-1/4 { width: 25%; }.w-2 { width: calc(var(–spacing) * 2); }.w-3 { width: calc(var(–spacing) * 3); }.w-4 { width: calc(var(–spacing) * 4); }.w-5 { width: calc(var(–spacing) * 5); }.w-6 { width: calc(var(–spacing) * 6); }.w-8 { width: calc(var(–spacing) * 8); }.w-9 { width: calc(var(–spacing) * 9); }.w-10 { width: calc(var(–spacing) * 10); }.w-12 { width: calc(var(–spacing) * 12); }.w-16 { width: calc(var(–spacing) * 16); }.w-20 { width: calc(var(–spacing) * 20); }.w-24 { width: calc(var(–spacing) * 24); }.w-28 { width: calc(var(–spacing) * 28); }.w-32 { width: calc(var(–spacing) * 32); }.w-36 { width: calc(var(–spacing) * 36); }.w-40 { width: calc(var(–spacing) * 40); }.w-44 { width: calc(var(–spacing) * 44); }.w-48 { width: calc(var(–spacing) * 48); }.w-56 { width: calc(var(–spacing) * 56); }.w-64 { width: calc(var(–spacing) * 64); }.w-[140px] { width: 140px; }.w-auto { width: auto; }.w-fit { width: fit-content; }.w-full { width: 100%; }.w-max { width: max-content; }.w-px { width: 1px; }.w-screen { width: 100vw; }.max-w-2xl { max-width: var(–container-2xl); }.max-w-4xl { max-width: var(–container-4xl); }.max-w-6xl { max-width: var(–container-6xl); }.max-w-7xl { max-width: var(–container-7xl); }.max-w-32 { max-width: calc(var(–spacing) * 32); }.max-w-40 { max-width: calc(var(–spacing) * 40); }.max-w-64 { max-width: calc(var(–spacing) * 64); }.max-w-[960px] { max-width: 960px; }.max-w-[65ch] { max-width: 65ch; }.max-w-[1200px] { max-width: 1200px; }.max-w-[min(var(–site-header-max-width,970px),98dvw)] { max-width: min(var(–site-header-max-width,970px),98dvw); }.max-w-full { max-width: 100%; }.max-w-lg { max-width: var(–container-lg); }.max-w-md { max-width: var(–container-md); }.max-w-none { max-width: none; }.max-w-screen-xl { max-width: var(–breakpoint-xl); }.max-w-sm { max-width: var(–container-sm); }.max-w-xl { max-width: var(–container-xl); }.min-w-0 { min-width: calc(var(–spacing) * 0); }.min-w-8 { min-width: calc(var(–spacing) * 8); }.min-w-10 { min-width: calc(var(–spacing) * 10); }.min-w-16 { min-width: calc(var(–spacing) * 16); }.min-w-20 { min-width: calc(var(–spacing) * 20); }.min-w-36 { min-width: calc(var(–spacing) * 36); }.min-w-40 { min-width: calc(var(–spacing) * 40); }.min-w-52 { min-width: calc(var(–spacing) * 52); }.min-w-[800px] { min-width: 800px; }.min-w-[var(–tray-bell-min-width,40px)] { min-width: var(–tray-bell-min-width,40px); }.min-w-full { min-width: 100%; }.flex-0 { flex: 0 1 0%; }.flex-1 { flex: 1 1 0%; }.flex-none { flex: 0 0 auto; }.flex-shrink { flex-shrink: 1; }.flex-shrink-0 { flex-shrink: 0; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.flex-grow, .grow { flex-grow: 1; }.grow-0 { flex-grow: 0; }.basis-1 { flex-basis: calc(var(–spacing) * 1); }.basis-2 { flex-basis: calc(var(–spacing) * 2); }.basis-3 { flex-basis: calc(var(–spacing) * 3); }.basis-11 { flex-basis: calc(var(–spacing) * 11); }.basis-13 { flex-basis: calc(var(–spacing) * 13); }.basis-auto { flex-basis: auto; }.basis-full { flex-basis: 100%; }.border-collapse { border-collapse: collapse; }.origin-center { transform-origin: 50% center; }.origin-top-right { transform-origin: 100% 0px; }.-translate-x-1 { –tw-translate-x: calc(var(–spacing) * -1); translate: var(–tw-translate-x) var(–tw-translate-y); }.-translate-x-1/2 { –tw-translate-x: -50%; translate: var(–tw-translate-x) var(–tw-translate-y); }.-translate-x-2 { –tw-translate-x: calc(var(–spacing) * -2); translate: var(–tw-translate-x) var(–tw-translate-y); }.translate-x-0 { –tw-translate-x: calc(var(–spacing) * 0); translate: var(–tw-translate-x) var(–tw-translate-y); }.translate-x-4 { –tw-translate-x: calc(var(–spacing) * 4); translate: var(–tw-translate-x) var(–tw-translate-y); }.-translate-y-1 { –tw-translate-y: calc(var(–spacing) * -1); translate: var(–tw-translate-x) var(–tw-translate-y); }.-translate-y-1/2 { –tw-translate-y: -50%; translate: var(–tw-translate-x) var(–tw-translate-y); }.-translate-y-full { –tw-translate-y: -100%; translate: var(–tw-translate-x) var(–tw-translate-y); }.translate-y-0 { –tw-translate-y: calc(var(–spacing) * 0); translate: var(–tw-translate-x) var(–tw-translate-y); }.translate-y-4 { –tw-translate-y: calc(var(–spacing) * 4); translate: var(–tw-translate-x) var(–tw-translate-y); }.translate-y-full { –tw-translate-y: 100%; translate: var(–tw-translate-x) var(–tw-translate-y); }.scale-95 { –tw-scale-x: 95%; –tw-scale-y: 95%; –tw-scale-z: 95%; scale: var(–tw-scale-x) var(–tw-scale-y); }.scale-100 { –tw-scale-x: 100%; –tw-scale-y: 100%; –tw-scale-z: 100%; scale: var(–tw-scale-x) var(–tw-scale-y); }.-rotate-90 { rotate: -90deg; }.rotate-90 { rotate: 90deg; }.rotate-180 { rotate: 180deg; }.transform { transform: var(–tw-rotate-x,) var(–tw-rotate-y,) var(–tw-rotate-z,) var(–tw-skew-x,) var(–tw-skew-y,); }.animate-pulse { animation: var(–animate-pulse); }.animate-spin { animation: var(–animate-spin); }.cursor-default { cursor: default; }.cursor-not-allowed { cursor: not-allowed; }.cursor-pointer { cursor: pointer; }.resize { resize: both; }.resize-y { resize: vertical; }.snap-x { scroll-snap-type: x var(–tw-scroll-snap-strictness); }.snap-mandatory { –tw-scroll-snap-strictness: mandatory; }.snap-start { scroll-snap-align: start; }.list-outside { list-style-position: outside; }.list-disc { list-style-type: disc; }.list-none { list-style-type: none; }.appearance-none { appearance: none; }.grid-cols-1 { grid-template-columns: repeat(1, minmax(0px, 1fr)); }.grid-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }.grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }.grid-rows-2 { grid-template-rows: repeat(2, minmax(0px, 1fr)); }.flex-col { flex-direction: column; }.flex-row { flex-direction: row; }.flex-row-reverse { flex-direction: row-reverse; }.flex-nowrap { flex-wrap: nowrap; }.flex-wrap { flex-wrap: wrap; }.place-items-center { place-items: center; }.content-around { align-content: space-around; }.content-center { align-content: center; }.content-stretch { align-content: stretch; }.items-baseline { align-items: baseline; }.items-center { align-items: center; }.items-end { align-items: flex-end; }.items-start { align-items: flex-start; }.items-stretch { align-items: stretch; }.justify-between { justify-content: space-between; }.justify-center { justify-content: center; }.justify-end { justify-content: flex-end; }.justify-start { justify-content: flex-start; }.gap-0 { gap: calc(var(–spacing) * 0); }.gap-1 { gap: calc(var(–spacing) * 1); }.gap-1.5 { gap: calc(var(–spacing) * 1.5); }.gap-2 { gap: calc(var(–spacing) * 2); }.gap-2.5 { gap: calc(var(–spacing) * 2.5); }.gap-3 { gap: calc(var(–spacing) * 3); }.gap-4 { gap: calc(var(–spacing) * 4); }.gap-5 { gap: calc(var(–spacing) * 5); }.gap-6 { gap: calc(var(–spacing) * 6); }.gap-8 { gap: calc(var(–spacing) * 8); }.gap-[var(–site-header-gap,010.4px)] { gap: var(–site-header-gap,10.4px); }.gap-px { gap: 1px; }:where(.space-y-1 > :not(:last-child)) { –tw-space-y-reverse: 0; margin-block-start: calc(calc(var(–spacing) * 1) * var(–tw-space-y-reverse)); margin-block-end: calc(calc(var(–spacing) * 1) * calc(1 – var(–tw-space-y-reverse))); }.gap-x-1 { column-gap: calc(var(–spacing) * 1); }.gap-x-3 { column-gap: calc(var(–spacing) * 3); }.gap-x-4 { column-gap: calc(var(–spacing) * 4); }.gap-x-5 { column-gap: calc(var(–spacing) * 5); }.gap-x-8 { column-gap: calc(var(–spacing) * 8); }.gap-x-10 { column-gap: calc(var(–spacing) * 10); }:where(.space-x-3 > :not(:last-child)) { –tw-space-x-reverse: 0; margin-inline-start: calc(calc(var(–spacing) * 3) * var(–tw-space-x-reverse)); margin-inline-end: calc(calc(var(–spacing) * 3) * calc(1 – var(–tw-space-x-reverse))); }.gap-y-1 { row-gap: calc(var(–spacing) * 1); }.gap-y-2 { row-gap: calc(var(–spacing) * 2); }.gap-y-3 { row-gap: calc(var(–spacing) * 3); }.gap-y-4 { row-gap: calc(var(–spacing) * 4); }.gap-y-6 { row-gap: calc(var(–spacing) * 6); }.gap-y-12 { row-gap: calc(var(–spacing) * 12); }:where(.divide-y > :not(:last-child)) { –tw-divide-y-reverse: 0; border-bottom-style: var(–tw-border-style); border-top-style: var(–tw-border-style); border-top-width: calc(1px * var(–tw-divide-y-reverse)); border-bottom-width: calc(1px * calc(1 – var(–tw-divide-y-reverse))); }:where(.divide-neutral-100 > :not(:last-child)) { border-color: var(–color-neutral-100); }:where(.divide-white > :not(:last-child)) { border-color: var(–color-white); }.self-center { align-self: center; }.self-start { align-self: flex-start; }.truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }.overflow-auto { overflow: auto; }.overflow-hidden { overflow: hidden; }.overflow-visible { overflow: visible; }.overflow-x-auto { overflow-x: auto; }.overflow-x-hidden { overflow-x: hidden; }.overflow-x-scroll { overflow-x: scroll; }.overflow-y-auto { overflow-y: auto; }.overflow-y-clip { overflow-y: clip; }.overflow-y-hidden { overflow-y: hidden; }.overflow-y-visible { overflow-y: visible; }.overscroll-x-contain { overscroll-behavior-x: contain; }.scroll-smooth { scroll-behavior: smooth; }.rounded { border-radius: 4px; }.rounded-2xl { border-radius: var(–radius-2xl); }.rounded-3xl { border-radius: var(–radius-3xl); }.rounded-4xl { border-radius: var(–radius-4xl); }.rounded-[50%] { border-radius: 50%; }.rounded-[var(–image–border-radius,0)] { border-radius: var(–image–border-radius,0); }.rounded-full { border-radius: 3.40282e+38px; }.rounded-lg { border-radius: var(–radius-lg); }.rounded-md { border-radius: var(–radius-md); }.rounded-none { border-radius: 0px; }.rounded-sm { border-radius: var(–radius-sm); }.rounded-xl { border-radius: var(–radius-xl); }.rounded-xs { border-radius: var(–radius-xs); }.rounded-t-2xl { border-top-left-radius: var(–radius-2xl); border-top-right-radius: var(–radius-2xl); }.rounded-l-full { border-top-left-radius: 3.40282e+38px; border-bottom-left-radius: 3.40282e+38px; }.rounded-tl-lg { border-top-left-radius: var(–radius-lg); }.rounded-r-full { border-top-right-radius: 3.40282e+38px; border-bottom-right-radius: 3.40282e+38px; }.rounded-tr-lg { border-top-right-radius: var(–radius-lg); }.rounded-b-none { border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; }.rounded-br-lg { border-bottom-right-radius: var(–radius-lg); }.rounded-bl-lg { border-bottom-left-radius: var(–radius-lg); }.border { border-style: var(–tw-border-style); border-width: 1px; }.border-0 { border-style: var(–tw-border-style); border-width: 0px; }.border-1 { border-style: var(–tw-border-style); border-width: 1px; }.border-2 { border-style: var(–tw-border-style); border-width: 2px; }.border-8 { border-style: var(–tw-border-style); border-width: 8px; }.border-x-0 { border-inline-style: var(–tw-border-style); border-inline-width: 0px; }.border-y { border-block-style: var(–tw-border-style); border-block-width: 1px; }.border-y-0 { border-block-style: var(–tw-border-style); border-block-width: 0px; }.border-y-2 { border-block-style: var(–tw-border-style); border-block-width: 2px; }.border-t { border-top-style: var(–tw-border-style); border-top-width: 1px; }.border-t-2 { border-top-style: var(–tw-border-style); border-top-width: 2px; }.border-r { border-right-style: var(–tw-border-style); border-right-width: 1px; }.border-r-0 { border-right-style: var(–tw-border-style); border-right-width: 0px; }.border-b { border-bottom-style: var(–tw-border-style); border-bottom-width: 1px; }.border-b-0 { border-bottom-style: var(–tw-border-style); border-bottom-width: 0px; }.border-b-2 { border-bottom-style: var(–tw-border-style); border-bottom-width: 2px; }.border-l { border-left-style: var(–tw-border-style); border-left-width: 1px; }.border-dashed { –tw-border-style: dashed; border-style: dashed; }.border-none { –tw-border-style: none; border-style: none; }.border-solid { –tw-border-style: solid; border-style: solid; }.border-(–footer-nav-border-color) { border-color: var(–footer-nav-border-color); }.border-[#DC1F26] { border-color: rgb(220, 31, 38); }.border-black { border-color: var(–color-black); }.border-gray-100 { border-color: var(–color-gray-100); }.border-gray-200 { border-color: var(–color-gray-200); }.border-gray-300 { border-color: var(–color-gray-300); }.border-gray-400 { border-color: var(–color-gray-400); }.border-gray-500 { border-color: var(–color-gray-500); }.border-gray-600 { border-color: var(–color-gray-600); }.border-gray-700 { border-color: var(–color-gray-700); }.border-gray-800 { border-color: var(–color-gray-800); }.border-green-600 { border-color: var(–color-green-600); }.border-neutral-100 { border-color: var(–color-neutral-100); }.border-neutral-200 { border-color: var(–color-neutral-200); }.border-neutral-300 { border-color: var(–color-neutral-300); }.border-red-600 { border-color: var(–color-red-600); }.border-rose-100 { border-color: var(–color-rose-100); }.border-slate-600 { border-color: var(–color-slate-600); }.border-transparent { border-color: rgba(0, 0, 0, 0); }.border-white { border-color: var(–color-white); }.border-yellow-300 { border-color: var(–color-yellow-300); }.border-yellow-500 { border-color: var(–color-yellow-500); }.border-t-black { border-top-color: var(–color-black); }.border-t-neutral-500 { border-top-color: var(–color-neutral-500); }.border-r-neutral-100 { border-right-color: var(–color-neutral-100); }.border-r-neutral-200 { border-right-color: var(–color-neutral-200); }.border-b-black { border-bottom-color: var(–color-black); }.border-b-neutral-200 { border-bottom-color: var(–color-neutral-200); }.border-b-neutral-300 { border-bottom-color: var(–color-neutral-300); }.border-l-neutral-200 { border-left-color: var(–color-neutral-200); }.bg-(–footer-bg-color) { background-color: var(–footer-bg-color); }.bg-[#33333370] { background-color: rgba(51, 51, 51, 0.44); }.bg-[#DC1F26] { background-color: rgb(220, 31, 38); }.bg-[#ededed] { background-color: rgb(237, 237, 237); }.bg-[var(–region-redirect-banner-background,var(–brand-color-1))] { background-color: var(–region-redirect-banner-background,var(–brand-color-1)); }.bg-[var(–site-header-background-color,white)] { background-color: var(–site-header-background-color,white); }.bg-amber-50 { background-color: var(–color-amber-50); }.bg-black { background-color: var(–color-black); }.bg-blue-50 { background-color: var(–color-blue-50); }.bg-gray-50 { background-color: var(–color-gray-50); }.bg-gray-100 { background-color: var(–color-gray-100); }.bg-gray-200 { background-color: var(–color-gray-200); }.bg-gray-300 { background-color: var(–color-gray-300); }.bg-gray-500 { background-color: var(–color-gray-500); }.bg-gray-500/75 { background-color: rgba(106, 114, 130, 0.75); }@supports (color:color-mix(in lab,red,red)) { .bg-gray-500/75 { background-color: color-mix(in oklab,var(–color-gray-500) 75%,transparent); }}.bg-gray-800 { background-color: var(–color-gray-800); }.bg-gray-900 { background-color: var(–color-gray-900); }.bg-gray-950 { background-color: var(–color-gray-950); }.bg-green-50 { background-color: var(–color-green-50); }.bg-green-100 { background-color: var(–color-green-100); }.bg-green-500 { background-color: var(–color-green-500); }.bg-green-600 { background-color: var(–color-green-600); }.bg-inherit { background-color: inherit; }.bg-neutral-50 { background-color: var(–color-neutral-50); }.bg-neutral-50/50 { background-color: rgba(250, 250, 250, 0.5); }@supports (color:color-mix(in lab,red,red)) { .bg-neutral-50/50 { background-color: color-mix(in oklab,var(–color-neutral-50) 50%,transparent); }}.bg-neutral-100 { background-color: var(–color-neutral-100); }.bg-neutral-200 { background-color: var(–color-neutral-200); }.bg-neutral-300 { background-color: var(–color-neutral-300); }.bg-neutral-500 { background-color: var(–color-neutral-500); }.bg-neutral-600 { background-color: var(–color-neutral-600); }.bg-neutral-800 { background-color: var(–color-neutral-800); }.bg-neutral-900 { background-color: var(–color-neutral-900); }.bg-neutral-900/40 { background-color: rgba(23, 23, 23, 0.4); }@supports (color:color-mix(in lab,red,red)) { .bg-neutral-900/40 { background-color: color-mix(in oklab,var(–color-neutral-900) 40%,transparent); }}.bg-neutral-950 { background-color: var(–color-neutral-950); }.bg-orange-50 { background-color: var(–color-orange-50); }.bg-purple-50 { background-color: var(–color-purple-50); }.bg-red-50 { background-color: var(–color-red-50); }.bg-red-100 { background-color: var(–color-red-100); }.bg-red-500 { background-color: var(–color-red-500); }.bg-red-600 { background-color: var(–color-red-600); }.bg-rose-50 { background-color: var(–color-rose-50); }.bg-rose-500 { background-color: var(–color-rose-500); }.bg-slate-50 { background-color: var(–color-slate-50); }.bg-slate-500 { background-color: var(–color-slate-500); }.bg-slate-900 { background-color: var(–color-slate-900); }.bg-teal-50 { background-color: var(–color-teal-50); }.bg-transparent { background-color: rgba(0, 0, 0, 0); }.bg-white { background-color: var(–color-white); }.bg-yellow-50 { background-color: var(–color-yellow-50); }.bg-yellow-500 { background-color: var(–color-yellow-500); }.bg-zinc-300 { background-color: var(–color-zinc-300); }.bg-zinc-800 { background-color: var(–color-zinc-800); }.bg-zinc-900 { background-color: var(–color-zinc-900); }.bg-gradient-to-l { –tw-gradient-position: to left in oklab; background-image: linear-gradient(var(–tw-gradient-stops)); }.bg-gradient-to-t { –tw-gradient-position: to top in oklab; background-image: linear-gradient(var(–tw-gradient-stops)); }.bg-none { background-image: none; }.from-gray-100 { –tw-gradient-from: var(–color-gray-100); –tw-gradient-stops: var(–tw-gradient-via-stops,var(–tw-gradient-position), var(–tw-gradient-from) var(–tw-gradient-from-position), var(–tw-gradient-to) var(–tw-gradient-to-position)); }.from-gray-950 { –tw-gradient-from: var(–color-gray-950); –tw-gradient-stops: var(–tw-gradient-via-stops,var(–tw-gradient-position), var(–tw-gradient-from) var(–tw-gradient-from-position), var(–tw-gradient-to) var(–tw-gradient-to-position)); }.from-white { –tw-gradient-from: var(–color-white); –tw-gradient-stops: var(–tw-gradient-via-stops,var(–tw-gradient-position), var(–tw-gradient-from) var(–tw-gradient-from-position), var(–tw-gradient-to) var(–tw-gradient-to-position)); }.to-gray-200 { –tw-gradient-to: var(–color-gray-200); –tw-gradient-stops: var(–tw-gradient-via-stops,var(–tw-gradient-position), var(–tw-gradient-from) var(–tw-gradient-from-position), var(–tw-gradient-to) var(–tw-gradient-to-position)); }.to-gray-800 { –tw-gradient-to: var(–color-gray-800); –tw-gradient-stops: var(–tw-gradient-via-stops,var(–tw-gradient-position), var(–tw-gradient-from) var(–tw-gradient-from-position), var(–tw-gradient-to) var(–tw-gradient-to-position)); }.to-transparent { –tw-gradient-to: transparent; –tw-gradient-stops: var(–tw-gradient-via-stops,var(–tw-gradient-position), var(–tw-gradient-from) var(–tw-gradient-from-position), var(–tw-gradient-to) var(–tw-gradient-to-position)); }.bg-cover { background-size: cover; }.bg-center { background-position: 50% center; }.bg-repeat { background-repeat: repeat; }.fill-gray-500 { fill: var(–color-gray-500); }.fill-white { fill: var(–color-white); }.object-contain { object-fit: contain; }.object-cover { object-fit: cover; }.object-center { object-position: center center; }.p-0 { padding: calc(var(–spacing) * 0); }.p-1 { padding: calc(var(–spacing) * 1); }.p-1.5 { padding: calc(var(–spacing) * 1.5); }.p-2 { padding: calc(var(–spacing) * 2); }.p-3 { padding: calc(var(–spacing) * 3); }.p-4 { padding: calc(var(–spacing) * 4); }.p-5 { padding: calc(var(–spacing) * 5); }.p-6 { padding: calc(var(–spacing) * 6); }.p-8 { padding: calc(var(–spacing) * 8); }.px-0 { padding-inline: calc(var(–spacing) * 0); }.px-1 { padding-inline: calc(var(–spacing) * 1); }.px-2 { padding-inline: calc(var(–spacing) * 2); }.px-2.5 { padding-inline: calc(var(–spacing) * 2.5); }.px-3 { padding-inline: calc(var(–spacing) * 3); }.px-4 { padding-inline: calc(var(–spacing) * 4); }.px-5 { padding-inline: calc(var(–spacing) * 5); }.px-6 { padding-inline: calc(var(–spacing) * 6); }.px-8 { padding-inline: calc(var(–spacing) * 8); }.px-12 { padding-inline: calc(var(–spacing) * 12); }.py-0 { padding-block: calc(var(–spacing) * 0); }.py-0.5 { padding-block: calc(var(–spacing) * .5); }.py-1 { padding-block: calc(var(–spacing) * 1); }.py-1.5 { padding-block: calc(var(–spacing) * 1.5); }.py-2 { padding-block: calc(var(–spacing) * 2); }.py-2.5 { padding-block: calc(var(–spacing) * 2.5); }.py-3 { padding-block: calc(var(–spacing) * 3); }.py-4 { padding-block: calc(var(–spacing) * 4); }.py-5 { padding-block: calc(var(–spacing) * 5); }.py-6 { padding-block: calc(var(–spacing) * 6); }.py-7 { padding-block: calc(var(–spacing) * 7); }.py-8 { padding-block: calc(var(–spacing) * 8); }.py-10 { padding-block: calc(var(–spacing) * 10); }.py-12 { padding-block: calc(var(–spacing) * 12); }.py-24 { padding-block: calc(var(–spacing) * 24); }.pt-1 { padding-top: calc(var(–spacing) * 1); }.pt-2 { padding-top: calc(var(–spacing) * 2); }.pt-3 { padding-top: calc(var(–spacing) * 3); }.pt-4 { padding-top: calc(var(–spacing) * 4); }.pt-5 { padding-top: calc(var(–spacing) * 5); }.pt-6 { padding-top: calc(var(–spacing) * 6); }.pt-7 { padding-top: calc(var(–spacing) * 7); }.pt-8 { padding-top: calc(var(–spacing) * 8); }.pr-0 { padding-right: calc(var(–spacing) * 0); }.pr-1 { padding-right: calc(var(–spacing) * 1); }.pr-2 { padding-right: calc(var(–spacing) * 2); }.pr-3 { padding-right: calc(var(–spacing) * 3); }.pr-4 { padding-right: calc(var(–spacing) * 4); }.pr-5 { padding-right: calc(var(–spacing) * 5); }.pr-6 { padding-right: calc(var(–spacing) * 6); }.pr-8 { padding-right: calc(var(–spacing) * 8); }.pr-10 { padding-right: calc(var(–spacing) * 10); }.pr-12 { padding-right: calc(var(–spacing) * 12); }.pb-0 { padding-bottom: calc(var(–spacing) * 0); }.pb-1 { padding-bottom: calc(var(–spacing) * 1); }.pb-2 { padding-bottom: calc(var(–spacing) * 2); }.pb-3 { padding-bottom: calc(var(–spacing) * 3); }.pb-4 { padding-bottom: calc(var(–spacing) * 4); }.pb-5 { padding-bottom: calc(var(–spacing) * 5); }.pb-6 { padding-bottom: calc(var(–spacing) * 6); }.pb-8 { padding-bottom: calc(var(–spacing) * 8); }.pb-12 { padding-bottom: calc(var(–spacing) * 12); }.pb-[var(–strapline-padding-bottom,12px)] { padding-bottom: var(–strapline-padding-bottom,12px); }.pl-0 { padding-left: calc(var(–spacing) * 0); }.pl-1 { padding-left: calc(var(–spacing) * 1); }.pl-1.5 { padding-left: calc(var(–spacing) * 1.5); }.pl-2 { padding-left: calc(var(–spacing) * 2); }.pl-3 { padding-left: calc(var(–spacing) * 3); }.pl-4 { padding-left: calc(var(–spacing) * 4); }.pl-8 { padding-left: calc(var(–spacing) * 8); }.pl-9 { padding-left: calc(var(–spacing) * 9); }.pl-12 { padding-left: calc(var(–spacing) * 12); }.text-center { text-align: center; }.text-left { text-align: left; }.text-right { text-align: right; }.-indent-0 { text-indent: calc(var(–spacing) * 0); }.align-middle { vertical-align: middle; }.align-text-top { vertical-align: text-top; }.align-top { vertical-align: top; }.font-mono { font-family: var(–font-mono); }.font-sans { font-family: var(–font-sans); }.font-serif { font-family: var(–font-serif); }.text-2xl { font-size: var(–text-2xl); line-height: var(–tw-leading,var(–text-2xl–line-height)); }.text-3xl { font-size: var(–text-3xl); line-height: var(–tw-leading,var(–text-3xl–line-height)); }.text-4xl { font-size: var(–text-4xl); line-height: var(–tw-leading,var(–text-4xl–line-height)); }.text-base { font-size: var(–text-base); line-height: var(–tw-leading,var(–text-base–line-height)); }.text-lg { font-size: var(–text-lg); line-height: var(–tw-leading,var(–text-lg–line-height)); }.text-sm { font-size: var(–text-sm); line-height: var(–tw-leading,var(–text-sm–line-height)); }.text-xl { font-size: var(–text-xl); line-height: var(–tw-leading,var(–text-xl–line-height)); }.text-xs { font-size: var(–text-xs); line-height: var(–tw-leading,var(–text-xs–line-height)); }.text-[10px] { font-size: 10px; }.text-[11px] { font-size: 11px; }.text-[length:var(–strapline-font-size,13px)] { font-size: var(–strapline-font-size,13px); }.leading-2 { –tw-leading: calc(var(–spacing) * 2); line-height: calc(var(–spacing) * 2); }.leading-3 { –tw-leading: calc(var(–spacing) * 3); line-height: calc(var(–spacing) * 3); }.leading-4 { –tw-leading: calc(var(–spacing) * 4); line-height: calc(var(–spacing) * 4); }.leading-5 { –tw-leading: calc(var(–spacing) * 5); line-height: calc(var(–spacing) * 5); }.leading-6 { –tw-leading: calc(var(–spacing) * 6); line-height: calc(var(–spacing) * 6); }.leading-7 { –tw-leading: calc(var(–spacing) * 7); line-height: calc(var(–spacing) * 7); }.leading-8 { –tw-leading: calc(var(–spacing) * 8); line-height: calc(var(–spacing) * 8); }.leading-10 { –tw-leading: calc(var(–spacing) * 10); line-height: calc(var(–spacing) * 10); }.leading-none { –tw-leading: 1; line-height: 1; }.leading-normal { –tw-leading: var(–leading-normal); line-height: var(–leading-normal); }.leading-relaxed { –tw-leading: var(–leading-relaxed); line-height: var(–leading-relaxed); }.leading-snug { –tw-leading: var(–leading-snug); line-height: var(–leading-snug); }.leading-tight { –tw-leading: var(–leading-tight); line-height: var(–leading-tight); }.font-black { –tw-font-weight: var(–font-weight-black); font-weight: var(–font-weight-black); }.font-bold { –tw-font-weight: var(–font-weight-bold); font-weight: var(–font-weight-bold); }.font-extrabold { –tw-font-weight: var(–font-weight-extrabold); font-weight: var(–font-weight-extrabold); }.font-medium { –tw-font-weight: var(–font-weight-medium); font-weight: var(–font-weight-medium); }.font-normal { –tw-font-weight: var(–font-weight-normal); font-weight: var(–font-weight-normal); }.font-semibold { –tw-font-weight: var(–font-weight-semibold); font-weight: var(–font-weight-semibold); }.tracking-normal { –tw-tracking: var(–tracking-normal); letter-spacing: var(–tracking-normal); }.tracking-tight { –tw-tracking: var(–tracking-tight); letter-spacing: var(–tracking-tight); }.tracking-wide { –tw-tracking: var(–tracking-wide); letter-spacing: var(–tracking-wide); }.tracking-wider { –tw-tracking: var(–tracking-wider); letter-spacing: var(–tracking-wider); }.tracking-widest { –tw-tracking: var(–tracking-widest); letter-spacing: var(–tracking-widest); }.text-nowrap { text-wrap: nowrap; }.text-wrap { text-wrap: wrap; }.break-words { overflow-wrap: break-word; }.text-ellipsis { text-overflow: ellipsis; }.whitespace-break-spaces { white-space: break-spaces; }.whitespace-normal { white-space: normal; }.whitespace-nowrap { white-space: nowrap; }.whitespace-pre { white-space: pre; }.text-(–footer-text-color) { color: var(–footer-text-color); }.text-[#DC1F26] { color: rgb(220, 31, 38); }.text-[var(–site-header-text-color,#333)] { color: var(–site-header-text-color,#333); }.text-amber-700 { color: var(–color-amber-700); }.text-black { color: var(–color-black); }.text-blue-500 { color: var(–color-blue-500); }.text-blue-700 { color: var(–color-blue-700); }.text-current { color: currentcolor; }.text-gray-50 { color: var(–color-gray-50); }.text-gray-100 { color: var(–color-gray-100); }.text-gray-200 { color: var(–color-gray-200); }.text-gray-300 { color: var(–color-gray-300); }.text-gray-400 { color: var(–color-gray-400); }.text-gray-500 { color: var(–color-gray-500); }.text-gray-600 { color: var(–color-gray-600); }.text-gray-700 { color: var(–color-gray-700); }.text-gray-800 { color: var(–color-gray-800); }.text-gray-900 { color: var(–color-gray-900); }.text-green-50 { color: var(–color-green-50); }.text-green-400 { color: var(–color-green-400); }.text-green-500 { color: var(–color-green-500); }.text-green-600 { color: var(–color-green-600); }.text-green-700 { color: var(–color-green-700); }.text-inherit { color: inherit; }.text-lime-700 { color: var(–color-lime-700); }.text-neutral-100 { color: var(–color-neutral-100); }.text-neutral-200 { color: var(–color-neutral-200); }.text-neutral-300 { color: var(–color-neutral-300); }.text-neutral-400 { color: var(–color-neutral-400); }.text-neutral-500 { color: var(–color-neutral-500); }.text-neutral-600 { color: var(–color-neutral-600); }.text-neutral-700 { color: var(–color-neutral-700); }.text-neutral-800 { color: var(–color-neutral-800); }.text-neutral-900 { color: var(–color-neutral-900); }.text-orange-700 { color: var(–color-orange-700); }.text-pink-600 { color: var(–color-pink-600); }.text-purple-700 { color: var(–color-purple-700); }.text-red-50 { color: var(–color-red-50); }.text-red-500 { color: var(–color-red-500); }.text-red-600 { color: var(–color-red-600); }.text-red-700 { color: var(–color-red-700); }.text-rose-600 { color: var(–color-rose-600); }.text-slate-50 { color: var(–color-slate-50); }.text-slate-500 { color: var(–color-slate-500); }.text-teal-700 { color: var(–color-teal-700); }.text-white { color: var(–color-white); }.text-yellow-700 { color: var(–color-yellow-700); }.text-yellow-800 { color: var(–color-yellow-800); }.[text-transform:var(–strapline-text-transform,uppercase)] { text-transform: var(–strapline-text-transform,uppercase); }.capitalize { text-transform: capitalize; }.lowercase { text-transform: lowercase; }.normal-case { text-transform: none; }.uppercase { text-transform: uppercase; }.italic { font-style: italic; }.ordinal { –tw-ordinal: ordinal; font-variant-numeric: var(–tw-ordinal,) var(–tw-slashed-zero,) var(–tw-numeric-figure,) var(–tw-numeric-spacing,) var(–tw-numeric-fraction,); }.line-through { text-decoration-line: line-through; }.no-underline { text-decoration-line: none; }.underline { text-decoration-line: underline; }.decoration-current { text-decoration-color: currentcolor; }.decoration-transparent { text-decoration-color: rgba(0, 0, 0, 0); }.decoration-solid { text-decoration-style: solid; }.underline-offset-2 { text-underline-offset: 2px; }.placeholder-neutral-500::placeholder { color: var(–color-neutral-500); }.opacity-0 { opacity: 0; }.opacity-30 { opacity: 0.3; }.opacity-40 { opacity: 0.4; }.opacity-50 { opacity: 0.5; }.opacity-80 { opacity: 0.8; }.opacity-100 { opacity: 1; }.shadow { –tw-shadow: 0 1px 3px 0 var(–tw-shadow-color,#0000001a), 0 1px 2px -1px var(–tw-shadow-color,#0000001a); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.shadow-2xl { –tw-shadow: 0 25px 50px -12px var(–tw-shadow-color,#00000040); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.shadow-[0_20px_60px_-15px_rgba(0,0,0,0.4)] { –tw-shadow: 0 20px 60px -15px var(–tw-shadow-color,#0006); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.shadow-inner { –tw-shadow: inset 0 2px 4px 0 var(–tw-shadow-color,#0000000d); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.shadow-lg { –tw-shadow: 0 10px 15px -3px var(–tw-shadow-color,#0000001a), 0 4px 6px -4px var(–tw-shadow-color,#0000001a); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.shadow-md { –tw-shadow: 0 4px 6px -1px var(–tw-shadow-color,#0000001a), 0 2px 4px -2px var(–tw-shadow-color,#0000001a); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.shadow-none { –tw-shadow: 0 0 #0000; box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.shadow-sm { –tw-shadow: 0 1px 3px 0 var(–tw-shadow-color,#0000001a), 0 1px 2px -1px var(–tw-shadow-color,#0000001a); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.shadow-xl { –tw-shadow: 0 20px 25px -5px var(–tw-shadow-color,#0000001a), 0 8px 10px -6px var(–tw-shadow-color,#0000001a); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.shadow-xs { –tw-shadow: 0 1px 2px 0 var(–tw-shadow-color,#0000000d); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.ring { –tw-ring-shadow: var(–tw-ring-inset,) 0 0 0 calc(1px + var(–tw-ring-offset-width)) var(–tw-ring-color,currentcolor); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.ring-0 { –tw-ring-shadow: var(–tw-ring-inset,) 0 0 0 calc(0px + var(–tw-ring-offset-width)) var(–tw-ring-color,currentcolor); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.ring-1 { –tw-ring-shadow: var(–tw-ring-inset,) 0 0 0 calc(1px + var(–tw-ring-offset-width)) var(–tw-ring-color,currentcolor); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.ring-4 { –tw-ring-shadow: var(–tw-ring-inset,) 0 0 0 calc(4px + var(–tw-ring-offset-width)) var(–tw-ring-color,currentcolor); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.ring-amber-600 { –tw-ring-color: var(–color-amber-600); }.ring-black { –tw-ring-color: var(–color-black); }.ring-blue-600 { –tw-ring-color: var(–color-blue-600); }.ring-gray-300 { –tw-ring-color: var(–color-gray-300); }.ring-green-600 { –tw-ring-color: var(–color-green-600); }.ring-orange-600 { –tw-ring-color: var(–color-orange-600); }.ring-purple-400 { –tw-ring-color: var(–color-purple-400); }.ring-purple-600 { –tw-ring-color: var(–color-purple-600); }.ring-red-600 { –tw-ring-color: var(–color-red-600); }.ring-slate-600 { –tw-ring-color: var(–color-slate-600); }.ring-teal-600 { –tw-ring-color: var(–color-teal-600); }.ring-white { –tw-ring-color: var(–color-white); }.ring-yellow-600 { –tw-ring-color: var(–color-yellow-600); }.outline-hidden { –tw-outline-style: none; outline-style: none; }@media (forced-colors: active) { .outline-hidden { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.outline, .outline-1 { outline-style: var(–tw-outline-style); outline-width: 1px; }.outline-transparent { outline-color: rgba(0, 0, 0, 0); }.blur { –tw-blur: blur(8px); filter: var(–tw-blur,) var(–tw-brightness,) var(–tw-contrast,) var(–tw-grayscale,) var(–tw-hue-rotate,) var(–tw-invert,) var(–tw-saturate,) var(–tw-sepia,) var(–tw-drop-shadow,); }.brightness-0 { –tw-brightness: brightness(0%); filter: var(–tw-blur,) var(–tw-brightness,) var(–tw-contrast,) var(–tw-grayscale,) var(–tw-hue-rotate,) var(–tw-invert,) var(–tw-saturate,) var(–tw-sepia,) var(–tw-drop-shadow,); }.contrast-100 { –tw-contrast: contrast(100%); filter: var(–tw-blur,) var(–tw-brightness,) var(–tw-contrast,) var(–tw-grayscale,) var(–tw-hue-rotate,) var(–tw-invert,) var(–tw-saturate,) var(–tw-sepia,) var(–tw-drop-shadow,); }.grayscale { –tw-grayscale: grayscale(100%); filter: var(–tw-blur,) var(–tw-brightness,) var(–tw-contrast,) var(–tw-grayscale,) var(–tw-hue-rotate,) var(–tw-invert,) var(–tw-saturate,) var(–tw-sepia,) var(–tw-drop-shadow,); }.invert { –tw-invert: invert(100%); filter: var(–tw-blur,) var(–tw-brightness,) var(–tw-contrast,) var(–tw-grayscale,) var(–tw-hue-rotate,) var(–tw-invert,) var(–tw-saturate,) var(–tw-sepia,) var(–tw-drop-shadow,); }.filter { filter: var(–tw-blur,) var(–tw-brightness,) var(–tw-contrast,) var(–tw-grayscale,) var(–tw-hue-rotate,) var(–tw-invert,) var(–tw-saturate,) var(–tw-sepia,) var(–tw-drop-shadow,); }.backdrop-blur-sm { –tw-backdrop-blur: blur(var(–blur-sm)); backdrop-filter: var(–tw-backdrop-blur,) var(–tw-backdrop-brightness,) var(–tw-backdrop-contrast,) var(–tw-backdrop-grayscale,) var(–tw-backdrop-hue-rotate,) var(–tw-backdrop-invert,) var(–tw-backdrop-opacity,) var(–tw-backdrop-saturate,) var(–tw-backdrop-sepia,); }.backdrop-filter { backdrop-filter: var(–tw-backdrop-blur,) var(–tw-backdrop-brightness,) var(–tw-backdrop-contrast,) var(–tw-backdrop-grayscale,) var(–tw-backdrop-hue-rotate,) var(–tw-backdrop-invert,) var(–tw-backdrop-opacity,) var(–tw-backdrop-saturate,) var(–tw-backdrop-sepia,); }.transition { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, –tw-gradient-from, –tw-gradient-via, –tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events; transition-timing-function: var(–tw-ease,var(–default-transition-timing-function)); transition-duration: var(–tw-duration,var(–default-transition-duration)); }.transition-all { transition-property: all; transition-timing-function: var(–tw-ease,var(–default-transition-timing-function)); transition-duration: var(–tw-duration,var(–default-transition-duration)); }.transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, –tw-gradient-from, –tw-gradient-via, –tw-gradient-to; transition-timing-function: var(–tw-ease,var(–default-transition-timing-function)); transition-duration: var(–tw-duration,var(–default-transition-duration)); }.transition-opacity { transition-property: opacity; transition-timing-function: var(–tw-ease,var(–default-transition-timing-function)); transition-duration: var(–tw-duration,var(–default-transition-duration)); }.transition-shadow { transition-property: box-shadow; transition-timing-function: var(–tw-ease,var(–default-transition-timing-function)); transition-duration: var(–tw-duration,var(–default-transition-duration)); }.transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(–tw-ease,var(–default-transition-timing-function)); transition-duration: var(–tw-duration,var(–default-transition-duration)); }.duration-75 { –tw-duration: 75ms; transition-duration: 75ms; }.duration-100 { –tw-duration: .1s; transition-duration: 0.1s; }.duration-150 { –tw-duration: .15s; transition-duration: 0.15s; }.duration-200 { –tw-duration: .2s; transition-duration: 0.2s; }.duration-300 { –tw-duration: .3s; transition-duration: 0.3s; }.duration-500 { –tw-duration: .5s; transition-duration: 0.5s; }.ease-in { –tw-ease: var(–ease-in); transition-timing-function: var(–ease-in); }.ease-in-out { –tw-ease: var(–ease-in-out); transition-timing-function: var(–ease-in-out); }.ease-out { –tw-ease: var(–ease-out); transition-timing-function: var(–ease-out); }.prose-neutral { –tw-prose-#widget-xnn0w8y: oklch(37.1% 0 0); –tw-prose-headings: oklch(20.5% 0 0); –tw-prose-lead: oklch(43.9% 0 0); –tw-prose-links: oklch(20.5% 0 0); –tw-prose-bold: oklch(20.5% 0 0); –tw-prose-counters: oklch(55.6% 0 0); –tw-prose-bullets: oklch(87% 0 0); –tw-prose-hr: oklch(92.2% 0 0); –tw-prose-quotes: oklch(20.5% 0 0); –tw-prose-quote-borders: oklch(92.2% 0 0); –tw-prose-captions: oklch(55.6% 0 0); –tw-prose-kbd: oklch(20.5% 0 0); –tw-prose-kbd-shadows: oklab(20.5% 0 0/.1); –tw-prose-code: oklch(20.5% 0 0); –tw-prose-pre-code: oklch(92.2% 0 0); –tw-prose-pre-bg: oklch(26.9% 0 0); –tw-prose-th-borders: oklch(87% 0 0); –tw-prose-td-borders: oklch(92.2% 0 0); –tw-prose-invert-#widget-xnn0w8y: oklch(87% 0 0); –tw-prose-invert-headings: #fff; –tw-prose-invert-lead: oklch(70.8% 0 0); –tw-prose-invert-links: #fff; –tw-prose-invert-bold: #fff; –tw-prose-invert-counters: oklch(70.8% 0 0); –tw-prose-invert-bullets: oklch(43.9% 0 0); –tw-prose-invert-hr: oklch(37.1% 0 0); –tw-prose-invert-quotes: oklch(97% 0 0); –tw-prose-invert-quote-borders: oklch(37.1% 0 0); –tw-prose-invert-captions: oklch(70.8% 0 0); –tw-prose-invert-kbd: #fff; –tw-prose-invert-kbd-shadows: #ffffff1a; –tw-prose-invert-code: #fff; –tw-prose-invert-pre-code: oklch(87% 0 0); –tw-prose-invert-pre-bg: #00000080; –tw-prose-invert-th-borders: oklch(43.9% 0 0); –tw-prose-invert-td-borders: oklch(37.1% 0 0); }.outline-none { –tw-outline-style: none; outline-style: none; }.select-none { user-select: none; }.ring-inset { –tw-ring-inset: inset; }:is(.*:pointer-events-auto > *) { pointer-events: auto; }@media (hover: hover) { .group-hover:text-[#DC1F26]:is(:where(.group):hover *) { color: rgb(220, 31, 38); } .group-hover:opacity-100:is(:where(.group):hover *) { opacity: 1; }}.visited:text-inherit:visited { color: inherit; }.empty:border-none:empty { –tw-border-style: none; border-style: none; }@media (hover: hover) { .hover:border-black:hover { border-color: var(–color-black); } .hover:border-neutral-300:hover { border-color: var(–color-neutral-300); } .hover:bg-black:hover { background-color: var(–color-black); } .hover:bg-blue-50:hover { background-color: var(–color-blue-50); } .hover:bg-green-50:hover { background-color: var(–color-green-50); } .hover:bg-green-700:hover { background-color: var(–color-green-700); } .hover:bg-indigo-50:hover { background-color: var(–color-indigo-50); } .hover:bg-neutral-50:hover { background-color: var(–color-neutral-50); } .hover:bg-neutral-100:hover { background-color: var(–color-neutral-100); } .hover:bg-neutral-200:hover { background-color: var(–color-neutral-200); } .hover:bg-neutral-800:hover { background-color: var(–color-neutral-800); } .hover:bg-red-50:hover { background-color: var(–color-red-50); } .hover:bg-red-700:hover { background-color: var(–color-red-700); } .hover:text-[#DC1F26]:hover { color: rgb(220, 31, 38); } .hover:text-blue-600:hover { color: var(–color-blue-600); } .hover:text-gray-500:hover { color: var(–color-gray-500); } .hover:text-indigo-600:hover { color: var(–color-indigo-600); } .hover:text-inherit:hover { color: inherit; } .hover:text-neutral-700:hover { color: var(–color-neutral-700); } .hover:text-neutral-900:hover { color: var(–color-neutral-900); } .hover:text-red-600:hover { color: var(–color-red-600); } .hover:no-underline:hover { text-decoration-line: none; } .hover:underline:hover { text-decoration-line: underline; } .hover:decoration-transparent:hover { text-decoration-color: rgba(0, 0, 0, 0); } .hover:underline-offset-2:hover { text-underline-offset: 2px; }}.focus:border-rose-500:focus { border-color: var(–color-rose-500); }.focus:text-inherit:focus { color: inherit; }.focus:decoration-transparent:focus { text-decoration-color: rgba(0, 0, 0, 0); }.focus:ring-1:focus { –tw-ring-shadow: var(–tw-ring-inset,) 0 0 0 calc(1px + var(–tw-ring-offset-width)) var(–tw-ring-color,currentcolor); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.focus:ring-2:focus { –tw-ring-shadow: var(–tw-ring-inset,) 0 0 0 calc(2px + var(–tw-ring-offset-width)) var(–tw-ring-color,currentcolor); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.focus:ring-4:focus { –tw-ring-shadow: var(–tw-ring-inset,) 0 0 0 calc(4px + var(–tw-ring-offset-width)) var(–tw-ring-color,currentcolor); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.focus:ring-[#DC1F26]:focus { –tw-ring-color: #dc1f26; }.focus:ring-[#DC1F26]/20:focus { –tw-ring-color: oklab(57.3239% .195826 .0976754/.2); }.focus:ring-rose-500:focus { –tw-ring-color: var(–color-rose-500); }.focus:ring-offset-1:focus { –tw-ring-offset-width: 1px; –tw-ring-offset-shadow: var(–tw-ring-inset,) 0 0 0 var(–tw-ring-offset-width) var(–tw-ring-offset-color); }.focus:ring-offset-2:focus { –tw-ring-offset-width: 2px; –tw-ring-offset-shadow: var(–tw-ring-inset,) 0 0 0 var(–tw-ring-offset-width) var(–tw-ring-offset-color); }.focus:outline-hidden:focus { –tw-outline-style: none; outline-style: none; }@media (forced-colors: active) { .focus:outline-hidden:focus { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.focus:outline-1:focus { outline-style: var(–tw-outline-style); outline-width: 1px; }.focus:outline-none:focus { –tw-outline-style: none; outline-style: none; }.focus:[outline-style:auto]:focus { outline-style: auto; }.focus-visible:ring-2:focus-visible { –tw-ring-shadow: var(–tw-ring-inset,) 0 0 0 calc(2px + var(–tw-ring-offset-width)) var(–tw-ring-color,currentcolor); box-shadow: var(–tw-inset-shadow),var(–tw-inset-ring-shadow),var(–tw-ring-offset-shadow),var(–tw-ring-shadow),var(–tw-shadow); }.focus-visible:ring-gray-900:focus-visible { –tw-ring-color: var(–color-gray-900); }.focus-visible:outline-hidden:focus-visible { –tw-outline-style: none; outline-style: none; }@media (forced-colors: active) { .focus-visible:outline-hidden:focus-visible { outline-offset: 2px; outline: rgba(0, 0, 0, 0) solid 2px; }}.active:text-inherit:active { color: inherit; }@media not all and (min-width: 640px) { .max-sm:top-full { top: 100%; } .max-sm:left-2/4 { left: 50%; } .max-sm:hidden { display: none; } .max-sm:min-w-[300px] { min-width: 300px; } .max-sm:-translate-x-2/4 { –tw-translate-x: -50%; translate: var(–tw-translate-x) var(–tw-translate-y); }}@media (min-width: 640px) { .sm:visible { visibility: visible; } .sm:relative { position: relative; } .sm:top-4 { top: calc(var(–spacing) * 4); } .sm:top-[88px] { top: 88px; } .sm:top-[92px] { top: 92px; } .sm:right-3 { right: calc(var(–spacing) * 3); } .sm:right-4 { right: calc(var(–spacing) * 4); } .sm:left-3 { left: calc(var(–spacing) * 3); } .sm:order-3 { order: 3; } .sm:mx-auto { margin-inline: auto; } .sm:my-8 { margin-block: calc(var(–spacing) * 8); } .sm:mt-5 { margin-top: calc(var(–spacing) * 5); } .sm:mt-6 { margin-top: calc(var(–spacing) * 6); } .sm:mb-6 { margin-bottom: calc(var(–spacing) * 6); } .sm:mb-8 { margin-bottom: calc(var(–spacing) * 8); } .sm:block { display: block; } .sm:flex { display: flex; } .sm:hidden { display: none; } .sm:inline { display: inline; } .sm:h-6 { height: calc(var(–spacing) * 6); } .sm:h-12 { height: calc(var(–spacing) * 12); } .sm:h-[50px] { height: 50px; } .sm:h-[var(–logo-height-desktop,auto)] { height: var(–logo-height-desktop,auto); } .sm:max-h-full { max-height: 100%; } .sm:w-6 { width: calc(var(–spacing) * 6); } .sm:w-12 { width: calc(var(–spacing) * 12); } .sm:w-64 { width: calc(var(–spacing) * 64); } .sm:w-[480px] { width: 480px; } .sm:max-w-full { max-width: 100%; } .sm:max-w-sm { max-width: var(–container-sm); } .sm:min-w-auto { min-width: auto; } .sm:translate-y-0 { –tw-translate-y: calc(var(–spacing) * 0); translate: var(–tw-translate-x) var(–tw-translate-y); } .sm:scale-95 { –tw-scale-x: 95%; –tw-scale-y: 95%; –tw-scale-z: 95%; scale: var(–tw-scale-x) var(–tw-scale-y); } .sm:scale-100 { –tw-scale-x: 100%; –tw-scale-y: 100%; –tw-scale-z: 100%; scale: var(–tw-scale-x) var(–tw-scale-y); } .sm:grid-cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); } .sm:flex-row { flex-direction: row; } .sm:items-center { align-items: center; } .sm:border-r { border-right-style: var(–tw-border-style); border-right-width: 1px; } .sm:border-solid { –tw-border-style: solid; border-style: solid; } .sm:border-gray-300 { border-color: var(–color-gray-300); } .sm:p-0 { padding: calc(var(–spacing) * 0); } .sm:p-3 { padding: calc(var(–spacing) * 3); } .sm:p-6 { padding: calc(var(–spacing) * 6); } .sm:p-8 { padding: calc(var(–spacing) * 8); } .sm:px-0 { padding-inline: calc(var(–spacing) * 0); } .sm:px-4 { padding-inline: calc(var(–spacing) * 4); } .sm:py-4 { padding-block: calc(var(–spacing) * 4); } .sm:pl-14 { padding-left: calc(var(–spacing) * 14); } .sm:text-3xl { font-size: var(–text-3xl); line-height: var(–tw-leading,var(–text-3xl–line-height)); } .sm:text-base { font-size: var(–text-base); line-height: var(–tw-leading,var(–text-base–line-height)); }}@media (min-width: 768px) { .md:visible { visibility: visible; } .md:inline { display: inline; } .md:h-screen { height: 100vh; } .md:w-80 { width: calc(var(–spacing) * 80); } .md:grid-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); } .md:flex-row { flex-direction: row; } .md:overflow-hidden { overflow: hidden; } .md:overflow-y-auto { overflow-y: auto; } .md:p-12 { padding: calc(var(–spacing) * 12); } .md:text-4xl { font-size: var(–text-4xl); line-height: var(–tw-leading,var(–text-4xl–line-height)); } .md:text-lg { font-size: var(–text-lg); line-height: var(–tw-leading,var(–text-lg–line-height)); } .md:text-xs { font-size: var(–text-xs); line-height: var(–tw-leading,var(–text-xs–line-height)); }}.prose-headings:font-serif :where(h1, h2, h3, h4, h5, h6, th):not(:where([class~=”not-prose”], [class~=”not-prose”] *)), .prose-p:font-serif :where(p):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { font-family: var(–font-serif); }.prose-p:leading-relaxed :where(p):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { –tw-leading: var(–leading-relaxed); line-height: var(–leading-relaxed); }.prose-p:text-neutral-700 :where(p):not(:where([class~=”not-prose”], [class~=”not-prose”] *)) { color: var(–color-neutral-700); }@property –tw-translate-x { syntax: “*”; inherits: false; initial-value: 0; }@property –tw-translate-y { syntax: “*”; inherits: false; initial-value: 0; }@property –tw-translate-z { syntax: “*”; inherits: false; initial-value: 0; }@property –tw-scale-x { syntax: “*”; inherits: false; initial-value: 1; }@property –tw-scale-y { syntax: “*”; inherits: false; initial-value: 1; }@property –tw-scale-z { syntax: “*”; inherits: false; initial-value: 1; }@property –tw-rotate-x { syntax: “*”; inherits: false; }@property –tw-rotate-y { syntax: “*”; inherits: false; }@property –tw-rotate-z { syntax: “*”; inherits: false; }@property –tw-skew-x { syntax: “*”; inherits: false; }@property –tw-skew-y { syntax: “*”; inherits: false; }@property –tw-scroll-snap-strictness { syntax: “*”; inherits: false; initial-value: proximity; }@property –tw-space-y-reverse { syntax: “*”; inherits: false; initial-value: 0; }@property –tw-space-x-reverse { syntax: “*”; inherits: false; initial-value: 0; }@property –tw-divide-y-reverse { syntax: “*”; inherits: false; initial-value: 0; }@property –tw-border-style { syntax: “*”; inherits: false; initial-value: solid; }@property –tw-gradient-position { syntax: “*”; inherits: false; }@property –tw-gradient-from { syntax: “”; inherits: false; initial-value: #0000; }@property –tw-gradient-via { syntax: “”; inherits: false; initial-value: #0000; }@property –tw-gradient-to { syntax: “”; inherits: false; initial-value: #0000; }@property –tw-gradient-stops { syntax: “*”; inherits: false; }@property –tw-gradient-via-stops { syntax: “*”; inherits: false; }@property –tw-gradient-from-position { syntax: “”; inherits: false; initial-value: 0%; }@property –tw-gradient-via-position { syntax: “”; inherits: false; initial-value: 50%; }@property –tw-gradient-to-position { syntax: “”; inherits: false; initial-value: 100%; }@property –tw-leading { syntax: “*”; inherits: false; }@property –tw-font-weight { syntax: “*”; inherits: false; }@property –tw-tracking { syntax: “*”; inherits: false; }@property –tw-ordinal { syntax: “*”; inherits: false; }@property –tw-slashed-zero { syntax: “*”; inherits: false; }@property –tw-numeric-figure { syntax: “*”; inherits: false; }@property –tw-numeric-spacing { syntax: “*”; inherits: false; }@property –tw-numeric-fraction { syntax: “*”; inherits: false; }@property –tw-shadow { syntax: “*”; inherits: false; initial-value: 0 0 #0000; }@property –tw-shadow-color { syntax: “*”; inherits: false; }@property –tw-shadow-alpha { syntax: “”; inherits: false; initial-value: 100%; }@property –tw-inset-shadow { syntax: “*”; inherits: false; initial-value: 0 0 #0000; }@property –tw-inset-shadow-color { syntax: “*”; inherits: false; }@property –tw-inset-shadow-alpha { syntax: “”; inherits: false; initial-value: 100%; }@property –tw-ring-color { syntax: “*”; inherits: false; }@property –tw-ring-shadow { syntax: “*”; inherits: false; initial-value: 0 0 #0000; }@property –tw-inset-ring-color { syntax: “*”; inherits: false; }@property –tw-inset-ring-shadow { syntax: “*”; inherits: false; initial-value: 0 0 #0000; }@property –tw-ring-inset { syntax: “*”; inherits: false; }@property –tw-ring-offset-width { syntax: “”; inherits: false; initial-value: 0; }@property –tw-ring-offset-color { syntax: “*”; inherits: false; initial-value: #fff; }@property –tw-ring-offset-shadow { syntax: “*”; inherits: false; initial-value: 0 0 #0000; }@property –tw-outline-style { syntax: “*”; inherits: false; initial-value: solid; }@property –tw-blur { syntax: “*”; inherits: false; }@property –tw-brightness { syntax: “*”; inherits: false; }@property –tw-contrast { syntax: “*”; inherits: false; }@property –tw-grayscale { syntax: “*”; inherits: false; }@property –tw-hue-rotate { syntax: “*”; inherits: false; }@property –tw-invert { syntax: “*”; inherits: false; }@property –tw-opacity { syntax: “*”; inherits: false; }@property –tw-saturate { syntax: “*”; inherits: false; }@property –tw-sepia { syntax: “*”; inherits: false; }@property –tw-drop-shadow { syntax: “*”; inherits: false; }@property –tw-drop-shadow-color { syntax: “*”; inherits: false; }@property –tw-drop-shadow-alpha { syntax: “”; inherits: false; initial-value: 100%; }@property –tw-drop-shadow-size { syntax: “*”; inherits: false; }@property –tw-backdrop-blur { syntax: “*”; inherits: false; }@property –tw-backdrop-brightness { syntax: “*”; inherits: false; }@property –tw-backdrop-contrast { syntax: “*”; inherits: false; }@property –tw-backdrop-grayscale { syntax: “*”; inherits: false; }@property –tw-backdrop-hue-rotate { syntax: “*”; inherits: false; }@property –tw-backdrop-invert { syntax: “*”; inherits: false; }@property –tw-backdrop-opacity { syntax: “*”; inherits: false; }@property –tw-backdrop-saturate { syntax: “*”; inherits: false; }@property –tw-backdrop-sepia { syntax: “*”; inherits: false; }@property –tw-duration { syntax: “*”; inherits: false; }@property –tw-ease { syntax: “*”; inherits: false; }@keyframes spin { 100% { transform: rotate(360deg); }}@keyframes pulse { 50% { opacity: 0.5; }} .pcg-results-list { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; } .pcg-result-item { margin: 0; padding: 0; list-style: none; } .pcg-result-btn { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem; border: none; background: transparent; cursor: pointer; text-align: left; transition: background 0.2s; height: 76px; } .pcg-result-btn.hovered { background-color: #f9fafb; } .pcg-result-border { border-bottom: 1px solid #f5f5f5; } .pcg-result-content { display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding-right: 1rem; flex: 1; } .pcg-result-meta-row { display: flex; align-items: center; gap: 0.5rem; overflow: hidden; } .pcg-result-title { color: #000000; font-weight: bold; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .pcg-meta-date { color: #737373; font-size: 0.75rem; text-transform: uppercase; letter-spacing: -0.025em; flex-shrink: 0; } .pcg-result-summary { color: #737373; font-size: 0.75rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.25rem; } .pcg-result-actions { display: flex; align-items: center; gap: 1rem; flex: none; } .pcg-score { color: #DC1F26; font-weight: 900; font-size: 1.25rem; font-style: italic; } .pcg-result-arrow { color: #d4d4d4; transition: color 0.2s; } .pcg-reader-msg { text-align: center; padding: 2rem; color: #737373; } .pcg-reader-loading { display: flex; justify-content: center; align-items: center; height: 100%; min-height: 400px; } .pcg-reader-loading p { color: #DC1F26; } .pcg-prose-content { max-width: 65ch; margin: 0 auto; padding: 0 0.5rem; } .pcg-reader-header { margin-bottom: 2rem; } .pcg-reader-title { font-size: 1.75rem; font-weight: bold; line-height: 1.2; margin-bottom: 1rem; } .pcg-reader-meta { display: flex; gap: 0.75rem; align-items: center; font-size: 0.875rem; font-weight: 500; color: #52525b; text-transform: uppercase; letter-spacing: 0.05em; } .pcg-reader-meta-divider { color: #d4d4d8; } .pcg-reader-body { line-height: 1.6; color: #262626; font-size: 1.125rem; } .pcg-prose-content img { width: 100%; height: auto; margin: 1.5rem 0; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); border-radius: 0.5rem; } .pcg-prose-content a { color: #e11d48; text-decoration: none; font-weight: 500; } .pcg-prose-content a:hover { text-decoration: underline; } .pcg-prose-content p { margin-bottom: 1.5em !important; display: block !important; }

Latest Reviews

Score

const API_BASE = “https://airedale-version-review-widget-builder.ai.studio”; const CATEGORY = “PC gaming hardware”; const INITIALLY_OPEN = true; // Embedded complete category data let LOCAL_REVIEWS = JSON.parse(decodeURIComponent(“%5B%7B%22id%22%3A%22wf93mYT7M3J3HS9db6vWZ8%22%2C%22title%22%3A%22Koorui%20G2741L%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-monitors%2Fkoorui-g2741l-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-10T15%3A15%3A55Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FaMUs6Dj53aCFhCZNHy3qJg.jpg%22%2C%22strapline%22%3A%22Smart%20compromises%20make%20for%20a%20punchy%20monitor%20on%20a%20budget.%22%2C%22categories%22%3A%5B%22Gaming%20Monitors%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22monitor%22%2C%22gaming%20monitor%22%2C%224K%20monitor%22%2C%22esport%20monitor%22%2C%22best%20gaming%20monitor%22%2C%22budget%22%2C%22budget%204K%22%2C%224K%22%2C%224K%20gaming%22%2C%22Dual-4k%22%2C%22Koorui%20G2741L%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22Smart%20compromises%20make%20for%20a%20punchy%20monitor%20on%20a%20budget.%22%7D%2C%7B%22id%22%3A%228NKgZmo3fxQQhxjqHrn2AB%22%2C%22title%22%3A%22Scuf%20Omega%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fcontrollers%2Fscuf-omega-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-07T15%3A02%3A11Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FPfiU4gZmnbsVoGaYsi3iY8.jpg%22%2C%22strapline%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%2C%22categories%22%3A%5B%22Controllers%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22controller%22%2C%22wireless%20controller%22%2C%22wired%20controller%22%2C%22game%20controller%22%2C%22PC%20controller%22%2C%22Scuf%22%2C%22Scuf%20Omega%22%5D%2C%22score%22%3A70%2C%22summary%22%3A%22Closer%20to%20an%20Alpha%20or%20Beta%20than%20an%20Omega.%22%7D%2C%7B%22id%22%3A%22pVACuMJDFXmCZ9cq2tEyrT%22%2C%22title%22%3A%22Xgimi%20Titan%20Noir%20Max%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-monitors%2Fxgimi-titan-noir-max-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-04T10%3A14%3A45Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F3sdNqm2PoZwxy27qt4gkNh.jpg%22%2C%22strapline%22%3A%22A%20whole%20lot%20of%20money%20for%20a%20whole%20lot%20of%20lumens.%22%2C%22categories%22%3A%5B%22Gaming%20Monitors%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22HDR%22%2C%22XGIMI%22%2C%22Xgimi%20Titan%20Noir%20Max%22%2C%22gaming%20projectors%22%2C%22projectors%22%2C%22DLP%22%2C%224K%22%5D%2C%22score%22%3A85%2C%22summary%22%3A%22A%20whole%20lot%20of%20money%20for%20a%20whole%20lot%20of%20lumens.%22%7D%2C%7B%22id%22%3A%225AyTCXdfZjtC6exu9Www7i%22%2C%22title%22%3A%22Gigabyte%20GO27Q24A%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-monitors%2Fgigabyte-go27q24a-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-03T09%3A41%3A50Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F9tiqBmbkoPFgg4hwNBCtZJ.jpg%22%2C%22strapline%22%3A%22An%20affordable%20QD-OLED%20gaming%20monitor%20that%E2%80%99s%20got%20it%20where%20it%20counts.%22%2C%22categories%22%3A%5B%22Gaming%20Monitors%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20monitor%22%2C%22Gigabyte%20GO27Q24A%22%2C%22Gigabyte%22%2C%22QD-OLED%22%2C%22240%20Hz%22%5D%2C%22score%22%3A82%2C%22summary%22%3A%22An%20affordable%20QD-OLED%20gaming%20monitor%20that%E2%80%99s%20got%20it%20where%20it%20counts.%22%7D%2C%7B%22id%22%3A%22w6WYsS2FA3zWJ4ACZJXHZY%22%2C%22title%22%3A%22Corsair%20HS35%20v3%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-headsets%2Fcorsair-hs35-v3-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-03T09%3A32%3A20Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F6ZyoLet3jJCn5mjWhKYdeY.jpg%22%2C%22strapline%22%3A%22A%20very%20affordable%20mid-range%20headset%20that%20pulls%20off%20everything%20with%20aplomb%20with%20no%20surprises%2C%20good%20or%20bad.%22%2C%22categories%22%3A%5B%22Gaming%20Headsets%22%2C%22Hardware%22%2C%22Gaming%20Audio%22%5D%2C%22tags%22%3A%5B%22Corsair%22%5D%2C%22score%22%3A83%2C%22summary%22%3A%22A%20very%20affordable%20mid-range%20headset%20that%20pulls%20off%20everything%20with%20aplomb%20with%20no%20surprises%2C%20good%20or%20bad.%22%7D%2C%7B%22id%22%3A%22CaB2ucEhFRyQhvTGxdKhxV%22%2C%22title%22%3A%22Pimax%20Dream%20Air%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fvr-hardware%2Fpimax-dream-air-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-01T15%3A41%3A05Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2F7qnZPWzMeeD6mwJQTf4ZP6.jpg%22%2C%22strapline%22%3A%22Unbeatable%20visuals%2C%20excellent%20comfort%2C%20and%20mediocre%20tracking.%22%2C%22categories%22%3A%5B%22VR%20Hardware%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22Pimax%22%2C%22Pimax%20Crystal%20Super%22%2C%22VR%20headset%22%2C%22VR%20headsets%22%2C%22Micro-OLED%22%2C%22virtual%20reality%22%2C%22vr%22%5D%2C%22score%22%3A75%2C%22summary%22%3A%22Unbeatable%20visuals%2C%20excellent%20comfort%2C%20and%20mediocre%20tracking.%22%7D%2C%7B%22id%22%3A%22DgZUgXbK89aWX4mFm3ARYT%22%2C%22title%22%3A%22MSI%20Crosshair%2016%20Max%20HX%20E2W%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fmsi-crosshair-16-max-hx-e2w-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-09-01T09%3A50%3A22Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2Fhfi6afiN7tUhEpMkwksafU.jpg%22%2C%22strapline%22%3A%22Great%20mid-range%20performance%2C%20but%20most%20certainly%20at%20a%20cost.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22laptop%22%2C%22gaming%20laptop%22%2C%22MSI%22%2C%22MSI%20Crosshair%2016%20Max%20HX%20E2W%22%2C%22RTX%205070%20mobile%22%5D%2C%22score%22%3A69%2C%22summary%22%3A%22Great%20mid-range%20performance%2C%20but%20most%20certainly%20at%20a%20cost.%22%7D%2C%7B%22id%22%3A%22cSmpyAJyuntePJBwBNSYqn%22%2C%22title%22%3A%22Alienware%20AW3926QW%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-monitors%2Falienware-aw3926qw-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-27T14%3A00%3A26Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FAXnX49E2EcBtzURHGE8PhB.jpg%22%2C%22strapline%22%3A%22The%205K2K%20ultrawide%20OLED%20everyone%20has%20been%20waiting%20for%20is%20finally%20here…%22%2C%22categories%22%3A%5B%22Gaming%20Monitors%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22gaming%20monitors%22%2C%22HDR%22%2C%22tandem%20oled%22%2C%22LG%22%2C%22Alienware%20AW3926QW%22%2C%225k2k%22%2C%22ultrawide%22%2C%22Alienware%22%2C%22RGB-stripe%22%5D%2C%22score%22%3A89%2C%22summary%22%3A%22The%205K2K%20ultrawide%20OLED%20everyone%20has%20been%20waiting%20for%20is%20finally%20here…%22%7D%2C%7B%22id%22%3A%22YWioFrCHodP5VUK68GX2Q6%22%2C%22title%22%3A%22MSI%20Stealth%2016%20AI%2B%20B3W%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-laptops%2Fmsi-stealth-16-ai-b3w-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-26T15%3A04%3A21Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FkzGmhrk73CvMfpLwX9bzuQ.jpg%22%2C%22strapline%22%3A%22Hella%20nice%2C%20but%20hella%20expensive.%20Thanks%2C%202026.%22%2C%22categories%22%3A%5B%22Gaming%20Laptops%22%2C%22Hardware%22%2C%22Gaming%20PCs%22%5D%2C%22tags%22%3A%5B%22Hardware%22%2C%22laptop%22%2C%22gaming%20laptop%22%2C%22MSI%20Stealth%2016%20AI%2B%22%2C%22MSI%22%2C%22RTX%205080%20Mobile%22%5D%2C%22score%22%3A80%2C%22summary%22%3A%22Hella%20nice%2C%20but%20hella%20expensive.%20Thanks%2C%202026.%22%7D%2C%7B%22id%22%3A%22tQuFw3eZTfok64xVrrkzoL%22%2C%22title%22%3A%22Be%20Quiet!%20Light%20Mount%20TKL%22%2C%22url%22%3A%22https%3A%2F%2Fwww.pcgamer.com%2Fhardware%2Fgaming-keyboards%2Fbe-quiet-light-mount-tkl-review%22%2C%22author%22%3A%22PC%20Gamer%22%2C%22publishDate%22%3A%222026-08-25T11%3A00%3A00Z%22%2C%22image%22%3A%22https%3A%2F%2Fcdn.mos.cms.futurecdn.net%2FEKFS9yyRcpyGXg4u2d9d7o.jpg%22%2C%22strapline%22%3A%22A%20very%20welcome%20TKL%20update%20that%20didn’t%20quite%20leave%20me%20speechless.%22%2C%22categories%22%3A%5B%22Gaming%20Keyboards%22%2C%22Hardware%22%5D%2C%22tags%22%3A%5B%22Review%22%2C%22Hardware%22%2C%22Gaming%20keyboard%22%2C%22be%20quiet!%20Light%20Mount%20TKL%22%2C%22be%20quiet!%20Light%20Mount%22%2C%22be%20quiet%22%2C%22mechanical%20keyboard%22%2C%22wired%22%2C%22RGB%22%5D%2C%22score%22%3A79%2C%22summary%22%3A%22A%20very%20welcome%20TKL%20update%20that%20didn’t%20quite%20leave%20me%20speechless.%22%7D%5D”)); const searchInput = document.getElementById(“pcg-search”); const resultsContainer = document.getElementById(“pcg-results”); const dropdownContainer = document.getElementById(“pcg-dropdown-container”); const closeBtn = document.getElementById(“pcg-close-btn”); const titleSpan = document.getElementById(“pcg-dropdown-title”); const readerContainer = document.getElementById(“pcg-reader-container”); const readerContent = document.getElementById(“pcg-reader-content”); const readerCloseBtn = document.getElementById(“pcg-reader-close”); let debounceTimer; function updateIframeHeight(isDropdownOpen, isReaderOpen = false) { let newHeight = ‘140px’; if (isReaderOpen) { newHeight = ‘720px’; } else if (isDropdownOpen) { newHeight = ‘500px’; } let resizedSuccessfully = false; try { if (window.frameElement) { window.frameElement.style.height = newHeight; resizedSuccessfully = true; } } catch (e) { // Ignore cross-origin error when accessing frameElement } if (!resizedSuccessfully && window.parent && window.parent !== window) { try { // Send message to parent only for cross-origin resizing // using ‘*’ to avoid target origin mismatch errors window.parent.postMessage({ type: ‘pcg-widget-resize’, height: newHeight }, ‘*’); } catch (e) {} } } function closeReader() { readerContainer.style.display = ‘none’; readerContent.innerHTML = ”; updateIframeHeight(dropdownContainer.style.display === ‘flex’, false); } if (readerCloseBtn) readerCloseBtn.addEventListener(‘click’, closeReader); function closeDropdown() { dropdownContainer.style.display = ‘none’; updateIframeHeight(false, readerContainer.style.display === ‘flex’); } function openDropdown() { dropdownContainer.style.display = ‘flex’; closeReader(); updateIframeHeight(true, false); } if (closeBtn) closeBtn.addEventListener(“click”, closeDropdown); document.addEventListener(“click”, (e) => { if (!searchInput.contains(e.target) && !dropdownContainer.contains(e.target) && !readerContainer.contains(e.target)) { closeDropdown(); } }); const TOTAL_COUNT = 1329; const CATEGORY_COUNT = 1329; function initializeStats() { const totalSpan = document.getElementById(“pcg-total-reviews”); if (totalSpan) totalSpan.textContent = TOTAL_COUNT; if (searchInput && CATEGORY_COUNT > 0) { function formatCat(cat) { if (cat === “PC gaming hardware”) return “PC gaming hardware”; if (cat === “Handheld Gaming PCs”) return “handheld gaming PC”; if (cat === “Gaming PCs”) return “gaming PC”; if (cat === “Gaming Mice”) return “gaming mouse”; if (cat === “Memory” || cat === “Cooling” || cat === “Lighting” || cat === “Hardware”) return cat.toLowerCase(); if (cat === “Earbuds & Headphones”) return “earbud & headphone”; return cat.replace(/s$/i, ”).toLowerCase(); } const formattedCat = formatCat(CATEGORY); searchInput.placeholder = CATEGORY_COUNT > 50 ? “Search our ” + CATEGORY_COUNT + ” ” + formattedCat + ” reviews” : “Search our ” + formattedCat + ” reviews”; } } initializeStats(); function fetchResults(q) { if (q) { titleSpan.textContent = “Search Results”; } else { titleSpan.textContent = “Latest ” + (CATEGORY === “PC gaming hardware” ? “PC gaming hardware” : CATEGORY) + ” Reviews”; } if (!q) { renderResults(LOCAL_REVIEWS); return; } resultsContainer.innerHTML = ‘

Loading…

‘; fetch(API_BASE + “/api/reviews?category=” + encodeURIComponent(CATEGORY) + “&q=” + encodeURIComponent(q) + “&limit=20”) .then(res => res.json()) .then(data => { renderResults(data.results || []); }) .catch(err => { console.error(“Search failed:”, err); resultsContainer.innerHTML = ‘

Error searching reviews.

‘; }); } function renderResults(results) { if(!results || results.length === 0) { resultsContainer.innerHTML = ‘

No results found.

‘; return; } let html = ‘

    ‘; results.forEach((res, i) => { let scoreHtml = res.score ? ‘

    ‘ + res.score + ‘

    ‘ : ”; // Format URL properly let targetUrl = res.url.startsWith(“http”) ? res.url : “https://www.pcgamer.com” + res.url; let borderClass = i < results.length – 1 ? 'pcg-result-border' : ''; let dateHtml = ''; if (res.publishDate) { try { let dateStr = new Date(res.publishDate).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' }); dateHtml = '‘ + dateStr + ‘‘; } catch(e) {} } let subHtml = ‘‘ + (res.summary || “”) + ‘‘; html += ‘

  • ‘; }); html += ‘

‘; resultsContainer.innerHTML = html; updateJSONLD(results); } function updateJSONLD(results) { let ldScript = document.getElementById(‘pcg-json-ld’); if (!ldScript) { ldScript = document.createElement(‘script’); ldScript.type = ‘application/ld+json’; ldScript.id = ‘pcg-json-ld’; document.head.appendChild(ldScript); } const itemListElements = results.slice(0, 50).map((res, index) => { let targetUrl = res.url.startsWith(“http”) ? res.url : “https://www.pcgamer.com” + res.url; let itemName = (res.title || “Product”).replace(/s+review$/i, ”); let schemaItem = { “@type”: “Product”, “name”: itemName, “image”: res.image || targetUrl, “review”: { “@type”: “Review”, “url”: targetUrl, “name”: res.title || “Review”, “datePublished”: res.publishDate || new Date().toISOString().split(‘T’)[0], “author”: { “@type”: “Organization”, “name”: “PC Gamer” }, “publisher”: { “@type”: “Organization”, “name”: “PC Gamer” } } }; if (res.score) { schemaItem.review.reviewRating = { “@type”: “Rating”, “ratingValue”: res.score, “bestRating”: “100”, “worstRating”: “1” }; } return { “@type”: “ListItem”, “position”: index + 1, “item”: schemaItem }; }); const schema = { “@context”: “https://schema.org”, “@type”: “ItemList”, “itemListElement”: itemListElements }; ldScript.textContent = JSON.stringify(schema); } function openReaderInPage(targetUrl) { closeDropdown(); readerContainer.style.display = ‘flex’; updateIframeHeight(false, true); const readerLinkContainer = document.getElementById(“pcg-reader-link-container”); if (readerLinkContainer) { readerLinkContainer.innerHTML = ‘Read full review‘; } readerContent.innerHTML = ‘

Loading article…

‘; fetch(API_BASE + “/api/content?q=” + btoa(targetUrl)) .then(res => res.json()) .then(data => { if(!data || !data.content) { readerContent.innerHTML = ‘

Could not load article content.

‘; return; } let html = ‘

‘; html += ‘

‘; html += ‘

‘ + (data.title || ”) + ‘

‘; if (data.byline || data.date) { html += ‘

‘; if (data.byline) { html += ‘BY ‘ + data.byline + ‘‘; } if (data.byline && data.date) { html += ‘|‘; } if (data.date) { html += ‘PUBLISHED ‘ + data.date + ‘‘; } html += ‘

‘; } html += ‘

‘; html += ‘

‘; html += data.content; html += ‘

‘; readerContent.innerHTML = html; }) .catch(err => { console.error(err); readerContent.innerHTML = ‘

An error occurred loading the article.

‘; }); } const searchBoxContainer = document.getElementById(“pcg-search-container”); if (searchBoxContainer) { searchBoxContainer.addEventListener(“click”, () => { openDropdown(); }); } if (searchInput) { searchInput.addEventListener(“focus”, () => { openDropdown(); }); searchInput.addEventListener(“click”, () => { openDropdown(); }); searchInput.addEventListener(“input”, (e) => { openDropdown(); clearTimeout(debounceTimer); debounceTimer = setTimeout(() => fetchResults(e.target.value), 500); }); // Initial render with embedded cache fetchResults(“”); if (INITIALLY_OPEN) { openDropdown(); } // Background revalidate fetch(API_BASE + “/api/reviews?category=” + encodeURIComponent(CATEGORY) + “&limit=10”) .then(res => res.json()) .then(data => { if (data && data.results && data.results.length > 0) { LOCAL_REVIEWS = data.results; // If the user hasn’t typed anything yet, refresh the UI silently if (!searchInput.value) { fetchResults(“”); } } }) .catch(err => console.error(“Background refresh failed:”, err)); } ” width=”100%” height=”500″ style=”border: none; width: 100%; max-width: 1024px; margin: 0 auto; display: block; background: transparent; transition: height 0.3s ease-out;” title=”PC Gamer PC gaming hardware Widget”> function sendMessageToParentWindow(typeOfMessage, message = null) { let postMessage = { bordeaux: message }; let url = “http://crow.futurecdn.net/output/pcg-widget-pc-gaming-hardware-00002-1/pcg-widget-pc-gaming-hardware-00002 (1).html”; if (typeOfMessage === “analytics”) { postMessage = { analytics: { …message } }; } if (postMessage !== {}) { window.parent.postMessage( postMessage, url ); } } let message = { targeting: { [“pcg-widget-pc-gaming-hardware-00002 (1).html”]: “PC Gamer PC gaming hardware Widget” } } window.onload = sendMessageToParentWindow(“bordeaux”, message);

PC Gamer Builds

Find your way through the memory crisis with our team’s selected builds. It may be tough out there, but we still love building PCs. And, while it might be prohibitively expensive to buy everything on our recommened lists, maybe you could look for quality second-hand options in some categories to save money for others.