From 5dda60b3cd147d53757faa892ffe364537ae8bd7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 23:41:20 +0000 Subject: [PATCH] deploy: 61c0930d83ea75640b3449e54167f8c4b1a5a251 --- 404.html | 8 ++++---- assets/css/styles.bda4e096.css | 1 - assets/css/styles.d6ccf8b4.css | 1 + .../js/{007d2baa.b4d685f2.js => 007d2baa.00411cb4.js} | 2 +- assets/js/01a85c17.692c4964.js | 1 - assets/js/01a85c17.a3a8d5c8.js | 1 + .../js/{0748c3bc.c0d1f990.js => 0748c3bc.ab07a9aa.js} | 2 +- .../js/{0b705c82.b85e501b.js => 0b705c82.3d4a2b17.js} | 2 +- .../js/{0bd541ed.116503e2.js => 0bd541ed.643c34a6.js} | 2 +- .../js/{0bfa7fcc.e307e6e6.js => 0bfa7fcc.b01db92e.js} | 2 +- .../js/{0e384e19.35eae3f2.js => 0e384e19.8a72b449.js} | 2 +- .../js/{14b6aafb.d1ab05df.js => 14b6aafb.15260e47.js} | 2 +- assets/js/1630eae8.2978aa9a.js | 1 + assets/js/1630eae8.40f8a7dd.js | 1 - assets/js/{1649.67adf67a.js => 1649.c21acdfc.js} | 2 +- assets/js/17896441.1ffc051e.js | 1 - assets/js/17896441.5148359f.js | 1 + .../js/{18d9fd7d.8d0c3aef.js => 18d9fd7d.143d747e.js} | 2 +- .../js/{193fe191.81ff1ac2.js => 193fe191.b9d845f8.js} | 2 +- .../js/{1e0a1681.d65285c8.js => 1e0a1681.c67a4dd9.js} | 2 +- .../js/{2024b8b1.1a062afe.js => 2024b8b1.318d4076.js} | 2 +- assets/js/{369.e74b4f81.js => 2091.0cdaafca.js} | 2 +- .../js/{2296bbef.55fa136c.js => 2296bbef.15e7a1e1.js} | 2 +- assets/js/2433.29272538.js | 1 - .../js/{264f4708.f7124c31.js => 264f4708.cbe92c52.js} | 2 +- .../js/{2e008a3a.78dc1344.js => 2e008a3a.c8c45cd2.js} | 2 +- assets/js/3fc3119e.0d274f44.js | 1 - assets/js/3fc3119e.a97da495.js | 1 + .../js/{435302bb.ecae0713.js => 435302bb.8497a1d4.js} | 2 +- .../js/{438c7fa2.03c3af96.js => 438c7fa2.ed451fc6.js} | 2 +- .../js/{47aca6da.ce9212e4.js => 47aca6da.d22b953e.js} | 2 +- .../js/{4a631206.32b9a23f.js => 4a631206.061c0be6.js} | 2 +- .../js/{4a6974fe.9013cf49.js => 4a6974fe.d796f7ac.js} | 2 +- .../js/{4d393b3e.b8157fdc.js => 4d393b3e.5f343388.js} | 2 +- .../js/{5046667d.6816423f.js => 5046667d.9ca9e466.js} | 2 +- .../js/{51e7bf36.96b3e995.js => 51e7bf36.75311b19.js} | 2 +- .../js/{55dfe132.d7016b5a.js => 55dfe132.39f7a57c.js} | 2 +- .../js/{5e5c84c3.4f543694.js => 5e5c84c3.ccd1c461.js} | 2 +- assets/js/5e95c892.892705da.js | 1 + assets/js/5e95c892.9de68b89.js | 1 - .../js/{61be0f73.d53b12f7.js => 61be0f73.46aea420.js} | 2 +- assets/js/621db11d.28c68033.js | 1 - assets/js/621db11d.cd005c05.js | 1 + assets/js/6493.8f62fe69.js | 1 + .../js/{6875c492.d06d54a5.js => 6875c492.9307af78.js} | 2 +- .../js/{7424d9c3.784771e2.js => 7424d9c3.3f5cb2ce.js} | 2 +- .../js/{7489ed02.954f07df.js => 7489ed02.06343463.js} | 2 +- .../js/{7b99d5ba.430c1370.js => 7b99d5ba.a1b49a5b.js} | 2 +- .../js/{7ef69c2b.b53d4294.js => 7ef69c2b.14d18f74.js} | 2 +- .../js/{80292675.d53d083b.js => 80292675.7494050e.js} | 2 +- assets/js/8795eea9.4c6d282e.js | 1 - assets/js/8795eea9.c226c217.js | 1 + .../js/{89db6d1d.4dd71599.js => 89db6d1d.830f4491.js} | 2 +- .../js/{8ba18f4f.ad0b8564.js => 8ba18f4f.7930542f.js} | 2 +- .../js/{8c4108df.5b80174b.js => 8c4108df.5b1f936e.js} | 2 +- .../js/{9019cc36.e6dd2667.js => 9019cc36.071ddb15.js} | 2 +- assets/js/9147d3af.0a76dcd5.js | 1 + assets/js/9147d3af.9f6d0b70.js | 1 - .../js/{9404f843.3c294247.js => 9404f843.c51f720e.js} | 2 +- .../js/{9748c478.aaf9765e.js => 9748c478.ab7b920b.js} | 2 +- .../js/{99f2b7e6.e538f75e.js => 99f2b7e6.acd277ff.js} | 2 +- .../js/{9d9f8394.719e69be.js => 9d9f8394.1f32004b.js} | 2 +- assets/js/9e4087bc.3baef65c.js | 1 - assets/js/9e4087bc.c436fd83.js | 1 + .../js/{a1072f2a.69a2bfa0.js => a1072f2a.6a61b3d0.js} | 2 +- .../js/{a1216fa4.5ad0b577.js => a1216fa4.b3f075b9.js} | 2 +- .../js/{a1f57275.99519fb9.js => a1f57275.f5d129b3.js} | 2 +- assets/js/a6aa9e1f.87c8d08d.js | 1 + assets/js/a6aa9e1f.9337288d.js | 1 - assets/js/a7bd4aaa.7d869959.js | 1 - assets/js/a7bd4aaa.b6217e6b.js | 1 + assets/js/a94703ab.4436cafa.js | 1 + assets/js/a94703ab.4490eea1.js | 1 - .../js/{b1d7f5b9.358c8814.js => b1d7f5b9.fba9eb2b.js} | 2 +- .../js/{b28c3188.4a70d5e9.js => b28c3188.df155f5f.js} | 2 +- .../js/{b4068411.710112df.js => b4068411.d07d7e08.js} | 2 +- .../js/{b493ea72.99bcac67.js => b493ea72.002e1b38.js} | 2 +- .../js/{b7026fb3.48429419.js => b7026fb3.9d4162c0.js} | 2 +- .../js/{b8ecf3c5.09bf15f5.js => b8ecf3c5.46500aec.js} | 2 +- .../js/{ba3af7ad.8b7a6fe1.js => ba3af7ad.82300781.js} | 2 +- .../js/{ba57e113.9e9cbc48.js => ba57e113.941d714f.js} | 2 +- assets/js/bcc2422e.cc2251a8.js | 1 + assets/js/bcc2422e.e71b5aaf.js | 1 - .../js/{c332f8df.f1eb30cb.js => c332f8df.d52fc2ac.js} | 2 +- assets/js/c4f5d8e4.327ad0bf.js | 1 + assets/js/c4f5d8e4.6d5feb5c.js | 1 - .../js/{c89c7974.36d99de2.js => c89c7974.b21109b7.js} | 2 +- .../js/{c9d2adb2.371857cd.js => c9d2adb2.8fdf7464.js} | 2 +- assets/js/ccc49370.3a091c2c.js | 1 + assets/js/ccc49370.4427e1f7.js | 1 - .../js/{cd59c184.4380dd54.js => cd59c184.9ebb86c4.js} | 2 +- .../js/{cddec16f.8f857718.js => cddec16f.cdf55724.js} | 2 +- .../js/{d9d4e1f1.f6b2f69f.js => d9d4e1f1.ca60091f.js} | 2 +- .../js/{dcb9a9e8.0f05a26d.js => dcb9a9e8.8560359c.js} | 2 +- .../js/{e07621e3.fb997d27.js => e07621e3.ddae9e66.js} | 2 +- .../js/{e0c5798e.0eedbb9b.js => e0c5798e.308752ac.js} | 2 +- .../js/{e0da75fc.26e30ff3.js => e0da75fc.82b2488d.js} | 2 +- .../js/{e6a59d41.18228cc3.js => e6a59d41.344c0d69.js} | 2 +- .../js/{e70842e4.707e3622.js => e70842e4.f0b00acd.js} | 2 +- .../js/{e7aa45d5.6f03a7aa.js => e7aa45d5.9843d9eb.js} | 2 +- .../js/{e9e0f988.45f588b3.js => e9e0f988.b2e09943.js} | 2 +- .../js/{ec46a009.40695c02.js => ec46a009.74738206.js} | 2 +- .../js/{ee98c124.e7f1268a.js => ee98c124.cbd09722.js} | 2 +- .../js/{f4d4319b.abdfd7ef.js => f4d4319b.a48b409c.js} | 2 +- .../js/{f5b06269.c8fc53ea.js => f5b06269.fe7c6b2d.js} | 2 +- .../js/{f8aea940.55ccc5d1.js => f8aea940.98e609de.js} | 2 +- assets/js/fb0a08ce.709e5246.js | 1 + assets/js/fb0a08ce.868120b0.js | 1 - .../js/{fbaf179c.89ad0700.js => fbaf179c.289c4e7f.js} | 2 +- assets/js/fe2b2ad8.443c10fc.js | 1 - assets/js/fe2b2ad8.5be3f56b.js | 1 + assets/js/main.03039855.js | 2 ++ ...fc0.js.LICENSE.txt => main.03039855.js.LICENSE.txt} | 0 assets/js/main.d1342fc0.js | 2 -- assets/js/runtime~main.03a06ead.js | 1 - assets/js/runtime~main.92d9007e.js | 1 + blog/2023/07/01/index.html | 10 +++++----- blog/2023/07/08/index.html | 10 +++++----- blog/2023/07/09/index.html | 10 +++++----- blog/2023/07/13/index.html | 10 +++++----- blog/2023/07/15/index.html | 10 +++++----- blog/2023/07/19/index.html | 10 +++++----- blog/2023/07/20/index.html | 10 +++++----- blog/2023/07/24/index.html | 10 +++++----- blog/2023/07/29/index.html | 10 +++++----- blog/2023/11/20/index.html | 10 +++++----- blog/2023/12/09/index.html | 10 +++++----- blog/2024/03/28/index.html | 10 +++++----- blog/2024/04/01/2024-04-01/index.html | 10 +++++----- blog/2024/04/14/index.html | 10 +++++----- blog/2024/05/07/index.html | 10 +++++----- blog/2024/10/20/index.html | 10 +++++----- blog/archive/index.html | 8 ++++---- blog/authors/index.html | 8 ++++---- blog/index.html | 10 +++++----- blog/page/2/index.html | 10 +++++----- blog/tags/age-restrictions/index.html | 10 +++++----- blog/tags/ai-generated-names/index.html | 10 +++++----- blog/tags/alternative/index.html | 10 +++++----- blog/tags/analytics/index.html | 10 +++++----- blog/tags/announcement/index.html | 10 +++++----- blog/tags/api/index.html | 10 +++++----- blog/tags/app-name-migration/index.html | 10 +++++----- blog/tags/app-optimization/index.html | 10 +++++----- blog/tags/app/index.html | 10 +++++----- blog/tags/april-fools/index.html | 10 +++++----- blog/tags/backend-application-migration/index.html | 10 +++++----- blog/tags/backend/index.html | 10 +++++----- blog/tags/beta-testing/index.html | 10 +++++----- blog/tags/blackmail/index.html | 10 +++++----- blog/tags/box-representation/index.html | 10 +++++----- blog/tags/bugs/index.html | 10 +++++----- blog/tags/celebration-of-achievements/index.html | 10 +++++----- blog/tags/client-application-update/index.html | 10 +++++----- blog/tags/client-update/index.html | 10 +++++----- blog/tags/cloud-based-game-platforms/index.html | 10 +++++----- blog/tags/code-access/index.html | 10 +++++----- blog/tags/coding-chronicle/index.html | 10 +++++----- blog/tags/collaboration/index.html | 10 +++++----- blog/tags/community-driven/index.html | 10 +++++----- blog/tags/community-feedback/index.html | 10 +++++----- blog/tags/community-management/index.html | 10 +++++----- blog/tags/community/index.html | 10 +++++----- blog/tags/continued-support/index.html | 10 +++++----- blog/tags/control/index.html | 10 +++++----- blog/tags/council-member/index.html | 10 +++++----- blog/tags/creepy-behavior/index.html | 10 +++++----- blog/tags/database/index.html | 10 +++++----- blog/tags/decision-making/index.html | 10 +++++----- blog/tags/developers/index.html | 10 +++++----- blog/tags/development-milestones/index.html | 10 +++++----- blog/tags/development/index.html | 10 +++++----- blog/tags/discord-channel/index.html | 10 +++++----- blog/tags/discord-community-growth/index.html | 10 +++++----- blog/tags/discord-server-promotion/index.html | 10 +++++----- blog/tags/discord-server/index.html | 10 +++++----- blog/tags/discord/index.html | 10 +++++----- blog/tags/documentation-migration/index.html | 10 +++++----- blog/tags/domain-acquisition/index.html | 10 +++++----- blog/tags/drm-free-games/index.html | 10 +++++----- blog/tags/drm-free/index.html | 10 +++++----- blog/tags/early-access/index.html | 10 +++++----- blog/tags/easter-egg/index.html | 10 +++++----- blog/tags/engagement/index.html | 10 +++++----- blog/tags/exclusive-preview/index.html | 10 +++++----- blog/tags/family-friendly/index.html | 10 +++++----- blog/tags/feature-requests/index.html | 10 +++++----- blog/tags/features/index.html | 10 +++++----- blog/tags/feedback/index.html | 10 +++++----- blog/tags/file-server/index.html | 10 +++++----- blog/tags/financial-assistance/index.html | 10 +++++----- blog/tags/future-development/index.html | 10 +++++----- blog/tags/future-features/index.html | 10 +++++----- blog/tags/game-development/index.html | 10 +++++----- blog/tags/game-hub/index.html | 10 +++++----- blog/tags/game-shelf/index.html | 10 +++++----- blog/tags/game-stash/index.html | 10 +++++----- blog/tags/game-vault-app/index.html | 10 +++++----- blog/tags/game-vault-domain/index.html | 10 +++++----- blog/tags/game-vault-journey/index.html | 10 +++++----- blog/tags/game-vault-milestone/index.html | 10 +++++----- blog/tags/game-vault/index.html | 10 +++++----- blog/tags/game/index.html | 10 +++++----- blog/tags/gaming-community/index.html | 10 +++++----- blog/tags/gaming-experience/index.html | 10 +++++----- blog/tags/gaming-platform/index.html | 10 +++++----- blog/tags/gaming-servers/index.html | 10 +++++----- blog/tags/gaming/index.html | 10 +++++----- blog/tags/git-hub-issue/index.html | 10 +++++----- blog/tags/git-hub/index.html | 10 +++++----- blog/tags/gratitude/index.html | 10 +++++----- blog/tags/harassment/index.html | 10 +++++----- blog/tags/harbor/index.html | 10 +++++----- blog/tags/health-monitoring/index.html | 10 +++++----- blog/tags/hybrid-model/index.html | 10 +++++----- blog/tags/igdb/index.html | 10 +++++----- blog/tags/improvement/index.html | 10 +++++----- blog/tags/inclusivity/index.html | 10 +++++----- blog/tags/index.html | 8 ++++---- blog/tags/installation-pipeline/index.html | 10 +++++----- blog/tags/kanban-board/index.html | 10 +++++----- blog/tags/keyhole-representation/index.html | 10 +++++----- blog/tags/lemmy-community-launch/index.html | 10 +++++----- blog/tags/lemmy-community/index.html | 10 +++++----- blog/tags/lemmy-forum/index.html | 10 +++++----- blog/tags/logo-concept-discussion/index.html | 10 +++++----- blog/tags/logo-deciphering/index.html | 10 +++++----- blog/tags/love-for-game-vault/index.html | 10 +++++----- blog/tags/market-analysis/index.html | 10 +++++----- blog/tags/metadata-framework/index.html | 10 +++++----- blog/tags/metadata/index.html | 10 +++++----- blog/tags/microsoft-store-publication/index.html | 10 +++++----- blog/tags/microsoft-store/index.html | 10 +++++----- blog/tags/migration-finalization/index.html | 10 +++++----- blog/tags/motivation/index.html | 10 +++++----- blog/tags/multi-user-authentication/index.html | 10 +++++----- blog/tags/name-migration-progress/index.html | 10 +++++----- blog/tags/negative-narratives/index.html | 10 +++++----- blog/tags/new-logo/index.html | 10 +++++----- blog/tags/new-name-announcement/index.html | 10 +++++----- blog/tags/new-name/index.html | 10 +++++----- blog/tags/notes/index.html | 10 +++++----- blog/tags/november-update/index.html | 10 +++++----- blog/tags/official-installations/index.html | 10 +++++----- blog/tags/open-source/index.html | 10 +++++----- blog/tags/parental-control/index.html | 10 +++++----- blog/tags/partnership/index.html | 10 +++++----- blog/tags/partnerships/index.html | 10 +++++----- blog/tags/platform-values/index.html | 10 +++++----- blog/tags/platform/index.html | 10 +++++----- blog/tags/plugin-system/index.html | 10 +++++----- blog/tags/poll-results/index.html | 10 +++++----- blog/tags/poll/index.html | 10 +++++----- blog/tags/polls/index.html | 10 +++++----- blog/tags/public/index.html | 10 +++++----- blog/tags/racist/index.html | 10 +++++----- blog/tags/rawg-api/index.html | 10 +++++----- blog/tags/rawg/index.html | 10 +++++----- blog/tags/reddit-forum/index.html | 10 +++++----- blog/tags/release/index.html | 10 +++++----- blog/tags/renaming-app/index.html | 10 +++++----- blog/tags/revenue-generation/index.html | 10 +++++----- blog/tags/roadmap/index.html | 10 +++++----- blog/tags/safe-environment/index.html | 10 +++++----- blog/tags/self-hosted-newsletter/index.html | 10 +++++----- blog/tags/self-hosted/index.html | 10 +++++----- blog/tags/selfhosted-podcast/index.html | 10 +++++----- blog/tags/server-update/index.html | 10 +++++----- blog/tags/sharing-blog-posts/index.html | 10 +++++----- blog/tags/simplifying-game-installation/index.html | 10 +++++----- blog/tags/software-development/index.html | 10 +++++----- blog/tags/software-licensing/index.html | 10 +++++----- blog/tags/software-updates/index.html | 10 +++++----- blog/tags/software/index.html | 10 +++++----- blog/tags/solution/index.html | 10 +++++----- blog/tags/source-available-software/index.html | 10 +++++----- blog/tags/source-available/index.html | 10 +++++----- blog/tags/spam/index.html | 10 +++++----- blog/tags/special-thanks/index.html | 10 +++++----- blog/tags/speculation/index.html | 10 +++++----- blog/tags/spreading-the-word/index.html | 10 +++++----- blog/tags/startup/index.html | 10 +++++----- blog/tags/steam/index.html | 10 +++++----- blog/tags/subreddit-migration/index.html | 10 +++++----- blog/tags/subscription-model/index.html | 10 +++++----- blog/tags/subscription-to-updates-role/index.html | 10 +++++----- blog/tags/subscription/index.html | 10 +++++----- blog/tags/success/index.html | 10 +++++----- blog/tags/support-request/index.html | 10 +++++----- blog/tags/support/index.html | 10 +++++----- blog/tags/surge-of-new-users/index.html | 10 +++++----- blog/tags/sustainability/index.html | 10 +++++----- blog/tags/tech-progress/index.html | 10 +++++----- blog/tags/testing/index.html | 10 +++++----- blog/tags/theme/index.html | 10 +++++----- blog/tags/threats/index.html | 10 +++++----- blog/tags/transition-process/index.html | 10 +++++----- blog/tags/transparency/index.html | 10 +++++----- blog/tags/trolls/index.html | 10 +++++----- blog/tags/twitch-tv/index.html | 10 +++++----- blog/tags/ui-redesign/index.html | 10 +++++----- blog/tags/ui-update/index.html | 10 +++++----- blog/tags/upcoming-update/index.html | 10 +++++----- blog/tags/update/index.html | 10 +++++----- blog/tags/updates/index.html | 10 +++++----- blog/tags/user-engagement/index.html | 10 +++++----- blog/tags/user-participation/index.html | 10 +++++----- blog/tags/video-games/index.html | 10 +++++----- blog/tags/videogame/index.html | 10 +++++----- blog/tags/voting/index.html | 10 +++++----- docs/advanced-usage/early-access-program/index.html | 10 +++++----- .../advanced-usage/fail2ban-gamevault-guide/index.html | 10 +++++----- docs/advanced-usage/linux-client/index.html | 10 +++++----- docs/advanced-usage/rest-api/index.html | 10 +++++----- docs/advanced-usage/steamdeck/index.html | 10 +++++----- docs/client-docs/data/index.html | 10 +++++----- docs/client-docs/gui/index.html | 10 +++++----- docs/client-docs/how-to-use/index.html | 10 +++++----- docs/client-docs/setup/index.html | 10 +++++----- docs/client-docs/themes/index.html | 10 +++++----- docs/client-docs/updating-client/index.html | 10 +++++----- docs/gamevault-plus/client-apis/index.html | 10 +++++----- docs/gamevault-plus/client-setup/index.html | 10 +++++----- docs/gamevault-plus/introduction/index.html | 10 +++++----- docs/gamevault-plus/themes/index.html | 10 +++++----- docs/intro/index.html | 10 +++++----- docs/license-contribute/index.html | 10 +++++----- docs/server-docs/adding-games/index.html | 10 +++++----- docs/server-docs/backup-and-restore/index.html | 10 +++++----- docs/server-docs/configuration/index.html | 10 +++++----- docs/server-docs/game-types/index.html | 10 +++++----- docs/server-docs/indexing/index.html | 10 +++++----- docs/server-docs/media/index.html | 10 +++++----- .../metadata-enrichment/metadata/index.html | 10 +++++----- .../metadata-enrichment/provider-igdb/index.html | 10 +++++----- docs/server-docs/parental-control/index.html | 10 +++++----- docs/server-docs/plugins/index.html | 10 +++++----- docs/server-docs/server-news/index.html | 10 +++++----- docs/server-docs/setup/caprover/index.html | 10 +++++----- docs/server-docs/setup/docker-compose/index.html | 10 +++++----- docs/server-docs/setup/index.html | 10 +++++----- docs/server-docs/setup/native/index.html | 10 +++++----- .../setup/synology-container-manager/index.html | 10 +++++----- docs/server-docs/setup/truenas-scale/index.html | 10 +++++----- docs/server-docs/setup/unraid/index.html | 10 +++++----- docs/server-docs/structure/index.html | 10 +++++----- docs/server-docs/updating-games/index.html | 10 +++++----- docs/server-docs/user-management/index.html | 10 +++++----- docs/server-docs/websockets/index.html | 10 +++++----- docs/troubleshooting/index.html | 10 +++++----- index.html | 8 ++++---- search-index-default.json | 2 +- search-index-docs-default-current.json | 2 +- 353 files changed, 1271 insertions(+), 1271 deletions(-) delete mode 100644 assets/css/styles.bda4e096.css create mode 100644 assets/css/styles.d6ccf8b4.css rename assets/js/{007d2baa.b4d685f2.js => 007d2baa.00411cb4.js} (98%) delete mode 100644 assets/js/01a85c17.692c4964.js create mode 100644 assets/js/01a85c17.a3a8d5c8.js rename assets/js/{0748c3bc.c0d1f990.js => 0748c3bc.ab07a9aa.js} (97%) rename assets/js/{0b705c82.b85e501b.js => 0b705c82.3d4a2b17.js} (96%) rename assets/js/{0bd541ed.116503e2.js => 0bd541ed.643c34a6.js} (94%) rename assets/js/{0bfa7fcc.e307e6e6.js => 0bfa7fcc.b01db92e.js} (97%) rename assets/js/{0e384e19.35eae3f2.js => 0e384e19.8a72b449.js} (98%) rename assets/js/{14b6aafb.d1ab05df.js => 14b6aafb.15260e47.js} (98%) create mode 100644 assets/js/1630eae8.2978aa9a.js delete mode 100644 assets/js/1630eae8.40f8a7dd.js rename assets/js/{1649.67adf67a.js => 1649.c21acdfc.js} (74%) delete mode 100644 assets/js/17896441.1ffc051e.js create mode 100644 assets/js/17896441.5148359f.js rename assets/js/{18d9fd7d.8d0c3aef.js => 18d9fd7d.143d747e.js} (95%) rename assets/js/{193fe191.81ff1ac2.js => 193fe191.b9d845f8.js} (98%) rename assets/js/{1e0a1681.d65285c8.js => 1e0a1681.c67a4dd9.js} (98%) rename assets/js/{2024b8b1.1a062afe.js => 2024b8b1.318d4076.js} (94%) rename assets/js/{369.e74b4f81.js => 2091.0cdaafca.js} (89%) rename assets/js/{2296bbef.55fa136c.js => 2296bbef.15e7a1e1.js} (84%) delete mode 100644 assets/js/2433.29272538.js rename assets/js/{264f4708.f7124c31.js => 264f4708.cbe92c52.js} (97%) rename assets/js/{2e008a3a.78dc1344.js => 2e008a3a.c8c45cd2.js} (93%) delete mode 100644 assets/js/3fc3119e.0d274f44.js create mode 100644 assets/js/3fc3119e.a97da495.js rename assets/js/{435302bb.ecae0713.js => 435302bb.8497a1d4.js} (98%) rename assets/js/{438c7fa2.03c3af96.js => 438c7fa2.ed451fc6.js} (93%) rename assets/js/{47aca6da.ce9212e4.js => 47aca6da.d22b953e.js} (91%) rename assets/js/{4a631206.32b9a23f.js => 4a631206.061c0be6.js} (95%) rename assets/js/{4a6974fe.9013cf49.js => 4a6974fe.d796f7ac.js} (95%) rename assets/js/{4d393b3e.b8157fdc.js => 4d393b3e.5f343388.js} (96%) rename assets/js/{5046667d.6816423f.js => 5046667d.9ca9e466.js} (96%) rename assets/js/{51e7bf36.96b3e995.js => 51e7bf36.75311b19.js} (97%) rename assets/js/{55dfe132.d7016b5a.js => 55dfe132.39f7a57c.js} (97%) rename assets/js/{5e5c84c3.4f543694.js => 5e5c84c3.ccd1c461.js} (95%) create mode 100644 assets/js/5e95c892.892705da.js delete mode 100644 assets/js/5e95c892.9de68b89.js rename assets/js/{61be0f73.d53b12f7.js => 61be0f73.46aea420.js} (98%) delete mode 100644 assets/js/621db11d.28c68033.js create mode 100644 assets/js/621db11d.cd005c05.js create mode 100644 assets/js/6493.8f62fe69.js rename assets/js/{6875c492.d06d54a5.js => 6875c492.9307af78.js} (56%) rename assets/js/{7424d9c3.784771e2.js => 7424d9c3.3f5cb2ce.js} (96%) rename assets/js/{7489ed02.954f07df.js => 7489ed02.06343463.js} (95%) rename assets/js/{7b99d5ba.430c1370.js => 7b99d5ba.a1b49a5b.js} (95%) rename assets/js/{7ef69c2b.b53d4294.js => 7ef69c2b.14d18f74.js} (94%) rename assets/js/{80292675.d53d083b.js => 80292675.7494050e.js} (97%) delete mode 100644 assets/js/8795eea9.4c6d282e.js create mode 100644 assets/js/8795eea9.c226c217.js rename assets/js/{89db6d1d.4dd71599.js => 89db6d1d.830f4491.js} (94%) rename assets/js/{8ba18f4f.ad0b8564.js => 8ba18f4f.7930542f.js} (96%) rename assets/js/{8c4108df.5b80174b.js => 8c4108df.5b1f936e.js} (97%) rename assets/js/{9019cc36.e6dd2667.js => 9019cc36.071ddb15.js} (97%) create mode 100644 assets/js/9147d3af.0a76dcd5.js delete mode 100644 assets/js/9147d3af.9f6d0b70.js rename assets/js/{9404f843.3c294247.js => 9404f843.c51f720e.js} (98%) rename assets/js/{9748c478.aaf9765e.js => 9748c478.ab7b920b.js} (98%) rename assets/js/{99f2b7e6.e538f75e.js => 99f2b7e6.acd277ff.js} (84%) rename assets/js/{9d9f8394.719e69be.js => 9d9f8394.1f32004b.js} (98%) delete mode 100644 assets/js/9e4087bc.3baef65c.js create mode 100644 assets/js/9e4087bc.c436fd83.js rename assets/js/{a1072f2a.69a2bfa0.js => a1072f2a.6a61b3d0.js} (98%) rename assets/js/{a1216fa4.5ad0b577.js => a1216fa4.b3f075b9.js} (97%) rename assets/js/{a1f57275.99519fb9.js => a1f57275.f5d129b3.js} (96%) create mode 100644 assets/js/a6aa9e1f.87c8d08d.js delete mode 100644 assets/js/a6aa9e1f.9337288d.js delete mode 100644 assets/js/a7bd4aaa.7d869959.js create mode 100644 assets/js/a7bd4aaa.b6217e6b.js create mode 100644 assets/js/a94703ab.4436cafa.js delete mode 100644 assets/js/a94703ab.4490eea1.js rename assets/js/{b1d7f5b9.358c8814.js => b1d7f5b9.fba9eb2b.js} (94%) rename assets/js/{b28c3188.4a70d5e9.js => b28c3188.df155f5f.js} (99%) rename assets/js/{b4068411.710112df.js => b4068411.d07d7e08.js} (97%) rename assets/js/{b493ea72.99bcac67.js => b493ea72.002e1b38.js} (95%) rename assets/js/{b7026fb3.48429419.js => b7026fb3.9d4162c0.js} (97%) rename assets/js/{b8ecf3c5.09bf15f5.js => b8ecf3c5.46500aec.js} (98%) rename assets/js/{ba3af7ad.8b7a6fe1.js => ba3af7ad.82300781.js} (95%) rename assets/js/{ba57e113.9e9cbc48.js => ba57e113.941d714f.js} (97%) create mode 100644 assets/js/bcc2422e.cc2251a8.js delete mode 100644 assets/js/bcc2422e.e71b5aaf.js rename assets/js/{c332f8df.f1eb30cb.js => c332f8df.d52fc2ac.js} (96%) create mode 100644 assets/js/c4f5d8e4.327ad0bf.js delete mode 100644 assets/js/c4f5d8e4.6d5feb5c.js rename assets/js/{c89c7974.36d99de2.js => c89c7974.b21109b7.js} (95%) rename assets/js/{c9d2adb2.371857cd.js => c9d2adb2.8fdf7464.js} (95%) create mode 100644 assets/js/ccc49370.3a091c2c.js delete mode 100644 assets/js/ccc49370.4427e1f7.js rename assets/js/{cd59c184.4380dd54.js => cd59c184.9ebb86c4.js} (96%) rename assets/js/{cddec16f.8f857718.js => cddec16f.cdf55724.js} (97%) rename assets/js/{d9d4e1f1.f6b2f69f.js => d9d4e1f1.ca60091f.js} (93%) rename assets/js/{dcb9a9e8.0f05a26d.js => dcb9a9e8.8560359c.js} (97%) rename assets/js/{e07621e3.fb997d27.js => e07621e3.ddae9e66.js} (85%) rename assets/js/{e0c5798e.0eedbb9b.js => e0c5798e.308752ac.js} (97%) rename assets/js/{e0da75fc.26e30ff3.js => e0da75fc.82b2488d.js} (95%) rename assets/js/{e6a59d41.18228cc3.js => e6a59d41.344c0d69.js} (97%) rename assets/js/{e70842e4.707e3622.js => e70842e4.f0b00acd.js} (95%) rename assets/js/{e7aa45d5.6f03a7aa.js => e7aa45d5.9843d9eb.js} (96%) rename assets/js/{e9e0f988.45f588b3.js => e9e0f988.b2e09943.js} (93%) rename assets/js/{ec46a009.40695c02.js => ec46a009.74738206.js} (98%) rename assets/js/{ee98c124.e7f1268a.js => ee98c124.cbd09722.js} (97%) rename assets/js/{f4d4319b.abdfd7ef.js => f4d4319b.a48b409c.js} (96%) rename assets/js/{f5b06269.c8fc53ea.js => f5b06269.fe7c6b2d.js} (95%) rename assets/js/{f8aea940.55ccc5d1.js => f8aea940.98e609de.js} (57%) create mode 100644 assets/js/fb0a08ce.709e5246.js delete mode 100644 assets/js/fb0a08ce.868120b0.js rename assets/js/{fbaf179c.89ad0700.js => fbaf179c.289c4e7f.js} (97%) delete mode 100644 assets/js/fe2b2ad8.443c10fc.js create mode 100644 assets/js/fe2b2ad8.5be3f56b.js create mode 100644 assets/js/main.03039855.js rename assets/js/{main.d1342fc0.js.LICENSE.txt => main.03039855.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.d1342fc0.js delete mode 100644 assets/js/runtime~main.03a06ead.js create mode 100644 assets/js/runtime~main.92d9007e.js diff --git a/404.html b/404.html index a510a9dbf..fb98915cb 100644 --- a/404.html +++ b/404.html @@ -4,11 +4,11 @@ Page Not Found | GameVault - - - + + + -
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

\ No newline at end of file diff --git a/assets/css/styles.bda4e096.css b/assets/css/styles.bda4e096.css deleted file mode 100644 index 0f507ef1b..000000000 --- a/assets/css/styles.bda4e096.css +++ /dev/null @@ -1 +0,0 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal)}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_QfJ4,html{-webkit-tap-highlight-color:transparent}:root,body.dark,body[data-theme=dark]{--aa-icon-color-rgb:119,119,163;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb)}.authorSocials_iCqw,.authorTitle_w1Af{-webkit-box-orient:vertical;overflow:hidden}.aa-List,.clean-list,.containsTaskList_Q9D7,.details_Q7gm>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}*,.aa-Autocomplete *,.aa-DetachedFormContainer *,.aa-Panel *{box-sizing:border-box}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.items-center,.menuExternalLink_EnPB,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width);width:100%}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EI91 .wordWrapButtonIcon_dvG6{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_VCVJ,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_CBT2:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_XZTp article>:first-child,.docItemContainer_XZTp header+*,.footer__item{margin-top:0}.admonitionContent_tuR2>:last-child,.collapsibleContent_VMaD p:last-child,.details_Q7gm>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_Yei0,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_c9tz{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_Q7gm[data-collapsed=false].isBrowser_x461>summary:before,.details_Q7gm[open]:not(.isBrowser_x461)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.flex,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_RqlE,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.inline-flex,.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_HUlZ:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_Q9D7>li)>.containsTaskList_Q9D7{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-font-size-base:105%;--ifm-color-primary:#413a92;--ifm-color-primary-dark:#3a3483;--ifm-color-primary-darker:#37317c;--ifm-color-primary-darkest:#2d2966;--ifm-color-primary-light:#4740a1;--ifm-color-primary-lighter:#4b43a8;--ifm-color-primary-lightest:#5850b9;--ifm-background-surface-color:#d9d7ea!important;--ifm-navbar-background-color:#e2e1ef!important;--ifm-background-color:#e2e1ef!important;--ifm-footer-background-color:#d9d7ea!important;--ifm-font-color-base:#06050a;--ifm-font-color-base-inverse:#f6f5fa;--docusaurus-announcement-bar-height:auto;--aa-search-input-height:44px;--aa-input-icon-size:20px;--aa-base-unit:16;--aa-spacing-factor:1;--aa-spacing:calc(var(--aa-base-unit)*var(--aa-spacing-factor)*1px);--aa-spacing-half:calc(var(--aa-spacing)/2);--aa-panel-max-height:650px;--aa-base-z-index:9999;--aa-font-size:calc(var(--aa-base-unit)*1px);--aa-font-family:inherit;--aa-font-weight-medium:500;--aa-font-weight-semibold:600;--aa-font-weight-bold:700;--aa-icon-size:20px;--aa-icon-stroke-width:1.6;--aa-icon-color-alpha:1;--aa-action-icon-size:20px;--aa-text-color-rgb:38,38,39;--aa-text-color-alpha:1;--aa-primary-color-rgb:62,52,211;--aa-primary-color-alpha:0.2;--aa-muted-color-rgb:128,126,163;--aa-muted-color-alpha:0.6;--aa-panel-border-color-rgb:128,126,163;--aa-panel-border-color-alpha:0.3;--aa-input-border-color-rgb:128,126,163;--aa-input-border-color-alpha:0.8;--aa-background-color-rgb:255,255,255;--aa-background-color-alpha:1;--aa-input-background-color-rgb:255,255,255;--aa-input-background-color-alpha:1;--aa-selected-color-rgb:179,173,214;--aa-selected-color-alpha:0.205;--aa-description-highlight-background-color-rgb:245,223,77;--aa-description-highlight-background-color-alpha:0.5;--aa-detached-media-query:(max-width:680px);--aa-detached-modal-media-query:(min-width:680px);--aa-detached-modal-max-width:680px;--aa-detached-modal-max-height:500px;--aa-overlay-color-rgb:115,114,129;--aa-overlay-color-alpha:0.4;--aa-panel-shadow:0 0 0 1px #23263b1a,0 6px 16px -4px #23263b26;--aa-scrollbar-width:13px;--aa-scrollbar-track-background-color-rgb:234,234,234;--aa-scrollbar-track-background-color-alpha:1;--aa-scrollbar-thumb-background-color-alpha:1;--aa-search-input-height:36px;--docusaurus-blog-social-icon-size:1rem;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container,.w-full{width:100%}.grid{display:grid}.h-16{height:4rem}.h-48{height:12rem}.max-w-screen-sm{max-width:640px}.flex-col{flex-direction:column}.justify-center{justify-content:center}.gap-4{gap:1rem}.rounded-xl{border-radius:.75rem}.text-7xl{font-size:4.5rem;line-height:1}.text-xs{font-size:.75rem;line-height:1rem}.font-semibold{font-weight:600}.tracking-tighter{letter-spacing:-.05em}[data-theme=dark]{--ifm-color-primary:#9f99d6;--ifm-color-primary-dark:#867fcb;--ifm-color-primary-darker:#7a72c6;--ifm-color-primary-darkest:#554ab6;--ifm-color-primary-light:#b8b3e1;--ifm-color-primary-lighter:#c4c0e6;--ifm-color-primary-lightest:#e9e8f6;--ifm-background-surface-color:#171528!important;--ifm-navbar-background-color:#11101e!important;--ifm-background-color:#11101e!important;--ifm-footer-background-color:#171528!important;--ifm-font-color-base:#f6f5fa;--ifm-font-color-base-inverse:#06050a}img[alt="GameVault+ Banner"]{height:3.75rem}.banner{align-items:flex-end;display:flex;font-size:3.75rem;gap:.5rem;line-height:1;margin-bottom:1rem}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.aa-ClearButton[hidden],.aa-ItemContent:empty,.aa-LoadingIndicator[hidden],.aa-Source:empty,.aa-SourceHeader:empty,.themedComponent_vLv9,[data-theme=dark] .lightToggleIcon_SP6E,[data-theme=light] .darkToggleIcon_DyWs,html[data-announcement-bar-initially-dismissed=true] .announcementBar_wEz5{display:none}.skipToContent_N_FB{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_N_FB:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_xADE{line-height:0;padding:0}.content_CsLf{font-size:85%;padding:5px 0;text-align:center}.content_CsLf a{color:inherit;text-decoration:underline}.announcementBar_wEz5{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_e0hD{flex:0 0 10px}.announcementBarClose_hClt{align-self:stretch;flex:0 0 30px}.toggle_Ctpc{height:2rem;width:2rem}.aa-Form,.toggleButton_QfJ4{align-items:center;width:100%;display:flex}.toggleButton_QfJ4{border-radius:50%;height:100%;justify-content:center;transition:background var(--ifm-transition-fast)}.toggleButton_QfJ4:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_hyb0{cursor:not-allowed}.darkNavbarColorModeToggle_ul4N:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_sPag,[data-theme=light] .themedComponent--light_rpQX,html:not([data-theme]) .themedComponent--light_rpQX{display:initial}.iconExternalLink_rK98{margin-left:.3rem}.dropdownNavbarItemMobile_x5K8{cursor:pointer}.iconLanguage_QTLV{margin-right:5px;vertical-align:text-bottom}body.dark,body[data-theme=dark]{--aa-text-color-rgb:183,192,199;--aa-primary-color-rgb:146,138,255;--aa-muted-color-rgb:146,138,255;--aa-input-background-color-rgb:0,3,9;--aa-background-color-rgb:21,24,42;--aa-selected-color-rgb:146,138,255;--aa-selected-color-alpha:0.25;--aa-description-highlight-background-color-rgb:0 255 255;--aa-description-highlight-background-color-alpha:0.25;--aa-panel-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--aa-scrollbar-track-background-color-rgb:44,46,64;--aa-muted-color-alpha:1}.aa-Autocomplete,.aa-DetachedFormContainer,.aa-Panel{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);font-weight:400;line-height:1em;margin:0;padding:0;text-align:left}.aa-Form{background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid #807ea3cc;border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;line-height:1em;margin:0;position:relative}.aa-ClearButton,.aa-Input,.aa-SubmitButton{border:0;background:none}.aa-Form:focus-within{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 2px #3e34d333,inset 0 0 0 2px #3e34d333;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:currentColor}.aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;height:44px;height:var(--aa-search-input-height);order:1}.aa-Label,.aa-LoadingIndicator{cursor:auto;flex-shrink:0;height:100%;padding:0;text-align:left}.aa-Label svg,.aa-LoadingIndicator svg{color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);height:auto;max-height:20px;max-height:var(--aa-input-icon-size);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-input-icon-size)}.aa-LoadingIndicator,.aa-SubmitButton{height:100%;padding-left:11px;padding-left:calc(var(--aa-spacing)*.75 - 1px);padding-right:8px;padding-right:var(--aa-spacing-half);width:47px;width:calc(var(--aa-spacing)*1.75 + var(--aa-icon-size) - 1px)}.aa-SubmitButton{appearance:none;margin:0}.aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-InputWrapper{order:3;position:relative;width:100%}.aa-Input{appearance:none;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font:inherit;height:44px;height:var(--aa-search-input-height);padding:0;width:100%}.aa-Input::placeholder{color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:focus{border-color:none;box-shadow:none;outline:0}.aa-Input::-webkit-search-cancel-button,.aa-Input::-webkit-search-decoration,.aa-Input::-webkit-search-results-button,.aa-Input::-webkit-search-results-decoration{appearance:none}.aa-InputWrapperSuffix{align-items:center;display:flex;height:44px;height:var(--aa-search-input-height);order:4}.aa-ClearButton{align-items:center;color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;height:100%;margin:0;padding:0 12.83328px;padding:0 calc(var(--aa-spacing)*.83333 - .5px)}.aa-Item,.aa-ItemIcon{align-items:center;border-radius:3px}.aa-ClearButton:focus,.aa-ClearButton:hover,.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ClearButton svg{stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-icon-size)}.aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:4px;border-radius:calc(var(--aa-spacing)/4);box-shadow:0 0 0 1px #23263b1a,0 6px 16px -4px #23263b26;box-shadow:var(--aa-panel-shadow);margin:8px 0 0;overflow:hidden;position:absolute;transition:opacity .2s ease-in,filter .2s ease-in}.aa-Panel button{appearance:none;background:none;border:0;margin:0;padding:0}.aa-PanelLayout{height:100%;margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-y:auto;padding:0;position:relative;text-align:left}.aa-PanelLayoutColumns--twoGolden{display:grid;grid-template-columns:39.2% auto;overflow:hidden;padding:0}.aa-PanelLayoutColumns--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:0}.aa-PanelLayoutColumns--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;padding:0}.aa-Panel--stalled .aa-Source{filter:grayscale(1);opacity:.8}.aa-Panel--scrollable{margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-x:hidden;overflow-y:auto;padding:8px;padding:var(--aa-spacing-half);scrollbar-color:#fff #eaeaea;scrollbar-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha)) rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));scrollbar-width:thin}.sidebar_O_Xz,.tableOfContents_tnIz{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem)}.aa-Panel--scrollable::-webkit-scrollbar{width:13px;width:var(--aa-scrollbar-width)}.aa-Panel--scrollable::-webkit-scrollbar-track{background-color:#eaeaea;background-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Panel--scrollable::-webkit-scrollbar-thumb{background-color:#fff;background-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha));border:3px solid #eaeaea;border:3px solid rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));border-radius:9999px;border-right-width:2px}.aa-Source{margin:0;padding:0;position:relative;width:100%}.aa-SourceNoResults{font-size:1em;margin:0;padding:16px;padding:var(--aa-spacing)}.aa-List{margin:0}.aa-List,.aa-SourceHeader{padding:0;position:relative}.aa-SourceHeader{margin:8px .5em 8px 0;margin:var(--aa-spacing-half) .5em var(--aa-spacing-half) 0}.aa-SourceHeaderTitle{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);display:inline-block;font-size:.8em;font-weight:600;font-weight:var(--aa-font-weight-semibold);margin:0;padding:0 8px 0 0;padding:0 var(--aa-spacing-half) 0 0;position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-SourceHeaderLine{border-bottom:1px solid #3e34d3;border-bottom:1px solid rgba(var(--aa-primary-color-rgb),1);display:block;height:2px;left:0;margin:0;opacity:.3;padding:0;position:absolute;right:0;top:8px;top:var(--aa-spacing-half);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-SourceFooterSeeAll{background:linear-gradient(180deg,#fff,#807ea324);background:linear-gradient(180deg,rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha)),#807ea324);border:1px solid #807ea399;border:1px solid rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));border-radius:5px;box-shadow:inset 0 0 2px #fff,0 2px 2px -1px #4c455826;color:inherit;font-size:.95em;font-weight:500;font-weight:var(--aa-font-weight-medium);padding:.475em 1em .6em;-webkit-text-decoration:none;text-decoration:none}.aa-SourceFooterSeeAll:focus,.aa-SourceFooterSeeAll:hover{border:1px solid #3e34d3;border:1px solid rgba(var(--aa-primary-color-rgb),1);color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1)}.aa-Item{cursor:pointer;display:grid;min-height:40px;min-height:calc(var(--aa-spacing)*2.5);padding:4px;padding:calc(var(--aa-spacing-half)/2)}.aa-Item[aria-selected=true]{background-color:rgba(179,173,214,.205);background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha))}.aa-Item[aria-selected=true] .aa-ActiveOnly,.aa-Item[aria-selected=true] .aa-ItemActionButton{visibility:visible}.aa-ItemIcon{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 0 0 1px #807ea34d;box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));color:#7777a3;color:rgba(var(--aa-icon-color-rgb),var(--aa-icon-color-alpha));display:flex;flex-shrink:0;font-size:.7em;height:28px;height:calc(var(--aa-icon-size) + var(--aa-spacing-half));justify-content:center;overflow:hidden;stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);text-align:center;width:28px;width:calc(var(--aa-icon-size) + var(--aa-spacing-half))}.aa-ItemIcon img{height:auto;max-height:20px;max-height:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);max-width:20px;max-width:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);width:auto}.aa-ItemIcon svg{height:20px;height:var(--aa-icon-size);width:20px;width:var(--aa-icon-size)}.aa-ItemIcon--alignTop{align-self:flex-start}.aa-ItemIcon--noBorder{background:none;box-shadow:none}.aa-ItemIcon--picture{height:96px;width:96px}.aa-ItemIcon--picture img{max-height:100%;max-width:100%;padding:8px;padding:var(--aa-spacing-half)}.aa-ItemContent{align-items:center;cursor:pointer;display:grid;gap:8px;grid-gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;line-height:1.25em;overflow:hidden}.aa-ItemContent mark{background:none;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:700;font-weight:var(--aa-font-weight-bold)}.aa-ItemContent--dual{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.aa-ItemContent--dual .aa-ItemContentSubtitle,.aa-ItemContent--dual .aa-ItemContentTitle,.tocCollapsibleContent_saQ3 a{display:block}.aa-ItemContent--indented{padding-left:36px;padding-left:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-ItemContentBody{display:grid;gap:4px;grid-gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2)}.aa-ItemContentTitle{display:inline-block;margin:0 .5em 0 0;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.aa-ItemContentSubtitle{font-size:.92em}.aa-ItemContentSubtitleIcon:before{border-color:#807ea3a3;border-color:rgba(var(--aa-muted-color-rgb),.64);border-style:solid;content:"";display:inline-block;left:1px;position:relative;top:-3px}.aa-PanelFooter:after,.aa-PanelHeader:after{content:"";position:absolute;pointer-events:none;right:0;left:0}.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon:before{border-width:0 0 1.5px;margin-left:8px;margin-left:var(--aa-spacing-half);margin-right:4px;margin-right:calc(var(--aa-spacing-half)/2);width:10px;width:calc(var(--aa-spacing-half) + 2px)}.aa-ItemContentSubtitle--standalone{align-items:center;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));display:grid;gap:8px;grid-gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;justify-content:start}.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon:before{border-radius:0 0 0 3px;border-width:0 0 1.5px 1.5px;height:8px;height:var(--aa-spacing-half);width:8px;width:var(--aa-spacing-half)}.aa-ItemContentSubtitleCategory{color:#807ea3;color:rgba(var(--aa-muted-color-rgb),1);font-weight:500}.aa-ItemContentDescription{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-size:.85em;max-width:100%;overflow-x:hidden;text-overflow:ellipsis}.aa-ItemContentDescription:empty{display:none}.aa-ItemContentDescription mark{background:#f5df4d80;background:rgba(var(--aa-description-highlight-background-color-rgb),var(--aa-description-highlight-background-color-alpha));color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:500;font-weight:var(--aa-font-weight-medium)}.aa-ItemContentDash{color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));display:none;opacity:.4}.aa-ItemContentTag{background-color:#3e34d333;background-color:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha));border-radius:3px;margin:0 .4em 0 0;padding:.08em .3em}.aa-ItemLink,.aa-ItemWrapper{align-items:center;color:inherit;display:grid;gap:4px;grid-gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2);grid-auto-flow:column;justify-content:space-between;width:100%}.aa-ItemLink{color:inherit;-webkit-text-decoration:none;text-decoration:none}.aa-ItemActions{display:grid;grid-auto-flow:column;height:100%;justify-self:end;margin:0 -5.33333px;margin:0 calc(var(--aa-spacing)/-3);padding:0 2px 0 0}.aa-ItemActionButton{align-items:center;background:none;border:0;color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;flex-shrink:0;padding:0}.aa-ItemActionButton svg{color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:5.33333px;margin:calc(var(--aa-spacing)/3);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-action-icon-size)}.aa-ActiveOnly{visibility:hidden}.aa-PanelHeader{align-items:center;background:#3e34d3;background:rgba(var(--aa-primary-color-rgb),1);color:#fff;display:grid;height:var(--aa-modal-header-height);margin:0;padding:8px 16px;padding:var(--aa-spacing-half) var(--aa-spacing);position:relative}.aa-PanelHeader:after{background-image:linear-gradient(#fff,#fff0);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));bottom:-8px;bottom:calc(var(--aa-spacing-half)*-1);height:8px;height:var(--aa-spacing-half)}.aa-PanelFooter,.aa-PanelHeader:after{z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 1px 0 #807ea34d;box-shadow:inset 0 1px 0 rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;justify-content:space-between;margin:0;padding:16px;padding:var(--aa-spacing);position:relative}.aa-PanelFooter:after{background-image:linear-gradient(#fff0,#807ea399);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha)));height:16px;height:var(--aa-spacing);opacity:.12;top:-16px;top:calc(var(--aa-spacing)*-1);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-DetachedContainer{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));bottom:0;box-shadow:0 0 0 1px #23263b1a,0 6px 16px -4px #23263b26;box-shadow:var(--aa-panel-shadow);display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-DetachedContainer:after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:8px 0 8px 2px;margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{border-bottom:1px solid #807ea34d;border-bottom:1px solid rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:8px;padding:var(--aa-spacing-half)}.aa-DetachedCancelButton{background:none;border:0;border-radius:3px;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));cursor:pointer;font:inherit;margin:0 0 0 8px;margin:0 0 0 var(--aa-spacing-half);padding:0 8px;padding:0 var(--aa-spacing-half)}.aa-DetachedCancelButton:focus,.aa-DetachedCancelButton:hover{box-shadow:inset 0 0 0 1px #807ea34d;box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha))}.aa-DetachedContainer--modal{border-radius:6px;bottom:inherit;height:auto;margin:0 auto;max-width:680px;max-width:var(--aa-detached-modal-max-width);position:absolute;top:3%}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:500px;max-height:var(--aa-detached-modal-max-height);padding-bottom:8px;padding-bottom:var(--aa-spacing-half);position:static}.aa-DetachedContainer--modal .aa-PanelLayout:empty,.aa-DetachedSearchButtonPlaceholder[hidden],.docSidebarContainer_HC4d,.navbarSearchContainer_ZzhW:empty,.sidebarLogo_rxVR{display:none}.aa-DetachedSearchButton{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid #807ea3cc;border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;font:inherit;font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);height:44px;height:var(--aa-search-input-height);margin:0;padding:0 5.5px;padding:0 calc(var(--aa-search-input-height)/8);position:relative;text-align:left;width:100%}.aa-DetachedSearchButton:focus{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 3px #3e34d333,inset 0 0 0 2px #3e34d333;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 3px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:currentColor}.aa-DetachedSearchButtonIcon{align-items:center;color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);cursor:auto;display:flex;flex-shrink:0;height:100%;justify-content:center;width:36px;width:calc(var(--aa-icon-size) + var(--aa-spacing))}.authorSocialIcon_YEXF,.authorSocialLink_EN0k{width:var(--docusaurus-blog-social-icon-size)}.aa-DetachedSearchButtonQuery{color:#262627;color:rgba(var(--aa-text-color-rgb),1);line-height:1.25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:#73728166;background-color:rgba(var(--aa-overlay-color-rgb),var(--aa-overlay-color-alpha));height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-GradientBottom,.aa-GradientTop{height:8px;height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-GradientTop{background-image:linear-gradient(#fff,#fff0);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));top:0}.aa-GradientBottom{background-image:linear-gradient(#fff0,#fff);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-background-color-rgb),1));border-bottom-left-radius:4px;border-bottom-left-radius:calc(var(--aa-spacing)/4);border-bottom-right-radius:4px;border-bottom-right-radius:calc(var(--aa-spacing)/4);bottom:0}.navbarHideable_XAwL{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_IdZ3{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_N3_4{color:red;white-space:pre-wrap}.errorBoundaryFallback_iuBr{color:red;padding:.55rem}.footerLogoLink_WvA8{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_WvA8:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_BnxJ{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_re8X{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_GHU6{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_O_Xz{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_NsE9{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_xAnX,.sidebarItemList_yaC1{font-size:.9rem}.sidebarItem_PDlg{margin-top:.7rem}.sidebarItemLink_HUlZ{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_eKb7{color:var(--ifm-color-primary)!important}.yearGroupHeading_ypKa{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_Zf6e{margin:1rem .75rem .5rem}[data-theme=dark] .githubSvg_ujvF,[data-theme=dark] .xSvg_mPQQ{fill:var(--light)}[data-theme=light] .githubSvg_ujvF,[data-theme=light] .xSvg_mPQQ{fill:var(--dark)}.authorSocials_iCqw{align-items:center;display:flex;flex-wrap:wrap;line-clamp:1;-webkit-line-clamp:1}.authorSocialLink_EN0k,.authorSocials_iCqw{height:var(--docusaurus-blog-social-icon-size);line-height:0}.authorSocialLink_EN0k{margin-right:.4rem}.authorSocialIcon_YEXF{height:var(--docusaurus-blog-social-icon-size)}.authorImage_AQkC{--ifm-avatar-photo-size:3.6rem}.author-as-h1_s179 .authorImage_AQkC{--ifm-avatar-photo-size:7rem}.author-as-h2_BF4G .authorImage_AQkC{--ifm-avatar-photo-size:5.4rem}.authorDetails_ie2u{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_s97L{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_s179 .authorName_s97L{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_BF4G .authorName_s97L{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_w1Af{display:-webkit-box;font-size:.8rem;line-height:1rem;line-clamp:1;-webkit-line-clamp:1}.author-as-h1_s179 .authorTitle_w1Af{font-size:1.2rem;line-height:1.6rem}.author-as-h2_BF4G .authorTitle_w1Af{font-size:1rem;line-height:1.3rem}.authorBlogPostCount_fH2W{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.authorListItem_X3Ma{list-style-type:none;margin-bottom:2rem}.authorCol_btVC{max-width:inherit!important}.imageOnlyAuthorRow_fBnr{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_Y2d8{margin-left:.3rem;margin-right:.3rem}.backToTopButton_WX52{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.buttonGroup_zCn6 button,.codeBlockContainer_Sx4Y{background:var(--prism-background-color);color:var(--prism-color)}.docMainContainer__7rY,.docRoot_rWX7,.features_t9lD{width:100%;display:flex}.backToTopButton_WX52:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_OIBR{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_t0mP{display:none;margin:0}.docsWrapper_n3t2{display:flex;flex:1 0 auto}.features_t9lD{align-items:center;padding:2rem 0}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.codeBlockContainer_Sx4Y{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_YnoF{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_CurW{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_kXdi{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_CurW+.codeBlockContent_YnoF .codeBlock_kXdi{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_SDaA{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_Akw7{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_zCn6{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_zCn6 button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_zCn6 button:focus-visible,.buttonGroup_zCn6 button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_zCn6 button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_myqu{counter-increment:a;display:table-row}.codeLineNumber_CBT2{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_CBT2:before{content:counter(a);opacity:.4}.codeLineContent_LM40{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_OQHi{opacity:1!important}.copyButtonIcons_wv7r{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_Yg7_,.copyButtonSuccessIcon_PaDN{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_PaDN{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_OQHi .copyButtonIcon_Yg7_{opacity:0;transform:scale(.33)}.copyButtonCopied_OQHi .copyButtonSuccessIcon_PaDN{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tag_idh4{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_idh4:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_OEC8{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_X4qa{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_X4qa:after,.tagWithCount_X4qa:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_X4qa:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_X4qa:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_X4qa span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_jLS_{display:inline-block;margin:.5rem .5rem 0 1rem}.wordWrapButtonIcon_dvG6{height:1.2rem;width:1.2rem}.tags_gbum{display:inline}.tag_jXtk{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_BjJv{margin-right:.3em;vertical-align:sub}.lastUpdated_w0Sh{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_vn6v{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_vn6v:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_g94R:after,.tocCollapsibleExpanded_jtxX{transform:none}.tocCollapsible_v7jt{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_saQ3>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_saQ3 ul li{margin:.4rem .8rem}.details_Q7gm{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_Q7gm>summary{cursor:pointer;padding-left:1rem;position:relative}.details_Q7gm>summary::-webkit-details-marker{display:none}.details_Q7gm>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_VMaD{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_MhMj{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_sRsS{height:auto}.tableOfContents_tnIz{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_HAC_{margin-bottom:1em}.admonitionHeading_VCVJ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_VCVJ:not(:last-child){margin-bottom:.3rem}.admonitionHeading_VCVJ code{text-transform:none}.admonitionIcon_vHBt{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_vHBt svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon__ns4{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_SLq6{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:640px){.container{max-width:640px}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:997px){.collapseSidebarButton_t0mP,.expandButton_RF0L{background-color:var(--docusaurus-collapse-button-bg)}.container{max-width:997px}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_hClt,.announcementBarPlaceholder_e0hD{flex-basis:50px}.navbarSearchContainer_ZzhW{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.collapseSidebarButton_t0mP{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_yoHO{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_KM58,[dir=rtl] .collapseSidebarButtonIcon_yoHO{transform:rotate(0)}.collapseSidebarButton_t0mP:focus,.collapseSidebarButton_t0mP:hover,.expandButton_RF0L:focus,.expandButton_RF0L:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_KuMc{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_R21V{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_R21V{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_BzAP{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_bUer{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_SoJA{padding-top:0}.sidebarHidden_UCvX{opacity:0;visibility:hidden}.sidebarLogo_rxVR{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_rxVR img{height:2rem;margin-right:.5rem}.expandButton_RF0L{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_KM58{transform:rotate(180deg)}.docSidebarContainer_HC4d{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_ZfRM{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_N_1E{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer__7rY{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_dowq{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_ApAT{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_w0Sh{text-align:right}.tocMobile_IH7H{display:none}.docItemCol_oXzR{max-width:75%!important}}@media (min-width:1024px){.container{max-width:1024px}.lg\:max-w-\[50\%\]{max-width:50%}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (min-width:1536px){.container{max-width:1536px}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_z0vY,.footer__link-separator,.navbar__item,.sidebar_O_Xz,.tableOfContents_tnIz{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_ZzhW{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_YM2y{padding:0 .3rem}}@media screen and (max-width:996px){.heroBanner_qdFl{padding:2rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_c9tz{font-size:2rem}}@media (hover:hover){.backToTopButton_WX52:hover{background-color:var(--ifm-color-emphasis-300)}.aa-TouchOnly{display:none}}@media (hover:none) and (pointer:coarse){:root{--aa-spacing-factor:1.2;--aa-action-icon-size:22px}.aa-LoadingIndicator,.aa-SubmitButton{padding-left:3px;padding-left:calc(var(--aa-spacing-half)/ 2 - 1px);width:39px;width:calc(var(--aa-icon-size) + var(--aa-spacing)*1.25 - 1px)}.aa-ClearButton{padding:0 10.16672px;padding:0 calc(var(--aa-spacing)*.66667 - .5px)}.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:inherit}.aa-DesktopOnly{display:none}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion){.aa-Panel{transition:none}}@media print{.announcementBar_wEz5,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_IH7H{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_SDaA{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/css/styles.d6ccf8b4.css b/assets/css/styles.d6ccf8b4.css new file mode 100644 index 000000000..71b654ceb --- /dev/null +++ b/assets/css/styles.d6ccf8b4.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal)}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_QfJ4,html{-webkit-tap-highlight-color:transparent}:root,body.dark,body[data-theme=dark]{--aa-icon-color-rgb:119,119,163;--aa-scrollbar-thumb-background-color-rgb:var(--aa-background-color-rgb)}.aa-ItemContentTitle,.button,.dropdown__link,.text--truncate,.whitespace-nowrap{white-space:nowrap}.authorListItem_X3Ma,.list-none{list-style-type:none}.aa-List,.clean-list,.containsTaskList_Q9D7,.details_UM4U>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}*,.aa-Autocomplete *,.aa-DetachedFormContainer *,.aa-Panel *{box-sizing:border-box}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.items-center,.menuExternalLink_EnPB,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width);width:100%}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EI91 .wordWrapButtonIcon_dvG6{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_VCVJ,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_CBT2:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_XZTp article>:first-child,.docItemContainer_XZTp header+*,.footer__item{margin-top:0}.admonitionContent_tuR2>:last-child,.collapsibleContent_IfUm p:last-child,.details_UM4U>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_Yei0,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title,.title_c9tz{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_UM4U[data-collapsed=false].isBrowser_HuuV>summary:before,.details_UM4U[open]:not(.isBrowser_HuuV)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;left:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.flex,.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_RqlE,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:1rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.inline-flex,.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_HUlZ:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.content_CsLf,.text-center{text-align:center}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_Q9D7>li)>.containsTaskList_Q9D7{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.aa-Panel,.overflow-hidden{overflow:hidden}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-font-size-base:105%;--ifm-color-primary:#413a92;--ifm-color-primary-dark:#3a3483;--ifm-color-primary-darker:#37317c;--ifm-color-primary-darkest:#2d2966;--ifm-color-primary-light:#4740a1;--ifm-color-primary-lighter:#4b43a8;--ifm-color-primary-lightest:#5850b9;--ifm-background-surface-color:#d9d7ea!important;--ifm-navbar-background-color:#e2e1ef!important;--ifm-background-color:#e2e1ef!important;--ifm-footer-background-color:#d9d7ea!important;--ifm-font-color-base:#06050a;--ifm-font-color-light:#292244;--ifm-font-color-base-inverse:#f6f5fa;--docusaurus-announcement-bar-height:auto;--aa-search-input-height:44px;--aa-input-icon-size:20px;--aa-base-unit:16;--aa-spacing-factor:1;--aa-spacing:calc(var(--aa-base-unit)*var(--aa-spacing-factor)*1px);--aa-spacing-half:calc(var(--aa-spacing)/2);--aa-panel-max-height:650px;--aa-base-z-index:9999;--aa-font-size:calc(var(--aa-base-unit)*1px);--aa-font-family:inherit;--aa-font-weight-medium:500;--aa-font-weight-semibold:600;--aa-font-weight-bold:700;--aa-icon-size:20px;--aa-icon-stroke-width:1.6;--aa-icon-color-alpha:1;--aa-action-icon-size:20px;--aa-text-color-rgb:38,38,39;--aa-text-color-alpha:1;--aa-primary-color-rgb:62,52,211;--aa-primary-color-alpha:0.2;--aa-muted-color-rgb:128,126,163;--aa-muted-color-alpha:0.6;--aa-panel-border-color-rgb:128,126,163;--aa-panel-border-color-alpha:0.3;--aa-input-border-color-rgb:128,126,163;--aa-input-border-color-alpha:0.8;--aa-background-color-rgb:255,255,255;--aa-background-color-alpha:1;--aa-input-background-color-rgb:255,255,255;--aa-input-background-color-alpha:1;--aa-selected-color-rgb:179,173,214;--aa-selected-color-alpha:0.205;--aa-description-highlight-background-color-rgb:245,223,77;--aa-description-highlight-background-color-alpha:0.5;--aa-detached-media-query:(max-width:680px);--aa-detached-modal-media-query:(min-width:680px);--aa-detached-modal-max-width:680px;--aa-detached-modal-max-height:500px;--aa-overlay-color-rgb:115,114,129;--aa-overlay-color-alpha:0.4;--aa-panel-shadow:0 0 0 1px #23263b1a,0 6px 16px -4px #23263b26;--aa-scrollbar-width:13px;--aa-scrollbar-track-background-color-rgb:234,234,234;--aa-scrollbar-track-background-color-alpha:1;--aa-scrollbar-thumb-background-color-alpha:1;--aa-search-input-height:36px;--docusaurus-blog-social-icon-size:1rem;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg,.absolute{position:absolute}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;right:0;transform:rotate(3deg) translateY(-4px);width:100px}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container,.w-full{width:100%}.relative{position:relative}.left-0{left:0}.top-2\/3{top:66.666667%}.mx-auto{margin-left:auto;margin-right:auto}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.grid{display:grid}.h-48{height:12rem}.h-\[0\.58em\]{height:.58em}.w-52{width:13rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-screen-sm{max-width:640px}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.justify-center{justify-content:center}.gap-8{gap:2rem}.gap-x-6{column-gap:1.5rem}.gap-y-8{row-gap:2rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.bg-background-dark,.dark-background{background-color:var(--ifm-background-surface-color)}.bg-primary-default{background-color:var(--ifm-color-primary)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.fill-primary-default{fill:var(--ifm-color-primary)}.px-4{padding-left:1rem;padding-right:1rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.pb-16{padding-bottom:4rem}.pt-20{padding-top:5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-7{line-height:1.75rem}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.text-primary-darker{color:var(--ifm-color-primary-darker)}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.hover\:text-slate-900:hover,.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-text-light{color:var(--ifm-font-color-light)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.\!no-underline{text-decoration-line:none!important}.opacity-30{opacity:.3}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity))}.active\:ring-slate-700:active,.ring-slate-700{--tw-ring-opacity:1;--tw-ring-color:rgb(51 65 85/var(--tw-ring-opacity))}[data-theme=dark]{--ifm-color-primary:#9f99d6;--ifm-color-primary-dark:#867fcb;--ifm-color-primary-darker:#7a72c6;--ifm-color-primary-darkest:#554ab6;--ifm-color-primary-light:#b8b3e1;--ifm-color-primary-lighter:#c4c0e6;--ifm-color-primary-lightest:#e9e8f6;--ifm-background-surface-color:#171528!important;--ifm-navbar-background-color:#11101e!important;--ifm-background-color:#11101e!important;--ifm-footer-background-color:#171528!important;--ifm-font-color-base:#f6f5fa;--ifm-font-color-light:#b5b4b8;--ifm-font-color-base-inverse:#06050a}img[alt="GameVault+ Banner"]{height:3.75rem}.banner{align-items:flex-end;display:flex;font-size:3.75rem;gap:.5rem;line-height:1;margin-bottom:1rem}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity))}.hover\:bg-primary-darker:hover{background-color:var(--ifm-color-primary-darker)}.active\:text-text-inverse:active,.hover\:text-text-inverse:hover{color:var(--ifm-font-color-base-inverse)}.hover\:ring-slate-300:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity))}.hover\:ring-slate-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity))}.focus\:outline-none:focus{outline:#0000 solid 2px;outline-offset:2px}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-indigo-600:focus-visible{outline-color:#4f46e5}.focus-visible\:outline-primary-darkest:focus-visible{outline-color:var(--ifm-color-primary-darkest)}.focus-visible\:outline-white:focus-visible{outline-color:#fff}.focus-visible\:ring-slate-300:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity))}.active\:bg-indigo-200:active{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.active\:bg-primary-darkest:active{background-color:var(--ifm-color-primary-darkest)}.active\:bg-slate-100:active{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.active\:text-slate-400:active{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.active\:text-slate-600:active{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.aa-ClearButton[hidden],.aa-ItemContent:empty,.aa-LoadingIndicator[hidden],.aa-Source:empty,.aa-SourceHeader:empty,.themedComponent_EL3c,[data-theme=dark] .lightToggleIcon_SP6E,[data-theme=light] .darkToggleIcon_DyWs,html[data-announcement-bar-initially-dismissed=true] .announcementBar_wEz5{display:none}.skipToContent_N_FB{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_N_FB:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_xADE{line-height:0;padding:0}.content_CsLf{font-size:85%;padding:5px 0}.content_CsLf a{color:inherit;text-decoration:underline}.announcementBar_wEz5{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_e0hD{flex:0 0 10px}.announcementBarClose_hClt{align-self:stretch;flex:0 0 30px}.toggle_Ctpc{height:2rem;width:2rem}.aa-Form,.toggleButton_QfJ4{align-items:center;width:100%;display:flex}.toggleButton_QfJ4{border-radius:50%;height:100%;justify-content:center;transition:background var(--ifm-transition-fast)}.toggleButton_QfJ4:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_hyb0{cursor:not-allowed}.darkNavbarColorModeToggle_ul4N:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_Jjwa,[data-theme=light] .themedComponent--light_qtcQ,html:not([data-theme]) .themedComponent--light_qtcQ{display:initial}.iconExternalLink_rK98{margin-left:.3rem}.dropdownNavbarItemMobile_x5K8{cursor:pointer}.iconLanguage_QTLV{margin-right:5px;vertical-align:text-bottom}body.dark,body[data-theme=dark]{--aa-text-color-rgb:183,192,199;--aa-primary-color-rgb:146,138,255;--aa-muted-color-rgb:146,138,255;--aa-input-background-color-rgb:0,3,9;--aa-background-color-rgb:21,24,42;--aa-selected-color-rgb:146,138,255;--aa-selected-color-alpha:0.25;--aa-description-highlight-background-color-rgb:0 255 255;--aa-description-highlight-background-color-alpha:0.25;--aa-panel-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--aa-scrollbar-track-background-color-rgb:44,46,64;--aa-muted-color-alpha:1}.aa-Autocomplete,.aa-DetachedFormContainer,.aa-Panel{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);font-weight:400;line-height:1em;margin:0;padding:0;text-align:left}.aa-Form{background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid #807ea3cc;border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;line-height:1em;margin:0;position:relative}.aa-ClearButton,.aa-Input,.aa-SubmitButton{border:0;background:none}.aa-Form:focus-within{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 2px #3e34d333,inset 0 0 0 2px #3e34d333;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:currentColor}.aa-InputWrapperPrefix{align-items:center;display:flex;flex-shrink:0;height:44px;height:var(--aa-search-input-height);order:1}.aa-Label,.aa-LoadingIndicator{cursor:auto;flex-shrink:0;height:100%;padding:0;text-align:left}.aa-Label svg,.aa-LoadingIndicator svg{color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);height:auto;max-height:20px;max-height:var(--aa-input-icon-size);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-input-icon-size)}.aa-LoadingIndicator,.aa-SubmitButton{height:100%;padding-left:11px;padding-left:calc(var(--aa-spacing)*.75 - 1px);padding-right:8px;padding-right:var(--aa-spacing-half);width:47px;width:calc(var(--aa-spacing)*1.75 + var(--aa-icon-size) - 1px)}.aa-SubmitButton{appearance:none;margin:0}.aa-LoadingIndicator{align-items:center;display:flex;justify-content:center}.aa-InputWrapper{order:3;position:relative;width:100%}.aa-Input{appearance:none;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font:inherit;height:44px;height:var(--aa-search-input-height);padding:0;width:100%}.aa-Input::placeholder{color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));opacity:1}.aa-Input:focus{border-color:none;box-shadow:none;outline:0}.aa-Input::-webkit-search-cancel-button,.aa-Input::-webkit-search-decoration,.aa-Input::-webkit-search-results-button,.aa-Input::-webkit-search-results-decoration{appearance:none}.aa-InputWrapperSuffix{align-items:center;display:flex;height:44px;height:var(--aa-search-input-height);order:4}.aa-ClearButton{align-items:center;color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;height:100%;margin:0;padding:0 12.83328px;padding:0 calc(var(--aa-spacing)*.83333 - .5px)}.aa-Item,.aa-ItemIcon{align-items:center;border-radius:3px}.aa-ClearButton:focus,.aa-ClearButton:hover,.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha))}.aa-ClearButton svg{stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-icon-size)}.aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:4px;border-radius:calc(var(--aa-spacing)/4);box-shadow:0 0 0 1px #23263b1a,0 6px 16px -4px #23263b26;box-shadow:var(--aa-panel-shadow);margin:8px 0 0;position:absolute;transition:opacity .2s ease-in,filter .2s ease-in}.aa-Panel button{appearance:none;background:none;border:0;margin:0;padding:0}.aa-PanelLayout{height:100%;margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-y:auto;padding:0;position:relative;text-align:left}.aa-PanelLayoutColumns--twoGolden{display:grid;grid-template-columns:39.2% auto;overflow:hidden;padding:0}.aa-PanelLayoutColumns--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:0}.aa-PanelLayoutColumns--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;padding:0}.aa-Panel--stalled .aa-Source{filter:grayscale(1);opacity:.8}.aa-Panel--scrollable{margin:0;max-height:650px;max-height:var(--aa-panel-max-height);overflow-x:hidden;overflow-y:auto;padding:8px;padding:var(--aa-spacing-half);scrollbar-color:#fff #eaeaea;scrollbar-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha)) rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));scrollbar-width:thin}.sidebar_O_Xz,.tableOfContents_tnIz{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem)}.aa-Panel--scrollable::-webkit-scrollbar{width:13px;width:var(--aa-scrollbar-width)}.aa-Panel--scrollable::-webkit-scrollbar-track{background-color:#eaeaea;background-color:rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha))}.aa-Panel--scrollable::-webkit-scrollbar-thumb{background-color:#fff;background-color:rgba(var(--aa-scrollbar-thumb-background-color-rgb),var(--aa-scrollbar-thumb-background-color-alpha));border:3px solid #eaeaea;border:3px solid rgba(var(--aa-scrollbar-track-background-color-rgb),var(--aa-scrollbar-track-background-color-alpha));border-radius:9999px;border-right-width:2px}.aa-Source{margin:0;padding:0;position:relative;width:100%}.aa-SourceNoResults{font-size:1em;margin:0;padding:16px;padding:var(--aa-spacing)}.aa-List{margin:0}.aa-List,.aa-SourceHeader{padding:0;position:relative}.aa-SourceHeader{margin:8px .5em 8px 0;margin:var(--aa-spacing-half) .5em var(--aa-spacing-half) 0}.aa-SourceHeaderTitle{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);display:inline-block;font-size:.8em;font-weight:600;font-weight:var(--aa-font-weight-semibold);margin:0;padding:0 8px 0 0;padding:0 var(--aa-spacing-half) 0 0;position:relative;z-index:9999;z-index:var(--aa-base-z-index)}.aa-SourceHeaderLine{border-bottom:1px solid #3e34d3;border-bottom:1px solid rgba(var(--aa-primary-color-rgb),1);display:block;height:2px;left:0;margin:0;opacity:.3;padding:0;position:absolute;right:0;top:8px;top:var(--aa-spacing-half);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-SourceFooterSeeAll{background:linear-gradient(180deg,#fff,#807ea324);background:linear-gradient(180deg,rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha)),#807ea324);border:1px solid #807ea399;border:1px solid rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));border-radius:5px;box-shadow:inset 0 0 2px #fff,0 2px 2px -1px #4c455826;color:inherit;font-size:.95em;font-weight:500;font-weight:var(--aa-font-weight-medium);padding:.475em 1em .6em;-webkit-text-decoration:none;text-decoration:none}.aa-SourceFooterSeeAll:focus,.aa-SourceFooterSeeAll:hover{border:1px solid #3e34d3;border:1px solid rgba(var(--aa-primary-color-rgb),1);color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1)}.aa-Item{cursor:pointer;display:grid;min-height:40px;min-height:calc(var(--aa-spacing)*2.5);padding:4px;padding:calc(var(--aa-spacing-half)/2)}.aa-Item[aria-selected=true]{background-color:rgba(179,173,214,.205);background-color:rgba(var(--aa-selected-color-rgb),var(--aa-selected-color-alpha))}.aa-Item[aria-selected=true] .aa-ActiveOnly,.aa-Item[aria-selected=true] .aa-ItemActionButton{visibility:visible}.aa-ItemIcon{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 0 0 1px #807ea34d;box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));color:#7777a3;color:rgba(var(--aa-icon-color-rgb),var(--aa-icon-color-alpha));display:flex;flex-shrink:0;font-size:.7em;height:28px;height:calc(var(--aa-icon-size) + var(--aa-spacing-half));justify-content:center;overflow:hidden;stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);text-align:center;width:28px;width:calc(var(--aa-icon-size) + var(--aa-spacing-half))}.aa-ItemIcon img{height:auto;max-height:20px;max-height:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);max-width:20px;max-width:calc(var(--aa-icon-size) + var(--aa-spacing-half) - 8px);width:auto}.aa-ItemIcon svg{height:20px;height:var(--aa-icon-size);width:20px;width:var(--aa-icon-size)}.aa-ItemIcon--alignTop{align-self:flex-start}.aa-ItemIcon--noBorder{background:none;box-shadow:none}.aa-ItemIcon--picture{height:96px;width:96px}.aa-ItemIcon--picture img{max-height:100%;max-width:100%;padding:8px;padding:var(--aa-spacing-half)}.aa-ItemContent{align-items:center;cursor:pointer;display:grid;gap:8px;grid-gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;line-height:1.25em;overflow:hidden}.aa-ItemContent mark{background:none;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:700;font-weight:var(--aa-font-weight-bold)}.aa-ItemContent--dual{display:flex;flex-direction:column;justify-content:space-between;text-align:left}.aa-ItemContent--dual .aa-ItemContentSubtitle,.aa-ItemContent--dual .aa-ItemContentTitle,.tocCollapsibleContent_saQ3 a{display:block}.aa-ItemContent--indented{padding-left:36px;padding-left:calc(var(--aa-icon-size) + var(--aa-spacing))}.aa-ItemContentBody{display:grid;gap:4px;grid-gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2)}.aa-ItemContentTitle{display:inline-block;margin:0 .5em 0 0;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis}.aa-ItemContentSubtitle{font-size:.92em}.aa-ItemContentSubtitleIcon:before{border-color:#807ea3a3;border-color:rgba(var(--aa-muted-color-rgb),.64);border-style:solid;content:"";display:inline-block;left:1px;position:relative;top:-3px}.aa-PanelFooter:after,.aa-PanelHeader:after{content:"";position:absolute;pointer-events:none;right:0;left:0}.aa-ItemContentSubtitle--inline .aa-ItemContentSubtitleIcon:before{border-width:0 0 1.5px;margin-left:8px;margin-left:var(--aa-spacing-half);margin-right:4px;margin-right:calc(var(--aa-spacing-half)/2);width:10px;width:calc(var(--aa-spacing-half) + 2px)}.aa-ItemContentSubtitle--standalone{align-items:center;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));display:grid;gap:8px;grid-gap:8px;grid-gap:var(--aa-spacing-half);gap:var(--aa-spacing-half);grid-auto-flow:column;justify-content:start}.aa-ItemContentSubtitle--standalone .aa-ItemContentSubtitleIcon:before{border-radius:0 0 0 3px;border-width:0 0 1.5px 1.5px;height:8px;height:var(--aa-spacing-half);width:8px;width:var(--aa-spacing-half)}.aa-ItemContentSubtitleCategory{color:#807ea3;color:rgba(var(--aa-muted-color-rgb),1);font-weight:500}.aa-ItemContentDescription{color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-size:.85em;max-width:100%;overflow-x:hidden;text-overflow:ellipsis}.aa-ItemContentDescription:empty{display:none}.aa-ItemContentDescription mark{background:#f5df4d80;background:rgba(var(--aa-description-highlight-background-color-rgb),var(--aa-description-highlight-background-color-alpha));color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));font-style:normal;font-weight:500;font-weight:var(--aa-font-weight-medium)}.aa-ItemContentDash{color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));display:none;opacity:.4}.aa-ItemContentTag{background-color:#3e34d333;background-color:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha));border-radius:3px;margin:0 .4em 0 0;padding:.08em .3em}.aa-ItemLink,.aa-ItemWrapper{align-items:center;color:inherit;display:grid;gap:4px;grid-gap:4px;grid-gap:calc(var(--aa-spacing-half)/2);gap:calc(var(--aa-spacing-half)/2);grid-auto-flow:column;justify-content:space-between;width:100%}.aa-ItemLink{color:inherit;-webkit-text-decoration:none;text-decoration:none}.aa-ItemActions{display:grid;grid-auto-flow:column;height:100%;justify-self:end;margin:0 -5.33333px;margin:0 calc(var(--aa-spacing)/-3);padding:0 2px 0 0}.aa-ItemActionButton{align-items:center;background:none;border:0;color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;flex-shrink:0;padding:0}.aa-ItemActionButton svg{color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));margin:5.33333px;margin:calc(var(--aa-spacing)/3);stroke-width:1.6;stroke-width:var(--aa-icon-stroke-width);width:20px;width:var(--aa-action-icon-size)}.aa-ActiveOnly{visibility:hidden}.aa-PanelHeader{align-items:center;background:#3e34d3;background:rgba(var(--aa-primary-color-rgb),1);color:#fff;display:grid;height:var(--aa-modal-header-height);margin:0;padding:8px 16px;padding:var(--aa-spacing-half) var(--aa-spacing);position:relative}.aa-PanelHeader:after{background-image:linear-gradient(#fff,#fff0);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));bottom:-8px;bottom:calc(var(--aa-spacing-half)*-1);height:8px;height:var(--aa-spacing-half)}.aa-PanelFooter,.aa-PanelHeader:after{z-index:9999;z-index:var(--aa-base-z-index)}.aa-PanelFooter{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));box-shadow:inset 0 1px 0 #807ea34d;box-shadow:inset 0 1px 0 rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;justify-content:space-between;margin:0;padding:16px;padding:var(--aa-spacing);position:relative}.aa-PanelFooter:after{background-image:linear-gradient(#fff0,#807ea399);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha)));height:16px;height:var(--aa-spacing);opacity:.12;top:-16px;top:calc(var(--aa-spacing)*-1);z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-DetachedContainer{background:#fff;background:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));bottom:0;box-shadow:0 0 0 1px #23263b1a,0 6px 16px -4px #23263b26;box-shadow:var(--aa-panel-shadow);display:flex;flex-direction:column;left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-DetachedContainer:after{height:32px}.aa-DetachedContainer .aa-SourceHeader{margin:8px 0 8px 2px;margin:var(--aa-spacing-half) 0 var(--aa-spacing-half) 2px}.aa-DetachedContainer .aa-Panel{background-color:#fff;background-color:rgba(var(--aa-background-color-rgb),var(--aa-background-color-alpha));border-radius:0;box-shadow:none;flex-grow:1;margin:0;padding:0;position:relative}.aa-DetachedContainer .aa-PanelLayout{bottom:0;box-shadow:none;left:0;margin:0;max-height:none;overflow-y:auto;position:absolute;right:0;top:0;width:100%}.aa-DetachedFormContainer{border-bottom:1px solid #807ea34d;border-bottom:1px solid rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha));display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:8px;padding:var(--aa-spacing-half)}.aa-DetachedCancelButton{background:none;border:0;border-radius:3px;color:#262627;color:rgba(var(--aa-text-color-rgb),var(--aa-text-color-alpha));cursor:pointer;font:inherit;margin:0 0 0 8px;margin:0 0 0 var(--aa-spacing-half);padding:0 8px;padding:0 var(--aa-spacing-half)}.aa-DetachedCancelButton:focus,.aa-DetachedCancelButton:hover{box-shadow:inset 0 0 0 1px #807ea34d;box-shadow:inset 0 0 0 1px rgba(var(--aa-panel-border-color-rgb),var(--aa-panel-border-color-alpha))}.aa-DetachedContainer--modal{border-radius:6px;bottom:inherit;height:auto;margin:0 auto;max-width:680px;max-width:var(--aa-detached-modal-max-width);position:absolute;top:3%}.aa-DetachedContainer--modal .aa-PanelLayout{max-height:500px;max-height:var(--aa-detached-modal-max-height);padding-bottom:8px;padding-bottom:var(--aa-spacing-half);position:static}.aa-DetachedContainer--modal .aa-PanelLayout:empty,.aa-DetachedSearchButtonPlaceholder[hidden],.docSidebarContainer_HC4d,.navbarSearchContainer_ZzhW:empty,.sidebarLogo_rxVR{display:none}.aa-DetachedSearchButton{align-items:center;background-color:#fff;background-color:rgba(var(--aa-input-background-color-rgb),var(--aa-input-background-color-alpha));border:1px solid #807ea3cc;border:1px solid rgba(var(--aa-input-border-color-rgb),var(--aa-input-border-color-alpha));border-radius:3px;color:#807ea399;color:rgba(var(--aa-muted-color-rgb),var(--aa-muted-color-alpha));cursor:pointer;display:flex;font:inherit;font-family:inherit;font-family:var(--aa-font-family);font-size:16px;font-size:var(--aa-font-size);height:44px;height:var(--aa-search-input-height);margin:0;padding:0 5.5px;padding:0 calc(var(--aa-search-input-height)/8);position:relative;text-align:left;width:100%}.aa-DetachedSearchButton:focus{border-color:#3e34d3;border-color:rgba(var(--aa-primary-color-rgb),1);box-shadow:0 0 0 3px #3e34d333,inset 0 0 0 2px #3e34d333;box-shadow:rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 3px,inset rgba(var(--aa-primary-color-rgb),var(--aa-primary-color-alpha)) 0 0 0 2px;outline:currentColor}.aa-DetachedSearchButtonIcon{align-items:center;color:#3e34d3;color:rgba(var(--aa-primary-color-rgb),1);cursor:auto;display:flex;flex-shrink:0;height:100%;justify-content:center;width:36px;width:calc(var(--aa-icon-size) + var(--aa-spacing))}.authorSocialIcon_YEXF,.authorSocialLink_EN0k{width:var(--docusaurus-blog-social-icon-size)}.aa-DetachedSearchButtonQuery{color:#262627;color:rgba(var(--aa-text-color-rgb),1);line-height:1.25em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aa-Detached{height:100vh;overflow:hidden}.aa-DetachedOverlay{background-color:#73728166;background-color:rgba(var(--aa-overlay-color-rgb),var(--aa-overlay-color-alpha));height:100vh;left:0;margin:0;padding:0;position:fixed;right:0;top:0;z-index:9998;z-index:calc(var(--aa-base-z-index) - 1)}.aa-GradientBottom,.aa-GradientTop{height:8px;height:var(--aa-spacing-half);left:0;pointer-events:none;position:absolute;right:0;z-index:9999;z-index:var(--aa-base-z-index)}.aa-GradientTop{background-image:linear-gradient(#fff,#fff0);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),1),rgba(var(--aa-background-color-rgb),0));top:0}.aa-GradientBottom{background-image:linear-gradient(#fff0,#fff);background-image:linear-gradient(rgba(var(--aa-background-color-rgb),0),rgba(var(--aa-background-color-rgb),1));border-bottom-left-radius:4px;border-bottom-left-radius:calc(var(--aa-spacing)/4);border-bottom-right-radius:4px;border-bottom-right-radius:calc(var(--aa-spacing)/4);bottom:0}.navbarHideable_XAwL{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_IdZ3{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_yDia{color:red;white-space:pre-wrap}.errorBoundaryFallback_ExJr{color:red;padding:.55rem}.footerLogoLink_WvA8{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_WvA8:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_BnxJ{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_re8X{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_GHU6{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_O_Xz{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.authorSocials_iCqw,.authorTitle_w1Af{overflow:hidden;-webkit-box-orient:vertical}.sidebarItemTitle_NsE9{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_xAnX,.sidebarItemList_yaC1{font-size:.9rem}.sidebarItem_PDlg{margin-top:.7rem}.sidebarItemLink_HUlZ{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_eKb7{color:var(--ifm-color-primary)!important}.yearGroupHeading_ypKa{margin-bottom:.4rem;margin-top:1.6rem}.yearGroupHeading_Zf6e{margin:1rem .75rem .5rem}[data-theme=dark] .githubSvg_ujvF,[data-theme=dark] .xSvg_mPQQ{fill:var(--light)}[data-theme=light] .githubSvg_ujvF,[data-theme=light] .xSvg_mPQQ{fill:var(--dark)}.authorSocials_iCqw{align-items:center;display:flex;flex-wrap:wrap;line-clamp:1;-webkit-line-clamp:1}.authorSocialLink_EN0k,.authorSocials_iCqw{height:var(--docusaurus-blog-social-icon-size);line-height:0}.authorSocialLink_EN0k{margin-right:.4rem}.authorSocialIcon_YEXF{height:var(--docusaurus-blog-social-icon-size)}.authorImage_AQkC{--ifm-avatar-photo-size:3.6rem}.author-as-h1_s179 .authorImage_AQkC{--ifm-avatar-photo-size:7rem}.author-as-h2_BF4G .authorImage_AQkC{--ifm-avatar-photo-size:5.4rem}.authorDetails_ie2u{align-items:flex-start;display:flex;flex-direction:column;justify-content:space-around}.authorName_s97L{display:flex;flex-direction:row;font-size:1.1rem;line-height:1.1rem}.author-as-h1_s179 .authorName_s97L{display:inline;font-size:2.4rem;line-height:2.4rem}.author-as-h2_BF4G .authorName_s97L{display:inline;font-size:1.4rem;line-height:1.4rem}.authorTitle_w1Af{display:-webkit-box;font-size:.8rem;line-height:1rem;line-clamp:1;-webkit-line-clamp:1}.author-as-h1_s179 .authorTitle_w1Af{font-size:1.2rem;line-height:1.6rem}.author-as-h2_BF4G .authorTitle_w1Af{font-size:1rem;line-height:1.3rem}.authorBlogPostCount_fH2W{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.8rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.authorListItem_X3Ma{margin-bottom:2rem}.authorCol_btVC{max-width:inherit!important}.imageOnlyAuthorRow_fBnr{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_Y2d8{margin-left:.3rem;margin-right:.3rem}.backToTopButton_WX52{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.buttonGroup_zCn6 button,.codeBlockContainer_Sx4Y{background:var(--prism-background-color);color:var(--prism-color)}.docMainContainer__7rY,.docRoot_rWX7,.features_t9lD{width:100%;display:flex}.backToTopButton_WX52:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_OIBR{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_t0mP{display:none;margin:0}.docsWrapper_n3t2{display:flex;flex:1 0 auto}.features_t9lD{align-items:center;padding:2rem 0}.codeBlockContainer_Sx4Y{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_YnoF{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_CurW{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_kXdi{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_CurW+.codeBlockContent_YnoF .codeBlock_kXdi{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_SDaA{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_Akw7{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_zCn6{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_zCn6 button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_zCn6 button:focus-visible,.buttonGroup_zCn6 button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_zCn6 button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_myqu{counter-increment:a;display:table-row}.codeLineNumber_CBT2{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_CBT2:before{content:counter(a);opacity:.4}.codeLineContent_LM40{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_OQHi{opacity:1!important}.copyButtonIcons_wv7r{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_Yg7_,.copyButtonSuccessIcon_PaDN{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_PaDN{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_OQHi .copyButtonIcon_Yg7_{opacity:0;transform:scale(.33)}.copyButtonCopied_OQHi .copyButtonSuccessIcon_PaDN{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.tag_idh4{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_idh4:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_OEC8{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_X4qa{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_X4qa:after,.tagWithCount_X4qa:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_X4qa:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_X4qa:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_X4qa span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tag_jLS_{display:inline-block;margin:.5rem .5rem 0 1rem}.wordWrapButtonIcon_dvG6{height:1.2rem;width:1.2rem}.tags_gbum{display:inline}.tag_jXtk{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_BjJv{margin-right:.3em;vertical-align:sub}.lastUpdated_w0Sh{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_vn6v{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_vn6v:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_g94R:after,.tocCollapsibleExpanded_jtxX{transform:none}.tocCollapsible_v7jt{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_saQ3>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_saQ3 ul li{margin:.4rem .8rem}.details_UM4U{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_UM4U>summary{cursor:pointer;padding-left:1rem;position:relative}.details_UM4U>summary::-webkit-details-marker{display:none}.details_UM4U>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_IfUm{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_MhMj{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_sRsS{height:auto}.tableOfContents_tnIz{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_HAC_{margin-bottom:1em}.admonitionHeading_VCVJ{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_VCVJ:not(:last-child){margin-bottom:.3rem}.admonitionHeading_VCVJ code{text-transform:none}.admonitionIcon_vHBt{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_vHBt svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon__ns4{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_SLq6{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:640px){.container{max-width:640px}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width:997px){.collapseSidebarButton_t0mP,.expandButton_RF0L{background-color:var(--docusaurus-collapse-button-bg)}.container{max-width:997px}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_hClt,.announcementBarPlaceholder_e0hD{flex-basis:50px}.navbarSearchContainer_ZzhW{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.collapseSidebarButton_t0mP{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_yoHO{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_KM58,[dir=rtl] .collapseSidebarButtonIcon_yoHO{transform:rotate(0)}.collapseSidebarButton_t0mP:focus,.collapseSidebarButton_t0mP:hover,.expandButton_RF0L:focus,.expandButton_RF0L:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_KuMc{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_R21V{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_R21V{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_BzAP{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_bUer{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_SoJA{padding-top:0}.sidebarHidden_UCvX{opacity:0;visibility:hidden}.sidebarLogo_rxVR{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_rxVR img{height:2rem;margin-right:.5rem}.expandButton_RF0L{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_KM58{transform:rotate(180deg)}.docSidebarContainer_HC4d{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_ZfRM{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_N_1E{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer__7rY{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_dowq{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_ApAT{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_w0Sh{text-align:right}.tocMobile_IH7H{display:none}.docItemCol_oXzR{max-width:75%!important}}@media (min-width:1024px){.container{max-width:1024px}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:max-w-none{max-width:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (min-width:1536px){.container{max-width:1536px}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_z0vY,.footer__link-separator,.navbar__item,.sidebar_O_Xz,.tableOfContents_tnIz{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_ZzhW{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_YM2y{padding:0 .3rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}.title_c9tz{font-size:2rem}}@media (hover:hover){.backToTopButton_WX52:hover{background-color:var(--ifm-color-emphasis-300)}.aa-TouchOnly{display:none}}@media (hover:none) and (pointer:coarse){:root{--aa-spacing-factor:1.2;--aa-action-icon-size:22px}.aa-LoadingIndicator,.aa-SubmitButton{padding-left:3px;padding-left:calc(var(--aa-spacing-half)/ 2 - 1px);width:39px;width:calc(var(--aa-icon-size) + var(--aa-spacing)*1.25 - 1px)}.aa-ClearButton{padding:0 10.16672px;padding:0 calc(var(--aa-spacing)*.66667 - .5px)}.aa-ItemActionButton:focus svg,.aa-ItemActionButton:hover svg{color:inherit}.aa-DesktopOnly{display:none}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion){.aa-Panel{transition:none}}@media print{.announcementBar_wEz5,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_IH7H{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_SDaA{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/007d2baa.b4d685f2.js b/assets/js/007d2baa.00411cb4.js similarity index 98% rename from assets/js/007d2baa.b4d685f2.js rename to assets/js/007d2baa.00411cb4.js index ec7e23425..2c7d1259b 100644 --- a/assets/js/007d2baa.b4d685f2.js +++ b/assets/js/007d2baa.00411cb4.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6021],{4902:(e,d,i)=>{i.r(d),i.d(d,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var s=i(2676),t=i(9246);const r={sidebar_position:8},n="Media",a={id:"server-docs/media",title:"Media",description:"This page outlines how media like images and videos are handled within the backend application.",source:"@site/docs/server-docs/media.md",sourceDirName:"server-docs",slug:"/server-docs/media",permalink:"/docs/server-docs/media",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/media.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:8,frontMatter:{sidebar_position:8},sidebar:"docs",previous:{title:"Database Backup & Restoration",permalink:"/docs/server-docs/backup-and-restore"},next:{title:"WebSockets",permalink:"/docs/server-docs/websockets"}},c={},l=[{value:"Supported Formats",id:"supported-formats",level:2},{value:"Supported Image Formats",id:"supported-image-formats",level:3},{value:"Supported Audio Formats",id:"supported-audio-formats",level:3},{value:"Supported Video Formats",id:"supported-video-formats",level:3},{value:"Media Persistence",id:"media-persistence",level:2},{value:"Media that is stored on the filesystem",id:"media-that-is-stored-on-the-filesystem",level:3},{value:"Media that is stored as an external resource",id:"media-that-is-stored-as-an-external-resource",level:3},{value:"Duplicate Media",id:"duplicate-media",level:3},{value:"Media Garbage Collection",id:"media-garbage-collection",level:2},{value:"Turning off Garbage Collection",id:"turning-off-garbage-collection",level:3}];function o(e){const d={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.header,{children:(0,s.jsx)(d.h1,{id:"media",children:"Media"})}),"\n",(0,s.jsx)(d.p,{children:"This page outlines how media like images and videos are handled within the backend application."}),"\n",(0,s.jsx)(d.p,{children:"Here is the updated markdown table including the format names as a second column:"}),"\n",(0,s.jsx)(d.h2,{id:"supported-formats",children:"Supported Formats"}),"\n",(0,s.jsx)(d.h3,{id:"supported-image-formats",children:"Supported Image Formats"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Format"}),(0,s.jsx)(d.th,{children:"Name"}),(0,s.jsx)(d.th,{children:"MIME Type"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".bmp"})}),(0,s.jsx)(d.td,{children:"Bitmap Image"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/bmp"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".jpeg"})}),(0,s.jsx)(d.td,{children:"JPEG Image"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/jpeg"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".png"})}),(0,s.jsx)(d.td,{children:"Portable Network Graphics"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/png"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".tiff"})}),(0,s.jsx)(d.td,{children:"Tagged Image File Format"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/tiff"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".gif"})}),(0,s.jsx)(d.td,{children:"Graphics Interchange Format"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/gif"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".ico"})}),(0,s.jsx)(d.td,{children:"Icon Format"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/vnd.microsoft.icon"})})]})]})]}),"\n",(0,s.jsx)(d.h3,{id:"supported-audio-formats",children:"Supported Audio Formats"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Format"}),(0,s.jsx)(d.th,{children:"Name"}),(0,s.jsx)(d.th,{children:"MIME Type"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mp3"})}),(0,s.jsx)(d.td,{children:"MPEG Audio"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/mpeg"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".wav"})}),(0,s.jsx)(d.td,{children:"Waveform Audio"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/wav"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".ogg"})}),(0,s.jsx)(d.td,{children:"Ogg Vorbis"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/ogg"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".aac"})}),(0,s.jsx)(d.td,{children:"Advanced Audio Codec"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/aac"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".flac"})}),(0,s.jsx)(d.td,{children:"Free Lossless Audio Codec"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/flac"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".wma"})}),(0,s.jsx)(d.td,{children:"Windows Media Audio"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/x-ms-wma"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".amr"})}),(0,s.jsx)(d.td,{children:"Adaptive Multi-Rate"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/amr"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mp4"})}),(0,s.jsx)(d.td,{children:"MPEG-4 Audio"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/mp4"})})]})]})]}),"\n",(0,s.jsx)(d.h3,{id:"supported-video-formats",children:"Supported Video Formats"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Format"}),(0,s.jsx)(d.th,{children:"Name"}),(0,s.jsx)(d.th,{children:"MIME Type"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mp4"})}),(0,s.jsx)(d.td,{children:"MPEG-4 Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/mp4"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".avi"})}),(0,s.jsx)(d.td,{children:"Audio Video Interleave"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/x-msvideo"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mov"})}),(0,s.jsx)(d.td,{children:"QuickTime"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/quicktime"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".wmv"})}),(0,s.jsx)(d.td,{children:"Windows Media Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/x-ms-wmv"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".flv"})}),(0,s.jsx)(d.td,{children:"Flash Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/x-flv"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mkv"})}),(0,s.jsx)(d.td,{children:"Matroska Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/x-matroska"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".webm"})}),(0,s.jsx)(d.td,{children:"WebM Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/webm"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mpeg"})}),(0,s.jsx)(d.td,{children:"MPEG Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/mpeg"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".3gp"})}),(0,s.jsx)(d.td,{children:"3GPP Multimedia File"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/3gpp"})})]})]})]}),"\n",(0,s.jsx)(d.h2,{id:"media-persistence",children:"Media Persistence"}),"\n",(0,s.jsxs)(d.p,{children:["GameVault stores media either by persisting them to the filesystem using the media directory (by default ",(0,s.jsx)(d.code,{children:"/media"}),") or by saving a link to an external URL."]}),"\n",(0,s.jsx)(d.h3,{id:"media-that-is-stored-on-the-filesystem",children:"Media that is stored on the filesystem"}),"\n",(0,s.jsxs)(d.ul,{children:["\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.cover"}),": Game Box Arts"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.background"}),": Game Background Images"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"gamevault_user.avatar"}),": User Avatars"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"gamevault_user.background"}),": User Background Images"]}),"\n"]}),"\n",(0,s.jsx)(d.h3,{id:"media-that-is-stored-as-an-external-resource",children:"Media that is stored as an external resource"}),"\n",(0,s.jsxs)(d.ul,{children:["\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.url_screenshots"}),": Game Screenshots"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.url_trailers"}),": Game Trailers"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.url_gameplays"}),": Gameplay Videos"]}),"\n"]}),"\n",(0,s.jsx)(d.admonition,{type:"note",children:(0,s.jsxs)(d.p,{children:["Note the ",(0,s.jsx)(d.code,{children:"url_"})," prefix."]})}),"\n",(0,s.jsx)(d.h3,{id:"duplicate-media",children:"Duplicate Media"}),"\n",(0,s.jsx)(d.p,{children:"GameVault stores each media resource referenced in the database as one-to-one, with no media reuse. So it's normal to see duplicates."}),"\n",(0,s.jsx)(d.h2,{id:"media-garbage-collection",children:"Media Garbage Collection"}),"\n",(0,s.jsx)(d.admonition,{title:"Potential data loss",type:"danger",children:(0,s.jsxs)(d.p,{children:["Garbage collection ",(0,s.jsx)(d.strong,{children:"can result in data loss"}),", as it will ",(0,s.jsx)(d.strong,{children:"delete any files inside the media folder"})," without an association in the database. For example if you set up a new, empty database. It is advisable to regularly back up your media just to be safe. If you don't want to lose any data, you can disable garbage collection by setting the ",(0,s.jsx)(d.code,{children:"MEDIA_GC_DISABLED"})," environment variable to ",(0,s.jsx)(d.code,{children:"true"}),"."]})}),"\n",(0,s.jsx)(d.p,{children:"GameVault regularly cleans up its media in the database and filesystem to keep things tidy. We call this process garbage collection."}),"\n",(0,s.jsxs)(d.p,{children:["You can control how often the garbage colletion happens by changing the value of ",(0,s.jsx)(d.code,{children:"MEDIA_GC_INTERVAL_IN_MINUTES"}),"."]}),"\n",(0,s.jsx)(d.p,{children:"During cleanup, GameVault first gets rid of all media in the database that aren't used. Afterwards, it deletes all media files in the media folder that don't match any database entries. So please don't put any files in the media folder that you don't want to be deleted."}),"\n",(0,s.jsx)(d.h3,{id:"turning-off-garbage-collection",children:"Turning off Garbage Collection"}),"\n",(0,s.jsxs)(d.p,{children:["If you want to turn off this feature, you can disableit by setting the ",(0,s.jsx)(d.code,{children:"MEDIA_GC_DISABLED"})," environment variable to ",(0,s.jsx)(d.code,{children:"true"}),"."]})]})}function h(e={}){const{wrapper:d}={...(0,t.a)(),...e.components};return d?(0,s.jsx)(d,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},9246:(e,d,i)=>{i.d(d,{Z:()=>a,a:()=>n});var s=i(5271);const t={},r=s.createContext(t);function n(e){const d=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function a(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:n(e.components),s.createElement(r.Provider,{value:d},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6021],{4902:(e,d,i)=>{i.r(d),i.d(d,{assets:()=>c,contentTitle:()=>n,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var s=i(2676),t=i(8358);const r={sidebar_position:8},n="Media",a={id:"server-docs/media",title:"Media",description:"This page outlines how media like images and videos are handled within the backend application.",source:"@site/docs/server-docs/media.md",sourceDirName:"server-docs",slug:"/server-docs/media",permalink:"/docs/server-docs/media",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/media.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:8,frontMatter:{sidebar_position:8},sidebar:"docs",previous:{title:"Database Backup & Restoration",permalink:"/docs/server-docs/backup-and-restore"},next:{title:"WebSockets",permalink:"/docs/server-docs/websockets"}},c={},l=[{value:"Supported Formats",id:"supported-formats",level:2},{value:"Supported Image Formats",id:"supported-image-formats",level:3},{value:"Supported Audio Formats",id:"supported-audio-formats",level:3},{value:"Supported Video Formats",id:"supported-video-formats",level:3},{value:"Media Persistence",id:"media-persistence",level:2},{value:"Media that is stored on the filesystem",id:"media-that-is-stored-on-the-filesystem",level:3},{value:"Media that is stored as an external resource",id:"media-that-is-stored-as-an-external-resource",level:3},{value:"Duplicate Media",id:"duplicate-media",level:3},{value:"Media Garbage Collection",id:"media-garbage-collection",level:2},{value:"Turning off Garbage Collection",id:"turning-off-garbage-collection",level:3}];function o(e){const d={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.header,{children:(0,s.jsx)(d.h1,{id:"media",children:"Media"})}),"\n",(0,s.jsx)(d.p,{children:"This page outlines how media like images and videos are handled within the backend application."}),"\n",(0,s.jsx)(d.p,{children:"Here is the updated markdown table including the format names as a second column:"}),"\n",(0,s.jsx)(d.h2,{id:"supported-formats",children:"Supported Formats"}),"\n",(0,s.jsx)(d.h3,{id:"supported-image-formats",children:"Supported Image Formats"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Format"}),(0,s.jsx)(d.th,{children:"Name"}),(0,s.jsx)(d.th,{children:"MIME Type"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".bmp"})}),(0,s.jsx)(d.td,{children:"Bitmap Image"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/bmp"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".jpeg"})}),(0,s.jsx)(d.td,{children:"JPEG Image"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/jpeg"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".png"})}),(0,s.jsx)(d.td,{children:"Portable Network Graphics"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/png"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".tiff"})}),(0,s.jsx)(d.td,{children:"Tagged Image File Format"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/tiff"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".gif"})}),(0,s.jsx)(d.td,{children:"Graphics Interchange Format"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/gif"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".ico"})}),(0,s.jsx)(d.td,{children:"Icon Format"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"image/vnd.microsoft.icon"})})]})]})]}),"\n",(0,s.jsx)(d.h3,{id:"supported-audio-formats",children:"Supported Audio Formats"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Format"}),(0,s.jsx)(d.th,{children:"Name"}),(0,s.jsx)(d.th,{children:"MIME Type"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mp3"})}),(0,s.jsx)(d.td,{children:"MPEG Audio"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/mpeg"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".wav"})}),(0,s.jsx)(d.td,{children:"Waveform Audio"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/wav"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".ogg"})}),(0,s.jsx)(d.td,{children:"Ogg Vorbis"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/ogg"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".aac"})}),(0,s.jsx)(d.td,{children:"Advanced Audio Codec"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/aac"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".flac"})}),(0,s.jsx)(d.td,{children:"Free Lossless Audio Codec"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/flac"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".wma"})}),(0,s.jsx)(d.td,{children:"Windows Media Audio"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/x-ms-wma"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".amr"})}),(0,s.jsx)(d.td,{children:"Adaptive Multi-Rate"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/amr"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mp4"})}),(0,s.jsx)(d.td,{children:"MPEG-4 Audio"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"audio/mp4"})})]})]})]}),"\n",(0,s.jsx)(d.h3,{id:"supported-video-formats",children:"Supported Video Formats"}),"\n",(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Format"}),(0,s.jsx)(d.th,{children:"Name"}),(0,s.jsx)(d.th,{children:"MIME Type"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mp4"})}),(0,s.jsx)(d.td,{children:"MPEG-4 Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/mp4"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".avi"})}),(0,s.jsx)(d.td,{children:"Audio Video Interleave"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/x-msvideo"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mov"})}),(0,s.jsx)(d.td,{children:"QuickTime"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/quicktime"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".wmv"})}),(0,s.jsx)(d.td,{children:"Windows Media Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/x-ms-wmv"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".flv"})}),(0,s.jsx)(d.td,{children:"Flash Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/x-flv"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mkv"})}),(0,s.jsx)(d.td,{children:"Matroska Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/x-matroska"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".webm"})}),(0,s.jsx)(d.td,{children:"WebM Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/webm"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".mpeg"})}),(0,s.jsx)(d.td,{children:"MPEG Video"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/mpeg"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:".3gp"})}),(0,s.jsx)(d.td,{children:"3GPP Multimedia File"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.code,{children:"video/3gpp"})})]})]})]}),"\n",(0,s.jsx)(d.h2,{id:"media-persistence",children:"Media Persistence"}),"\n",(0,s.jsxs)(d.p,{children:["GameVault stores media either by persisting them to the filesystem using the media directory (by default ",(0,s.jsx)(d.code,{children:"/media"}),") or by saving a link to an external URL."]}),"\n",(0,s.jsx)(d.h3,{id:"media-that-is-stored-on-the-filesystem",children:"Media that is stored on the filesystem"}),"\n",(0,s.jsxs)(d.ul,{children:["\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.cover"}),": Game Box Arts"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.background"}),": Game Background Images"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"gamevault_user.avatar"}),": User Avatars"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"gamevault_user.background"}),": User Background Images"]}),"\n"]}),"\n",(0,s.jsx)(d.h3,{id:"media-that-is-stored-as-an-external-resource",children:"Media that is stored as an external resource"}),"\n",(0,s.jsxs)(d.ul,{children:["\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.url_screenshots"}),": Game Screenshots"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.url_trailers"}),": Game Trailers"]}),"\n",(0,s.jsxs)(d.li,{children:[(0,s.jsx)(d.code,{children:"game_metadata.url_gameplays"}),": Gameplay Videos"]}),"\n"]}),"\n",(0,s.jsx)(d.admonition,{type:"note",children:(0,s.jsxs)(d.p,{children:["Note the ",(0,s.jsx)(d.code,{children:"url_"})," prefix."]})}),"\n",(0,s.jsx)(d.h3,{id:"duplicate-media",children:"Duplicate Media"}),"\n",(0,s.jsx)(d.p,{children:"GameVault stores each media resource referenced in the database as one-to-one, with no media reuse. So it's normal to see duplicates."}),"\n",(0,s.jsx)(d.h2,{id:"media-garbage-collection",children:"Media Garbage Collection"}),"\n",(0,s.jsx)(d.admonition,{title:"Potential data loss",type:"danger",children:(0,s.jsxs)(d.p,{children:["Garbage collection ",(0,s.jsx)(d.strong,{children:"can result in data loss"}),", as it will ",(0,s.jsx)(d.strong,{children:"delete any files inside the media folder"})," without an association in the database. For example if you set up a new, empty database. It is advisable to regularly back up your media just to be safe. If you don't want to lose any data, you can disable garbage collection by setting the ",(0,s.jsx)(d.code,{children:"MEDIA_GC_DISABLED"})," environment variable to ",(0,s.jsx)(d.code,{children:"true"}),"."]})}),"\n",(0,s.jsx)(d.p,{children:"GameVault regularly cleans up its media in the database and filesystem to keep things tidy. We call this process garbage collection."}),"\n",(0,s.jsxs)(d.p,{children:["You can control how often the garbage colletion happens by changing the value of ",(0,s.jsx)(d.code,{children:"MEDIA_GC_INTERVAL_IN_MINUTES"}),"."]}),"\n",(0,s.jsx)(d.p,{children:"During cleanup, GameVault first gets rid of all media in the database that aren't used. Afterwards, it deletes all media files in the media folder that don't match any database entries. So please don't put any files in the media folder that you don't want to be deleted."}),"\n",(0,s.jsx)(d.h3,{id:"turning-off-garbage-collection",children:"Turning off Garbage Collection"}),"\n",(0,s.jsxs)(d.p,{children:["If you want to turn off this feature, you can disableit by setting the ",(0,s.jsx)(d.code,{children:"MEDIA_GC_DISABLED"})," environment variable to ",(0,s.jsx)(d.code,{children:"true"}),"."]})]})}function h(e={}){const{wrapper:d}={...(0,t.a)(),...e.components};return d?(0,s.jsx)(d,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},8358:(e,d,i)=>{i.d(d,{Z:()=>a,a:()=>n});var s=i(5271);const t={},r=s.createContext(t);function n(e){const d=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function a(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:n(e.components),s.createElement(r.Provider,{value:d},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.692c4964.js b/assets/js/01a85c17.692c4964.js deleted file mode 100644 index 7dc59d424..000000000 --- a/assets/js/01a85c17.692c4964.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4013],{5117:(e,t,a)=>{a.d(t,{n4:()=>c,Ne:()=>_,ci:()=>P,CS:()=>f,wj:()=>l,nO:()=>m,iZ:()=>b,cH:()=>y});var s=a(5271),n=a(1669),i=a(5824),r=a(2676);function l(){const e=(0,i.Z)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=s.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:n=!1}=e;const i=function(e){let{content:t,isBlogPostPage:a}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:n});return(0,r.jsx)(o.Provider,{value:i,children:t})}function m(){const e=(0,s.useContext)(o);if(null===e)throw new n.i6("BlogPostProvider");return e}var d=a(8086),u=a(2100);const g=e=>new Date(e).toISOString();function h(e){const t=e.map(j);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:x({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){const{siteConfig:t}=(0,u.Z)(),{withBaseUrl:a}=(0,d.Cg)(),{metadata:{blogDescription:s,blogTitle:n,permalink:i}}=e,r=`${t.url}${i}`;return{"@context":"https://schema.org","@type":"Blog","@id":r,mainEntityOfPage:r,headline:n,description:s,blogPost:e.items.map((e=>function(e,t,a){const{assets:s,frontMatter:n,metadata:i}=e,{date:r,title:l,description:o,lastUpdatedAt:c}=i,m=s.image??n.image,d=n.keywords??[],u=`${t.url}${i.permalink}`,f=c?g(c):void 0;return{"@type":"BlogPosting","@id":u,mainEntityOfPage:u,url:u,headline:l,name:l,description:o,datePublished:r,...f?{dateModified:f}:{},...h(i.authors),...p(m,a,l),...d?{keywords:d}:{}}}(e.content,t,a)))}}function b(){const e=l(),{assets:t,metadata:a}=m(),{siteConfig:s}=(0,u.Z)(),{withBaseUrl:n}=(0,d.Cg)(),{date:i,title:r,description:o,frontMatter:c,lastUpdatedAt:f}=a,b=t.image??c.image,j=c.keywords??[],x=f?g(f):void 0,N=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":N,mainEntityOfPage:N,url:N,headline:r,name:r,description:o,datePublished:i,...x?{dateModified:x}:{},...h(a.authors),...p(b,n,r),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function x(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var N=a(3225),v=a(9347),C=a(3696),k=a(9322);function y(e){const{pathname:t}=(0,N.TH)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.Mg)(e.permalink,t))}(e,t)))),[e,t])}function P(e){const t=(0,C.vM)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function _(e){let{items:t,ulClassName:a,liClassName:s,linkClassName:n,linkActiveClassName:i}=e;return(0,r.jsx)("ul",{className:a,children:t.map((e=>(0,r.jsx)("li",{className:s,children:(0,r.jsx)(v.Z,{isNavLink:!0,to:e.permalink,className:n,activeClassName:i,children:e.title})},e.permalink)))})}},9935:(e,t,a)=>{a.d(t,{Z:()=>M});var s=a(5271),n=a(4814),i=a(8849),r=a(8652),l=a(9665),o=a(5117),c=a(5996),m=a(6078),d=a(2676);function u(e){let{year:t,yearGroupHeadingClassName:a,children:s}=e;return(0,d.jsxs)("div",{role:"group",children:[(0,d.jsx)(m.Z,{as:"h3",className:a,children:t}),s]})}function g(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:s}=e;if((0,c.L)().blog.sidebar.groupByYear){const e=(0,o.ci)(t);return(0,d.jsx)(d.Fragment,{children:e.map((e=>{let[t,n]=e;return(0,d.jsx)(u,{year:t,yearGroupHeadingClassName:a,children:(0,d.jsx)(s,{items:n})},t)}))})}return(0,d.jsx)(s,{items:t})}const h=(0,s.memo)(g),p="sidebar_O_Xz",f="sidebarItemTitle_NsE9",b="sidebarItemList_yaC1",j="sidebarItem_PDlg",x="sidebarItemLink_HUlZ",N="sidebarItemLinkActive_eKb7",v="yearGroupHeading_ypKa",C=e=>{let{items:t}=e;return(0,d.jsx)(o.Ne,{items:t,ulClassName:(0,n.Z)(b,"clean-list"),liClassName:j,linkClassName:x,linkActiveClassName:N})};function k(e){let{sidebar:t}=e;const a=(0,o.cH)(t.items);return(0,d.jsx)("aside",{className:"col col--3",children:(0,d.jsxs)("nav",{className:(0,n.Z)(p,"thin-scrollbar"),"aria-label":(0,l.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,d.jsx)("div",{className:(0,n.Z)(f,"margin-bottom--md"),children:t.title}),(0,d.jsx)(h,{items:a,ListComponent:C,yearGroupHeadingClassName:v})]})})}const y=(0,s.memo)(k);var P=a(2466);const _={yearGroupHeading:"yearGroupHeading_Zf6e"},Z=e=>{let{items:t}=e;return(0,d.jsx)(o.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function w(e){let{sidebar:t}=e;const a=(0,o.cH)(t.items);return(0,d.jsx)(h,{items:a,ListComponent:Z,yearGroupHeadingClassName:_.yearGroupHeading})}function B(e){return(0,d.jsx)(P.Zo,{component:w,props:e})}const H=(0,s.memo)(B);function L(e){let{sidebar:t}=e;const a=(0,r.i)();return t?.items.length?"mobile"===a?(0,d.jsx)(H,{sidebar:t}):(0,d.jsx)(y,{sidebar:t}):null}function M(e){const{sidebar:t,toc:a,children:s,...r}=e,l=t&&t.items.length>0;return(0,d.jsx)(i.Z,{...r,children:(0,d.jsx)("div",{className:"container margin-vert--lg",children:(0,d.jsxs)("div",{className:"row",children:[(0,d.jsx)(L,{sidebar:t}),(0,d.jsx)("main",{className:(0,n.Z)("col",{"col--7":l,"col--9 col--offset-1":!l}),children:s}),a&&(0,d.jsx)("div",{className:"col col--2",children:a})]})})})}},5103:(e,t,a)=>{a.r(t),a.d(t,{default:()=>f});a(5271);var s=a(4814),n=a(9665);const i=()=>(0,n.I)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var r=a(947),l=a(8832),o=a(9935),c=a(5205),m=a(6078);const d={tag:"tag_jLS_"};var u=a(2676);function g(e){let{letterEntry:t}=e;return(0,u.jsxs)("article",{children:[(0,u.jsx)(m.Z,{as:"h2",id:t.letter,children:t.letter}),(0,u.jsx)("ul",{className:"padding--none",children:t.tags.map((e=>(0,u.jsx)("li",{className:d.tag,children:(0,u.jsx)(c.Z,{...e})},e.permalink)))}),(0,u.jsx)("hr",{})]})}function h(e){let{tags:t}=e;const a=function(e){const t={};return Object.values(e).forEach((e=>{const a=function(e){return e[0].toUpperCase()}(e.label);t[a]??=[],t[a].push(e)})),Object.entries(t).sort(((e,t)=>{let[a]=e,[s]=t;return a.localeCompare(s)})).map((e=>{let[t,a]=e;return{letter:t,tags:a.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}(t);return(0,u.jsx)("section",{className:"margin-vert--lg",children:a.map((e=>(0,u.jsx)(g,{letterEntry:e},e.letter)))})}var p=a(8625);function f(e){let{tags:t,sidebar:a}=e;const n=i();return(0,u.jsxs)(r.FG,{className:(0,s.Z)(l.k.wrapper.blogPages,l.k.page.blogTagsListPage),children:[(0,u.jsx)(r.d,{title:n}),(0,u.jsx)(p.Z,{tag:"blog_tags_list"}),(0,u.jsxs)(o.Z,{sidebar:a,children:[(0,u.jsx)(m.Z,{as:"h1",children:n}),(0,u.jsx)(h,{tags:t})]})]})}},5205:(e,t,a)=>{a.d(t,{Z:()=>l});a(5271);var s=a(4814),n=a(9347);const i={tag:"tag_idh4",tagRegular:"tagRegular_OEC8",tagWithCount:"tagWithCount_X4qa"};var r=a(2676);function l(e){let{permalink:t,label:a,count:l,description:o}=e;return(0,r.jsxs)(n.Z,{href:t,title:o,className:(0,s.Z)(i.tag,l?i.tagWithCount:i.tagRegular),children:[a,l&&(0,r.jsx)("span",{children:l})]})}}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.a3a8d5c8.js b/assets/js/01a85c17.a3a8d5c8.js new file mode 100644 index 000000000..f4d19a534 --- /dev/null +++ b/assets/js/01a85c17.a3a8d5c8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4013],{5023:(e,t,a)=>{a.d(t,{n4:()=>c,Ne:()=>_,ci:()=>P,CS:()=>f,wj:()=>l,nO:()=>m,iZ:()=>b,cH:()=>y});var s=a(5271),n=a(8274),i=a(4268),r=a(2676);function l(){const e=(0,i.Z)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=s.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:n=!1}=e;const i=function(e){let{content:t,isBlogPostPage:a}=e;return(0,s.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:n});return(0,r.jsx)(o.Provider,{value:i,children:t})}function m(){const e=(0,s.useContext)(o);if(null===e)throw new n.i6("BlogPostProvider");return e}var d=a(285),u=a(6172);const g=e=>new Date(e).toISOString();function h(e){const t=e.map(j);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:x({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){const{siteConfig:t}=(0,u.Z)(),{withBaseUrl:a}=(0,d.Cg)(),{metadata:{blogDescription:s,blogTitle:n,permalink:i}}=e,r=`${t.url}${i}`;return{"@context":"https://schema.org","@type":"Blog","@id":r,mainEntityOfPage:r,headline:n,description:s,blogPost:e.items.map((e=>function(e,t,a){const{assets:s,frontMatter:n,metadata:i}=e,{date:r,title:l,description:o,lastUpdatedAt:c}=i,m=s.image??n.image,d=n.keywords??[],u=`${t.url}${i.permalink}`,f=c?g(c):void 0;return{"@type":"BlogPosting","@id":u,mainEntityOfPage:u,url:u,headline:l,name:l,description:o,datePublished:r,...f?{dateModified:f}:{},...h(i.authors),...p(m,a,l),...d?{keywords:d}:{}}}(e.content,t,a)))}}function b(){const e=l(),{assets:t,metadata:a}=m(),{siteConfig:s}=(0,u.Z)(),{withBaseUrl:n}=(0,d.Cg)(),{date:i,title:r,description:o,frontMatter:c,lastUpdatedAt:f}=a,b=t.image??c.image,j=c.keywords??[],x=f?g(f):void 0,N=`${s.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":N,mainEntityOfPage:N,url:N,headline:r,name:r,description:o,datePublished:i,...x?{dateModified:x}:{},...h(a.authors),...p(b,n,r),...j?{keywords:j}:{},isPartOf:{"@type":"Blog","@id":`${s.url}${e.blogBasePath}`,name:e.blogTitle}}}function j(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function x(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var N=a(3225),v=a(6527),C=a(2347),k=a(6422);function y(e){const{pathname:t}=(0,N.TH)();return(0,s.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.Mg)(e.permalink,t))}(e,t)))),[e,t])}function P(e){const t=(0,C.vM)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function _(e){let{items:t,ulClassName:a,liClassName:s,linkClassName:n,linkActiveClassName:i}=e;return(0,r.jsx)("ul",{className:a,children:t.map((e=>(0,r.jsx)("li",{className:s,children:(0,r.jsx)(v.Z,{isNavLink:!0,to:e.permalink,className:n,activeClassName:i,children:e.title})},e.permalink)))})}},6566:(e,t,a)=>{a.d(t,{Z:()=>M});var s=a(5271),n=a(4814),i=a(3557),r=a(3320),l=a(2922),o=a(5023),c=a(9364),m=a(3221),d=a(2676);function u(e){let{year:t,yearGroupHeadingClassName:a,children:s}=e;return(0,d.jsxs)("div",{role:"group",children:[(0,d.jsx)(m.Z,{as:"h3",className:a,children:t}),s]})}function g(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:s}=e;if((0,c.L)().blog.sidebar.groupByYear){const e=(0,o.ci)(t);return(0,d.jsx)(d.Fragment,{children:e.map((e=>{let[t,n]=e;return(0,d.jsx)(u,{year:t,yearGroupHeadingClassName:a,children:(0,d.jsx)(s,{items:n})},t)}))})}return(0,d.jsx)(s,{items:t})}const h=(0,s.memo)(g),p="sidebar_O_Xz",f="sidebarItemTitle_NsE9",b="sidebarItemList_yaC1",j="sidebarItem_PDlg",x="sidebarItemLink_HUlZ",N="sidebarItemLinkActive_eKb7",v="yearGroupHeading_ypKa",C=e=>{let{items:t}=e;return(0,d.jsx)(o.Ne,{items:t,ulClassName:(0,n.Z)(b,"clean-list"),liClassName:j,linkClassName:x,linkActiveClassName:N})};function k(e){let{sidebar:t}=e;const a=(0,o.cH)(t.items);return(0,d.jsx)("aside",{className:"col col--3",children:(0,d.jsxs)("nav",{className:(0,n.Z)(p,"thin-scrollbar"),"aria-label":(0,l.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,d.jsx)("div",{className:(0,n.Z)(f,"margin-bottom--md"),children:t.title}),(0,d.jsx)(h,{items:a,ListComponent:C,yearGroupHeadingClassName:v})]})})}const y=(0,s.memo)(k);var P=a(3158);const _={yearGroupHeading:"yearGroupHeading_Zf6e"},Z=e=>{let{items:t}=e;return(0,d.jsx)(o.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function w(e){let{sidebar:t}=e;const a=(0,o.cH)(t.items);return(0,d.jsx)(h,{items:a,ListComponent:Z,yearGroupHeadingClassName:_.yearGroupHeading})}function B(e){return(0,d.jsx)(P.Zo,{component:w,props:e})}const H=(0,s.memo)(B);function L(e){let{sidebar:t}=e;const a=(0,r.i)();return t?.items.length?"mobile"===a?(0,d.jsx)(H,{sidebar:t}):(0,d.jsx)(y,{sidebar:t}):null}function M(e){const{sidebar:t,toc:a,children:s,...r}=e,l=t&&t.items.length>0;return(0,d.jsx)(i.Z,{...r,children:(0,d.jsx)("div",{className:"container margin-vert--lg",children:(0,d.jsxs)("div",{className:"row",children:[(0,d.jsx)(L,{sidebar:t}),(0,d.jsx)("main",{className:(0,n.Z)("col",{"col--7":l,"col--9 col--offset-1":!l}),children:s}),a&&(0,d.jsx)("div",{className:"col col--2",children:a})]})})})}},7484:(e,t,a)=>{a.r(t),a.d(t,{default:()=>f});a(5271);var s=a(4814),n=a(2922);const i=()=>(0,n.I)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var r=a(9967),l=a(3509),o=a(6566),c=a(8213),m=a(3221);const d={tag:"tag_jLS_"};var u=a(2676);function g(e){let{letterEntry:t}=e;return(0,u.jsxs)("article",{children:[(0,u.jsx)(m.Z,{as:"h2",id:t.letter,children:t.letter}),(0,u.jsx)("ul",{className:"padding--none",children:t.tags.map((e=>(0,u.jsx)("li",{className:d.tag,children:(0,u.jsx)(c.Z,{...e})},e.permalink)))}),(0,u.jsx)("hr",{})]})}function h(e){let{tags:t}=e;const a=function(e){const t={};return Object.values(e).forEach((e=>{const a=function(e){return e[0].toUpperCase()}(e.label);t[a]??=[],t[a].push(e)})),Object.entries(t).sort(((e,t)=>{let[a]=e,[s]=t;return a.localeCompare(s)})).map((e=>{let[t,a]=e;return{letter:t,tags:a.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}(t);return(0,u.jsx)("section",{className:"margin-vert--lg",children:a.map((e=>(0,u.jsx)(g,{letterEntry:e},e.letter)))})}var p=a(8625);function f(e){let{tags:t,sidebar:a}=e;const n=i();return(0,u.jsxs)(r.FG,{className:(0,s.Z)(l.k.wrapper.blogPages,l.k.page.blogTagsListPage),children:[(0,u.jsx)(r.d,{title:n}),(0,u.jsx)(p.Z,{tag:"blog_tags_list"}),(0,u.jsxs)(o.Z,{sidebar:a,children:[(0,u.jsx)(m.Z,{as:"h1",children:n}),(0,u.jsx)(h,{tags:t})]})]})}},8213:(e,t,a)=>{a.d(t,{Z:()=>l});a(5271);var s=a(4814),n=a(6527);const i={tag:"tag_idh4",tagRegular:"tagRegular_OEC8",tagWithCount:"tagWithCount_X4qa"};var r=a(2676);function l(e){let{permalink:t,label:a,count:l,description:o}=e;return(0,r.jsxs)(n.Z,{href:t,title:o,className:(0,s.Z)(i.tag,l?i.tagWithCount:i.tagRegular),children:[a,l&&(0,r.jsx)("span",{children:l})]})}}}]); \ No newline at end of file diff --git a/assets/js/0748c3bc.c0d1f990.js b/assets/js/0748c3bc.ab07a9aa.js similarity index 97% rename from assets/js/0748c3bc.c0d1f990.js rename to assets/js/0748c3bc.ab07a9aa.js index 24ad55c67..f233ef873 100644 --- a/assets/js/0748c3bc.c0d1f990.js +++ b/assets/js/0748c3bc.ab07a9aa.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6241],{3785:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>c,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var i=a(2676),r=a(9246);const n={title:"Enriching your Games with Metadata",sidebar_position:.01},d=void 0,s={id:"server-docs/metadata-enrichment/metadata",title:"Enriching your Games with Metadata",description:"Research shows that nobody wants to see blank placeholder images and missing descriptions in their library. We want those games enriched with some juicy metadata.",source:"@site/docs/server-docs/metadata-enrichment/metadata.md",sourceDirName:"server-docs/metadata-enrichment",slug:"/server-docs/metadata-enrichment/metadata",permalink:"/docs/server-docs/metadata-enrichment/metadata",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/metadata-enrichment/metadata.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:.01,frontMatter:{title:"Enriching your Games with Metadata",sidebar_position:.01},sidebar:"docs",previous:{title:"Game Indexing",permalink:"/docs/server-docs/indexing"},next:{title:"Provider: IGDB",permalink:"/docs/server-docs/metadata-enrichment/provider-igdb"}},o={},l=[{value:"Setting Up a Metadata Provider",id:"setting-up-a-metadata-provider",level:2},{value:"Built-In Metadata Providers",id:"built-in-metadata-providers",level:3},{value:"Community-Maintained Metadata Providers",id:"community-maintained-metadata-providers",level:3},{value:"How Metadata Enrichment in GameVault Works",id:"how-metadata-enrichment-in-gamevault-works",level:2},{value:"Editing Metadata",id:"editing-metadata",level:2},{value:"Remapping a Game",id:"remapping-a-game",level:2},{value:"Unmapping a Game",id:"unmapping-a-game",level:2},{value:"How GameVault Merges Metadata",id:"how-gamevault-merges-metadata",level:2},{value:"Developing a New Metadata Provider",id:"developing-a-new-metadata-provider",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["Research shows that nobody wants to see blank placeholder images and missing descriptions in their library. We want those games enriched with some ",(0,i.jsx)(t.strong,{children:"juicy metadata"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["GameVault supports a ",(0,i.jsx)(t.strong,{children:"vast plugin framework"})," that supports connecting to various metadata providers simultaneously. In the following sections, you'll learn how to set up a metadata provider and get started."]}),"\n",(0,i.jsx)(t.h2,{id:"setting-up-a-metadata-provider",children:"Setting Up a Metadata Provider"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Click on any of the entries below to get to their dedicated page."})}),"\n",(0,i.jsx)(t.h3,{id:"built-in-metadata-providers",children:"Built-In Metadata Providers"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/server-docs/metadata-enrichment/provider-igdb",children:(0,i.jsx)(t.strong,{children:"IGDB (via Client-ID and Client-Secret)"})})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"community-maintained-metadata-providers",children:"Community-Maintained Metadata Providers"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Not yet available"}),", but you can ",(0,i.jsx)(t.a,{href:"#developing-a-new-metadata-provider",children:"build the first one!"})]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"how-metadata-enrichment-in-gamevault-works",children:"How Metadata Enrichment in GameVault Works"}),"\n",(0,i.jsx)(t.p,{children:"The GameVault Server includes a metadata service that allows various Metadata Provider Plugins to register. Each provider registers with a numerical priority value - the higher the priority, the more important the metadata is treated."}),"\n",(0,i.jsxs)(t.p,{children:["After ",(0,i.jsx)(t.a,{href:"../indexing",children:"indexing the games"}),", GameVault automatically searches for relevant metadata. It uses a standard interface search method to find games on the metadata provider (often based on Game Title and Release Year) and determines the best match using a probability index calculated with an NLP Levenshtein algorithm and the release-year-offset. The further away the title and release date, the less probable the match. For each game file, only one game can be mapped per metadata provider."]}),"\n",(0,i.jsx)(t.h2,{id:"editing-metadata",children:"Editing Metadata"}),"\n",(0,i.jsxs)(t.p,{children:["To edit metadata, Users need to have the role ",(0,i.jsx)(t.code,{children:"EDITOR"})," or higher. Data provided by users are always treated with ",(0,i.jsx)(t.strong,{children:"the highest priority"}),". Only one user-provided metadata object per game is allowed and it is the same for all users. This can be used to fill in missing data manually or change it."]}),"\n",(0,i.jsx)(t.h2,{id:"remapping-a-game",children:"Remapping a Game"}),"\n",(0,i.jsx)(t.p,{children:"It is possible to search the registered Metadata Providers to find a better matching game and remap the current match to it."}),"\n",(0,i.jsx)(t.h2,{id:"unmapping-a-game",children:"Unmapping a Game"}),"\n",(0,i.jsx)(t.p,{children:"It is possible to unmap a game from a Metadata Provider, which will disconnect the mapped metadata from the game."}),"\n",(0,i.jsx)(t.h2,{id:"how-gamevault-merges-metadata",children:"How GameVault Merges Metadata"}),"\n",(0,i.jsxs)(t.p,{children:["GameVault always applies the metadata detached and by priority, by creating an ",(0,i.jsx)(t.strong,{children:"effective"})," metadata object ",(0,i.jsx)(t.code,{children:"game.metadata"}),'. We call this process "merging". It works as follows:']}),"\n",(0,i.jsx)(t.p,{children:'Let\'s say we have a game: "Grand Theft Auto: San Andreas" with two Metadata Providers and a user-provided edit.'}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Provider"}),(0,i.jsx)(t.th,{children:"Priority"}),(0,i.jsx)(t.th,{children:"Title"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Age Rating"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"STEAM"}),(0,i.jsx)(t.td,{children:"1"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"All you had to do is to follow the damn train, CJ."}),(0,i.jsx)(t.td,{children:"18"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"IGDB"}),(0,i.jsx)(t.td,{children:"2"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"I'll have two number 9s, a number 9 large..."}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"USER"}),(0,i.jsx)(t.td,{children:"\u221e"}),(0,i.jsx)(t.td,{children:"N/A"}),(0,i.jsx)(t.td,{children:"N/A"}),(0,i.jsx)(t.td,{children:"12"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:'GameVault begins creating the "effective" metadata object by starting with the lowest priority provider and working its way up. In our case, the lowest priority provider is Steam with a priority of 1.'}),"\n",(0,i.jsx)(t.p,{children:"So the generated metadata object initially looks like this:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Provider"}),(0,i.jsx)(t.th,{children:"Title"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Age Rating"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"GameVault"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"All you had to do is to follow the damn train, CJ."}),(0,i.jsx)(t.td,{children:"18"})]})})]}),"\n",(0,i.jsx)(t.p,{children:"Next, the IGDB provider is used. As you can see, it has a different description, but the age rating is missing. GameVault will overwrite the description with the more important one. However, the missing age rating will be ignored, as some data from a lower priority provider is always preferred over having no data in a field. So the merged metadata object now looks like:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Provider"}),(0,i.jsx)(t.th,{children:"Title"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Age Rating"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"GameVault"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"I'll have two number 9s, a number 9 large..."}),(0,i.jsx)(t.td,{children:"18"})]})})]}),"\n",(0,i.jsx)(t.p,{children:"Finally, we get to the user-provided metadata. This one is special because the user always has the highest priority. So it will always be used. In our case, we want to let our underage kid play some San Andreas, so we overwrote the age rating to 12. Again, missing fields will be ignored."}),"\n",(0,i.jsx)(t.p,{children:"So the merged metadata object now looks like:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Provider"}),(0,i.jsx)(t.th,{children:"Title"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Age Rating"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"GameVault"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"I'll have two number 9s, a number 9 large..."}),(0,i.jsx)(t.td,{children:"12"})]})})]}),"\n",(0,i.jsx)(t.p,{children:"This is the final result. The merge is done by the GameVault Server."}),"\n",(0,i.jsx)(t.p,{children:"The server will trigger a new merge whenever a relevant metadata object is changed (e.g., Edit of Game Metadata, Recache, Remap, etc.)."}),"\n",(0,i.jsx)(t.h2,{id:"developing-a-new-metadata-provider",children:"Developing a New Metadata Provider"}),"\n",(0,i.jsxs)(t.p,{children:["To build a new integration for a metadata provider, you need to write a GameVault Backend Plugin. ",(0,i.jsx)(t.a,{href:"/docs/server-docs/plugins",children:"Click here"})," to understand how that works."]}),"\n",(0,i.jsxs)(t.p,{children:["Then you will need to build a ",(0,i.jsx)(t.a,{href:"https://docs.nestjs.com/providers#services",children:"NestJS service"})," that implements the ",(0,i.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-backend/blob/master/src/modules/metadata/providers/abstract.metadata-provider.service.ts",children:"abstract.metadata-provider.interface.ts"})," and implement your own configuration environment variables if necessary. Make sure they fit in but do not conflict with any existing environment variables and are distinct enough. (For example, ",(0,i.jsx)(t.code,{children:"PLUGIN_AUTHORNAME_PLUGINNAME_SETTING"})," like ",(0,i.jsx)(t.code,{children:"PLUGIN_ALFAGUN74_IGDB_ENABLED"}),")."]}),"\n",(0,i.jsxs)(t.p,{children:["Last but not least, you can then create a GitHub repository and tag it with the tag ",(0,i.jsx)(t.code,{children:"gamevault-backend-plugin"})," to make it findable. After that, you can also add your provider in this documentation with a notice that it is community maintained."]})]})}function c(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},9246:(e,t,a)=>{a.d(t,{Z:()=>s,a:()=>d});var i=a(5271);const r={},n=i.createContext(r);function d(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6241],{3785:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>c,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var i=a(2676),r=a(8358);const n={title:"Enriching your Games with Metadata",sidebar_position:.01},d=void 0,s={id:"server-docs/metadata-enrichment/metadata",title:"Enriching your Games with Metadata",description:"Research shows that nobody wants to see blank placeholder images and missing descriptions in their library. We want those games enriched with some juicy metadata.",source:"@site/docs/server-docs/metadata-enrichment/metadata.md",sourceDirName:"server-docs/metadata-enrichment",slug:"/server-docs/metadata-enrichment/metadata",permalink:"/docs/server-docs/metadata-enrichment/metadata",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/metadata-enrichment/metadata.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:.01,frontMatter:{title:"Enriching your Games with Metadata",sidebar_position:.01},sidebar:"docs",previous:{title:"Game Indexing",permalink:"/docs/server-docs/indexing"},next:{title:"Provider: IGDB",permalink:"/docs/server-docs/metadata-enrichment/provider-igdb"}},o={},l=[{value:"Setting Up a Metadata Provider",id:"setting-up-a-metadata-provider",level:2},{value:"Built-In Metadata Providers",id:"built-in-metadata-providers",level:3},{value:"Community-Maintained Metadata Providers",id:"community-maintained-metadata-providers",level:3},{value:"How Metadata Enrichment in GameVault Works",id:"how-metadata-enrichment-in-gamevault-works",level:2},{value:"Editing Metadata",id:"editing-metadata",level:2},{value:"Remapping a Game",id:"remapping-a-game",level:2},{value:"Unmapping a Game",id:"unmapping-a-game",level:2},{value:"How GameVault Merges Metadata",id:"how-gamevault-merges-metadata",level:2},{value:"Developing a New Metadata Provider",id:"developing-a-new-metadata-provider",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["Research shows that nobody wants to see blank placeholder images and missing descriptions in their library. We want those games enriched with some ",(0,i.jsx)(t.strong,{children:"juicy metadata"}),"."]}),"\n",(0,i.jsxs)(t.p,{children:["GameVault supports a ",(0,i.jsx)(t.strong,{children:"vast plugin framework"})," that supports connecting to various metadata providers simultaneously. In the following sections, you'll learn how to set up a metadata provider and get started."]}),"\n",(0,i.jsx)(t.h2,{id:"setting-up-a-metadata-provider",children:"Setting Up a Metadata Provider"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Click on any of the entries below to get to their dedicated page."})}),"\n",(0,i.jsx)(t.h3,{id:"built-in-metadata-providers",children:"Built-In Metadata Providers"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"/docs/server-docs/metadata-enrichment/provider-igdb",children:(0,i.jsx)(t.strong,{children:"IGDB (via Client-ID and Client-Secret)"})})}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"community-maintained-metadata-providers",children:"Community-Maintained Metadata Providers"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"Not yet available"}),", but you can ",(0,i.jsx)(t.a,{href:"#developing-a-new-metadata-provider",children:"build the first one!"})]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"how-metadata-enrichment-in-gamevault-works",children:"How Metadata Enrichment in GameVault Works"}),"\n",(0,i.jsx)(t.p,{children:"The GameVault Server includes a metadata service that allows various Metadata Provider Plugins to register. Each provider registers with a numerical priority value - the higher the priority, the more important the metadata is treated."}),"\n",(0,i.jsxs)(t.p,{children:["After ",(0,i.jsx)(t.a,{href:"../indexing",children:"indexing the games"}),", GameVault automatically searches for relevant metadata. It uses a standard interface search method to find games on the metadata provider (often based on Game Title and Release Year) and determines the best match using a probability index calculated with an NLP Levenshtein algorithm and the release-year-offset. The further away the title and release date, the less probable the match. For each game file, only one game can be mapped per metadata provider."]}),"\n",(0,i.jsx)(t.h2,{id:"editing-metadata",children:"Editing Metadata"}),"\n",(0,i.jsxs)(t.p,{children:["To edit metadata, Users need to have the role ",(0,i.jsx)(t.code,{children:"EDITOR"})," or higher. Data provided by users are always treated with ",(0,i.jsx)(t.strong,{children:"the highest priority"}),". Only one user-provided metadata object per game is allowed and it is the same for all users. This can be used to fill in missing data manually or change it."]}),"\n",(0,i.jsx)(t.h2,{id:"remapping-a-game",children:"Remapping a Game"}),"\n",(0,i.jsx)(t.p,{children:"It is possible to search the registered Metadata Providers to find a better matching game and remap the current match to it."}),"\n",(0,i.jsx)(t.h2,{id:"unmapping-a-game",children:"Unmapping a Game"}),"\n",(0,i.jsx)(t.p,{children:"It is possible to unmap a game from a Metadata Provider, which will disconnect the mapped metadata from the game."}),"\n",(0,i.jsx)(t.h2,{id:"how-gamevault-merges-metadata",children:"How GameVault Merges Metadata"}),"\n",(0,i.jsxs)(t.p,{children:["GameVault always applies the metadata detached and by priority, by creating an ",(0,i.jsx)(t.strong,{children:"effective"})," metadata object ",(0,i.jsx)(t.code,{children:"game.metadata"}),'. We call this process "merging". It works as follows:']}),"\n",(0,i.jsx)(t.p,{children:'Let\'s say we have a game: "Grand Theft Auto: San Andreas" with two Metadata Providers and a user-provided edit.'}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Provider"}),(0,i.jsx)(t.th,{children:"Priority"}),(0,i.jsx)(t.th,{children:"Title"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Age Rating"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"STEAM"}),(0,i.jsx)(t.td,{children:"1"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"All you had to do is to follow the damn train, CJ."}),(0,i.jsx)(t.td,{children:"18"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"IGDB"}),(0,i.jsx)(t.td,{children:"2"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"I'll have two number 9s, a number 9 large..."}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"USER"}),(0,i.jsx)(t.td,{children:"\u221e"}),(0,i.jsx)(t.td,{children:"N/A"}),(0,i.jsx)(t.td,{children:"N/A"}),(0,i.jsx)(t.td,{children:"12"})]})]})]}),"\n",(0,i.jsx)(t.p,{children:'GameVault begins creating the "effective" metadata object by starting with the lowest priority provider and working its way up. In our case, the lowest priority provider is Steam with a priority of 1.'}),"\n",(0,i.jsx)(t.p,{children:"So the generated metadata object initially looks like this:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Provider"}),(0,i.jsx)(t.th,{children:"Title"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Age Rating"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"GameVault"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"All you had to do is to follow the damn train, CJ."}),(0,i.jsx)(t.td,{children:"18"})]})})]}),"\n",(0,i.jsx)(t.p,{children:"Next, the IGDB provider is used. As you can see, it has a different description, but the age rating is missing. GameVault will overwrite the description with the more important one. However, the missing age rating will be ignored, as some data from a lower priority provider is always preferred over having no data in a field. So the merged metadata object now looks like:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Provider"}),(0,i.jsx)(t.th,{children:"Title"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Age Rating"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"GameVault"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"I'll have two number 9s, a number 9 large..."}),(0,i.jsx)(t.td,{children:"18"})]})})]}),"\n",(0,i.jsx)(t.p,{children:"Finally, we get to the user-provided metadata. This one is special because the user always has the highest priority. So it will always be used. In our case, we want to let our underage kid play some San Andreas, so we overwrote the age rating to 12. Again, missing fields will be ignored."}),"\n",(0,i.jsx)(t.p,{children:"So the merged metadata object now looks like:"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Provider"}),(0,i.jsx)(t.th,{children:"Title"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Age Rating"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"GameVault"}),(0,i.jsx)(t.td,{children:"Grand Theft Auto: San Andreas"}),(0,i.jsx)(t.td,{children:"I'll have two number 9s, a number 9 large..."}),(0,i.jsx)(t.td,{children:"12"})]})})]}),"\n",(0,i.jsx)(t.p,{children:"This is the final result. The merge is done by the GameVault Server."}),"\n",(0,i.jsx)(t.p,{children:"The server will trigger a new merge whenever a relevant metadata object is changed (e.g., Edit of Game Metadata, Recache, Remap, etc.)."}),"\n",(0,i.jsx)(t.h2,{id:"developing-a-new-metadata-provider",children:"Developing a New Metadata Provider"}),"\n",(0,i.jsxs)(t.p,{children:["To build a new integration for a metadata provider, you need to write a GameVault Backend Plugin. ",(0,i.jsx)(t.a,{href:"/docs/server-docs/plugins",children:"Click here"})," to understand how that works."]}),"\n",(0,i.jsxs)(t.p,{children:["Then you will need to build a ",(0,i.jsx)(t.a,{href:"https://docs.nestjs.com/providers#services",children:"NestJS service"})," that implements the ",(0,i.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-backend/blob/master/src/modules/metadata/providers/abstract.metadata-provider.service.ts",children:"abstract.metadata-provider.interface.ts"})," and implement your own configuration environment variables if necessary. Make sure they fit in but do not conflict with any existing environment variables and are distinct enough. (For example, ",(0,i.jsx)(t.code,{children:"PLUGIN_AUTHORNAME_PLUGINNAME_SETTING"})," like ",(0,i.jsx)(t.code,{children:"PLUGIN_ALFAGUN74_IGDB_ENABLED"}),")."]}),"\n",(0,i.jsxs)(t.p,{children:["Last but not least, you can then create a GitHub repository and tag it with the tag ",(0,i.jsx)(t.code,{children:"gamevault-backend-plugin"})," to make it findable. After that, you can also add your provider in this documentation with a notice that it is community maintained."]})]})}function c(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},8358:(e,t,a)=>{a.d(t,{Z:()=>s,a:()=>d});var i=a(5271);const r={},n=i.createContext(r);function d(e){const t=i.useContext(n);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:d(e.components),i.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0b705c82.b85e501b.js b/assets/js/0b705c82.3d4a2b17.js similarity index 96% rename from assets/js/0b705c82.b85e501b.js rename to assets/js/0b705c82.3d4a2b17.js index 4de8c9772..97c124b3e 100644 --- a/assets/js/0b705c82.b85e501b.js +++ b/assets/js/0b705c82.3d4a2b17.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2510],{5808:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var n=a(2676),r=a(9246);const s={title:"Join the GameVault Early-Access Program Now!",authors:["alfagun74"],tags:["Gaming","GameVault","Early Access","UI Update","Beta Testing","Community Feedback","Exclusive Preview","Microsoft Store","Discord","Gaming Servers"]},i=void 0,l={permalink:"/blog/2023/12/09/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-12-09.md",source:"@site/blog/2023-12-09.md",title:"Join the GameVault Early-Access Program Now!",description:"Hey, Guys!",date:"2023-12-09T00:00:00.000Z",tags:[{inline:!0,label:"Gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"Early Access",permalink:"/blog/tags/early-access"},{inline:!0,label:"UI Update",permalink:"/blog/tags/ui-update"},{inline:!0,label:"Beta Testing",permalink:"/blog/tags/beta-testing"},{inline:!0,label:"Community Feedback",permalink:"/blog/tags/community-feedback"},{inline:!0,label:"Exclusive Preview",permalink:"/blog/tags/exclusive-preview"},{inline:!0,label:"Microsoft Store",permalink:"/blog/tags/microsoft-store"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"Gaming Servers",permalink:"/blog/tags/gaming-servers"}],readingTime:1.135,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Join the GameVault Early-Access Program Now!",authors:["alfagun74"],tags:["Gaming","GameVault","Early Access","UI Update","Beta Testing","Community Feedback","Exclusive Preview","Microsoft Store","Discord","Gaming Servers"]},unlisted:!1,prevItem:{title:"Announcing GameVault+ (coming soon)",permalink:"/blog/2024/03/28/"},nextItem:{title:"A Look Back and a Glimpse Forward",permalink:"/blog/2023/11/20/"}},o={authorsImageUrls:[void 0]},c=[{value:"What's the Early-Access Program?",id:"whats-the-early-access-program",level:2},{value:"How to Join",id:"how-to-join",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Important Note",id:"important-note",level:3}];function u(e){const t={a:"a",br:"br",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Hey, Guys!"}),"\n",(0,n.jsxs)(t.p,{children:["For the upcoming large UI update of GameVault, we're launching a brand new GameVault Early-Access Program, and we want ",(0,n.jsx)(t.strong,{children:"YOU"})," to be a part of it!"]}),"\n",(0,n.jsx)(t.h2,{id:"whats-the-early-access-program",children:"What's the Early-Access Program?"}),"\n",(0,n.jsx)(t.p,{children:"Early-Access is your golden ticket to test-drive upcoming GameVault updates before anyone else. You'll be part of an exclusive group and get a sneak peek into the latest features, but here's the deal \u2013 it might not be as stable as our regular releases and you need to interact with us. Your feedback will help us fine-tune everything before the big release for everyone else."}),"\n",(0,n.jsx)(t.h2,{id:"how-to-join",children:"How to Join"}),"\n",(0,n.jsxs)(t.p,{children:["\ud83d\udccb"," Complete the ",(0,n.jsx)(t.a,{href:"https://forms.gle/RQvEGfWeUFPBCUaG6",children:"Application Form"}),(0,n.jsx)(t.br,{}),"\n","\ud83d\udcc5"," The first early-access phase kicks off on December 17 and lasts for one week."]}),"\n",(0,n.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,n.jsxs)(t.p,{children:["\ud83d\udcac"," Active participation in the designated Discord channel.",(0,n.jsx)(t.br,{}),"\n","\ud83c\udfae"," GameVault installed from the Microsoft Store with a Microsoft Account logged in. If not, grab it ",(0,n.jsx)(t.a,{href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",children:"here"}),".",(0,n.jsx)(t.br,{}),"\n","\ud83d\ude80"," A GameVault Server running the ",(0,n.jsxs)(t.strong,{children:["phalcode/gamevault-backend",":early-access"]})," image. (Only run this if you are accepted as a Tester as it could break things!)"]}),"\n",(0,n.jsx)(t.h3,{id:"important-note",children:"Important Note"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"There are only a limited number of slots in the Early-Access Program. Supporters and Trusted Members are prioritized."}),"\n",(0,n.jsx)(t.li,{children:"If you're accepted and later found not meeting the requirements, you might be removed from future testing and the next applicant on our list gets the opportunity."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://forms.gle/RQvEGfWeUFPBCUaG6",children:"Apply here!"})})]})}function m(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},9246:(e,t,a)=>{a.d(t,{Z:()=>l,a:()=>i});var n=a(5271);const r={},s=n.createContext(r);function i(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2510],{3476:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>m,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var n=a(2676),r=a(8358);const s={title:"Join the GameVault Early-Access Program Now!",authors:["alfagun74"],tags:["Gaming","GameVault","Early Access","UI Update","Beta Testing","Community Feedback","Exclusive Preview","Microsoft Store","Discord","Gaming Servers"]},i=void 0,l={permalink:"/blog/2023/12/09/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-12-09.md",source:"@site/blog/2023-12-09.md",title:"Join the GameVault Early-Access Program Now!",description:"Hey, Guys!",date:"2023-12-09T00:00:00.000Z",tags:[{inline:!0,label:"Gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"Early Access",permalink:"/blog/tags/early-access"},{inline:!0,label:"UI Update",permalink:"/blog/tags/ui-update"},{inline:!0,label:"Beta Testing",permalink:"/blog/tags/beta-testing"},{inline:!0,label:"Community Feedback",permalink:"/blog/tags/community-feedback"},{inline:!0,label:"Exclusive Preview",permalink:"/blog/tags/exclusive-preview"},{inline:!0,label:"Microsoft Store",permalink:"/blog/tags/microsoft-store"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"Gaming Servers",permalink:"/blog/tags/gaming-servers"}],readingTime:1.135,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Join the GameVault Early-Access Program Now!",authors:["alfagun74"],tags:["Gaming","GameVault","Early Access","UI Update","Beta Testing","Community Feedback","Exclusive Preview","Microsoft Store","Discord","Gaming Servers"]},unlisted:!1,prevItem:{title:"Announcing GameVault+ (coming soon)",permalink:"/blog/2024/03/28/"},nextItem:{title:"A Look Back and a Glimpse Forward",permalink:"/blog/2023/11/20/"}},o={authorsImageUrls:[void 0]},c=[{value:"What's the Early-Access Program?",id:"whats-the-early-access-program",level:2},{value:"How to Join",id:"how-to-join",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Important Note",id:"important-note",level:3}];function u(e){const t={a:"a",br:"br",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"Hey, Guys!"}),"\n",(0,n.jsxs)(t.p,{children:["For the upcoming large UI update of GameVault, we're launching a brand new GameVault Early-Access Program, and we want ",(0,n.jsx)(t.strong,{children:"YOU"})," to be a part of it!"]}),"\n",(0,n.jsx)(t.h2,{id:"whats-the-early-access-program",children:"What's the Early-Access Program?"}),"\n",(0,n.jsx)(t.p,{children:"Early-Access is your golden ticket to test-drive upcoming GameVault updates before anyone else. You'll be part of an exclusive group and get a sneak peek into the latest features, but here's the deal \u2013 it might not be as stable as our regular releases and you need to interact with us. Your feedback will help us fine-tune everything before the big release for everyone else."}),"\n",(0,n.jsx)(t.h2,{id:"how-to-join",children:"How to Join"}),"\n",(0,n.jsxs)(t.p,{children:["\ud83d\udccb"," Complete the ",(0,n.jsx)(t.a,{href:"https://forms.gle/RQvEGfWeUFPBCUaG6",children:"Application Form"}),(0,n.jsx)(t.br,{}),"\n","\ud83d\udcc5"," The first early-access phase kicks off on December 17 and lasts for one week."]}),"\n",(0,n.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,n.jsxs)(t.p,{children:["\ud83d\udcac"," Active participation in the designated Discord channel.",(0,n.jsx)(t.br,{}),"\n","\ud83c\udfae"," GameVault installed from the Microsoft Store with a Microsoft Account logged in. If not, grab it ",(0,n.jsx)(t.a,{href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",children:"here"}),".",(0,n.jsx)(t.br,{}),"\n","\ud83d\ude80"," A GameVault Server running the ",(0,n.jsxs)(t.strong,{children:["phalcode/gamevault-backend",":early-access"]})," image. (Only run this if you are accepted as a Tester as it could break things!)"]}),"\n",(0,n.jsx)(t.h3,{id:"important-note",children:"Important Note"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"There are only a limited number of slots in the Early-Access Program. Supporters and Trusted Members are prioritized."}),"\n",(0,n.jsx)(t.li,{children:"If you're accepted and later found not meeting the requirements, you might be removed from future testing and the next applicant on our list gets the opportunity."}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.a,{href:"https://forms.gle/RQvEGfWeUFPBCUaG6",children:"Apply here!"})})]})}function m(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8358:(e,t,a)=>{a.d(t,{Z:()=>l,a:()=>i});var n=a(5271);const r={},s=n.createContext(r);function i(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0bd541ed.116503e2.js b/assets/js/0bd541ed.643c34a6.js similarity index 94% rename from assets/js/0bd541ed.116503e2.js rename to assets/js/0bd541ed.643c34a6.js index 084552d73..6aed2c1dc 100644 --- a/assets/js/0bd541ed.116503e2.js +++ b/assets/js/0bd541ed.643c34a6.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4023],{4341:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>s,contentTitle:()=>l,default:()=>g,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var t=i(2676),a=i(9246);const o={title:"Quick Migration Update and new Logo",authors:["alfagun74"],tags:["name migration progress","backend application migration","documentation migration","domain acquisition","Subreddit migration","Lemmy community","Client Application update","testing","new logo","speculation","Discord channel","migration finalization"]},l=void 0,r={permalink:"/blog/2023/07/19/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-19.md",source:"@site/blog/2023-07-19.md",title:"Quick Migration Update and new Logo",description:"Hey guys,",date:"2023-07-19T00:00:00.000Z",tags:[{inline:!0,label:"name migration progress",permalink:"/blog/tags/name-migration-progress"},{inline:!0,label:"backend application migration",permalink:"/blog/tags/backend-application-migration"},{inline:!0,label:"documentation migration",permalink:"/blog/tags/documentation-migration"},{inline:!0,label:"domain acquisition",permalink:"/blog/tags/domain-acquisition"},{inline:!0,label:"Subreddit migration",permalink:"/blog/tags/subreddit-migration"},{inline:!0,label:"Lemmy community",permalink:"/blog/tags/lemmy-community"},{inline:!0,label:"Client Application update",permalink:"/blog/tags/client-application-update"},{inline:!0,label:"testing",permalink:"/blog/tags/testing"},{inline:!0,label:"new logo",permalink:"/blog/tags/new-logo"},{inline:!0,label:"speculation",permalink:"/blog/tags/speculation"},{inline:!0,label:"Discord channel",permalink:"/blog/tags/discord-channel"},{inline:!0,label:"migration finalization",permalink:"/blog/tags/migration-finalization"}],readingTime:.965,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Quick Migration Update and new Logo",authors:["alfagun74"],tags:["name migration progress","backend application migration","documentation migration","domain acquisition","Subreddit migration","Lemmy community","Client Application update","testing","new logo","speculation","Discord channel","migration finalization"]},unlisted:!1,prevItem:{title:"The Migrations are finally completed",permalink:"/blog/2023/07/20/"},nextItem:{title:"A New Name",permalink:"/blog/2023/07/15/"}},s={authorsImageUrls:[void 0]},c=[];function m(n){const e={code:"code",p:"p",...(0,a.a)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:"Hey guys,"}),"\n",(0,t.jsx)(e.p,{children:"We have a brief update on the progress of the name migration."}),"\n",(0,t.jsxs)(e.p,{children:["We've successfully completed the migration of the backend application, which is now accessible as ",(0,t.jsx)(e.code,{children:"gamevault-backend"}),"."]})]})}function g(n={}){const{wrapper:e}={...(0,a.a)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(m,{...n})}):m(n)}},9246:(n,e,i)=>{i.d(e,{Z:()=>r,a:()=>l});var t=i(5271);const a={},o=t.createContext(a);function l(n){const e=t.useContext(o);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(a):n.components||a:l(n.components),t.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4023],{7434:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>s,contentTitle:()=>l,default:()=>g,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var t=i(2676),a=i(8358);const o={title:"Quick Migration Update and new Logo",authors:["alfagun74"],tags:["name migration progress","backend application migration","documentation migration","domain acquisition","Subreddit migration","Lemmy community","Client Application update","testing","new logo","speculation","Discord channel","migration finalization"]},l=void 0,r={permalink:"/blog/2023/07/19/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-19.md",source:"@site/blog/2023-07-19.md",title:"Quick Migration Update and new Logo",description:"Hey guys,",date:"2023-07-19T00:00:00.000Z",tags:[{inline:!0,label:"name migration progress",permalink:"/blog/tags/name-migration-progress"},{inline:!0,label:"backend application migration",permalink:"/blog/tags/backend-application-migration"},{inline:!0,label:"documentation migration",permalink:"/blog/tags/documentation-migration"},{inline:!0,label:"domain acquisition",permalink:"/blog/tags/domain-acquisition"},{inline:!0,label:"Subreddit migration",permalink:"/blog/tags/subreddit-migration"},{inline:!0,label:"Lemmy community",permalink:"/blog/tags/lemmy-community"},{inline:!0,label:"Client Application update",permalink:"/blog/tags/client-application-update"},{inline:!0,label:"testing",permalink:"/blog/tags/testing"},{inline:!0,label:"new logo",permalink:"/blog/tags/new-logo"},{inline:!0,label:"speculation",permalink:"/blog/tags/speculation"},{inline:!0,label:"Discord channel",permalink:"/blog/tags/discord-channel"},{inline:!0,label:"migration finalization",permalink:"/blog/tags/migration-finalization"}],readingTime:.965,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Quick Migration Update and new Logo",authors:["alfagun74"],tags:["name migration progress","backend application migration","documentation migration","domain acquisition","Subreddit migration","Lemmy community","Client Application update","testing","new logo","speculation","Discord channel","migration finalization"]},unlisted:!1,prevItem:{title:"The Migrations are finally completed",permalink:"/blog/2023/07/20/"},nextItem:{title:"A New Name",permalink:"/blog/2023/07/15/"}},s={authorsImageUrls:[void 0]},c=[];function m(n){const e={code:"code",p:"p",...(0,a.a)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:"Hey guys,"}),"\n",(0,t.jsx)(e.p,{children:"We have a brief update on the progress of the name migration."}),"\n",(0,t.jsxs)(e.p,{children:["We've successfully completed the migration of the backend application, which is now accessible as ",(0,t.jsx)(e.code,{children:"gamevault-backend"}),"."]})]})}function g(n={}){const{wrapper:e}={...(0,a.a)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(m,{...n})}):m(n)}},8358:(n,e,i)=>{i.d(e,{Z:()=>r,a:()=>l});var t=i(5271);const a={},o=t.createContext(a);function l(n){const e=t.useContext(o);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(a):n.components||a:l(n.components),t.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/0bfa7fcc.e307e6e6.js b/assets/js/0bfa7fcc.b01db92e.js similarity index 97% rename from assets/js/0bfa7fcc.e307e6e6.js rename to assets/js/0bfa7fcc.b01db92e.js index fa12b207c..a9bbc8c2d 100644 --- a/assets/js/0bfa7fcc.e307e6e6.js +++ b/assets/js/0bfa7fcc.b01db92e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6071],{1297:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var n=t(2676),a=t(9246);const r={title:"A Closer Look at GameVaults 'Source-Available' Nature",authors:["alfagun74"],tags:["source-available software","open-source","transparency","control","software development","code access","hybrid model","software licensing","revenue generation","user engagement"]},i=void 0,s={permalink:"/blog/2023/07/13/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-13.md",source:"@site/blog/2023-07-13.md",title:"A Closer Look at GameVaults 'Source-Available' Nature",description:"Hey everyone,",date:"2023-07-13T00:00:00.000Z",tags:[{inline:!0,label:"source-available software",permalink:"/blog/tags/source-available-software"},{inline:!0,label:"open-source",permalink:"/blog/tags/open-source"},{inline:!0,label:"transparency",permalink:"/blog/tags/transparency"},{inline:!0,label:"control",permalink:"/blog/tags/control"},{inline:!0,label:"software development",permalink:"/blog/tags/software-development"},{inline:!0,label:"code access",permalink:"/blog/tags/code-access"},{inline:!0,label:"hybrid model",permalink:"/blog/tags/hybrid-model"},{inline:!0,label:"software licensing",permalink:"/blog/tags/software-licensing"},{inline:!0,label:"revenue generation",permalink:"/blog/tags/revenue-generation"},{inline:!0,label:"user engagement",permalink:"/blog/tags/user-engagement"}],readingTime:2.57,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A Closer Look at GameVaults 'Source-Available' Nature",authors:["alfagun74"],tags:["source-available software","open-source","transparency","control","software development","code access","hybrid model","software licensing","revenue generation","user engagement"]},unlisted:!1,prevItem:{title:"A New Name",permalink:"/blog/2023/07/15/"},nextItem:{title:"Battling Harassment and Trolls in Our App Community",permalink:"/blog/2023/07/09/"}},l={authorsImageUrls:[void 0]},u=[];function c(e){const o={a:"a",code:"code",p:"p",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"Hey everyone,"}),"\n",(0,n.jsx)(o.p,{children:'today i want to clarify why GameVault isn\'t considered "open-source" by definition. '}),"\n",(0,n.jsxs)(o.p,{children:["You see, GameVault is what we like to call ",(0,n.jsx)(o.a,{href:"https://wikipedia.org/wiki/Source-available_software",children:'"source-available"'})," software. This means that our code is open for you to explore and modify, but it doesn't fully meet all the criteria of being considered open-source. I want to take a moment to explain what open-source truly means and why we've taken a slightly different approach."]}),"\n",(0,n.jsxs)(o.p,{children:["According to the widely recognized definitions, ",(0,n.jsx)(o.a,{href:"https://wikipedia.org/wiki/Open-source_software",children:'"open-source"'})," software, as one would think, not only provides access to the source code but also offers certain freedoms to its users. It allows them to use, modify, and distribute the software freely, even for commercial purposes."]}),"\n",(0,n.jsx)(o.p,{children:"For a self-hosted app like GameVault, we believe it's crucual to disclose the source code. We want you, our users, to have full transparency and control over the software you use on your servers. We don't want you to be unaware of what's happening behind the scenes, as is sometimes the case with closed-source applications like Plex, for example."}),"\n",(0,n.jsx)(o.p,{children:"Now, you may be wondering why we didn't make GameVault fully open-source. The answer lies in our desire to protect our code from unauthorized use and commercial exploitation. While we absolutely encourage you to copy, modify, and share our code for personal use, we want to prevent others from profiting off our hard work by selling our software without our consent."}),"\n",(0,n.jsx)(o.p,{children:"It's important to acknowledge that maintaining and developing a software project requires resources. While we admire the open-source community and its valuable contributions, sustaining GameVault solely through donations or offering it for free indefinitely is not feasible. For instance, Jellyfin, a popular open-source app developed over a decade, generates only around $13,500 per year (according to their opencollective page). In contrast, Plex, a closed-source alternative, earns a significant $8.5 million annually. Our company's main goal is to keep the core functionality of GameVault free, but we also need to explore ways to generate revenue in order to support its future growth and improvement. We are currently considering monetizing additional convenience features for the Client Application in the future, although nothing has been finalized yet."}),"\n",(0,n.jsx)(o.p,{children:'We genuinely appreciate your understanding. As a small business with just two members, we strive to provide you with a valuable product but cannot continue to do so as volunteers indefinitely. Sustaining losses in the long term would not be sustainable, especially considering our local tax obligations. We have families and commitments that cannot be neglected, and this project is not our primary job. Therefore, please understand that GameVault may not strictly align with the traditional definition of "open-source," and we no longer characterize it as such. Our intention is to be transparent and present our perspective. Your understanding, support, and empathy mean a great deal to us.'}),"\n",(0,n.jsxs)(o.p,{children:["If you have any thoughts or comments on this topic, we'd be more than happy to hear from you. Feel free to share your feedback on our ",(0,n.jsx)(o.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," server. We truly value your input and look forward to engaging with you there."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.code,{children:"EDIT: Updated Application Name"})})]})}function d(e={}){const{wrapper:o}={...(0,a.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},9246:(e,o,t)=>{t.d(o,{Z:()=>s,a:()=>i});var n=t(5271);const a={},r=n.createContext(a);function i(e){const o=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function s(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),n.createElement(r.Provider,{value:o},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6071],{3533:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var n=t(2676),a=t(8358);const r={title:"A Closer Look at GameVaults 'Source-Available' Nature",authors:["alfagun74"],tags:["source-available software","open-source","transparency","control","software development","code access","hybrid model","software licensing","revenue generation","user engagement"]},i=void 0,s={permalink:"/blog/2023/07/13/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-13.md",source:"@site/blog/2023-07-13.md",title:"A Closer Look at GameVaults 'Source-Available' Nature",description:"Hey everyone,",date:"2023-07-13T00:00:00.000Z",tags:[{inline:!0,label:"source-available software",permalink:"/blog/tags/source-available-software"},{inline:!0,label:"open-source",permalink:"/blog/tags/open-source"},{inline:!0,label:"transparency",permalink:"/blog/tags/transparency"},{inline:!0,label:"control",permalink:"/blog/tags/control"},{inline:!0,label:"software development",permalink:"/blog/tags/software-development"},{inline:!0,label:"code access",permalink:"/blog/tags/code-access"},{inline:!0,label:"hybrid model",permalink:"/blog/tags/hybrid-model"},{inline:!0,label:"software licensing",permalink:"/blog/tags/software-licensing"},{inline:!0,label:"revenue generation",permalink:"/blog/tags/revenue-generation"},{inline:!0,label:"user engagement",permalink:"/blog/tags/user-engagement"}],readingTime:2.57,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A Closer Look at GameVaults 'Source-Available' Nature",authors:["alfagun74"],tags:["source-available software","open-source","transparency","control","software development","code access","hybrid model","software licensing","revenue generation","user engagement"]},unlisted:!1,prevItem:{title:"A New Name",permalink:"/blog/2023/07/15/"},nextItem:{title:"Battling Harassment and Trolls in Our App Community",permalink:"/blog/2023/07/09/"}},l={authorsImageUrls:[void 0]},u=[];function c(e){const o={a:"a",code:"code",p:"p",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"Hey everyone,"}),"\n",(0,n.jsx)(o.p,{children:'today i want to clarify why GameVault isn\'t considered "open-source" by definition. '}),"\n",(0,n.jsxs)(o.p,{children:["You see, GameVault is what we like to call ",(0,n.jsx)(o.a,{href:"https://wikipedia.org/wiki/Source-available_software",children:'"source-available"'})," software. This means that our code is open for you to explore and modify, but it doesn't fully meet all the criteria of being considered open-source. I want to take a moment to explain what open-source truly means and why we've taken a slightly different approach."]}),"\n",(0,n.jsxs)(o.p,{children:["According to the widely recognized definitions, ",(0,n.jsx)(o.a,{href:"https://wikipedia.org/wiki/Open-source_software",children:'"open-source"'})," software, as one would think, not only provides access to the source code but also offers certain freedoms to its users. It allows them to use, modify, and distribute the software freely, even for commercial purposes."]}),"\n",(0,n.jsx)(o.p,{children:"For a self-hosted app like GameVault, we believe it's crucual to disclose the source code. We want you, our users, to have full transparency and control over the software you use on your servers. We don't want you to be unaware of what's happening behind the scenes, as is sometimes the case with closed-source applications like Plex, for example."}),"\n",(0,n.jsx)(o.p,{children:"Now, you may be wondering why we didn't make GameVault fully open-source. The answer lies in our desire to protect our code from unauthorized use and commercial exploitation. While we absolutely encourage you to copy, modify, and share our code for personal use, we want to prevent others from profiting off our hard work by selling our software without our consent."}),"\n",(0,n.jsx)(o.p,{children:"It's important to acknowledge that maintaining and developing a software project requires resources. While we admire the open-source community and its valuable contributions, sustaining GameVault solely through donations or offering it for free indefinitely is not feasible. For instance, Jellyfin, a popular open-source app developed over a decade, generates only around $13,500 per year (according to their opencollective page). In contrast, Plex, a closed-source alternative, earns a significant $8.5 million annually. Our company's main goal is to keep the core functionality of GameVault free, but we also need to explore ways to generate revenue in order to support its future growth and improvement. We are currently considering monetizing additional convenience features for the Client Application in the future, although nothing has been finalized yet."}),"\n",(0,n.jsx)(o.p,{children:'We genuinely appreciate your understanding. As a small business with just two members, we strive to provide you with a valuable product but cannot continue to do so as volunteers indefinitely. Sustaining losses in the long term would not be sustainable, especially considering our local tax obligations. We have families and commitments that cannot be neglected, and this project is not our primary job. Therefore, please understand that GameVault may not strictly align with the traditional definition of "open-source," and we no longer characterize it as such. Our intention is to be transparent and present our perspective. Your understanding, support, and empathy mean a great deal to us.'}),"\n",(0,n.jsxs)(o.p,{children:["If you have any thoughts or comments on this topic, we'd be more than happy to hear from you. Feel free to share your feedback on our ",(0,n.jsx)(o.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," server. We truly value your input and look forward to engaging with you there."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.code,{children:"EDIT: Updated Application Name"})})]})}function d(e={}){const{wrapper:o}={...(0,a.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8358:(e,o,t)=>{t.d(o,{Z:()=>s,a:()=>i});var n=t(5271);const a={},r=n.createContext(a);function i(e){const o=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function s(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),n.createElement(r.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.35eae3f2.js b/assets/js/0e384e19.8a72b449.js similarity index 98% rename from assets/js/0e384e19.35eae3f2.js rename to assets/js/0e384e19.8a72b449.js index ddf392e4b..9b37646ba 100644 --- a/assets/js/0e384e19.35eae3f2.js +++ b/assets/js/0e384e19.8a72b449.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9671],{4816:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>c});var s=n(2676),i=n(9246);const t={sidebar_position:1},a="Introduction",o={id:"intro",title:"Introduction",description:"What is GameVault?",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/docs/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/intro.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",next:{title:"Setting up a GameVault Server",permalink:"/docs/server-docs/setup/"}},l={},c=[{value:"What is GameVault?",id:"what-is-gamevault",level:2},{value:"Who Can Enjoy GameVault?",id:"who-can-enjoy-gamevault",level:3},{value:"What GameVault is not",id:"what-gamevault-is-not",level:3},{value:"Features",id:"features",level:2},{value:"Client Features",id:"client-features",level:3},{value:"Server Features",id:"server-features",level:3},{value:"Support",id:"support",level:2},{value:"License",id:"license",level:2},{value:"Legal Disclaimer",id:"legal-disclaimer",level:2}];function d(e){const r={a:"a",admonition:"admonition",br:"br",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,s.jsx)(r.h2,{id:"what-is-gamevault",children:"What is GameVault?"}),"\n",(0,s.jsxs)(r.p,{children:["GameVault is an innovative gaming platform providing a self-hosted, ",(0,s.jsx)(r.a,{href:"https://wikipedia.org/wiki/Source-available_software",children:"source-available"})," alternative to popular gaming platforms. It lets you and your friends enjoy DRM-free games stored ",(0,s.jsx)(r.strong,{children:"on your file server"})," in an organized way."]}),"\n",(0,s.jsx)(r.p,{children:"Think of it as your personal Steam or Plex server, but for your personal video game collection (and without streaming). It lets you and your friends enjoy your games from anywhere."}),"\n",(0,s.jsx)(r.p,{children:"You put your game files (installers, binaries, etc.) from wherever you have them into a folder and the platform detects them, enriches them with metadata and offers a user-friendly interface to easily organize, download, install, and play your games. It even tracks your playtimes and progress."}),"\n",(0,s.jsx)(r.p,{children:"GameVault consists of two components:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:"A self-hosted backend server served with Docker"}),"\n",(0,s.jsx)(r.li,{children:"A client application to use this server"}),"\n"]}),"\n",(0,s.jsx)(r.admonition,{title:"Try it out!",type:"tip",children:(0,s.jsxs)(r.p,{children:["If you don't have a server yet, but want to try it out, you can connect your GameVault Client to our demo server get a feel for how it works.",(0,s.jsx)(r.br,{}),"\n",(0,s.jsx)(r.a,{href:"client-docs/setup#option-2-using-the-demo-server",children:"Click here to learn more."})]})}),"\n",(0,s.jsx)(r.h3,{id:"who-can-enjoy-gamevault",children:"Who Can Enjoy GameVault?"}),"\n",(0,s.jsx)(r.p,{children:"Whether you're into the classics or the cutting-edge, GameVault is the perfect companion for:"}),"\n",(0,s.jsxs)(r.p,{children:["\ud83c\udfae ",(0,s.jsx)(r.strong,{children:"DRM-free Gamers:"})," Enjoy your games from anywhere.",(0,s.jsx)(r.br,{}),"\n","\ud83c\udfe0 ",(0,s.jsx)(r.strong,{children:"Self Hosters:"})," Keep your game collection on your own server.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udcda ",(0,s.jsx)(r.strong,{children:"Game Collectors:"})," Organize and cherish your growing library.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udcbe ",(0,s.jsx)(r.strong,{children:"Data Hoarders:"})," Archive every gigabyte of gaming history.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udc7e ",(0,s.jsx)(r.strong,{children:"Indie Gamers:"})," Keep track of your independent gems.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udd79\ufe0f ",(0,s.jsx)(r.strong,{children:"Retro Gamers:"})," Relive the golden era of gaming.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udee0\ufe0f ",(0,s.jsx)(r.strong,{children:"Game Developers:"})," Test and distribute your creations.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udc6a ",(0,s.jsx)(r.strong,{children:"And their Friends & Family:"})," Share the joy of gaming with loved ones."]}),"\n",(0,s.jsx)(r.h3,{id:"what-gamevault-is-not",children:"What GameVault is not"}),"\n",(0,s.jsx)(r.p,{children:"Listed below are some examples of what GameVault is not:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:"Game Pirating Application"}),"\n",(0,s.jsx)(r.li,{children:"Game Streaming Application (e.g. Geforce NOW, Sunshine)"}),"\n",(0,s.jsx)(r.li,{children:"Game Server Management Application (e.g. Pterodactyl)"}),"\n",(0,s.jsx)(r.li,{children:"Local Game Library / Library Merging Application (e.g Playnite, Heroic, Launchbox) - although you might just run the server on your local machine, then it basically is."}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"features",children:"Features"}),"\n",(0,s.jsx)(r.p,{children:"Let's take a look at all the main functions of GameVault:"}),"\n",(0,s.jsx)(r.h3,{id:"client-features",children:"Client Features"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd0e ",(0,s.jsx)(r.a,{href:"./client-docs/gui#library",children:"Browse your server's game collection"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udce5 ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#downloading-games",children:"Securely download your games from your server"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u2699\ufe0f ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#1-extracting-the-game",children:"Automatically extract and install games"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83c\udfae ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#playing-a-game",children:"Launch and play the games on your PC"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u23f1\ufe0f ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#tracking-your-game-progress",children:"Track playtimes and progress (even when the server is offline)"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udc65 ",(0,s.jsx)(r.a,{href:"./client-docs/gui#community",children:"Compare game progress with other users on the server"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u270f\ufe0f ",(0,s.jsx)(r.a,{href:"./client-docs/gui#metadata",children:"Edit any game metadata"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd12 ",(0,s.jsx)(r.a,{href:"./client-docs/gui#administration",children:"Manage your users and games with a powerful Admin UI"})]}),"\n"]}),"\n",(0,s.jsx)(r.h3,{id:"server-features",children:"Server Features"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\u267b\ufe0f ",(0,s.jsx)(r.a,{href:"/docs/server-docs/indexing",children:"Automatically indexes games from the file system into a database"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udcda ",(0,s.jsx)(r.a,{href:"/docs/server-docs/metadata-enrichment/metadata",children:"Automatically enriches games with metadata like box arts, tags, genres, description and more using various APIs"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udc65 ",(0,s.jsx)(r.a,{href:"/docs/server-docs/user-management",children:"Supports Multi-User Authentication"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd12 ",(0,s.jsx)(r.a,{href:"./server-docs/user-management#user-roles",children:"Supports Role-Based Access Control"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66 ",(0,s.jsx)(r.a,{href:"./server-docs/parental-control",children:"Supports Parental Control Features"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u23f1\ufe0f ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#tracking-your-game-progress",children:"Keeps track of your users' game progress and state"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udea8 ",(0,s.jsx)(r.a,{href:"./advanced-usage/rest-api",children:"Health Monitoring and Logging"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd0e ",(0,s.jsx)(r.a,{href:"./advanced-usage/rest-api",children:"Full-Text Search, Filters, Sorting, Pagination"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd0c ",(0,s.jsx)(r.a,{href:"./advanced-usage/rest-api",children:"Fully Documented API"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u2699\ufe0f ",(0,s.jsx)(r.a,{href:"./server-docs/configuration",children:"Highly Configurable"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u2699\ufe0f ",(0,s.jsx)(r.a,{href:"/docs/server-docs/plugins",children:"Modular Plugin Framework"})]}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"support",children:"Support"}),"\n",(0,s.jsxs)(r.p,{children:["We're working hard in our free time to provide you, your friends, and families with the best self-hosted gaming experience. It would mean a lot to us if you could support us developers by ",(0,s.jsx)(r.a,{href:"/docs/gamevault-plus/introduction",children:"getting GameVault+"}),"."]}),"\n",(0,s.jsx)(r.p,{children:"Alternatively you can support us by donating us some spare dollars on any of these platforms:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"https://ko-fi.com/phalcode",children:"Ko-Fi"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"https://liberapay.com/Phalcode",children:"Liberapay"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"https://github.com/sponsors/Phalcode",children:"GitHub Sponsors"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"https://paypal.me/phalcode",children:"PayPal"})}),"\n"]}),"\n",(0,s.jsx)(r.admonition,{title:"Tip for donators",type:"tip",children:(0,s.jsxs)(r.p,{children:["If you connect your ",(0,s.jsx)(r.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),' account to Ko-Fi, you\'ll automatically receive the "@Supporters"-Role and permanently stand out in our ',(0,s.jsx)(r.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," members list. If you donate through a different platform and want to obtain the role, simply send us a message with your receipt as proof that you're truly a Supporter."]})}),"\n",(0,s.jsx)(r.h2,{id:"license",children:"License"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"http://creativecommons.org/licenses/by-nc-sa/4.0/",children:(0,s.jsx)(r.img,{src:"https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg",alt:"CC BY-NC-SA 4.0"})})}),"\n",(0,s.jsxs)(r.p,{children:["This work is licensed under a\n",(0,s.jsx)(r.a,{href:"http://creativecommons.org/licenses/by-nc-sa/4.0/",children:"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"}),"."]}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"http://creativecommons.org/licenses/by-nc-sa/4.0/",children:(0,s.jsx)(r.img,{src:"https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png",alt:"CC BY-NC-SA 4.0"})})}),"\n",(0,s.jsx)(r.h2,{id:"legal-disclaimer",children:"Legal Disclaimer"}),"\n",(0,s.jsxs)(r.admonition,{title:"Legal Disclaimer",type:"warning",children:[(0,s.jsx)(r.p,{children:"GameVault manages DRM-free games and is solely a tool to address this need. We are not responsible for the content or files users store or share."}),(0,s.jsxs)(r.p,{children:["When we say DRM-free games, we only mean games obtained legally. While GameVault ",(0,s.jsx)(r.em,{children:"can"})," theoretically be used with illegally obtained games, we do not endorse or support piracy."]}),(0,s.jsx)(r.p,{children:"Users must be aware of and comply with copyright laws in their respective jurisdictions. We encourage responsible and legal use of GameVault. Unlawful use is strictly improper and unauthorized."})]})]})}function h(e={}){const{wrapper:r}={...(0,i.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},9246:(e,r,n)=>{n.d(r,{Z:()=>o,a:()=>a});var s=n(5271);const i={},t=s.createContext(i);function a(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9671],{4816:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>o,toc:()=>c});var s=n(2676),i=n(8358);const t={sidebar_position:1},a="Introduction",o={id:"intro",title:"Introduction",description:"What is GameVault?",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/docs/intro",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/intro.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",next:{title:"Setting up a GameVault Server",permalink:"/docs/server-docs/setup/"}},l={},c=[{value:"What is GameVault?",id:"what-is-gamevault",level:2},{value:"Who Can Enjoy GameVault?",id:"who-can-enjoy-gamevault",level:3},{value:"What GameVault is not",id:"what-gamevault-is-not",level:3},{value:"Features",id:"features",level:2},{value:"Client Features",id:"client-features",level:3},{value:"Server Features",id:"server-features",level:3},{value:"Support",id:"support",level:2},{value:"License",id:"license",level:2},{value:"Legal Disclaimer",id:"legal-disclaimer",level:2}];function d(e){const r={a:"a",admonition:"admonition",br:"br",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"introduction",children:"Introduction"})}),"\n",(0,s.jsx)(r.h2,{id:"what-is-gamevault",children:"What is GameVault?"}),"\n",(0,s.jsxs)(r.p,{children:["GameVault is an innovative gaming platform providing a self-hosted, ",(0,s.jsx)(r.a,{href:"https://wikipedia.org/wiki/Source-available_software",children:"source-available"})," alternative to popular gaming platforms. It lets you and your friends enjoy DRM-free games stored ",(0,s.jsx)(r.strong,{children:"on your file server"})," in an organized way."]}),"\n",(0,s.jsx)(r.p,{children:"Think of it as your personal Steam or Plex server, but for your personal video game collection (and without streaming). It lets you and your friends enjoy your games from anywhere."}),"\n",(0,s.jsx)(r.p,{children:"You put your game files (installers, binaries, etc.) from wherever you have them into a folder and the platform detects them, enriches them with metadata and offers a user-friendly interface to easily organize, download, install, and play your games. It even tracks your playtimes and progress."}),"\n",(0,s.jsx)(r.p,{children:"GameVault consists of two components:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:"A self-hosted backend server served with Docker"}),"\n",(0,s.jsx)(r.li,{children:"A client application to use this server"}),"\n"]}),"\n",(0,s.jsx)(r.admonition,{title:"Try it out!",type:"tip",children:(0,s.jsxs)(r.p,{children:["If you don't have a server yet, but want to try it out, you can connect your GameVault Client to our demo server get a feel for how it works.",(0,s.jsx)(r.br,{}),"\n",(0,s.jsx)(r.a,{href:"client-docs/setup#option-2-using-the-demo-server",children:"Click here to learn more."})]})}),"\n",(0,s.jsx)(r.h3,{id:"who-can-enjoy-gamevault",children:"Who Can Enjoy GameVault?"}),"\n",(0,s.jsx)(r.p,{children:"Whether you're into the classics or the cutting-edge, GameVault is the perfect companion for:"}),"\n",(0,s.jsxs)(r.p,{children:["\ud83c\udfae ",(0,s.jsx)(r.strong,{children:"DRM-free Gamers:"})," Enjoy your games from anywhere.",(0,s.jsx)(r.br,{}),"\n","\ud83c\udfe0 ",(0,s.jsx)(r.strong,{children:"Self Hosters:"})," Keep your game collection on your own server.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udcda ",(0,s.jsx)(r.strong,{children:"Game Collectors:"})," Organize and cherish your growing library.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udcbe ",(0,s.jsx)(r.strong,{children:"Data Hoarders:"})," Archive every gigabyte of gaming history.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udc7e ",(0,s.jsx)(r.strong,{children:"Indie Gamers:"})," Keep track of your independent gems.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udd79\ufe0f ",(0,s.jsx)(r.strong,{children:"Retro Gamers:"})," Relive the golden era of gaming.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udee0\ufe0f ",(0,s.jsx)(r.strong,{children:"Game Developers:"})," Test and distribute your creations.",(0,s.jsx)(r.br,{}),"\n","\ud83d\udc6a ",(0,s.jsx)(r.strong,{children:"And their Friends & Family:"})," Share the joy of gaming with loved ones."]}),"\n",(0,s.jsx)(r.h3,{id:"what-gamevault-is-not",children:"What GameVault is not"}),"\n",(0,s.jsx)(r.p,{children:"Listed below are some examples of what GameVault is not:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:"Game Pirating Application"}),"\n",(0,s.jsx)(r.li,{children:"Game Streaming Application (e.g. Geforce NOW, Sunshine)"}),"\n",(0,s.jsx)(r.li,{children:"Game Server Management Application (e.g. Pterodactyl)"}),"\n",(0,s.jsx)(r.li,{children:"Local Game Library / Library Merging Application (e.g Playnite, Heroic, Launchbox) - although you might just run the server on your local machine, then it basically is."}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"features",children:"Features"}),"\n",(0,s.jsx)(r.p,{children:"Let's take a look at all the main functions of GameVault:"}),"\n",(0,s.jsx)(r.h3,{id:"client-features",children:"Client Features"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd0e ",(0,s.jsx)(r.a,{href:"./client-docs/gui#library",children:"Browse your server's game collection"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udce5 ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#downloading-games",children:"Securely download your games from your server"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u2699\ufe0f ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#1-extracting-the-game",children:"Automatically extract and install games"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83c\udfae ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#playing-a-game",children:"Launch and play the games on your PC"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u23f1\ufe0f ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#tracking-your-game-progress",children:"Track playtimes and progress (even when the server is offline)"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udc65 ",(0,s.jsx)(r.a,{href:"./client-docs/gui#community",children:"Compare game progress with other users on the server"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u270f\ufe0f ",(0,s.jsx)(r.a,{href:"./client-docs/gui#metadata",children:"Edit any game metadata"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd12 ",(0,s.jsx)(r.a,{href:"./client-docs/gui#administration",children:"Manage your users and games with a powerful Admin UI"})]}),"\n"]}),"\n",(0,s.jsx)(r.h3,{id:"server-features",children:"Server Features"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\u267b\ufe0f ",(0,s.jsx)(r.a,{href:"/docs/server-docs/indexing",children:"Automatically indexes games from the file system into a database"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udcda ",(0,s.jsx)(r.a,{href:"/docs/server-docs/metadata-enrichment/metadata",children:"Automatically enriches games with metadata like box arts, tags, genres, description and more using various APIs"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udc65 ",(0,s.jsx)(r.a,{href:"/docs/server-docs/user-management",children:"Supports Multi-User Authentication"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd12 ",(0,s.jsx)(r.a,{href:"./server-docs/user-management#user-roles",children:"Supports Role-Based Access Control"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66 ",(0,s.jsx)(r.a,{href:"./server-docs/parental-control",children:"Supports Parental Control Features"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u23f1\ufe0f ",(0,s.jsx)(r.a,{href:"./client-docs/how-to-use#tracking-your-game-progress",children:"Keeps track of your users' game progress and state"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udea8 ",(0,s.jsx)(r.a,{href:"./advanced-usage/rest-api",children:"Health Monitoring and Logging"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd0e ",(0,s.jsx)(r.a,{href:"./advanced-usage/rest-api",children:"Full-Text Search, Filters, Sorting, Pagination"})]}),"\n",(0,s.jsxs)(r.li,{children:["\ud83d\udd0c ",(0,s.jsx)(r.a,{href:"./advanced-usage/rest-api",children:"Fully Documented API"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u2699\ufe0f ",(0,s.jsx)(r.a,{href:"./server-docs/configuration",children:"Highly Configurable"})]}),"\n",(0,s.jsxs)(r.li,{children:["\u2699\ufe0f ",(0,s.jsx)(r.a,{href:"/docs/server-docs/plugins",children:"Modular Plugin Framework"})]}),"\n"]}),"\n",(0,s.jsx)(r.h2,{id:"support",children:"Support"}),"\n",(0,s.jsxs)(r.p,{children:["We're working hard in our free time to provide you, your friends, and families with the best self-hosted gaming experience. It would mean a lot to us if you could support us developers by ",(0,s.jsx)(r.a,{href:"/docs/gamevault-plus/introduction",children:"getting GameVault+"}),"."]}),"\n",(0,s.jsx)(r.p,{children:"Alternatively you can support us by donating us some spare dollars on any of these platforms:"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"https://ko-fi.com/phalcode",children:"Ko-Fi"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"https://liberapay.com/Phalcode",children:"Liberapay"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"https://github.com/sponsors/Phalcode",children:"GitHub Sponsors"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"https://paypal.me/phalcode",children:"PayPal"})}),"\n"]}),"\n",(0,s.jsx)(r.admonition,{title:"Tip for donators",type:"tip",children:(0,s.jsxs)(r.p,{children:["If you connect your ",(0,s.jsx)(r.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),' account to Ko-Fi, you\'ll automatically receive the "@Supporters"-Role and permanently stand out in our ',(0,s.jsx)(r.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," members list. If you donate through a different platform and want to obtain the role, simply send us a message with your receipt as proof that you're truly a Supporter."]})}),"\n",(0,s.jsx)(r.h2,{id:"license",children:"License"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"http://creativecommons.org/licenses/by-nc-sa/4.0/",children:(0,s.jsx)(r.img,{src:"https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg",alt:"CC BY-NC-SA 4.0"})})}),"\n",(0,s.jsxs)(r.p,{children:["This work is licensed under a\n",(0,s.jsx)(r.a,{href:"http://creativecommons.org/licenses/by-nc-sa/4.0/",children:"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"}),"."]}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.a,{href:"http://creativecommons.org/licenses/by-nc-sa/4.0/",children:(0,s.jsx)(r.img,{src:"https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png",alt:"CC BY-NC-SA 4.0"})})}),"\n",(0,s.jsx)(r.h2,{id:"legal-disclaimer",children:"Legal Disclaimer"}),"\n",(0,s.jsxs)(r.admonition,{title:"Legal Disclaimer",type:"warning",children:[(0,s.jsx)(r.p,{children:"GameVault manages DRM-free games and is solely a tool to address this need. We are not responsible for the content or files users store or share."}),(0,s.jsxs)(r.p,{children:["When we say DRM-free games, we only mean games obtained legally. While GameVault ",(0,s.jsx)(r.em,{children:"can"})," theoretically be used with illegally obtained games, we do not endorse or support piracy."]}),(0,s.jsx)(r.p,{children:"Users must be aware of and comply with copyright laws in their respective jurisdictions. We encourage responsible and legal use of GameVault. Unlawful use is strictly improper and unauthorized."})]})]})}function h(e={}){const{wrapper:r}={...(0,i.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8358:(e,r,n)=>{n.d(r,{Z:()=>o,a:()=>a});var s=n(5271);const i={},t=s.createContext(i);function a(e){const r=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(t.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/14b6aafb.d1ab05df.js b/assets/js/14b6aafb.15260e47.js similarity index 98% rename from assets/js/14b6aafb.d1ab05df.js rename to assets/js/14b6aafb.15260e47.js index 434231159..31523ac00 100644 --- a/assets/js/14b6aafb.d1ab05df.js +++ b/assets/js/14b6aafb.15260e47.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8495],{5479:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var a=t(2676),i=t(9246);const n={sidebar_position:3,sidebar_title:"Adding Games"},r="Adding Games to GameVault",o={id:"server-docs/adding-games",title:"Adding Games to GameVault",description:"If you wish to add games to your server but are struggling with unorganized files, varying file formats, and compressed files, you have come to the right place. In this chapter, you will learn the correct process to add games to your GameVault server.",source:"@site/docs/server-docs/adding-games.md",sourceDirName:"server-docs",slug:"/server-docs/adding-games",permalink:"/docs/server-docs/adding-games",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/adding-games.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_title:"Adding Games"},sidebar:"docs",previous:{title:"Game Types",permalink:"/docs/server-docs/game-types"},next:{title:"Updating Games",permalink:"/docs/server-docs/updating-games"}},l={},d=[{value:"Before You Begin",id:"before-you-begin",level:2},{value:"Step 1: Preparing",id:"step-1-preparing",level:2},{value:"Step 2: Compression",id:"step-2-compression",level:2},{value:"Method 1: The Fast Way",id:"method-1-the-fast-way",level:3},{value:"Method 2: The Hardcore Way",id:"method-2-the-hardcore-way",level:3},{value:"Method 3: The Balanced Way",id:"method-3-the-balanced-way",level:3},{value:"Step 3: Naming the Archive",id:"step-3-naming-the-archive",level:2},{value:"Adding the same game multiple times",id:"adding-the-same-game-multiple-times",level:3},{value:"Step 4: Deploy \ud83e\udd73",id:"step-4-deploy-",level:2}];function h(e){const s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.header,{children:(0,a.jsx)(s.h1,{id:"adding-games-to-gamevault",children:"Adding Games to GameVault"})}),"\n",(0,a.jsx)(s.p,{children:"If you wish to add games to your server but are struggling with unorganized files, varying file formats, and compressed files, you have come to the right place. In this chapter, you will learn the correct process to add games to your GameVault server."}),"\n",(0,a.jsx)(s.h2,{id:"before-you-begin",children:"Before You Begin"}),"\n",(0,a.jsxs)(s.p,{children:["Please read the ",(0,a.jsx)(s.a,{href:"/docs/server-docs/structure",children:"File and Folder Structure"})," chapter first."]}),"\n",(0,a.jsx)(s.p,{children:"Adding games to your server is a manual process that demands effort and expertise. However, it is worth the effort. To execute the task accurately, follow the steps outlined below for each game. With practice, you will become more proficient and adept at performing these steps with ease."}),"\n",(0,a.jsx)(s.h2,{id:"step-1-preparing",children:"Step 1: Preparing"}),"\n",(0,a.jsx)(s.p,{children:'Suppose you have obtained a DRM-free copy of "Crawl," and it is located in your file system as follows:'}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["Crawl/","\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"setup.bin"}),"\n",(0,a.jsx)(s.li,{children:"setup.exe"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.admonition,{type:"note",children:(0,a.jsx)(s.p,{children:"This is not a real-world example."})}),"\n",(0,a.jsx)(s.p,{children:'If the game files are already compressed in a format that GameVault can understand, such as "Crawl.zip", you can skip the next step. However, if you want to maximize disk space and repack the files, you can do that. Datahoarders, for example, rely on every bit and byte on their disks and tend to repack everything to the maximum compression available.'}),"\n",(0,a.jsx)(s.h2,{id:"step-2-compression",children:"Step 2: Compression"}),"\n",(0,a.jsxs)(s.p,{children:["To make your game files compatible with GameVault, you need to archive them. We recommend using ",(0,a.jsx)(s.a,{href:"https://www.7-zip.org/",children:"7Zip"})," for this. There are different approaches to this."]}),"\n",(0,a.jsx)(s.admonition,{title:"single-file executables",type:"tip",children:(0,a.jsxs)(s.p,{children:["If the game you're about to add only consists of a single executable file such as ",(0,a.jsx)(s.code,{children:"setup_game.exe"})," or ",(0,a.jsx)(s.code,{children:"setup_game.sh"}),", you can choose to skip this stage and proceed with ",(0,a.jsx)(s.a,{href:"#step-3-naming-the-archive",children:"naming it"}),". See ",(0,a.jsx)(s.a,{href:"structure#single-file-executable",children:"here"})," for more details."]})}),"\n",(0,a.jsx)(s.h3,{id:"method-1-the-fast-way",children:"Method 1: The Fast Way"}),"\n",(0,a.jsx)(s.p,{children:"The fastest way to compress your game files into a .7z archive is by copying them without compression, which takes little to no time or effort. However, the resulting archive will be as large as the original folder."}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-bash",children:"7z a -mx=0 -ms=off game.7z /path/to/game/folder/Crawl/*\n"})}),"\n",(0,a.jsx)(s.p,{children:"This command uses the following options:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"a"}),": Add files to the archive"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-mx=0"}),": Sets the compression level to 0"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-ms=off"}),": Turns off solid block compression"]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"method-2-the-hardcore-way",children:"Method 2: The Hardcore Way"}),"\n",(0,a.jsx)(s.p,{children:"To achieve the smallest possible archive size, use the maximum settings of 7zip. The resulting archive may or may not be much smaller than before, but it will definitely be as small as possible. However, this process could take a long time, depending on your hardware, and is very resource-intensive."}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-bash",children:"7z a -mx=9 -mfb=64 -md=32m -ms=on game.7z /path/to/game/folder/Crawl/*\n"})}),"\n",(0,a.jsx)(s.p,{children:"This command uses the following options:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"a"}),": Add files to the archive"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-mx=9"}),": Use the maximum compression level"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-mfb=64"}),": Set the number of fast bytes to 64"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-md=32m"}),": Set the dictionary size to 32MB"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-ms=on"}),": Enable solid block compression"]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"method-3-the-balanced-way",children:"Method 3: The Balanced Way"}),"\n",(0,a.jsx)(s.p,{children:"If you are not happy with either method, you can use the preselected options of 7zip to compress the files as effectively and balanced as possible:"}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-bash",children:"7z a game.7z /path/to/game/folder/Crawl/*\n"})}),"\n",(0,a.jsx)(s.h2,{id:"step-3-naming-the-archive",children:"Step 3: Naming the Archive"}),"\n",(0,a.jsx)(s.p,{children:"Before naming the archive, take a moment to research the game you're about to add. Ask yourself questions or use a search engine to answer the following questions:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:'"What version is the game?"'}),"\n",(0,a.jsx)(s.li,{children:'"What year was the game released?"'}),"\n",(0,a.jsx)(s.li,{children:'"Is the game still in early access?"'}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["Once you have gathered all the necessary information, you can name the archive using the ",(0,a.jsx)(s.a,{href:"/docs/server-docs/structure",children:"GameVault Naming Structure"}),"."]}),"\n",(0,a.jsx)(s.p,{children:"In our fictitious example we have a copy of Crawl Version 1.0.1 released in 2014, so we named the archive:"}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-bash",children:"Crawl (v1.0.1) (2014).7z\n"})}),"\n",(0,a.jsx)(s.h3,{id:"adding-the-same-game-multiple-times",children:"Adding the same game multiple times"}),"\n",(0,a.jsxs)(s.p,{children:["If you wish to add the same game multiple times to your GameVault server for any specific reason, it is important to ensure that you rename it slightly differently. This is to prevent the indexer from detecting it as a duplicate entry. We recommend using square brackets ",(0,a.jsx)(s.code,{children:"[]"})," as your personal discriminator for these games. Avoid using regular parentheses ",(0,a.jsx)(s.code,{children:"()"})," as they will be removed by the title extraction regex. It also does not matter if the files are in the same sub-folder or in different ones."]}),"\n",(0,a.jsx)(s.p,{children:"By using this approach, the indexer will treat these two games as separate entities."}),"\n",(0,a.jsx)(s.p,{children:"In case the Auto-Matching feature does not work accurately for these games, you have the option to manually remap them in the client if you have the Role Editor or higher privileges."}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.strong,{children:"Here's a good example:"})}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["Game 1: ",(0,a.jsx)(s.code,{children:"Minecraft [Tekkit Modpack] (v1.7.10) (2011).zip"})]}),"\n",(0,a.jsxs)(s.li,{children:["Game 2: ",(0,a.jsx)(s.code,{children:"Minecraft [Hexxit Modpack] (v1.13.2) (2011).zip"})]}),"\n"]}),"\n",(0,a.jsx)(s.admonition,{type:"info",children:(0,a.jsx)(s.p,{children:"Will result in two seperate games"})}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.strong,{children:"And here's a bad example:"})}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["Game 1: ",(0,a.jsx)(s.code,{children:"Minecraft (v1.7.10) (2011).zip"})]}),"\n",(0,a.jsxs)(s.li,{children:["Game 2: ",(0,a.jsx)(s.code,{children:"Minecraft (v1.13.2) (2011).zip"})]}),"\n"]}),"\n",(0,a.jsx)(s.admonition,{type:"danger",children:(0,a.jsx)(s.p,{children:"Will result in a single game that gets overwritten!"})}),"\n",(0,a.jsx)(s.h2,{id:"step-4-deploy-",children:"Step 4: Deploy \ud83e\udd73"}),"\n",(0,a.jsxs)(s.p,{children:["Once you have named the archive, place it into the folder on your host system that is mounted to GameVault's files folder (by default ",(0,a.jsx)(s.code,{children:"/files"}),"). Once the archive is in place, GameVault will automatically index the game, enrich it with metadata, and save it in your database."]}),"\n",(0,a.jsx)(s.p,{children:"Congratulations! You have successfully added a game to your GameVault server. Repeat the process for any additional games you want to add."})]})}function c(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},9246:(e,s,t)=>{t.d(s,{Z:()=>o,a:()=>r});var a=t(5271);const i={},n=a.createContext(i);function r(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8495],{5479:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>n,metadata:()=>o,toc:()=>d});var a=t(2676),i=t(8358);const n={sidebar_position:3,sidebar_title:"Adding Games"},r="Adding Games to GameVault",o={id:"server-docs/adding-games",title:"Adding Games to GameVault",description:"If you wish to add games to your server but are struggling with unorganized files, varying file formats, and compressed files, you have come to the right place. In this chapter, you will learn the correct process to add games to your GameVault server.",source:"@site/docs/server-docs/adding-games.md",sourceDirName:"server-docs",slug:"/server-docs/adding-games",permalink:"/docs/server-docs/adding-games",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/adding-games.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_title:"Adding Games"},sidebar:"docs",previous:{title:"Game Types",permalink:"/docs/server-docs/game-types"},next:{title:"Updating Games",permalink:"/docs/server-docs/updating-games"}},l={},d=[{value:"Before You Begin",id:"before-you-begin",level:2},{value:"Step 1: Preparing",id:"step-1-preparing",level:2},{value:"Step 2: Compression",id:"step-2-compression",level:2},{value:"Method 1: The Fast Way",id:"method-1-the-fast-way",level:3},{value:"Method 2: The Hardcore Way",id:"method-2-the-hardcore-way",level:3},{value:"Method 3: The Balanced Way",id:"method-3-the-balanced-way",level:3},{value:"Step 3: Naming the Archive",id:"step-3-naming-the-archive",level:2},{value:"Adding the same game multiple times",id:"adding-the-same-game-multiple-times",level:3},{value:"Step 4: Deploy \ud83e\udd73",id:"step-4-deploy-",level:2}];function h(e){const s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.header,{children:(0,a.jsx)(s.h1,{id:"adding-games-to-gamevault",children:"Adding Games to GameVault"})}),"\n",(0,a.jsx)(s.p,{children:"If you wish to add games to your server but are struggling with unorganized files, varying file formats, and compressed files, you have come to the right place. In this chapter, you will learn the correct process to add games to your GameVault server."}),"\n",(0,a.jsx)(s.h2,{id:"before-you-begin",children:"Before You Begin"}),"\n",(0,a.jsxs)(s.p,{children:["Please read the ",(0,a.jsx)(s.a,{href:"/docs/server-docs/structure",children:"File and Folder Structure"})," chapter first."]}),"\n",(0,a.jsx)(s.p,{children:"Adding games to your server is a manual process that demands effort and expertise. However, it is worth the effort. To execute the task accurately, follow the steps outlined below for each game. With practice, you will become more proficient and adept at performing these steps with ease."}),"\n",(0,a.jsx)(s.h2,{id:"step-1-preparing",children:"Step 1: Preparing"}),"\n",(0,a.jsx)(s.p,{children:'Suppose you have obtained a DRM-free copy of "Crawl," and it is located in your file system as follows:'}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["Crawl/","\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"setup.bin"}),"\n",(0,a.jsx)(s.li,{children:"setup.exe"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.admonition,{type:"note",children:(0,a.jsx)(s.p,{children:"This is not a real-world example."})}),"\n",(0,a.jsx)(s.p,{children:'If the game files are already compressed in a format that GameVault can understand, such as "Crawl.zip", you can skip the next step. However, if you want to maximize disk space and repack the files, you can do that. Datahoarders, for example, rely on every bit and byte on their disks and tend to repack everything to the maximum compression available.'}),"\n",(0,a.jsx)(s.h2,{id:"step-2-compression",children:"Step 2: Compression"}),"\n",(0,a.jsxs)(s.p,{children:["To make your game files compatible with GameVault, you need to archive them. We recommend using ",(0,a.jsx)(s.a,{href:"https://www.7-zip.org/",children:"7Zip"})," for this. There are different approaches to this."]}),"\n",(0,a.jsx)(s.admonition,{title:"single-file executables",type:"tip",children:(0,a.jsxs)(s.p,{children:["If the game you're about to add only consists of a single executable file such as ",(0,a.jsx)(s.code,{children:"setup_game.exe"})," or ",(0,a.jsx)(s.code,{children:"setup_game.sh"}),", you can choose to skip this stage and proceed with ",(0,a.jsx)(s.a,{href:"#step-3-naming-the-archive",children:"naming it"}),". See ",(0,a.jsx)(s.a,{href:"structure#single-file-executable",children:"here"})," for more details."]})}),"\n",(0,a.jsx)(s.h3,{id:"method-1-the-fast-way",children:"Method 1: The Fast Way"}),"\n",(0,a.jsx)(s.p,{children:"The fastest way to compress your game files into a .7z archive is by copying them without compression, which takes little to no time or effort. However, the resulting archive will be as large as the original folder."}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-bash",children:"7z a -mx=0 -ms=off game.7z /path/to/game/folder/Crawl/*\n"})}),"\n",(0,a.jsx)(s.p,{children:"This command uses the following options:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"a"}),": Add files to the archive"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-mx=0"}),": Sets the compression level to 0"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-ms=off"}),": Turns off solid block compression"]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"method-2-the-hardcore-way",children:"Method 2: The Hardcore Way"}),"\n",(0,a.jsx)(s.p,{children:"To achieve the smallest possible archive size, use the maximum settings of 7zip. The resulting archive may or may not be much smaller than before, but it will definitely be as small as possible. However, this process could take a long time, depending on your hardware, and is very resource-intensive."}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-bash",children:"7z a -mx=9 -mfb=64 -md=32m -ms=on game.7z /path/to/game/folder/Crawl/*\n"})}),"\n",(0,a.jsx)(s.p,{children:"This command uses the following options:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"a"}),": Add files to the archive"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-mx=9"}),": Use the maximum compression level"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-mfb=64"}),": Set the number of fast bytes to 64"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-md=32m"}),": Set the dictionary size to 32MB"]}),"\n",(0,a.jsxs)(s.li,{children:[(0,a.jsx)(s.code,{children:"-ms=on"}),": Enable solid block compression"]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"method-3-the-balanced-way",children:"Method 3: The Balanced Way"}),"\n",(0,a.jsx)(s.p,{children:"If you are not happy with either method, you can use the preselected options of 7zip to compress the files as effectively and balanced as possible:"}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-bash",children:"7z a game.7z /path/to/game/folder/Crawl/*\n"})}),"\n",(0,a.jsx)(s.h2,{id:"step-3-naming-the-archive",children:"Step 3: Naming the Archive"}),"\n",(0,a.jsx)(s.p,{children:"Before naming the archive, take a moment to research the game you're about to add. Ask yourself questions or use a search engine to answer the following questions:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:'"What version is the game?"'}),"\n",(0,a.jsx)(s.li,{children:'"What year was the game released?"'}),"\n",(0,a.jsx)(s.li,{children:'"Is the game still in early access?"'}),"\n"]}),"\n",(0,a.jsxs)(s.p,{children:["Once you have gathered all the necessary information, you can name the archive using the ",(0,a.jsx)(s.a,{href:"/docs/server-docs/structure",children:"GameVault Naming Structure"}),"."]}),"\n",(0,a.jsx)(s.p,{children:"In our fictitious example we have a copy of Crawl Version 1.0.1 released in 2014, so we named the archive:"}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-bash",children:"Crawl (v1.0.1) (2014).7z\n"})}),"\n",(0,a.jsx)(s.h3,{id:"adding-the-same-game-multiple-times",children:"Adding the same game multiple times"}),"\n",(0,a.jsxs)(s.p,{children:["If you wish to add the same game multiple times to your GameVault server for any specific reason, it is important to ensure that you rename it slightly differently. This is to prevent the indexer from detecting it as a duplicate entry. We recommend using square brackets ",(0,a.jsx)(s.code,{children:"[]"})," as your personal discriminator for these games. Avoid using regular parentheses ",(0,a.jsx)(s.code,{children:"()"})," as they will be removed by the title extraction regex. It also does not matter if the files are in the same sub-folder or in different ones."]}),"\n",(0,a.jsx)(s.p,{children:"By using this approach, the indexer will treat these two games as separate entities."}),"\n",(0,a.jsx)(s.p,{children:"In case the Auto-Matching feature does not work accurately for these games, you have the option to manually remap them in the client if you have the Role Editor or higher privileges."}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.strong,{children:"Here's a good example:"})}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["Game 1: ",(0,a.jsx)(s.code,{children:"Minecraft [Tekkit Modpack] (v1.7.10) (2011).zip"})]}),"\n",(0,a.jsxs)(s.li,{children:["Game 2: ",(0,a.jsx)(s.code,{children:"Minecraft [Hexxit Modpack] (v1.13.2) (2011).zip"})]}),"\n"]}),"\n",(0,a.jsx)(s.admonition,{type:"info",children:(0,a.jsx)(s.p,{children:"Will result in two seperate games"})}),"\n",(0,a.jsx)(s.p,{children:(0,a.jsx)(s.strong,{children:"And here's a bad example:"})}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsxs)(s.li,{children:["Game 1: ",(0,a.jsx)(s.code,{children:"Minecraft (v1.7.10) (2011).zip"})]}),"\n",(0,a.jsxs)(s.li,{children:["Game 2: ",(0,a.jsx)(s.code,{children:"Minecraft (v1.13.2) (2011).zip"})]}),"\n"]}),"\n",(0,a.jsx)(s.admonition,{type:"danger",children:(0,a.jsx)(s.p,{children:"Will result in a single game that gets overwritten!"})}),"\n",(0,a.jsx)(s.h2,{id:"step-4-deploy-",children:"Step 4: Deploy \ud83e\udd73"}),"\n",(0,a.jsxs)(s.p,{children:["Once you have named the archive, place it into the folder on your host system that is mounted to GameVault's files folder (by default ",(0,a.jsx)(s.code,{children:"/files"}),"). Once the archive is in place, GameVault will automatically index the game, enrich it with metadata, and save it in your database."]}),"\n",(0,a.jsx)(s.p,{children:"Congratulations! You have successfully added a game to your GameVault server. Repeat the process for any additional games you want to add."})]})}function c(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},8358:(e,s,t)=>{t.d(s,{Z:()=>o,a:()=>r});var a=t(5271);const i={},n=a.createContext(i);function r(e){const s=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),a.createElement(n.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1630eae8.2978aa9a.js b/assets/js/1630eae8.2978aa9a.js new file mode 100644 index 000000000..9b0cc1ebf --- /dev/null +++ b/assets/js/1630eae8.2978aa9a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1105],{943:(A,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>i,toc:()=>o});var n=t(2676),a=t(8358);const s={title:"Using TrueNAS Scale",sidebar_position:4},r=void 0,i={id:"server-docs/setup/truenas-scale",title:"Using TrueNAS Scale",description:"TrueNAS Scale is an open-source, hyper-converged storage platform that combines the reliability of TrueNAS with the versatility of Linux, providing a unified solution for storage, virtualization, and containerization in a single, easy-to-manage system.",source:"@site/docs/server-docs/setup/truenas-scale.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/truenas-scale",permalink:"/docs/server-docs/setup/truenas-scale",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/truenas-scale.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:4,frontMatter:{title:"Using TrueNAS Scale",sidebar_position:4},sidebar:"docs",previous:{title:"Using CapRover",permalink:"/docs/server-docs/setup/caprover"},next:{title:"Using UNRAID",permalink:"/docs/server-docs/setup/unraid"}},c={},o=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Log in to your TrueNAS Scale Dashboard",id:"step-1-log-in-to-your-truenas-scale-dashboard",level:2},{value:"Step 2: Navigate to the catalog Page in TrueNas Scale",id:"step-2-navigate-to-the-catalog-page-in-truenas-scale",level:2},{value:"Step 3: Navigate to Apps and Disover Page",id:"step-3-navigate-to-apps-and-disover-page",level:2},{value:"Step 4: Configure and Install gamevault-backend",id:"step-4-configure-and-install-gamevault-backend",level:2},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Reading the Logs",id:"reading-the-logs",level:3}];function l(A){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...A.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.a,{href:"https://www.truenas.com/truenas-scale/",children:"TrueNAS Scale"})," is an open-source, hyper-converged storage platform that combines the reliability of TrueNAS with the versatility of Linux, providing a unified solution for storage, virtualization, and containerization in a single, easy-to-manage system."]}),"\n",(0,n.jsxs)(e.p,{children:["Setting up a GameVault Server on TrueNAS Scale is just a click away by using our template from the ",(0,n.jsx)(e.a,{href:"https://truecharts.org/manual/SCALE/guides/getting-started",children:"Truecharts Catalog"}),",\na community based catalog for TrueNAS Scale."]}),"\n",(0,n.jsx)(e.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:"a running TrueNAS Scale Server!"}),"\n",(0,n.jsxs)(e.li,{children:["add the TrueCharts",(0,n.jsx)(e.a,{href:"https://truecharts.org/manual/SCALE/guides/getting-started",children:"Catalog"})]}),"\n",(0,n.jsxs)(e.li,{children:["Install the following ",(0,n.jsx)(e.a,{href:"https://truecharts.org/manual/FAQ#operators",children:"operators"})," from TrueCharts; ",(0,n.jsx)(e.strong,{children:"prometheus-operator"})," and ",(0,n.jsx)(e.strong,{children:"cloudnative-pg"}),"."]}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"step-1-log-in-to-your-truenas-scale-dashboard",children:"Step 1: Log in to your TrueNAS Scale Dashboard"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 1",src:t(3346).Z+"",width:"1919",height:"943"})}),"\n",(0,n.jsx)(e.h2,{id:"step-2-navigate-to-the-catalog-page-in-truenas-scale",children:"Step 2: Navigate to the catalog Page in TrueNas Scale"}),"\n",(0,n.jsxs)(e.p,{children:["Go to ",(0,n.jsx)(e.strong,{children:"apps"})," -> ",(0,n.jsx)(e.strong,{children:"discover"})," -> ",(0,n.jsx)(e.strong,{children:"catalogs"}),"."]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 2",src:t(1947).Z+"",width:"1918",height:"592"})}),"\n",(0,n.jsx)(e.p,{children:"Validate that TrueCharts catalog was added to the server, if not refer back to the Prerequisites section."}),"\n",(0,n.jsx)(e.h2,{id:"step-3-navigate-to-apps-and-disover-page",children:"Step 3: Navigate to Apps and Disover Page"}),"\n",(0,n.jsxs)(e.p,{children:["Go to ",(0,n.jsx)(e.strong,{children:"apps"})," -> ",(0,n.jsx)(e.strong,{children:"discover"})," and search for ",(0,n.jsx)(e.strong,{children:"gamevault-backend"})]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 3",src:t(7664).Z+"",width:"1919",height:"587"})}),"\n",(0,n.jsx)(e.h2,{id:"step-4-configure-and-install-gamevault-backend",children:"Step 4: Configure and Install gamevault-backend"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 4",src:t(1759).Z+"",width:"1919",height:"374"})}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 4a",src:t(1465).Z+"",width:"1488",height:"752"})}),"\n",(0,n.jsxs)(e.p,{children:["Scroll down to ",(0,n.jsx)(e.strong,{children:"App Configuration"}),"."]}),"\n",(0,n.jsxs)(e.p,{children:["Set your ",(0,n.jsx)(e.code,{children:"Admin User"})," and ",(0,n.jsx)(e.code,{children:"Admin Password"}),"."]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 4b",src:t(3099).Z+"",width:"1485",height:"874"})}),"\n",(0,n.jsx)(e.admonition,{type:"note",children:(0,n.jsx)(e.p,{children:"Leave the Logs and Images storage options as PVC."})}),"\n",(0,n.jsxs)(e.p,{children:["Games storage option can be safely set hostpath if not using using any shares or switch to NFS otherwise; please follow the ",(0,n.jsx)(e.a,{href:"https://truecharts.org/manual/SCALE/guides/dataset",children:"Dataset and Share Setup"})," guide."]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 4c",src:t(3099).Z+"",width:"1485",height:"874"})}),"\n",(0,n.jsxs)(e.p,{children:["Scroll down to ",(0,n.jsx)(e.strong,{children:"Documentation"})," and click install, wait a few minutes and the app should deploy!"]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Installed",src:t(1679).Z+"",width:"1919",height:"949"})}),"\n",(0,n.jsx)(e.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,n.jsx)(e.p,{children:"You have now successfully set up your GameVault Server using TrueNAS Scale."}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,n.jsx)(e.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,n.jsx)(e.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,n.jsxs)(e.p,{children:["To stop the server in TrueNAS Scale, you can click on the gamevault-backend app and then edit the app; set the replicas to 0 or use the ",(0,n.jsx)(e.a,{href:"https://truecharts.org/news/stop-all/",children:'"stop-all"'}),' feature. When editing an application, checking the "stop-all" box and saving the changes accomplishes this. If you\'re working with applications based on CNPG (cloudnative-postgres), the same methods apply, ensuring a safe shutdown.']}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"stop-all",src:t(3757).Z+"",width:"394",height:"423"})}),"\n",(0,n.jsxs)(e.p,{children:["If you prefer using ",(0,n.jsx)(e.a,{href:"https://github.com/Heavybullets8/heavy_script",children:"Heavyscript"}),", a specialized script for TrueNAS Scale, it offers a secure way to stop apps, including those utilizing CNPG. By default, Heavyscript employs the ",(0,n.jsx)(e.a,{href:"https://truecharts.org/news/stop-all/",children:'"stop-all"'})," function to ensure a graceful shutdown."]}),"\n",(0,n.jsx)(e.p,{children:"Simple commands for heavyscript:"}),"\n",(0,n.jsxs)(e.p,{children:["stop: ",(0,n.jsx)(e.code,{children:"heavyscript app -x gamevault-backend"})]}),"\n",(0,n.jsxs)(e.p,{children:["start: ",(0,n.jsx)(e.code,{children:"heavyscript app -s gamevault-backend"})]}),"\n",(0,n.jsx)(e.p,{children:'Keep in mind that TrueNAS Scale does not support third-party operators. Consequently, relying on the stop button within the TrueNAS Scale GUI, often considered an IX (iXsystems) hack in the Kubernetes space, is not recommended. For a dependable and supported approach, opt for the replica settings, "stop-all" checkbox, or leverage Heavyscript.'}),"\n",(0,n.jsx)(e.h3,{id:"reading-the-logs",children:"Reading the Logs"}),"\n",(0,n.jsx)(e.p,{children:'Navigate to "Apps" and choose the GameVault-backend App you have created.'}),"\n",(0,n.jsx)(e.p,{children:"In workloads, select any of the white boxes with lines icon; thats the logs button."}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"gamevault-workloads-logs-1",src:t(8611).Z+"",width:"422",height:"809"})}),"\n",(0,n.jsx)(e.p,{children:"You have to select the correct main pod and container"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"gamevault-workloads-logs-2",src:t(2248).Z+"",width:"598",height:"352"})}),"\n",(0,n.jsx)(e.p,{children:"Once you selected the main pod and container pod; you should see the logs for the app"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"gamevault-workloads-logs-3",src:t(2856).Z+"",width:"1881",height:"235"})}),"\n",(0,n.jsx)(e.p,{children:"You can then download the logs, but you might have to reselect the correct pods again when downloading the logs."}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"gamevault-workloads-logs-4",src:t(8017).Z+"",width:"588",height:"421"})})]})}function g(A={}){const{wrapper:e}={...(0,a.a)(),...A.components};return e?(0,n.jsx)(e,{...A,children:(0,n.jsx)(l,{...A})}):l(A)}},3757:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/gamevault-stop-all-1f3a1e720ade3ecba89c0d63e6ee9bc1.png"},8611:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/gamevault-workloads-logs-1-0a2a9337c9356c4acd287492e815ee01.png"},2248:(A,e,t)=>{t.d(e,{Z:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlYAAAFgCAIAAAD2DKBlAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAkj0lEQVR42u3df3xT9aHw8b72vO7r2e697tl2HC0gaYsIsW5lSOp1ckXGAN3lutU7uqowFn0CVYfuoeMGEZRgAW2rhRGNivgDmfxKFAoWehUC+upaAzRFSEtLE1rSAuWHQKGUkrY5zx9f/HpISlfW8iPp5/3qH+3JycnJSc2H7/ec1Jh+0SVpRMKIyYOv6C6J+ltuG6brP6Bfv379BsT3Hzxcl5h0S7/+/RKTBujvjh98p27wcF38oP7xg/oPvlM3IL5/v/79bk0ecOsdAwYk9B98py5+UP9+/fol3j5g0M90A+L7Dxo6IDFpwC3x/UJuSron4Zd/Sho2/lb93fE//UXiL56+fdj4W/v1v4L9HDF5cNKIhAh6LZ599tnf/e53/XCtjBkzJjs7e9HlZWdnjxkzplv/fXVEuRK8TNdO/0T5bewv5sU8+Ejk7PoD/+eRF3446Fo8UkwUvhFkJg28Y8CNtldD7oofk5l07+NDUn47aIRx8C//lHT7z+O7fveBdwwYk5kUWS8ECbzGBg8ePHr06DGXN3r06MGDB3fnIUhgBOkzbt73xv4mrn+/frc+ctPEl//l3nti/vByZH8Zsy/zlRNjzIl5LLeDr8c7/Hrl269r+ZL0vSaG3j/w7odv63uD6de/75AU3fDfDBr+61uT/j1BN6j/Fd397odvG3r/wL7AddX9BHIMr52E8T/8teV//eGlmN/P/+f7f3sj7+l1/IdCTOSmrhMjpw75yaiEqPlN/smohJFTh/BfNEggepWISeCNduAG3nHL2BlJQ/5NFwW/BEP+TTd2RtLAO27hvwdcd7d3hAQicosYEzXZCzF4uG7sjKQ77ovsseAd9yWMnZE0eLiO336QQKDHcxiawIEDBw4ZMkQPAEAkGzJkyMCBA68ggQMHDuSoAQCiRucVvCSBjP8AAFE2FuxqAjlYAIAoQwIBACTw8gns27cvRwoAEGU6vIL05l/nfHf0L2K0n3DgSAEAoi+B4RX8NoHykxYcKQBAVCYwpIIXE6j9sCFHCgAQZW7+z4XfHTXqYgVT/hzzuydi+/W7+cFsEggAiHLK+AUygX1TMr9J4MskEADQGxJ4XwcJ/AUJBAD02gQmanCkAADRnEDD9Ji0jNi+fRkFAgCiX5/75sRMmNKnX9++A375o19ndZzAuLg4jhQAIMrEDXjgB6lZ35k0/zsTZ3//gWdj0qbG9u17838u/DaBcXFxJBAAEIUJjIuLi4vr8P87SAIBANEs5tF5MRNfjJmUFTNpfsyk+TG/XxAzeeHFL9k/EggAiNZRYIcDQRIIAOitCYzT4EgBAKI1geEVJIEAABJIAgEAUZ3AkAqSQAAACSSBAIBoT6C2giQQANDrExgbG8uRAgBEmdjYWBIIACCBl1SQBAIAekcCbzf979Q/9AlPYGxsLAkEAERlAmNjY+PidMqYOf9y1+1x1zGBDodDVVVVVR0OR9Qfd7PZ3NTUpKqq1+vltxAArmcC+6be9PAzP7olLi7u3h/817x/HvfUdyfO7/kEjho1Kj8///Tp08FgUFXVc+fOFRcXm0wmEggAuF4JjDU8/U9jHoyLu5jA7zw09ebBhhjZvx5J4Pjx4/ft2yfip3X69GmLxUICAQDXI4GGHzz43PcvToLe+4P/mvevhviLE6E9mMBNmzYFg8FgMOjz+V566aXZs2d//vnnbW1tqqpWVVU98MADJBAAcK0TmDjxew89/uO4bxN4051xPZxAo9HY0NCgquqJEyemTZsmFg4fPryiokJV1bNnz86aNUsmcOvWrbW1tcFgsK2tbe/evZMnT5brr1+/vrGxUaT0+PHj77zzjvZR3nnnnePHj4tbGxsb169fP3z4cHHT5MmTd+/e3dLSoqpqW1tbXV3dyy+/LO9oMpn27t174cIFVVVbWlqKi4vT09PDn4XX61VV9eDBg3v37m1rawsGg0ePHtVuJ+RRqqqqzGazvPXll18WuxcIBHbv3n3u3DkSCADXN4E33zvjez9PibuqCczNzT1//ryqqm63W7t8zZo1lZWVHo9n3rx5MoEhSkpKRP+Ki4tD5lHb2trWr18vNrV+/XoxppSCwWBxcfHw4cPT09Pr6urEkubmZrFaU1NTVlaWXq+fOnXqkSNHQh60srJy/PjxHSYwRGNj4+zZsy+3nTNnzohpXovFcubMmfC7k0AAuH4JHHfTb5/5QXzs1U2gzWYLBAKyZx2SCdy/f//UqVMXLFhw8uRJVVWPHDkyceLEV199VUTU5/NNmzZt3rx5R48eFQWaMWNGZmbm6dOnVVU9evTovHnzpk2b5vP5xJAuLy9vyZIlFy5caG9vt9vter0+Ly9PDNSKior0ev2uXbtUVQ0EAna7PS0tbcuWLW1tbe3t7R9++GGHCWxpaVmzZo1cUz4pp9MpRq5btmxJS0tbs2aNeJSKiorhw4eLR2lraysoKEhLSysoKBD3JYEAcN0S+JPH/+n+hzQfkL+YwLi4uJ5M4Jo1a8QArisJlOcCRXLOnDkzY8aMrVu3ilDZbDa5fjAYFK368MMP29vbg8GgvK+M7tatW0UCVVUtKyubPHnyqFGjMjMzzWaz0WiUM7Q+n0/Mmj755JMnTpzocFfF/jQ0NBiNRr1mdre+vv7ZZ5+tr6/X3jp8+PDq6mpxvc+SJUvEADH8viQQAK6XH47975t+OqDDvxETE6txLUeBIQlsamoym81ut1t+H7LNTZs2bdq0KSSQ8noTt9s9fvz4yspKOfd47tw5t9sttiNX68oUZUgCtUsWL14swqm9V0lJiaqqzc3N69atE7Og8lYSCADXXcyEZ2PSnov53ZyY9DkxD78Q88jcmEfnxTw6L2biiz2ZwMudC8zNzc3Pz//oo4/++Mc/Xr0E6vX6UaNG2e12cTWKeJTm5ubc3Fy52oULF5outWfPnp5KoMPhEPO0JBAAbhzazF3FUeDUqVNFIU6cODF16lSxUF4R2tzcnJWV1XkCxUSoOLcnR40hE6Ht7e2rVq0KCeTWrVuNRqPZbM7MzBw1atT48ePtdrs4S/fll1/Kac+DBw/K61/EauHPIiSBjz/++LFjx8R9n3nmGTEReujQIXE1aYcTofJWEggAvSWB+m+uFgkGg5WVleJzgSUlJeKSkAMHDnT4uUBtAuU1LB1eDjNjxozGxsbLXQ4jx4hvvfWWXq+XK4sBorhQJRgMlpaWTp48eerUqaWlpUeOHJGpDkmguBxm/Pjxn332mdj/7du36/X67du3iwteuBwGAEjgJUJOyHXlr8NoE9idD0XIjytoPxTR0tLy2muv6S/zYQZ5a3gC+VAEAPSiBPbp06dHHkz8jVDx2XZxWcquXbs6+Ruh2gTqu/fReJPJpP3Qen19/SuvvCLvKD7SLs5Wilu1H3gPSeCJEyd27doVCAS689H44uLigwcPkkAAuI769Olz7RIY6cIvhwEAkEASCAAggSQQAEACSSAAICISGFJBEggAIIEkEABAAgEAIIEAAJBAAABIIAAAJBAAABIIAAAJBADgRk9gfHx8fHy8TqfT6XQcKQAAo0AAAEggAAAkEAAAEggAAAkEAIAEAgBAAgEAIIEAAJBAAABIIAAAJBAAABIIAAAJBACABAIAQAIBACCBAACQQAAASCAAACQQAEACSSAAgASSQAAACSSBAIBekMDbRj/69Kx5gnnKr4bExcXFTfrvl0ggACCaDerT54Gpsy3PTvmPn8bG/vQ/pj0///knfkUCAQDRb0yfPkl3jfj5nbeJ2P3qiefn//lREggA6BUJjL3rN1P+fHEidP78+SQQANBLEvizR/70wpxp6aN+yigQANC7EniPccYLszIevHNw7E9GpU2bwygQANBbEthn0Dhj5mzLvHnz5s2ZPu3/PT/f/JjhOibQbDZ7vV6j0djhrU6n02az8bIBALrv2n0u0GazBQIBVVVVVfV6vVeaQKPR2NDQIO5eUlLCKwcAiKQEOp1OETOv12s2m0tKSlRVDQQCYmAnfmxoaBAJ9Hq94keZQ4fD4ff7/X4/A0EAQAQncPXq1aWlpXLYl5+f7/f7jUajw+FoaGhYunSpuNXhcDgcDl4nAEBkJ1A7ERpSxC1btogf5USoGAU2NTWZzWZeJwBANIwC5Y/l5eXho0Dx49KlSwsKChgFAgCiMIH6b07+hZwLFOf/li5d6na7GQUCAKIhgQAAkEAAAEggAAAkEAAAEggAAAkEAIAEAgBAAgEAuJoJjI+P132DIwUAYBT4j0hOTjYYDCkAAHSbwWBITk6OmAQaDIbExEQdAADdlpiYaDAYIiaBKSkpvGYAgJ6SkpJCAgEAJJAEAgBIIAkEAJBAEggAIIEkEABAAkkgAIAEkkAAAAnsrQk0mUxOpzM1NVWn0xUWFloslpAVLBZLYWHhlW62w011ndPptFqt4Qt9GlarNTU11eVyVVVVWSwWq9Uqb3K5XOIZXY7FYikqKkpNTQ3fpvaAdPJ07HZ7+B52/oiXO4xWq9Vut4cstNvt4QsBIDoTaLfb/+4bdy9PYH5+vslk0ul0qampRUVFFovFZDK5XC6x0Gq1dr1JMoEdbpMEAiCB1yKBcuwi+ieGNXJEIt46nU6nWCjeFn0+n8fjEW/cFoulqqpKLFm4cKHL5RL3km/oYn2fz+d0OrVv/fJNXL7jy/FQyDu7dgfERsJ3UjtEE0tEM8Sa4l5yBfHOHr5ZuY7H45FPpMMEWq1Wsc/i7mIU2GGTQvZKHq6ioqKQBIptyn8TFBUVaUeThYWFGzZskI8ljt6GDRvE1i53ELTHUKzpcrmWLVsmvhfPtKCgQPsCiderqqqqqKhIHCjx0PJxAUSTtLS0zZeRlpYW5QmUoZLjnpycHPGjLJPFYvF4PGJ04vF4xNuiaKHolmxhYWGhfB8XP5pMprfffls7jukkgdqdCXn7FjsgdtJut4fvpLYfYlgmHk4O5rQDHbkn8nm53W4xkyk34vF4Ohljyc1qR4F2uz2kQCF7tXDhQvkEw8fc2m3KRxfbFLfKA+t2u00mk9xCh/sv90r7bx1Z+pBxnvxGvjqi7mKhfGgA0VpBr9erPSPj9Xo771/UJlC8/2rHhXICTbuyKIocW8j1Fy5cKJokh0SyCmIY0ZUEhoyutDN44n08fCfD5y0LCwuLiopChnfaU27azYb0Uh4NOUTWNkD7FMITqK1UyF5p76j9PnybciJULpcTodrhdcjehjycPEpiyB6SQO2P4S3Uft/NKWUAkVXBrvQveiZCZcbkPJh449OOAjtJoPZ9XOYkJydHhEq7QndGgSEJDN/J8ASK1eTy8BW6ksAOj5i2Ex2Ot+QT6XoCQ7bZIwkMn/GWzQs53UgCAYgKdrF/0ZNAeS4q5I1Pvvl2ksCQJeId1mq1FhYW5ufnh0yshV8/IsedfzeBshayfyE7KR9dzs2KN275cNoVxKOEJ1C7TofnAsObJ3/U3kWOAkP2SjsRarVa5UTo5bYZMhEasnHtvwNCJkK1E9ThCQw/zuHHUx5qEgj0qgp2sX/RMxFaWFgopwe1c4wul0tcENFJAnWXXg4j3nNDTqSJGciqqqoNGzaIN315gUxZWZmcetVesRI+XCsrK9MOVcN3UneZy2HE+7vYt/DLYUISqN3by50LlE0Kz5XcK+2VI5e7HMbj8WhHw+HblFevyDF0yMbtdntZWVnn1wSFD/fFGT75iss50pDLYcSrQwIBRHMCtRnocOgAAEDUjgLlpwvk8AgAgOhPIAAAJBAAABIIAAAJBACABAIAQAIBACSQBAIASOANnUCDwZCYmMhrBgDovsTERIPBEDEJTE5ONhgMKQAAdJvBYEhOTo6YBAIAcKMhgQAAEkgCAQAkkAQCAEggCQQAkEAAAEggAACRTn7QMF4jISEhISGBBAIAGAWSQAAACQQAgAQCAEACAQAggQAAkEAAAEggAAARlMD4+Hj5sUGOFACAUSAAACQQAAASCAAACQQAgAQCAEACAQAggQAAkEAAAEggAAAkEAAAEggAAAkEAIAEAgBAAgEAIIEAAJBAAACiLoElJSUOh6M7WzAajW6322g08vIDAAm8RgksKSlRVVVV1a40zGw2l5aW9vgTttlsgUBAVdVAIGCz2fgNAAASeNUTaLPZ/H6/GHuVl5fbbDaHw6EtYmlpaUNDg6qqJSUlRqNRfO/1es1mc1NTk/her9c7HA6Hw2Gz2bxebyAQaGpqMpvNcv2Ghgaj0ShubWpqys/Pl9uRe+L1et1ut9wZAAAJvLoJ1E5gGo3Gt956S8xGGo1G0Tmv1+twOMQ3ImPl5eV6vb6goMBsNotGms1mmUDRMLFZufGQW202m9Pp1Ov1TqeTMR8A4PonUH/pPKcYFIrCyRN1MoFysCgGfDJyom3iRznFKgaR8taQ0SGvNwDgOiRQJk2v13u93h07dojRnhwFXi6BIpDho8CQBIq+ii3IW2022/LlyxkFAgCuZwL1YZfDhJ8LDElgIBAQbROrnTp1SvwYnkA52hNbk7eazWa/388oEABwnRMIAAAJBACABAIAQAIBACCBAACQQAAASCAAACQQAAASCADADZvA5ORkg8GQAgBAtxkMhuTk5IhJoMFgSExM1AEA0G2JiYkGgyFiEpiSksJrBgDoKSkpKSQQAEACSSAAgASSQAAACSSBAAAS2LEfXupHGiQQAEACSSAAgARGXwJNJpPT6UxNTdXpdIWFhRaLJWQFi8VSWFh4pZvtcFNd53Q6rVYrv+UA0CsSaLfbXS6XSBEJJIEAcD0TGB8fLx/s6iXQarX6fD6fzyf6l5qa6nK5xBLRAIvF4nQ6xUK73W63230+n8fjMZlM4taqqiqxZOHChS6XS9wrNTW1qKjIYrGI9X0+n9PpFOsXFRWJ4NntdqvVKhPodDq1j6tNoNwBsZHwnRTR0i4RCRRrinvJFex2e4eblet4PB75RAAA0TkKlKGS456cnBzxoyyTxWLxeDwWi8VkMnk8HtEP0ULRLdnCwsJCq9UqU1dYWGgymd5++23tsKyTBGp3JiSBYgfETtrt9vCdlI9rMplcLpfJZBIPJwdzVqtV7Ll2T+TzcrvdFotFuxGPx0MCAUS9tLS0zZeRlpbW6xIo3v2140I5D6ldWRRFDgHl+gsXLhRNEnnTjr2qqqq6mEA5yJN3kROholLhOxk+b1lYWFhUVBQyvJOsVqt2syG9ZCIUQK+qoNfr1b5Der3ezvuni5rPBcqMiVqI4V3IKLCTBMqeaduTk5MjQqVdoTujwJAEhu9keLHEanJ5+AokEADCK9iV/kVPAvPz88VMpiDrIlvVSQJDloiIWq3WwsLC/Px87UbkmnKiUjvu/LsJlNWU/QvZSfnocm5WVE0+nHYF8SjhCdSuw7lAAL2wgl3sX5QkMDU1tbCwUA5+tXOMLperqKhIDPUul0DdpZfDiLCFnEgTM5BVVVUbNmwQk5byApmysjI59aq9YiV8uFZWVqYdqobvpO4yl8OIqIt9C78cJiSB2r3lXCCAXljBLvYvShKozYD22hYAAKJ/FCg/XSCHRwAARH8CAQAggQAAkEAAAEggAAAkEAAAEggAIIEkEABAAkkgAIAE3ngJNBgMiYmJvGYAgO5LTEw0GAwRk8Dk5GSDwZACAEC3GQyG5OTkiEkgAAA3GhIIACCBJBAAQAJJIACABJJAAAAJBACABAIAQAIBACCBAACQQAAASCAAACQQAAASCAAACQQAgAQCAEACAQAggQAAkEAAAEggAAAkEAAAEggAAAkEAIAEAgBAAgEAIIEAABJIAgEAJFCTwPj4eN03OFIAAEaBAACQQAAASCAAACQQAAAS2DVms9nr9RqNxtLSUrPZ3OE6JSUlDofjH9t4aWkprzQA4Pok0Gg0NjQ0qN9oamrqMHXaBBqNRq/Xe7kidpHD4ej8EQEAJPBajAK1VSspKVFVNRAI2Gw2o9HodrtDRoEhCXQ4HA6Hw2azeb3eQCAgkibL2tDQYDQabTZbIBBQVVWOF41Go9/vd7vdXq+XFxsAcP0TaDabCwoK9Hq9zWZzOp1XlEC/3280GsW8qJwdFbc6nU5tUHl1AQA3XAK186IlJSVXlECn0yl/FENJuR05CiwpKeGlBQB0Tv75l3iNhISEhISEq5hAm81WXl7+j40CQxIoRoEiqwUFBeIbRoEAgBt9FNjU1HTy5Mm33npLRMvr9cqTdtqRotfr7TCB2nUcDsfy5cubmpoYBQIAbrgEAgBAAgEAIIEAAJBAAABIIAAAJBAAABIIAAAJBACABAIAcMMmMDk52WAwpAAA0G0GgyE5OTliEmgwGBITE3UAAHRbYmKiwWCImASmpKTwmgEAekpKSgoJBACQQBIIACCBJBAAQAJJIACABJJAAMANKSkpaezYsffff//YsWOTkpJIIAAg+g0aNCgjIyM3N3fRN3JzczMyMgYNGkQCAQDR3L/p06fn5eUtulReXt706dM7r2CUJNBqtfq+YbfbdTqdyWTyeDw+n8/lcqWmpna4BAAQ6SZNmvTqq6/m5eW9+OKLIoTy+1dffXXSpEnRn0C73e50OrVLnE6n3W5PTU11uVxWq7XDJQCASB8CzpkzZ9GiRTk5OQ8//HBGRsYrr7ySkZHx8MMP5+TkLFq0aM6cOZ0MBKMkgSJv8kcx4BOdE3UMX8KvDgBEuhEjRmRlZYmZz+zs7PT09HHjxqWnp2dnZ4uFWVlZI0aMiOYEyhlOn8/n8XhMJpPJZHK73RaLRQTP5XItXLgwZAlzoQAQTQnMy8ubMmXK0KFDp0yZIk8NRn8CtS4XPBIIANFn6NChc+fOFf3LyMhIT0/PyspKT0/PyMgQFZw7d+7QoUN7SwKtVqvH43nttdeYCAWA3uCJJ57Iy8vLzc19+umnxfxndnb2008/nZubm5eX98QTT3Ry3yiZCHW5XCaTSafTOZ1OkTcuhwGA3mDYsGGzZ89e1JHZs2cPGzYsyhOo03woQpwL1GlOEMoBX/gSAEAUuOeee2bNmqX9aGBeXt6sWbPuueeezu/IR+MBANFg3LhxTz755KxZs5588slx48Z15S4kEADQS5FAAAAJJIEAABJIAgEAJLC7CYyPj5cPRgIBAIwCSSAAgASSQAAACSSBAAAS2AGDwZCYmMhrBgDovsTERIPBEDEJTE5ONhgMKQAAdJvBYEhOTo6YBAIAcKMhgQAAEkgCAQAkkAQCAEggCQQAkEAAAEggAAAkEAAAEggAvUnM6+UR+tXh05kQaUggAJBAEkgCAYAEkkASCAAkkASSQAAggSSQBAIACSSBJBAASCAJJIEAQAJJIAkEABJIAkkgAJBAEkgCAYAEkkAAwBUm8G7HgelFDU9sP3zL8v0xr5cnrfQuqzi1an/jvR/XRGgCX3jhhTfeeGPBggUTJ068GmGbO3fu5s2bV69enZGRQQIBICITeMvy/e9UnDrX2q6qqqqqZwPt7+47lVZYV3Gypb6p9eFP6yIugWazedu2bfX19YcPHz58+HBlZeXbb7/d4wlcvHjx/v37S0pKMjMzSSAARGQCX9x57GygvfFC+6aDZ+3exiPnWs8G2v9adTpCE/jYY49t3Lixrq5u3759BQUFW7ZsqampqaioyMnJIYEAQAK//Upa6d1+6Nz5tuBre7++aem+mNfL//y3Bru38XnXsYqTLWcC7b7GC82twcpTF6YXNcS8Xn7vxzWFB8+eCbS3BdXaM4H5u47ftHRfhwsf/bT+y4bm5tbgoabWFVWn73YcGLii+r19p441t7UF1WPNbcsqTg1cUd3jCbRYLHv27Kmurl6yZIko4sqVK9etWzd37tzVq1eXl5f7/f49e/YsW7Zs4sSJy5Yt2717986dO6urq30+3+bNm6dPnz5x4sT333/f4/HU1dVVVVUVFBRkZmbm5ubu2LHD7/f7/X6Xy5WdnU0CASCyEzh6fe2+ky1Hm1v/r/OQdvmo9bUVJ1uCquprvOA/G1BVtfxkS/r/1H3sO9MWVE+1tPkaL7S2B481t80qORq+MLfsxO7j5wPtwcpTF46caz3fFlyy5+vFX33d3Bo8fr5tz4mW823Bs4H2eTuP9XgCFy9eXF1dvWvXrpkzZ2qXL1u27MCBA/v37y8tLa2pqamsrMzNzV21apXf76+pqdm1a1dtba3f71+5cuWiRYuqqqpqampcLldlZWVdXd22bdt27dpVV1fndrsrKioOHz5cXFy8YsUKEggAEZzA8Z8cPNAYOHKu9Q9bOkjgoabWSZ/Vj15fW3Gy5fC51tyyE9WnLxxqav39lvo+71b9ter0+bbg1vomX2MHC2vOBOrOBiZ9Vj/i45o//61h3IaDzvqmxgvtlh3Hblq6b/FXX59rbf+k9qy4+qYHE2iz2Q4cOLBjx44ZM2Zolz/11FNvvvnmc889ZzKZxOzoe++9t2rVqtra2oKCApPJtHr16tra2k8//XTjxo21tbUbN2587LHHsrOzCwoKNm/e7PV6i4uLMzMzn3vuudLS0v3792/atIkEAkAEJ3Dshtrq0xeONbd1OAoU5wLvdhxwHz9/tLn1/cpTDedaK062jFpfG/N6ebb7xLnW9r1ftxw/3xay8PND5zYdPNvaHlRV9UJ78PND5zKLGr46cV691JcNzcmrfT2bQKvV6vV6w0eBs2fPdjqd+/fvP3To0OHDh2tra5cvXy4S+Mknnzz22GPvv/9+TU3N9u3bt2/fXltbu2rVKnnfFStWHDx48LBGTU3Ntm3bSCAARHAC71zr+7Kh+Wygfe6Oi3OST35+2OFtfHHnsfAELi0/Wd/Uuv/0hbEbamNeL1+0++tzre27jp0/ci50YX7NmZ+t8c0sPrr54NnaM4HW9uD/+M+WHT9/NtC+cv/pV3efWPzV1294Tk774kifd6t6NoELFiyoqKioqKhYsGDBhAkTJk6cuHz58o0bN27fvt3v9+/cudPhcHz55Zc1NTUdJnDbtm1btmypra1du3atOJU4c+bMDz74oKamZufOnStXrvzrX/+6du3aFStWrF69mgQCQAQn8Kal+17fe7KlLXigMfCC61jWzuO1ZwItbcF1B85UnroQksCsncf/duRcc2twTXXjrJKj5SdbmluDyytPhy/cWHNm17Hz+TVnxn9y8A3PSRHFDTVnLrQHt9Q1Pfpp/Xv7Th0/37Zkz8VrcHowgU899ZTT6ayvry8uLl6yZInD4fB6vQcOHNi7d6/f71+3bt0LL7xQUlLi9/s3btxYUFAQksBPP/107dq1tbW1ZWVlNptt3bp1Xq93x44d+/fvr6ysfP/991955RW3271z50673V5dXf3VV1+99tprnX/0kAQCwI2YQPGheGd9U3vw4uTkhfbgJ7Vnn9h+OHwUOGXb4ZnFR0+2tMmZzJKG5hEf14QvnLrt8Gd1TW3fbLO+qXXqtsOPflp/oDEgVzvQGPj9lvqr8bnAl156qaysTE5a+ny+tWvXfvjhh16vVyw5cOCA3++vrKz84osvwhOYlZVVXFws715dXf3BBx/k5+fX1dWJJSKfixcvLi8vP3z4cFFR0TPPPEMCASDyEhjzevngD6tzy058Vte0prrRuPWQ+Lz89KKGWSVHk1Z6+7xb9fQXR+a4jt651hfzevnvt9R/5GvcWt/0l6++lmfywhf2ebdq2hdH1nob3y4/JeZIxanH5ZWnNx08u7D0eOdnAbv512Fmzpz58ccfb9u27aOPPnr++efFwqysrPz8/LVr186cOfPFF1984403/vKXv7z33ntiynT27Nnvvvtudnb2hAkTpk+fvmrVqq1bt65Zs+a5554TM6JvvvnmZ599tmHDBrHOhAkTsrOzP/jgg0WLFjEKBIBITSB/I5S/EQoAJJAEkkAAIIEkkAQCAAkkgSQQAEggCSSBAEACSSAJBAASSAJJIACQQBJ4bRMYHx+v+wa/6wBAAhkFAgBIIAkEACBikUAAAAkkgQCA3prAuEuRQAAACSSBAAASCAAACQQAINoTGBsby5ECAESZy10OSgIBACSQBAIASCAAACQQAAASCABAlCUwLi6OBAIAoj6BcWFIIACgNyawb9++JBAAQAJJIACABAIA0CsSKCvIkQIARGUCw6+FCU3gkCFDOFgAgKgxZMiQriYwISGB4wUAiBoJCQldTaCoIGNBAEAUjP9k/zo8EdhBAsX/OFD6scbNl1JuSI8oSr9/9L6xijJaUcYoSryiPKgoyYrSR1FGKcpoRemjKDcryt2K8itFSVaU3yhKvKIoivITRXlIUW5VlLGKcrei3KwofRXlV4ry74rya0V5QFHuUpS7FCVFUW5TlPsU5ZeKEqsoP1aUkYpyn6L8+Ar3sJ+iPHLjHfORI0dOmjRJr9dffAkeeWTcuHGKoqSnp48cOVJRFL1eP2nSJPG98NBDDz300EPabxRFGTdu3COPfPv85Hbk99oHEhvXblm7fm82cuTIKVOmZGhMmjRp2LBhPbLx+I58/0rwAqFHhPRImyptwjr5uzAigf8fP6hVgMUTDXgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjQtMDEtMDZUMTU6NDk6MzkrMDA6MDADtVRTAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDI0LTAxLTA2VDE1OjQ5OjM5KzAwOjAwcujs7wAAAABJRU5ErkJggg=="},2856:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/gamevault-workloads-logs-3-1baf7d54cd87481af3685e08c77f9d0d.png"},8017:(A,e,t)=>{t.d(e,{Z:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkwAAAGlCAIAAACHpT5DAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAjA0lEQVR42u3cb3AbZZ7gcb2Zuh1up+ZmtyovtjjXaY9Lqbg7sSztqinYmUttFRn2srfnu8VrhoScqBMxMGFqkk0pFcIQgS8G28HJRCAgCX9CIH/cAiIHJ1pIOoHSWCixZUgkx7JbtiM7jvOHJI5lx5Zl9b14hmcbyTYGh0Fyvp+aF3ar1WpLlL7ze9SKZeHChTYAAOaLhQsXWiSeDgDAPEPkAABEDgAAIgcAAJEDAIDIAQBA5AAAIHIAACIHAACRAwCAyAEAQOQAACByAAAQOQAAkQMAgMgBAEDkAAAgcgAAEDkAAIgcAIDIETkAAJEDAIDIAQBA5AAAIHIAABA5AAC+j8j5fD7DMAzD8Pl8hfl0hEIhwzBSqZTL5eI/DgAgcl+xaNEiv99/9erVbDZrGMbIyEhzc7PT6SRyAIDijtySJUtOnz4t8mZ29epVt9tN5AAARRy5gwcPZrPZbDabSCSee+659evXf/zxx5lMxjCMeDx+3333ETkAQFFGzuFwDA4OGoZx6dKllStXio133XVXe3u7YRjDw8Pr1q2TkTty5Ehvb282m81kMqdOnVq+fLncf//+/UNDQyKWFy9efO2118yP8tprr128eFHcOjQ0tH///rvuukvctHz58s8++2xsbMwwjEwm09fX9/zzz8s7Op3OU6dOjY+PG4YxNjbW3NxcUVExm8jN8Ig2m23Tpk3i1kwmE4vF+vr6DMPQdZ3/sABgXkWurq7u+vXrhmFEIhHz9n379nV0dESj0WeeeUZGLkcoFBKFa25uzlntzGQy+/fvF4fav3+/mAulbDbb3Nx81113VVRUiMBks9nR0VGxWyqVqqqqstlsK1asOHfuXM6DdnR0LFmyZObIzfCINpvthRdeEH9yDiIHAPMtcl6vN51Oy2JNSUaus7NzxYoVGzduvHz5smEY586dW7p0qWxGIpFYuXLlM888c/78ecMwhoaG1qxZs3r16qtXrxqGcf78+WeeeWblypWJREKMZfX19Vu3bh0fH5+cnFRV1Waz1dfXi5EuGAzabLaWlhbDMNLptKqq5eXlhw8fzmQyk5OT77zzzgyRm/kR5ZCayWSamprKy8v9fv/ExASRA4B5GLl9+/aJIWw2kZOfyem6bhjGtWvX1qxZc+TIEZEir9cr989ms6JG77zzzuTkZDablfeVWT1y5IiInGEYbW1ty5cvX7Ro0erVq10ul8PhkOuoiURCTGCPPfbYpUuXpjxVc+RmfsTf/OY3IoFnzpy57777bKYFWyIHADf1JJcTORGVSCSS83mYPObBgwcPHjyYk0CXy5VKpcQC6ZIlSzo6OuSC4cjISCQSEceRu81mXdEcuZkfUf4s/14iBwDzNnLTfSZXV1fn9/vffffdX/3qV99d5Gw226JFi1RVFZeBiEcZHR2tq6uTu42Pj6e+6uTJk0QOAIjc11uxYoVYA7x06dKKFSvERvnB1ejoaFVV1cyRE8uV4hMvOfnlLFdOTk7u2bMnJ4FHjhxxOBziU7RFixYtWbJEVVXxmdynn34qFyfPnDkjrzQRu+X/FfnLldM9ojxsd3c3y5UAMM8jZ7PZNE0Tl9p3dHSI78mFQiFxdaIowcyRk1eLTHnhyZo1a4aGhqa7DEROXa+++qrNZpM7iyFPXHiSzWZbW1uXL1++YsWK1tbWc+fOyRhPGbmZH5ELTwDg5opczgdjs/kXT8yRm8tXCOSXBMxfIRgbG3vxxRdt03yFQN46XeRsfIUAAIicmfi3K8W3ucUFIC0tLTP825XmyNnm9mVwp9Np/jJ4f3//pk2b5B3FV8VFk8St5q+KTxc529d9Gfz5558Xt6bT6ZaWFrGASeQAYH5G7mZTWVkpm7d+/fqRkRHDMGKxGM8MABC54rZ69epLly6FQqGKiorly5fHYjHDMMwXqgAAiFyxamhoyPnEbrp/LQwAQOSKz6ZNm/r7+zOZTDabHR4e/vjjj6f8d58BAEQOAAAiBwAAkQMAEDkiBwAgcgAAEDkAAIgcAABEDgAAIgcAAJEDABA5AACIHAAARA4AACIHAACRAwCAyAEAiBwAAEQOAAAiBwAAkQMAgMgBAEDkAABEDgAAIgcAAJEDAIDIAQBA5AAAIHIAABA5AACRAwCAyAEAQOQAACByAAAQOQAAiBwAgMgBAEDkAAAgcgAA3MyRczgckUjE4XDw2gAACityDodjcHAwFAp9u7t7vd50Om0YRjqd9nq9vDwAgAKKnNfrbW5ulqOYz+fTdd0wjFQq5XK5vF6vruvpdFo0TBTRMAxd1+URdF2PRCLJZJJhDgBQWJFrampyuVw+n8/n88nIiR9CoZDX6xX18nq9sVjM6/Vqmmaz2TRNY24DABR05ORkJoczWbucqrlcLl3Xa2pqxP6Dg4PMbQCAgo6cGNfEz62trTkjnZjkRORk83bu3MkkBwAo9Mg5HI5kMilbJarm8/nEYCc/kzNfV+JyuZLJJJMcAKAIJrkpZzsxyQlykgMAgMgBAFCokQMAgMgBAEDkAAAgcgAAEDkAAJEDAIDIAQAw3yJnt9sVRSkFAGDOFEWx2+0FFDlFUaxWawkAAHNmtVoVRSmgyJWWlvKqAABulNLSUiIHACByRA4AQOSIHACAyBE5AACRAwCAyAEAQOS+MafTqWlaWVlZSUlJIBBwu905O7jd7kAg8E0PO+WhZk/TNI/Hw3/HADBPIqeqajgcFrEhckQOAOZD5DweTyKRSCQSonBlZWXhcFhsEe/ybrdb0zSxUVVVVVUTiUQ0GnU6neLWeDwutlRXV4fDYXGvsrKyYDDodrvF/olEQtM0sX8wGBRJU1XV4/HIyGmaZn5cc+TkCYiD5J+kyJJ5i4ic2FPcS+6gquqUh5X7RKNR+YcAAIo1cjJFcnapra0Vv8r2uN3uaDTqdrudTmc0GhWFELUTZZK1CwQCHo9HxiwQCDidzu3bt5tHqxkiZz6ZnMiJExAnqapq/knKx3U6neFw2Ol0ioeTA5nH4xFnbj4T+XdFIhG3220+SDQaJXIA5r3y8vJD0ygvL5+HkRPv7+bZTq4WmncWzZBjnNy/urpaVEcEzDw/xePxWUZODmryLnK5UnQo/yTzVxcDgUAwGMwZ0SSPx2M+bE4RWa4EcFN1Ttd18zukruszF66YlitlqEQPxIiWM8nNEDlZLHNdamtrRYrMO8xlksuJXP5J5jdJ7Ca35+9A5AAgv3OzKVwxRc7v94v1RkH2Q9ZohsjlbBGZ9Hg8gUDA7/ebDyL3lMuJ5tnxayMnuygLl3OS8tHlCqrolnw48w7iUfIjZ96Hz+QA3ISdm2Xhimm5MhAIyBHVvBIYDoeDwaAY16aLXMlXLzwR6cr5QEusE8bj8cbGRrG0KC9FaWtrkwuk5mtD8keutrY287iZf5Il01x4IrItzi3/wpOcyJnPls/kANyEnZtl4YomcuY3evNVJAAAzIdJTl6LL0ccAADmQ+QAACByAAAQOQAAkSNyAAAiR+QAAESOyAEAiBwAAEQOAIBiiJyiKFarlVcFADB3VqtVUZQCipzdblcUpRQAgDlTFMVutxdQ5AAAKDREDgBA5AAAIHIAABA5AACIHAAARA4AACIHACByAAAQOQAAiBwAAEQOAAAiBwAAkQMAEDkAAIgcAABEDgAAIgcAAJEDAIDIAQCIHJEDABA5AACIHAAARA4AACIHAACRAwCAyAEAiBwAAEQOAAAiBwAAkQMAoMgi53K5dF13OBxT3qppmtfr5YUBABRW5LxebzqdNgzDMAxd179p5BwOx+DgoLh7KBTitQEAFFbkNE0TudJ13eVyhUIhwzDS6bQYzsSvg4ODInK6rotfZfB8Pl8ymUwmkwxzAICCjtzevXtbW1vl6Ob3+5PJpMPh8Pl8g4OD27ZtE7f6fD6fz8crAQAo9MiZlytzmnf48GHxq1yuFJNcKpVyuVy8EgCA4pjk5K+xWCx/khO/btu2rampiUkOAFCUkbN9+SFczmdy4nO4bdu2RSIRJjkAQHFEDgAAIgcAAJEDAIDIAQBA5AAARA4AACIHAACRAwCAyAEAUGiRs9vtiqKUAgAwZ4qi2O32AoqcoihWq7UEAIA5s1qtiqIUUORKS0t5VQAAN0ppaSmRAwAQOSIHACByRA4AQOSIHACAyAEAQOQAACByAAAiR+S+5HQ6NU0rKysrKSkJBAJutztnB7fbHQgEvulhpzzU7Gma5vF48jcmTDweT1lZWTgcjsfjbrfb4/HIm8LhsPiLpuN2u4PBYFlZWf4xzU/IDH+Oqqr5ZzjzI073NHo8HlVVczaqqpq/EQCKNXKqqn7tW/NNHjm/3+90OktKSsrKyoLBoNvtdjqd4XBYbPR4PLOvjozclMckcgCI3I2JnJw/ROHEaCKnCvHmqGma2Cje+BKJRDQaFW/Nbrc7Ho+LLdXV1eFwWNxLvmWL/ROJhKZp5jd3+TYt39PlTJPz3m0+AXGQ/JM0j1lii6iC2FPcS+4g3rvzDyv3iUaj8g+ZMnIej0ecs7i7mOSmrE7OWcmnKxgM5kROHFNWPxgMmifCQCDQ2NgoH0s8e42NjeJo0z0J5udQ7BkOh3fs2CF+Fn9pU1OT+QUSr1c8Hg8Gg+KJEg8tHxcAiiZyMkVydqmtrRW/yva43e5oNComjGg0Kt74RO1EmWTtAoGAfKcWvzqdzu3bt5tnkRkiZz6ZnDdocQLiJFVVzT9JcyHEaCUeTg5k5mFFnon8uyKRiFhvlAeJRqMzzEnysOZJTlXVnMbknFV1dbX8A/PnZvMx5aOLY4pb5RMbiUScTqc8wpTnL8/K/P9mZMtzZjX5g3x1RL/FRvnQAOaf8vLyQ9MoLy+fh5ET77Dm2U4uc5l3Fs2Q84Hcv7q6WlRHjjXyfV+MArOJXM6EZF5nE+/U+SeZv7oYCASCwWDOiGb+6Mt82JwiymdDjrnmd3nzn5AfOXOHcs7KfEfzz/nHlMuVcrtcrjSPyDlnm/Nw8lkSY3dO5My/5tfO/PMcF34BFH7ndF03v0Pquj5z4YppuVKGSq5Wibc28yQ3Q+TM79QyGLW1tSJF5h3mMsnlRC7/JPMjJ3aT2/N3mE3kpnzGzCWYcmaSf8jsI5dzzBsSufx1aVm1nI/9iBxA52TnZlO4Yoqc/Ewo561Nvr3OELmcLeI91OPxBAIBv9+fs/yVf6WGnB2/NnKyB7JwOScpH12uoIq3Zvlw5h3Eo+RHzrzPlJ/J5VdN/mq+i5zkcs7KvFzp8XjkcuV0x8xZrsw5uLn0OcuV5mXk/MjlP8/5z6d8qokccFN1bpaFK6blykAgIEdU80pgOBwWlx7MELmSr154It5Vcz7QEuuE8Xi8sbFRvK3LS1Ha2trkAqn52pD8kautrc08buafZMk0F56Id3BxbvkXnuREzny2030mJ6uTHyR5VuZrNKa78CQajZon2vxjyutE5Bycc3BVVdva2ma++iZ/ZBeftMlXXK5k5lx4Il4dIgfcbJ2bZeGKJnLmN/op/+8/AABFPMnJa/HliAMAwHyIHAAARA4AACIHACByRA4AQOSIHACAyBE5AACRAwBgXkVOURSr1cqrAgCYO6vVqihKAUXObrcrilIKAMCcKYpit9sLKHIAABQaIgcAIHIAABA5AACIHAAARA4AACIHAACRAwAQOQAAiBwAAEQOAAAiBwAAkQMAgMgBAIgcAABEDgAAIgcAAJEDAIDIAQBA5AAARI7IAQCIHAAARA4AACIHAACRAwCAyAEAQOQAAEQOAAAiBwAAkQMAgMgBAEDkAAAoksiFQiGfzzeXIzgcjkgk4nA4eIEBgMjdsMiFQiHDMAzDmE2lXC5Xa2vrDf+TvF5vOp02DCOdTnu9Xl5jACByNyByXq83mUyK+SkWi3m9Xp/PZ25ea2vr4OCgYRihUMjhcIifdV13uVypVEr8bLPZfD6fz+fzer26rqfT6VQq5XK55P6Dg4MOh0Pcmkql/H6/PI48E13XI5GIPBkAAJG7AWOcHOAcDserr74q1gwdDocoma7rPp9P/CBCFYvFbDZbU1OTy+USFXS5XDJyolLisPLgObd6vV5N02w2m6ZpzG0AgD9G5GxfXY0Ug51omPzATEZODnxiaJMZE/USv8qFUDEIyltzJjxeUQDAdxI5GS2bzabr+vHjx8XEJie56SInEpg/yeVEThRUHEHe6vV6d+7cySQHAPhuI2fLu/Ak/zO5nMil02lRL7HblStXxK/5kZMTmziavNXlciWTSSY5AMB3HjkAAIgcAABEDgAAIgcAAJEDABA5AACIHAAARA4AACIHAEBBRc5utyuKUgoAwJwpimK32wsocoqiWK3WEgAA5sxqtSqKUkCRKy0t5VUBANwopaWlRA4AQOSIHACAyBE5AACRI3IAACIHAACRAwCAyAEAiByR+5LT6dQ0raysrKSkJBAIuN3unB3cbncgEPimh53yULOnaZrH4+G/YwCYJ5FTVTUcDovYEDkiBwDzIXIejyeRSCQSCVG4srKycDgstoh3ebfbrWma2KiqqqqqiUQiGo06nU5xazweF1uqq6vD4bC4V1lZWTAYdLvdYv9EIqFpmtg/GAyKpKmq6vF4ZOQ0TTM/rjly8gTEQfJPUmTJvEVETuwp7iV3UFV1ysPKfaLRqPxDAGAeKy8vPzSN8vLyoo+cTJGcXWpra8Wvsj1utzsajbrdbqfTGY1GRSFE7USZZO0CgYDH45ExCwQCTqdz+/bt5tFqhsiZTyYncuIExEmqqpp/kvJxnU5nOBx2Op3i4eRA5vF4xJmbz0T+XZFIxO12mw8SjUaJHICbpHO6ridMdF2fuXBFHDnx/m6e7eRqoXln0Qw5xsn9q6urRXVEwMzzUzwen2Xk5KAm7yKXK0WH8k8yf3UxEAgEg8GcEU3yeDzmw+YUkeVKADdt52ZTuGJarpShEj0QI1rOJDdD5GSxzHWpra0VKTLvMJdJLidy+SeZ3ySxm9yevwORA4Cczs2ycMUUOb/fL9YbBdkPWaMZIpezRWTS4/EEAgG/328+iNxTLieaZ8evjZzsoixczknKR5crqKJb8uHMO4hHyY+ceR8+kwNwE3ZuloUrpuXKQCAgF/HMK4HhcDgYDIpxbbrIlXz1whORrpwPtMQ6YTweb2xsFEuL8lKUtrY2uUBqvjYkf+Rqa2szj5v5J1kyzYUnItvi3PIvPMmJnPls+UwOAIo+cuY3evNVJAAAzIdJTl6LL0ccAADmQ+QAACByAAAQOQAAkSNyAAAiR+QAAESOyAEAiBwAAPMqcoqiWK1WXhUAwNxZrVZFUQoocna7XVGUUgAA5kxRFLvdXkCRAwCg0BA5AACRAwCAyAEAQOQAACByAAAQOQAAiBwAgMgBAEDkAAAgcgAAEDkAAIgcAABEDgBA5AAAIHIAABA5AACIHAAARA4AACIHACByRA4AQOQAACByAAAQOQAAiBwAAEQOAAAiBwAgcgAAEDkAAIgcAABEDgCAIoicy+XSdd3hcLS2trpcrin3CYVCPp/v2x28tbWV1xIA8F1FzuFwDA4OGl9KpVJTxswcOYfDoev6dM2bJZ/PN/MjAgCI3I2Z5MzdCoVChmGk02mv1+twOCKRSM4klxM5n8/n8/m8Xq+u6+l0WkRLtnNwcNDhcHi93nQ6bRiGnPkcDkcymYxEIrqu83ICAP4YkXO5XE1NTTabzev1apr2jSKXTCYdDodYvZRrmOJWTdPMyeT1AwB8D5Ezr16GQqFvFDlN0+SvYhyUx5GTXCgU4sUDAHw/kfN6vbFY7NtNcjmRE5OcCGdTU5P4gUkOAPD9T3KpVOry5cuvvvqqyJKu6/LDM/O0p+v6lJEz7+Pz+Xbu3JlKpZjkAADfQ+QAACByAAAQOQAAiBwAAEQOAEDkAAAgcgAAEDkAAIgcAABEDgCAP0bk7Ha7oiilAADMmaIodru9gCKnKIrVai0BAGDOrFaroigFFLnS0lJeFQDAjVJaWkrkAABEjsgBAIgckQMAEDkiBwCYrdtvv/3ee+/9xS9+ce+9995+++1EDgAwH9x2222VlZV1dXWbv1RXV1dZWXnbbbcROQBAcRdu1apV9fX1m7+qvr5+1apVM3eOyAEACtqyZcteeOGF+vr6Z599VqRO/vzCCy8sW7ZsPkTO4/EkvqSqaklJidPpjEajiUQiHA6XlZVNuQUAUOxj3FNPPbV58+ba2toHHnigsrJy06ZNlZWVDzzwQG1t7ebNm5966qkZhrmiiZyqqpqmmbdomqaqallZWTgc9ng8U24BABS1e+65p6qqSqxP1tTUVFRULF68uKKioqamRmysqqq65557ij5yImDyVzG0iZKJ/uVv4T8OAJhPkauvr3/kkUfuuOOORx55RH5ENx8iJ9chE4lENBp1Op1OpzMSibjdbpG0cDhcXV2ds4UVSwAodnfccceGDRtE4SorKysqKqqqqioqKiorK0XnNmzYcMcddxT9JCdNlzQiBwDz0qOPPlpfX19XV/fEE0+IVcqamponnniirq6uvr7+0UcfneG+xRc5j8cTjUZffPFFlisB4GZw5513rl+/fvNU1q9ff+eddxZ95JxOZzgcdjqdJSUlmqaJgHHhCQDcJO6+++5169aZvypXX1+/bt26u+++e+Y7Ft9XCMRnciWmD+rk0Ja/BQAwbyxevPixxx5bt27dY489tnjx4tnchS+DAwDmLSIHACByRA4AQOSIHACAyBE5AACRAwCAyAEAQOQAAETujx45RVGsViuvCgBg7qxWq6IoBRQ5u92uKEopAABzpiiK3W4voMgBAFBoiBwAgMgBAEDkAAAgcgAAEDkAAIgcAABEDgBA5ADgJn+LfClWpP+b8s+5v9gQOQAgckSOyAEAkSNyAAAiR+QAgMgROSIHAESOyBE5ACByRI7IAQCRI3JEDgCIHJEjcgBA5IgcABA5IkfkAOCmidxPfd2rgoOPHhu4dWen5aXY7bv1He1X9nQO/ey9niKN3NNPP/3yyy9v3Lhx6dKl30W6NmzYcOjQob1791ZWVhI5ACjQyN26s/O19isjE5OGYRiGMZyefP30lfJAX/vlsf7UxAMf9hVd5Fwu19GjR/v7+wcGBgYGBjo6OrZv337DI7dly5bOzs5QKLR69WoiBwAFGrlnT1wYTk8OjU8ePDOs6kPnRiaG05Nvx68WaeQefvjhAwcO9PX1nT59uqmp6fDhwz09Pe3t7bW1tUQOAG6uyN2+Wz92duR6JvviqS9+tO205aXYP/9+UNWHfhu+0H557Fp6MjE0PjqR7bgyvio4aHkp9rP3egJnhq+lJzNZo/da+v+1XPzRttNTbnzww/5PB0dHJ7JnUxO74ld/6uv+y11db5y+cmE0k8kaF0YzO9qv/OWurhseObfbffLkya6urq1bt4rm7d69+/3339+wYcPevXtjsVgymTx58uSOHTuWLl26Y8eOzz777MSJE11dXYlE4tChQ6tWrVq6dOmbb74ZjUb7+vri8XhTU9Pq1avr6uqOHz+eTCaTyWQ4HK6pqSFyAFDokfvb/b2nL4+dH534v9pZ8/ZF+3vbL49lDSMxNJ4cThuGEbs8VvEvfe8lrmWyxpWxTGJofGIye2E0sy50Pn9jXdulzy5eT09mO66MnxuZuJ7Jbj35xZbPvxidyF68njl5aex6JjucnnzmxIUbHrktW7Z0dXW1tLSsXbvWvH3Hjh3d3d2dnZ2tra09PT0dHR11dXV79uxJJpM9PT0tLS29vb3JZHL37t2bN2+Ox+M9PT3hcLijo6Ovr+/o0aMtLS19fX2RSKS9vX1gYKC5uXnXrl1EDgAKOnJLPjjTPZQ+NzLxfw5PEbmzqYllH/X/7f7e9stjAyMTdW2Xuq6On01NPHS4f8Hr8bfjV69nskf6U4mhKTb2XEv3DaeXfdR/z3s9//z7wcWNZ7T+1ND4pPv4hR9tO73l8y9GJiY/6B0W17ncwMh5vd7u7u7jx4+vWbPGvP3xxx9/5ZVXnnzySafTKdYw33jjjT179vT29jY1NTmdzr179/b29n744YcHDhzo7e09cODAww8/XFNT09TUdOjQIV3Xm5ubV69e/eSTT7a2tnZ2dh48eJDIAUBBR+7ext6uq+MXRjNTTnLiM7mf+rojF6+fH514s+PK4MhE++WxRft7LS/FaiKXRiYmT30xdvF6Jmfjx2dHDp4ZnpjMGoYxPpn9+OzI6uDg55euG1/16eCofW/ixkbO4/Houp4/ya1fv17TtM7OzrNnzw4MDPT29u7cuVNE7oMPPnj44YfffPPNnp6eY8eOHTt2rLe3d8+ePfK+u3btOnPmzIBJT0/P0aNHiRwAFHTk/roh8eng6HB6csPxP6wcPvbxgE8fevbEhfzIbYtd7k9NdF4dv7ex1/JSbPNnX4xMTLZcuH5uJHejv+faX+1LrG0+f+jMcO+19MRk9l+Sw20Xrw+nJ3d3Xn3hs0tbPv/i5ejllZ+cW/B6/MZGbuPGje3t7e3t7Rs3brz//vuXLl26c+fOAwcOHDt2LJlMnjhxwufzffrppz09PVNG7ujRo4cPH+7t7W1oaBAf6a1du/att97q6ek5ceLE7t2733777YaGhl27du3du5fIAUBBR+5H206/dOryWCbbPZR+Onyh6sTF3mvpsUz2/e5rHVfGcyJXdeLi78+NjE5k93UNrQudj10eG53I7uy4mr/xQM+1lgvX/T3Xlnxw5uXoZZG9xp5r45PZw32pBz/sf+P0lYvXM1tP/uFqlxsYuccff1zTtP7+/ubm5q1bt/p8Pl3Xu7u7T506lUwm33///aeffjoUCiWTyQMHDjQ1NeVE7sMPP2xoaOjt7W1ra/N6ve+//76u68ePH+/s7Ozo6HjzzTc3bdoUiUROnDihqmpXV9fnn3/+4osvzvxVPCIHAN9P5MTXwLX+1GT2D0uI45PZD3qHHz02kD/JPXJ0YG3z+ctjGbneGBocvee9nvyNK44OfNSXynx5zP7UxIqjAw9+2N89lJa7dQ+lHzrc/118T+65555ra2uTS4uJRKKhoeGdd97RdV1s6e7uTiaTHR0dn3zySX7kqqqqmpub5d27urreeustv9/f19cntohAbtmyJRaLDQwMBIPBX//610QOAAoxcpaXYgvf6apru/RRX2pf15DjyFnxDfFVwcF1ofO379YXvB5/4pNzT4XP/3VDwvJS7KHD/e8mho70p373+RfyE7X8jQtej6/85FyDPrQ9dkWsZIqPAHd2XD14Zri69eLMn8bN8V88Wbt27XvvvXf06NF33333t7/9rdhYVVXl9/sbGhrWrl377LPPvvzyy7/73e/eeOMNsbC5fv36119/vaam5v7771+1atWePXuOHDmyb9++J598UqxbvvLKKx999FFjY6PY5/7776+pqXnrrbc2b97MJAcAhRs5/u1K/u1KACByRI7IAQCRI3JEDgCIHJEjcgBA5IgckQMAIkfkAIDIETkiBwBEjsgROQAgckSOyAEAkSNyRA4AiByRI3IAgHn/f1OIHACAyAEAQOQAACByAAAQOQAAiBwAAEQOAEDkAAAgcgAAEDkAAIgcAABEDgAAIgcAIHIAABA5AACIHAAARA4AgO8mcgsXLuTpAADMGwsXLvzXyC1YsIBnBAAwbyxYsMBitmDBAuY5AMA8mOFyC/cVf/JDyz/90mL/K8vM/uNtlr9b8pUtP/kzyz+UWW7995Zv55ZbLP/97y1//udT3/qz/2ZZttzyy2WWXy6z3P6fLRaL5T9YLeUPWB58yPI//5fl3/3EYrFYfvADy88XWR58yPKP//TtT+Nf13BtlooHLb9cZrlLsQAAbi75kZujW26xLPkf00bu54tyu/vDWyz/9k8tFovl7r+x/M3PLRaL5b/8V8vfLbH84AeW2/6T5e//wfJv/uQbPPoPf2hZfJ/lJ3/2h19//GNL2T9a/uIvLD/+saXsf1tuvZUXHACK1P8Hlud5fY7GZwwAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjQtMDEtMDZUMTU6NDk6MzkrMDA6MDADtVRTAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDI0LTAxLTA2VDE1OjQ5OjM5KzAwOjAwcujs7wAAAABJRU5ErkJggg=="},1947:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-add-truecharts-catalog-201abb147a45192270d8978f1d560324.png"},1465:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-configure-gamevault-app-install-1-f77e819fe4925ed18904f80e6f0d613e.png"},3099:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-configure-gamevault-app-install-3-ac408b5dfd46341a7f7c77f6196fd506.png"},1679:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-configured-gamevault-app-installed-db255883caaf34572f6403034d11f56a.png"},1759:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-discover-gamevault-app-install-203a397bf7abfccc33be4462ec225bb5.png"},7664:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-discover-gamevault-app-search-042a9ac7bc7a5ce195b085144c4a3e60.png"},3346:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-login-248c8e0a2719f7dc7db7893a7d97dc3b.png"},8358:(A,e,t)=>{t.d(e,{Z:()=>i,a:()=>r});var n=t(5271);const a={},s=n.createContext(a);function r(A){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof A?A(e):{...e,...A}}),[e,A])}function i(A){let e;return e=A.disableParentContext?"function"==typeof A.components?A.components(a):A.components||a:r(A.components),n.createElement(s.Provider,{value:e},A.children)}}}]); \ No newline at end of file diff --git a/assets/js/1630eae8.40f8a7dd.js b/assets/js/1630eae8.40f8a7dd.js deleted file mode 100644 index be86ba8a7..000000000 --- a/assets/js/1630eae8.40f8a7dd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1105],{1628:(A,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>g,frontMatter:()=>s,metadata:()=>i,toc:()=>o});var n=t(2676),a=t(9246);const s={title:"Using TrueNAS Scale",sidebar_position:4},r=void 0,i={id:"server-docs/setup/truenas-scale",title:"Using TrueNAS Scale",description:"TrueNAS Scale is an open-source, hyper-converged storage platform that combines the reliability of TrueNAS with the versatility of Linux, providing a unified solution for storage, virtualization, and containerization in a single, easy-to-manage system.",source:"@site/docs/server-docs/setup/truenas-scale.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/truenas-scale",permalink:"/docs/server-docs/setup/truenas-scale",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/truenas-scale.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:4,frontMatter:{title:"Using TrueNAS Scale",sidebar_position:4},sidebar:"docs",previous:{title:"Using CapRover",permalink:"/docs/server-docs/setup/caprover"},next:{title:"Using UNRAID",permalink:"/docs/server-docs/setup/unraid"}},c={},o=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Log in to your TrueNAS Scale Dashboard",id:"step-1-log-in-to-your-truenas-scale-dashboard",level:2},{value:"Step 2: Navigate to the catalog Page in TrueNas Scale",id:"step-2-navigate-to-the-catalog-page-in-truenas-scale",level:2},{value:"Step 3: Navigate to Apps and Disover Page",id:"step-3-navigate-to-apps-and-disover-page",level:2},{value:"Step 4: Configure and Install gamevault-backend",id:"step-4-configure-and-install-gamevault-backend",level:2},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Reading the Logs",id:"reading-the-logs",level:3}];function l(A){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...A.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(e.p,{children:[(0,n.jsx)(e.a,{href:"https://www.truenas.com/truenas-scale/",children:"TrueNAS Scale"})," is an open-source, hyper-converged storage platform that combines the reliability of TrueNAS with the versatility of Linux, providing a unified solution for storage, virtualization, and containerization in a single, easy-to-manage system."]}),"\n",(0,n.jsxs)(e.p,{children:["Setting up a GameVault Server on TrueNAS Scale is just a click away by using our template from the ",(0,n.jsx)(e.a,{href:"https://truecharts.org/manual/SCALE/guides/getting-started",children:"Truecharts Catalog"}),",\na community based catalog for TrueNAS Scale."]}),"\n",(0,n.jsx)(e.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsx)(e.li,{children:"a running TrueNAS Scale Server!"}),"\n",(0,n.jsxs)(e.li,{children:["add the TrueCharts",(0,n.jsx)(e.a,{href:"https://truecharts.org/manual/SCALE/guides/getting-started",children:"Catalog"})]}),"\n",(0,n.jsxs)(e.li,{children:["Install the following ",(0,n.jsx)(e.a,{href:"https://truecharts.org/manual/FAQ#operators",children:"operators"})," from TrueCharts; ",(0,n.jsx)(e.strong,{children:"prometheus-operator"})," and ",(0,n.jsx)(e.strong,{children:"cloudnative-pg"}),"."]}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"step-1-log-in-to-your-truenas-scale-dashboard",children:"Step 1: Log in to your TrueNAS Scale Dashboard"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 1",src:t(3346).Z+"",width:"1919",height:"943"})}),"\n",(0,n.jsx)(e.h2,{id:"step-2-navigate-to-the-catalog-page-in-truenas-scale",children:"Step 2: Navigate to the catalog Page in TrueNas Scale"}),"\n",(0,n.jsxs)(e.p,{children:["Go to ",(0,n.jsx)(e.strong,{children:"apps"})," -> ",(0,n.jsx)(e.strong,{children:"discover"})," -> ",(0,n.jsx)(e.strong,{children:"catalogs"}),"."]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 2",src:t(1947).Z+"",width:"1918",height:"592"})}),"\n",(0,n.jsx)(e.p,{children:"Validate that TrueCharts catalog was added to the server, if not refer back to the Prerequisites section."}),"\n",(0,n.jsx)(e.h2,{id:"step-3-navigate-to-apps-and-disover-page",children:"Step 3: Navigate to Apps and Disover Page"}),"\n",(0,n.jsxs)(e.p,{children:["Go to ",(0,n.jsx)(e.strong,{children:"apps"})," -> ",(0,n.jsx)(e.strong,{children:"discover"})," and search for ",(0,n.jsx)(e.strong,{children:"gamevault-backend"})]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 3",src:t(3509).Z+"",width:"1919",height:"587"})}),"\n",(0,n.jsx)(e.h2,{id:"step-4-configure-and-install-gamevault-backend",children:"Step 4: Configure and Install gamevault-backend"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 4",src:t(1759).Z+"",width:"1919",height:"374"})}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 4a",src:t(1465).Z+"",width:"1488",height:"752"})}),"\n",(0,n.jsxs)(e.p,{children:["Scroll down to ",(0,n.jsx)(e.strong,{children:"App Configuration"}),"."]}),"\n",(0,n.jsxs)(e.p,{children:["Set your ",(0,n.jsx)(e.code,{children:"Admin User"})," and ",(0,n.jsx)(e.code,{children:"Admin Password"}),"."]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 4b",src:t(3099).Z+"",width:"1485",height:"874"})}),"\n",(0,n.jsx)(e.admonition,{type:"note",children:(0,n.jsx)(e.p,{children:"Leave the Logs and Images storage options as PVC."})}),"\n",(0,n.jsxs)(e.p,{children:["Games storage option can be safely set hostpath if not using using any shares or switch to NFS otherwise; please follow the ",(0,n.jsx)(e.a,{href:"https://truecharts.org/manual/SCALE/guides/dataset",children:"Dataset and Share Setup"})," guide."]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Step 4c",src:t(3099).Z+"",width:"1485",height:"874"})}),"\n",(0,n.jsxs)(e.p,{children:["Scroll down to ",(0,n.jsx)(e.strong,{children:"Documentation"})," and click install, wait a few minutes and the app should deploy!"]}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"Installed",src:t(1679).Z+"",width:"1919",height:"949"})}),"\n",(0,n.jsx)(e.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,n.jsx)(e.p,{children:"You have now successfully set up your GameVault Server using TrueNAS Scale."}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,n.jsx)(e.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,n.jsx)(e.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,n.jsxs)(e.p,{children:["To stop the server in TrueNAS Scale, you can click on the gamevault-backend app and then edit the app; set the replicas to 0 or use the ",(0,n.jsx)(e.a,{href:"https://truecharts.org/news/stop-all/",children:'"stop-all"'}),' feature. When editing an application, checking the "stop-all" box and saving the changes accomplishes this. If you\'re working with applications based on CNPG (cloudnative-postgres), the same methods apply, ensuring a safe shutdown.']}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"stop-all",src:t(3757).Z+"",width:"394",height:"423"})}),"\n",(0,n.jsxs)(e.p,{children:["If you prefer using ",(0,n.jsx)(e.a,{href:"https://github.com/Heavybullets8/heavy_script",children:"Heavyscript"}),", a specialized script for TrueNAS Scale, it offers a secure way to stop apps, including those utilizing CNPG. By default, Heavyscript employs the ",(0,n.jsx)(e.a,{href:"https://truecharts.org/news/stop-all/",children:'"stop-all"'})," function to ensure a graceful shutdown."]}),"\n",(0,n.jsx)(e.p,{children:"Simple commands for heavyscript:"}),"\n",(0,n.jsxs)(e.p,{children:["stop: ",(0,n.jsx)(e.code,{children:"heavyscript app -x gamevault-backend"})]}),"\n",(0,n.jsxs)(e.p,{children:["start: ",(0,n.jsx)(e.code,{children:"heavyscript app -s gamevault-backend"})]}),"\n",(0,n.jsx)(e.p,{children:'Keep in mind that TrueNAS Scale does not support third-party operators. Consequently, relying on the stop button within the TrueNAS Scale GUI, often considered an IX (iXsystems) hack in the Kubernetes space, is not recommended. For a dependable and supported approach, opt for the replica settings, "stop-all" checkbox, or leverage Heavyscript.'}),"\n",(0,n.jsx)(e.h3,{id:"reading-the-logs",children:"Reading the Logs"}),"\n",(0,n.jsx)(e.p,{children:'Navigate to "Apps" and choose the GameVault-backend App you have created.'}),"\n",(0,n.jsx)(e.p,{children:"In workloads, select any of the white boxes with lines icon; thats the logs button."}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"gamevault-workloads-logs-1",src:t(8611).Z+"",width:"422",height:"809"})}),"\n",(0,n.jsx)(e.p,{children:"You have to select the correct main pod and container"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"gamevault-workloads-logs-2",src:t(2248).Z+"",width:"598",height:"352"})}),"\n",(0,n.jsx)(e.p,{children:"Once you selected the main pod and container pod; you should see the logs for the app"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"gamevault-workloads-logs-3",src:t(2856).Z+"",width:"1881",height:"235"})}),"\n",(0,n.jsx)(e.p,{children:"You can then download the logs, but you might have to reselect the correct pods again when downloading the logs."}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{alt:"gamevault-workloads-logs-4",src:t(8017).Z+"",width:"588",height:"421"})})]})}function g(A={}){const{wrapper:e}={...(0,a.a)(),...A.components};return e?(0,n.jsx)(e,{...A,children:(0,n.jsx)(l,{...A})}):l(A)}},3757:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/gamevault-stop-all-1f3a1e720ade3ecba89c0d63e6ee9bc1.png"},8611:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/gamevault-workloads-logs-1-0a2a9337c9356c4acd287492e815ee01.png"},2248:(A,e,t)=>{t.d(e,{Z:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlYAAAFgCAIAAAD2DKBlAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAkj0lEQVR42u3df3xT9aHw8b72vO7r2e697tl2HC0gaYsIsW5lSOp1ckXGAN3lutU7uqowFn0CVYfuoeMGEZRgAW2rhRGNivgDmfxKFAoWehUC+upaAzRFSEtLE1rSAuWHQKGUkrY5zx9f/HpISlfW8iPp5/3qH+3JycnJSc2H7/ec1Jh+0SVpRMKIyYOv6C6J+ltuG6brP6Bfv379BsT3Hzxcl5h0S7/+/RKTBujvjh98p27wcF38oP7xg/oPvlM3IL5/v/79bk0ecOsdAwYk9B98py5+UP9+/fol3j5g0M90A+L7Dxo6IDFpwC3x/UJuSron4Zd/Sho2/lb93fE//UXiL56+fdj4W/v1v4L9HDF5cNKIhAh6LZ599tnf/e53/XCtjBkzJjs7e9HlZWdnjxkzplv/fXVEuRK8TNdO/0T5bewv5sU8+Ejk7PoD/+eRF3446Fo8UkwUvhFkJg28Y8CNtldD7oofk5l07+NDUn47aIRx8C//lHT7z+O7fveBdwwYk5kUWS8ECbzGBg8ePHr06DGXN3r06MGDB3fnIUhgBOkzbt73xv4mrn+/frc+ctPEl//l3nti/vByZH8Zsy/zlRNjzIl5LLeDr8c7/Hrl269r+ZL0vSaG3j/w7odv63uD6de/75AU3fDfDBr+61uT/j1BN6j/Fd397odvG3r/wL7AddX9BHIMr52E8T/8teV//eGlmN/P/+f7f3sj7+l1/IdCTOSmrhMjpw75yaiEqPlN/smohJFTh/BfNEggepWISeCNduAG3nHL2BlJQ/5NFwW/BEP+TTd2RtLAO27hvwdcd7d3hAQicosYEzXZCzF4uG7sjKQ77ovsseAd9yWMnZE0eLiO336QQKDHcxiawIEDBw4ZMkQPAEAkGzJkyMCBA68ggQMHDuSoAQCiRucVvCSBjP8AAFE2FuxqAjlYAIAoQwIBACTw8gns27cvRwoAEGU6vIL05l/nfHf0L2K0n3DgSAEAoi+B4RX8NoHykxYcKQBAVCYwpIIXE6j9sCFHCgAQZW7+z4XfHTXqYgVT/hzzuydi+/W7+cFsEggAiHLK+AUygX1TMr9J4MskEADQGxJ4XwcJ/AUJBAD02gQmanCkAADRnEDD9Ji0jNi+fRkFAgCiX5/75sRMmNKnX9++A375o19ndZzAuLg4jhQAIMrEDXjgB6lZ35k0/zsTZ3//gWdj0qbG9u17838u/DaBcXFxJBAAEIUJjIuLi4vr8P87SAIBANEs5tF5MRNfjJmUFTNpfsyk+TG/XxAzeeHFL9k/EggAiNZRYIcDQRIIAOitCYzT4EgBAKI1geEVJIEAABJIAgEAUZ3AkAqSQAAACSSBAIBoT6C2giQQANDrExgbG8uRAgBEmdjYWBIIACCBl1SQBAIAekcCbzf979Q/9AlPYGxsLAkEAERlAmNjY+PidMqYOf9y1+1x1zGBDodDVVVVVR0OR9Qfd7PZ3NTUpKqq1+vltxAArmcC+6be9PAzP7olLi7u3h/817x/HvfUdyfO7/kEjho1Kj8///Tp08FgUFXVc+fOFRcXm0wmEggAuF4JjDU8/U9jHoyLu5jA7zw09ebBhhjZvx5J4Pjx4/ft2yfip3X69GmLxUICAQDXI4GGHzz43PcvToLe+4P/mvevhviLE6E9mMBNmzYFg8FgMOjz+V566aXZs2d//vnnbW1tqqpWVVU98MADJBAAcK0TmDjxew89/uO4bxN4051xPZxAo9HY0NCgquqJEyemTZsmFg4fPryiokJV1bNnz86aNUsmcOvWrbW1tcFgsK2tbe/evZMnT5brr1+/vrGxUaT0+PHj77zzjvZR3nnnnePHj4tbGxsb169fP3z4cHHT5MmTd+/e3dLSoqpqW1tbXV3dyy+/LO9oMpn27t174cIFVVVbWlqKi4vT09PDn4XX61VV9eDBg3v37m1rawsGg0ePHtVuJ+RRqqqqzGazvPXll18WuxcIBHbv3n3u3DkSCADXN4E33zvjez9PibuqCczNzT1//ryqqm63W7t8zZo1lZWVHo9n3rx5MoEhSkpKRP+Ki4tD5lHb2trWr18vNrV+/XoxppSCwWBxcfHw4cPT09Pr6urEkubmZrFaU1NTVlaWXq+fOnXqkSNHQh60srJy/PjxHSYwRGNj4+zZsy+3nTNnzohpXovFcubMmfC7k0AAuH4JHHfTb5/5QXzs1U2gzWYLBAKyZx2SCdy/f//UqVMXLFhw8uRJVVWPHDkyceLEV199VUTU5/NNmzZt3rx5R48eFQWaMWNGZmbm6dOnVVU9evTovHnzpk2b5vP5xJAuLy9vyZIlFy5caG9vt9vter0+Ly9PDNSKior0ev2uXbtUVQ0EAna7PS0tbcuWLW1tbe3t7R9++GGHCWxpaVmzZo1cUz4pp9MpRq5btmxJS0tbs2aNeJSKiorhw4eLR2lraysoKEhLSysoKBD3JYEAcN0S+JPH/+n+hzQfkL+YwLi4uJ5M4Jo1a8QArisJlOcCRXLOnDkzY8aMrVu3ilDZbDa5fjAYFK368MMP29vbg8GgvK+M7tatW0UCVVUtKyubPHnyqFGjMjMzzWaz0WiUM7Q+n0/Mmj755JMnTpzocFfF/jQ0NBiNRr1mdre+vv7ZZ5+tr6/X3jp8+PDq6mpxvc+SJUvEADH8viQQAK6XH47975t+OqDDvxETE6txLUeBIQlsamoym81ut1t+H7LNTZs2bdq0KSSQ8noTt9s9fvz4yspKOfd47tw5t9sttiNX68oUZUgCtUsWL14swqm9V0lJiaqqzc3N69atE7Og8lYSCADXXcyEZ2PSnov53ZyY9DkxD78Q88jcmEfnxTw6L2biiz2ZwMudC8zNzc3Pz//oo4/++Mc/Xr0E6vX6UaNG2e12cTWKeJTm5ubc3Fy52oULF5outWfPnp5KoMPhEPO0JBAAbhzazF3FUeDUqVNFIU6cODF16lSxUF4R2tzcnJWV1XkCxUSoOLcnR40hE6Ht7e2rVq0KCeTWrVuNRqPZbM7MzBw1atT48ePtdrs4S/fll1/Kac+DBw/K61/EauHPIiSBjz/++LFjx8R9n3nmGTEReujQIXE1aYcTofJWEggAvSWB+m+uFgkGg5WVleJzgSUlJeKSkAMHDnT4uUBtAuU1LB1eDjNjxozGxsbLXQ4jx4hvvfWWXq+XK4sBorhQJRgMlpaWTp48eerUqaWlpUeOHJGpDkmguBxm/Pjxn332mdj/7du36/X67du3iwteuBwGAEjgJUJOyHXlr8NoE9idD0XIjytoPxTR0tLy2muv6S/zYQZ5a3gC+VAEAPSiBPbp06dHHkz8jVDx2XZxWcquXbs6+Ruh2gTqu/fReJPJpP3Qen19/SuvvCLvKD7SLs5Wilu1H3gPSeCJEyd27doVCAS689H44uLigwcPkkAAuI769Olz7RIY6cIvhwEAkEASCAAggSQQAEACSSAAICISGFJBEggAIIEkEABAAgEAIIEAAJBAAABIIAAAJBAAABIIAAAJBADgRk9gfHx8fHy8TqfT6XQcKQAAo0AAAEggAAAkEAAAEggAAAkEAIAEAgBAAgEAIIEAAJBAAABIIAAAJBAAABIIAAAJBACABAIAQAIBACCBAACQQAAASCAAACQQAEACSSAAgASSQAAACSSBAIBekMDbRj/69Kx5gnnKr4bExcXFTfrvl0ggACCaDerT54Gpsy3PTvmPn8bG/vQ/pj0///knfkUCAQDRb0yfPkl3jfj5nbeJ2P3qiefn//lREggA6BUJjL3rN1P+fHEidP78+SQQANBLEvizR/70wpxp6aN+yigQANC7EniPccYLszIevHNw7E9GpU2bwygQANBbEthn0Dhj5mzLvHnz5s2ZPu3/PT/f/JjhOibQbDZ7vV6j0djhrU6n02az8bIBALrv2n0u0GazBQIBVVVVVfV6vVeaQKPR2NDQIO5eUlLCKwcAiKQEOp1OETOv12s2m0tKSlRVDQQCYmAnfmxoaBAJ9Hq94keZQ4fD4ff7/X4/A0EAQAQncPXq1aWlpXLYl5+f7/f7jUajw+FoaGhYunSpuNXhcDgcDl4nAEBkJ1A7ERpSxC1btogf5USoGAU2NTWZzWZeJwBANIwC5Y/l5eXho0Dx49KlSwsKChgFAgCiMIH6b07+hZwLFOf/li5d6na7GQUCAKIhgQAAkEAAAEggAAAkEAAAEggAAAkEAIAEAgBAAgEAuJoJjI+P132DIwUAYBT4j0hOTjYYDCkAAHSbwWBITk6OmAQaDIbExEQdAADdlpiYaDAYIiaBKSkpvGYAgJ6SkpJCAgEAJJAEAgBIIAkEAJBAEggAIIEkEABAAkkgAIAEkkAAAAnsrQk0mUxOpzM1NVWn0xUWFloslpAVLBZLYWHhlW62w011ndPptFqt4Qt9GlarNTU11eVyVVVVWSwWq9Uqb3K5XOIZXY7FYikqKkpNTQ3fpvaAdPJ07HZ7+B52/oiXO4xWq9Vut4cstNvt4QsBIDoTaLfb/+4bdy9PYH5+vslk0ul0qampRUVFFovFZDK5XC6x0Gq1dr1JMoEdbpMEAiCB1yKBcuwi+ieGNXJEIt46nU6nWCjeFn0+n8fjEW/cFoulqqpKLFm4cKHL5RL3km/oYn2fz+d0OrVv/fJNXL7jy/FQyDu7dgfERsJ3UjtEE0tEM8Sa4l5yBfHOHr5ZuY7H45FPpMMEWq1Wsc/i7mIU2GGTQvZKHq6ioqKQBIptyn8TFBUVaUeThYWFGzZskI8ljt6GDRvE1i53ELTHUKzpcrmWLVsmvhfPtKCgQPsCiderqqqqqKhIHCjx0PJxAUSTtLS0zZeRlpYW5QmUoZLjnpycHPGjLJPFYvF4PGJ04vF4xNuiaKHolmxhYWGhfB8XP5pMprfffls7jukkgdqdCXn7FjsgdtJut4fvpLYfYlgmHk4O5rQDHbkn8nm53W4xkyk34vF4Ohljyc1qR4F2uz2kQCF7tXDhQvkEw8fc2m3KRxfbFLfKA+t2u00mk9xCh/sv90r7bx1Z+pBxnvxGvjqi7mKhfGgA0VpBr9erPSPj9Xo771/UJlC8/2rHhXICTbuyKIocW8j1Fy5cKJokh0SyCmIY0ZUEhoyutDN44n08fCfD5y0LCwuLiopChnfaU27azYb0Uh4NOUTWNkD7FMITqK1UyF5p76j9PnybciJULpcTodrhdcjehjycPEpiyB6SQO2P4S3Uft/NKWUAkVXBrvQveiZCZcbkPJh449OOAjtJoPZ9XOYkJydHhEq7QndGgSEJDN/J8ASK1eTy8BW6ksAOj5i2Ex2Ot+QT6XoCQ7bZIwkMn/GWzQs53UgCAYgKdrF/0ZNAeS4q5I1Pvvl2ksCQJeId1mq1FhYW5ufnh0yshV8/IsedfzeBshayfyE7KR9dzs2KN275cNoVxKOEJ1C7TofnAsObJ3/U3kWOAkP2SjsRarVa5UTo5bYZMhEasnHtvwNCJkK1E9ThCQw/zuHHUx5qEgj0qgp2sX/RMxFaWFgopwe1c4wul0tcENFJAnWXXg4j3nNDTqSJGciqqqoNGzaIN315gUxZWZmcetVesRI+XCsrK9MOVcN3UneZy2HE+7vYt/DLYUISqN3by50LlE0Kz5XcK+2VI5e7HMbj8WhHw+HblFevyDF0yMbtdntZWVnn1wSFD/fFGT75iss50pDLYcSrQwIBRHMCtRnocOgAAEDUjgLlpwvk8AgAgOhPIAAAJBAAABIIAAAJBACABAIAQAIBACSQBAIASOANnUCDwZCYmMhrBgDovsTERIPBEDEJTE5ONhgMKQAAdJvBYEhOTo6YBAIAcKMhgQAAEkgCAQAkkAQCAEggCQQAkEAAAEggAACRTn7QMF4jISEhISGBBAIAGAWSQAAACQQAgAQCAEACAQAggQAAkEAAAEggAAARlMD4+Hj5sUGOFACAUSAAACQQAAASCAAACQQAgAQCAEACAQAggQAAkEAAAEggAAAkEAAAEggAAAkEAIAEAgBAAgEAIIEAAJBAAACiLoElJSUOh6M7WzAajW6322g08vIDAAm8RgksKSlRVVVV1a40zGw2l5aW9vgTttlsgUBAVdVAIGCz2fgNAAASeNUTaLPZ/H6/GHuVl5fbbDaHw6EtYmlpaUNDg6qqJSUlRqNRfO/1es1mc1NTk/her9c7HA6Hw2Gz2bxebyAQaGpqMpvNcv2Ghgaj0ShubWpqys/Pl9uRe+L1et1ut9wZAAAJvLoJ1E5gGo3Gt956S8xGGo1G0Tmv1+twOMQ3ImPl5eV6vb6goMBsNotGms1mmUDRMLFZufGQW202m9Pp1Ov1TqeTMR8A4PonUH/pPKcYFIrCyRN1MoFysCgGfDJyom3iRznFKgaR8taQ0SGvNwDgOiRQJk2v13u93h07dojRnhwFXi6BIpDho8CQBIq+ii3IW2022/LlyxkFAgCuZwL1YZfDhJ8LDElgIBAQbROrnTp1SvwYnkA52hNbk7eazWa/388oEABwnRMIAAAJBACABAIAQAIBACCBAACQQAAASCAAACQQAAASCADADZvA5ORkg8GQAgBAtxkMhuTk5IhJoMFgSExM1AEA0G2JiYkGgyFiEpiSksJrBgDoKSkpKSQQAEACSSAAgASSQAAACSSBAAAS2LEfXupHGiQQAEACSSAAgARGXwJNJpPT6UxNTdXpdIWFhRaLJWQFi8VSWFh4pZvtcFNd53Q6rVYrv+UA0CsSaLfbXS6XSBEJJIEAcD0TGB8fLx/s6iXQarX6fD6fzyf6l5qa6nK5xBLRAIvF4nQ6xUK73W63230+n8fjMZlM4taqqiqxZOHChS6XS9wrNTW1qKjIYrGI9X0+n9PpFOsXFRWJ4NntdqvVKhPodDq1j6tNoNwBsZHwnRTR0i4RCRRrinvJFex2e4eblet4PB75RAAA0TkKlKGS456cnBzxoyyTxWLxeDwWi8VkMnk8HtEP0ULRLdnCwsJCq9UqU1dYWGgymd5++23tsKyTBGp3JiSBYgfETtrt9vCdlI9rMplcLpfJZBIPJwdzVqtV7Ll2T+TzcrvdFotFuxGPx0MCAUS9tLS0zZeRlpbW6xIo3v2140I5D6ldWRRFDgHl+gsXLhRNEnnTjr2qqqq6mEA5yJN3kROholLhOxk+b1lYWFhUVBQyvJOsVqt2syG9ZCIUQK+qoNfr1b5Der3ezvuni5rPBcqMiVqI4V3IKLCTBMqeaduTk5MjQqVdoTujwJAEhu9keLHEanJ5+AokEADCK9iV/kVPAvPz88VMpiDrIlvVSQJDloiIWq3WwsLC/Px87UbkmnKiUjvu/LsJlNWU/QvZSfnocm5WVE0+nHYF8SjhCdSuw7lAAL2wgl3sX5QkMDU1tbCwUA5+tXOMLperqKhIDPUul0DdpZfDiLCFnEgTM5BVVVUbNmwQk5byApmysjI59aq9YiV8uFZWVqYdqobvpO4yl8OIqIt9C78cJiSB2r3lXCCAXljBLvYvShKozYD22hYAAKJ/FCg/XSCHRwAARH8CAQAggQAAkEAAAEggAAAkEAAAEggAIIEkEABAAkkgAIAE3ngJNBgMiYmJvGYAgO5LTEw0GAwRk8Dk5GSDwZACAEC3GQyG5OTkiEkgAAA3GhIIACCBJBAAQAJJIACABJJAAAAJBACABAIAQAIBACCBAACQQAAASCAAACQQAAASCAAACQQAgAQCAEACAQAggQAAkEAAAEggAAAkEAAAEggAAAkEAIAEAgBAAgEAIIEAABJIAgEAJFCTwPj4eN03OFIAAEaBAACQQAAASCAAACQQAAAS2DVms9nr9RqNxtLSUrPZ3OE6JSUlDofjH9t4aWkprzQA4Pok0Gg0NjQ0qN9oamrqMHXaBBqNRq/Xe7kidpHD4ej8EQEAJPBajAK1VSspKVFVNRAI2Gw2o9HodrtDRoEhCXQ4HA6Hw2azeb3eQCAgkibL2tDQYDQabTZbIBBQVVWOF41Go9/vd7vdXq+XFxsAcP0TaDabCwoK9Hq9zWZzOp1XlEC/3280GsW8qJwdFbc6nU5tUHl1AQA3XAK186IlJSVXlECn0yl/FENJuR05CiwpKeGlBQB0Tv75l3iNhISEhISEq5hAm81WXl7+j40CQxIoRoEiqwUFBeIbRoEAgBt9FNjU1HTy5Mm33npLRMvr9cqTdtqRotfr7TCB2nUcDsfy5cubmpoYBQIAbrgEAgBAAgEAIIEAAJBAAABIIAAAJBAAABIIAAAJBACABAIAcMMmMDk52WAwpAAA0G0GgyE5OTliEmgwGBITE3UAAHRbYmKiwWCImASmpKTwmgEAekpKSgoJBACQQBIIACCBJBAAQAJJIACABJJAAMANKSkpaezYsffff//YsWOTkpJIIAAg+g0aNCgjIyM3N3fRN3JzczMyMgYNGkQCAQDR3L/p06fn5eUtulReXt706dM7r2CUJNBqtfq+YbfbdTqdyWTyeDw+n8/lcqWmpna4BAAQ6SZNmvTqq6/m5eW9+OKLIoTy+1dffXXSpEnRn0C73e50OrVLnE6n3W5PTU11uVxWq7XDJQCASB8CzpkzZ9GiRTk5OQ8//HBGRsYrr7ySkZHx8MMP5+TkLFq0aM6cOZ0MBKMkgSJv8kcx4BOdE3UMX8KvDgBEuhEjRmRlZYmZz+zs7PT09HHjxqWnp2dnZ4uFWVlZI0aMiOYEyhlOn8/n8XhMJpPJZHK73RaLRQTP5XItXLgwZAlzoQAQTQnMy8ubMmXK0KFDp0yZIk8NRn8CtS4XPBIIANFn6NChc+fOFf3LyMhIT0/PyspKT0/PyMgQFZw7d+7QoUN7SwKtVqvH43nttdeYCAWA3uCJJ57Iy8vLzc19+umnxfxndnb2008/nZubm5eX98QTT3Ry3yiZCHW5XCaTSafTOZ1OkTcuhwGA3mDYsGGzZ89e1JHZs2cPGzYsyhOo03woQpwL1GlOEMoBX/gSAEAUuOeee2bNmqX9aGBeXt6sWbPuueeezu/IR+MBANFg3LhxTz755KxZs5588slx48Z15S4kEADQS5FAAAAJJIEAABJIAgEAJLC7CYyPj5cPRgIBAIwCSSAAgASSQAAACSSBAAAS2AGDwZCYmMhrBgDovsTERIPBEDEJTE5ONhgMKQAAdJvBYEhOTo6YBAIAcKMhgQAAEkgCAQAkkAQCAEggCQQAkEAAAEggAAAkEAAAEggAvUnM6+UR+tXh05kQaUggAJBAEkgCAYAEkkASCAAkkASSQAAggSSQBAIACSSBJBAASCAJJIEAQAJJIAkEABJIAkkgAJBAEkgCAYAEkkAAwBUm8G7HgelFDU9sP3zL8v0xr5cnrfQuqzi1an/jvR/XRGgCX3jhhTfeeGPBggUTJ068GmGbO3fu5s2bV69enZGRQQIBICITeMvy/e9UnDrX2q6qqqqqZwPt7+47lVZYV3Gypb6p9eFP6yIugWazedu2bfX19YcPHz58+HBlZeXbb7/d4wlcvHjx/v37S0pKMjMzSSAARGQCX9x57GygvfFC+6aDZ+3exiPnWs8G2v9adTpCE/jYY49t3Lixrq5u3759BQUFW7ZsqampqaioyMnJIYEAQAK//Upa6d1+6Nz5tuBre7++aem+mNfL//y3Bru38XnXsYqTLWcC7b7GC82twcpTF6YXNcS8Xn7vxzWFB8+eCbS3BdXaM4H5u47ftHRfhwsf/bT+y4bm5tbgoabWFVWn73YcGLii+r19p441t7UF1WPNbcsqTg1cUd3jCbRYLHv27Kmurl6yZIko4sqVK9etWzd37tzVq1eXl5f7/f49e/YsW7Zs4sSJy5Yt2717986dO6urq30+3+bNm6dPnz5x4sT333/f4/HU1dVVVVUVFBRkZmbm5ubu2LHD7/f7/X6Xy5WdnU0CASCyEzh6fe2+ky1Hm1v/r/OQdvmo9bUVJ1uCquprvOA/G1BVtfxkS/r/1H3sO9MWVE+1tPkaL7S2B481t80qORq+MLfsxO7j5wPtwcpTF46caz3fFlyy5+vFX33d3Bo8fr5tz4mW823Bs4H2eTuP9XgCFy9eXF1dvWvXrpkzZ2qXL1u27MCBA/v37y8tLa2pqamsrMzNzV21apXf76+pqdm1a1dtba3f71+5cuWiRYuqqqpqampcLldlZWVdXd22bdt27dpVV1fndrsrKioOHz5cXFy8YsUKEggAEZzA8Z8cPNAYOHKu9Q9bOkjgoabWSZ/Vj15fW3Gy5fC51tyyE9WnLxxqav39lvo+71b9ter0+bbg1vomX2MHC2vOBOrOBiZ9Vj/i45o//61h3IaDzvqmxgvtlh3Hblq6b/FXX59rbf+k9qy4+qYHE2iz2Q4cOLBjx44ZM2Zolz/11FNvvvnmc889ZzKZxOzoe++9t2rVqtra2oKCApPJtHr16tra2k8//XTjxo21tbUbN2587LHHsrOzCwoKNm/e7PV6i4uLMzMzn3vuudLS0v3792/atIkEAkAEJ3Dshtrq0xeONbd1OAoU5wLvdhxwHz9/tLn1/cpTDedaK062jFpfG/N6ebb7xLnW9r1ftxw/3xay8PND5zYdPNvaHlRV9UJ78PND5zKLGr46cV691JcNzcmrfT2bQKvV6vV6w0eBs2fPdjqd+/fvP3To0OHDh2tra5cvXy4S+Mknnzz22GPvv/9+TU3N9u3bt2/fXltbu2rVKnnfFStWHDx48LBGTU3Ntm3bSCAARHAC71zr+7Kh+Wygfe6Oi3OST35+2OFtfHHnsfAELi0/Wd/Uuv/0hbEbamNeL1+0++tzre27jp0/ci50YX7NmZ+t8c0sPrr54NnaM4HW9uD/+M+WHT9/NtC+cv/pV3efWPzV1294Tk774kifd6t6NoELFiyoqKioqKhYsGDBhAkTJk6cuHz58o0bN27fvt3v9+/cudPhcHz55Zc1NTUdJnDbtm1btmypra1du3atOJU4c+bMDz74oKamZufOnStXrvzrX/+6du3aFStWrF69mgQCQAQn8Kal+17fe7KlLXigMfCC61jWzuO1ZwItbcF1B85UnroQksCsncf/duRcc2twTXXjrJKj5SdbmluDyytPhy/cWHNm17Hz+TVnxn9y8A3PSRHFDTVnLrQHt9Q1Pfpp/Xv7Th0/37Zkz8VrcHowgU899ZTT6ayvry8uLl6yZInD4fB6vQcOHNi7d6/f71+3bt0LL7xQUlLi9/s3btxYUFAQksBPP/107dq1tbW1ZWVlNptt3bp1Xq93x44d+/fvr6ysfP/991955RW3271z50673V5dXf3VV1+99tprnX/0kAQCwI2YQPGheGd9U3vw4uTkhfbgJ7Vnn9h+OHwUOGXb4ZnFR0+2tMmZzJKG5hEf14QvnLrt8Gd1TW3fbLO+qXXqtsOPflp/oDEgVzvQGPj9lvqr8bnAl156qaysTE5a+ny+tWvXfvjhh16vVyw5cOCA3++vrKz84osvwhOYlZVVXFws715dXf3BBx/k5+fX1dWJJSKfixcvLi8vP3z4cFFR0TPPPEMCASDyEhjzevngD6tzy058Vte0prrRuPWQ+Lz89KKGWSVHk1Z6+7xb9fQXR+a4jt651hfzevnvt9R/5GvcWt/0l6++lmfywhf2ebdq2hdH1nob3y4/JeZIxanH5ZWnNx08u7D0eOdnAbv512Fmzpz58ccfb9u27aOPPnr++efFwqysrPz8/LVr186cOfPFF1984403/vKXv7z33ntiynT27Nnvvvtudnb2hAkTpk+fvmrVqq1bt65Zs+a5554TM6JvvvnmZ599tmHDBrHOhAkTsrOzP/jgg0WLFjEKBIBITSB/I5S/EQoAJJAEkkAAIIEkkAQCAAkkgSQQAEggCSSBAEACSSAJBAASSAJJIACQQBJ4bRMYHx+v+wa/6wBAAhkFAgBIIAkEACBikUAAAAkkgQCA3prAuEuRQAAACSSBAAASCAAACQQAINoTGBsby5ECAESZy10OSgIBACSQBAIASCAAACQQAAASCABAlCUwLi6OBAIAoj6BcWFIIACgNyawb9++JBAAQAJJIACABAIA0CsSKCvIkQIARGUCw6+FCU3gkCFDOFgAgKgxZMiQriYwISGB4wUAiBoJCQldTaCoIGNBAEAUjP9k/zo8EdhBAsX/OFD6scbNl1JuSI8oSr9/9L6xijJaUcYoSryiPKgoyYrSR1FGKcpoRemjKDcryt2K8itFSVaU3yhKvKIoivITRXlIUW5VlLGKcrei3KwofRXlV4ry74rya0V5QFHuUpS7FCVFUW5TlPsU5ZeKEqsoP1aUkYpyn6L8+Ar3sJ+iPHLjHfORI0dOmjRJr9dffAkeeWTcuHGKoqSnp48cOVJRFL1eP2nSJPG98NBDDz300EPabxRFGTdu3COPfPv85Hbk99oHEhvXblm7fm82cuTIKVOmZGhMmjRp2LBhPbLx+I58/0rwAqFHhPRImyptwjr5uzAigf8fP6hVgMUTDXgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjQtMDEtMDZUMTU6NDk6MzkrMDA6MDADtVRTAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDI0LTAxLTA2VDE1OjQ5OjM5KzAwOjAwcujs7wAAAABJRU5ErkJggg=="},2856:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/gamevault-workloads-logs-3-1baf7d54cd87481af3685e08c77f9d0d.png"},8017:(A,e,t)=>{t.d(e,{Z:()=>n});const n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkwAAAGlCAIAAACHpT5DAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAjA0lEQVR42u3cb3AbZZ7gcb2Zuh1up+ZmtyovtjjXaY9Lqbg7sSztqinYmUttFRn2srfnu8VrhoScqBMxMGFqkk0pFcIQgS8G28HJRCAgCX9CIH/cAiIHJ1pIOoHSWCixZUgkx7JbtiM7jvOHJI5lx5Zl9b14hmcbyTYGh0Fyvp+aF3ar1WpLlL7ze9SKZeHChTYAAOaLhQsXWiSeDgDAPEPkAABEDgAAIgcAAJEDAIDIAQBA5AAAIHIAACIHAACRAwCAyAEAQOQAACByAAAQOQAAkQMAgMgBAEDkAAAgcgAAEDkAAIgcAIDIETkAAJEDAIDIAQBA5AAAIHIAABA5AAC+j8j5fD7DMAzD8Pl8hfl0hEIhwzBSqZTL5eI/DgAgcl+xaNEiv99/9erVbDZrGMbIyEhzc7PT6SRyAIDijtySJUtOnz4t8mZ29epVt9tN5AAARRy5gwcPZrPZbDabSCSee+659evXf/zxx5lMxjCMeDx+3333ETkAQFFGzuFwDA4OGoZx6dKllStXio133XVXe3u7YRjDw8Pr1q2TkTty5Ehvb282m81kMqdOnVq+fLncf//+/UNDQyKWFy9efO2118yP8tprr128eFHcOjQ0tH///rvuukvctHz58s8++2xsbMwwjEwm09fX9/zzz8s7Op3OU6dOjY+PG4YxNjbW3NxcUVExm8jN8Ig2m23Tpk3i1kwmE4vF+vr6DMPQdZ3/sABgXkWurq7u+vXrhmFEIhHz9n379nV0dESj0WeeeUZGLkcoFBKFa25uzlntzGQy+/fvF4fav3+/mAulbDbb3Nx81113VVRUiMBks9nR0VGxWyqVqqqqstlsK1asOHfuXM6DdnR0LFmyZObIzfCINpvthRdeEH9yDiIHAPMtcl6vN51Oy2JNSUaus7NzxYoVGzduvHz5smEY586dW7p0qWxGIpFYuXLlM888c/78ecMwhoaG1qxZs3r16qtXrxqGcf78+WeeeWblypWJREKMZfX19Vu3bh0fH5+cnFRV1Waz1dfXi5EuGAzabLaWlhbDMNLptKqq5eXlhw8fzmQyk5OT77zzzgyRm/kR5ZCayWSamprKy8v9fv/ExASRA4B5GLl9+/aJIWw2kZOfyem6bhjGtWvX1qxZc+TIEZEir9cr989ms6JG77zzzuTkZDablfeVWT1y5IiInGEYbW1ty5cvX7Ro0erVq10ul8PhkOuoiURCTGCPPfbYpUuXpjxVc+RmfsTf/OY3IoFnzpy57777bKYFWyIHADf1JJcTORGVSCSS83mYPObBgwcPHjyYk0CXy5VKpcQC6ZIlSzo6OuSC4cjISCQSEceRu81mXdEcuZkfUf4s/14iBwDzNnLTfSZXV1fn9/vffffdX/3qV99d5Gw226JFi1RVFZeBiEcZHR2tq6uTu42Pj6e+6uTJk0QOAIjc11uxYoVYA7x06dKKFSvERvnB1ejoaFVV1cyRE8uV4hMvOfnlLFdOTk7u2bMnJ4FHjhxxOBziU7RFixYtWbJEVVXxmdynn34qFyfPnDkjrzQRu+X/FfnLldM9ojxsd3c3y5UAMM8jZ7PZNE0Tl9p3dHSI78mFQiFxdaIowcyRk1eLTHnhyZo1a4aGhqa7DEROXa+++qrNZpM7iyFPXHiSzWZbW1uXL1++YsWK1tbWc+fOyRhPGbmZH5ELTwDg5opczgdjs/kXT8yRm8tXCOSXBMxfIRgbG3vxxRdt03yFQN46XeRsfIUAAIicmfi3K8W3ucUFIC0tLTP825XmyNnm9mVwp9Np/jJ4f3//pk2b5B3FV8VFk8St5q+KTxc529d9Gfz5558Xt6bT6ZaWFrGASeQAYH5G7mZTWVkpm7d+/fqRkRHDMGKxGM8MABC54rZ69epLly6FQqGKiorly5fHYjHDMMwXqgAAiFyxamhoyPnEbrp/LQwAQOSKz6ZNm/r7+zOZTDabHR4e/vjjj6f8d58BAEQOAAAiBwAAkQMAEDkiBwAgcgAAEDkAAIgcAABEDgAAIgcAAJEDABA5AACIHAAARA4AACIHAACRAwCAyAEAiBwAAEQOAAAiBwAAkQMAgMgBAEDkAABEDgAAIgcAAJEDAIDIAQBA5AAAIHIAABA5AACRAwCAyAEAQOQAACByAAAQOQAAiBwAgMgBAEDkAAAgcgAA3MyRczgckUjE4XDw2gAACityDodjcHAwFAp9u7t7vd50Om0YRjqd9nq9vDwAgAKKnNfrbW5ulqOYz+fTdd0wjFQq5XK5vF6vruvpdFo0TBTRMAxd1+URdF2PRCLJZJJhDgBQWJFrampyuVw+n8/n88nIiR9CoZDX6xX18nq9sVjM6/Vqmmaz2TRNY24DABR05ORkJoczWbucqrlcLl3Xa2pqxP6Dg4PMbQCAgo6cGNfEz62trTkjnZjkRORk83bu3MkkBwAo9Mg5HI5kMilbJarm8/nEYCc/kzNfV+JyuZLJJJMcAKAIJrkpZzsxyQlykgMAgMgBAFCokQMAgMgBAEDkAAAgcgAAEDkAAJEDAIDIAQAw3yJnt9sVRSkFAGDOFEWx2+0FFDlFUaxWawkAAHNmtVoVRSmgyJWWlvKqAABulNLSUiIHACByRA4AQOSIHACAyBE5AACRAwCAyAEAQOS+MafTqWlaWVlZSUlJIBBwu905O7jd7kAg8E0PO+WhZk/TNI/Hw3/HADBPIqeqajgcFrEhckQOAOZD5DweTyKRSCQSonBlZWXhcFhsEe/ybrdb0zSxUVVVVVUTiUQ0GnU6neLWeDwutlRXV4fDYXGvsrKyYDDodrvF/olEQtM0sX8wGBRJU1XV4/HIyGmaZn5cc+TkCYiD5J+kyJJ5i4ic2FPcS+6gquqUh5X7RKNR+YcAAIo1cjJFcnapra0Vv8r2uN3uaDTqdrudTmc0GhWFELUTZZK1CwQCHo9HxiwQCDidzu3bt5tHqxkiZz6ZnMiJExAnqapq/knKx3U6neFw2Ol0ioeTA5nH4xFnbj4T+XdFIhG3220+SDQaJXIA5r3y8vJD0ygvL5+HkRPv7+bZTq4WmncWzZBjnNy/urpaVEcEzDw/xePxWUZODmryLnK5UnQo/yTzVxcDgUAwGMwZ0SSPx2M+bE4RWa4EcFN1Ttd18zukruszF66YlitlqEQPxIiWM8nNEDlZLHNdamtrRYrMO8xlksuJXP5J5jdJ7Ca35+9A5AAgv3OzKVwxRc7v94v1RkH2Q9ZohsjlbBGZ9Hg8gUDA7/ebDyL3lMuJ5tnxayMnuygLl3OS8tHlCqrolnw48w7iUfIjZ96Hz+QA3ISdm2Xhimm5MhAIyBHVvBIYDoeDwaAY16aLXMlXLzwR6cr5QEusE8bj8cbGRrG0KC9FaWtrkwuk5mtD8keutrY287iZf5Il01x4IrItzi3/wpOcyJnPls/kANyEnZtl4YomcuY3evNVJAAAzIdJTl6LL0ccAADmQ+QAACByAAAQOQAAkSNyAAAiR+QAAESOyAEAiBwAAEQOAIBiiJyiKFarlVcFADB3VqtVUZQCipzdblcUpRQAgDlTFMVutxdQ5AAAKDREDgBA5AAAIHIAABA5AACIHAAARA4AACIHACByAAAQOQAAiBwAAEQOAAAiBwAAkQMAEDkAAIgcAABEDgAAIgcAAJEDAIDIAQCIHJEDABA5AACIHAAARA4AACIHAACRAwCAyAEAiBwAAEQOAAAiBwAAkQMAoMgi53K5dF13OBxT3qppmtfr5YUBABRW5LxebzqdNgzDMAxd179p5BwOx+DgoLh7KBTitQEAFFbkNE0TudJ13eVyhUIhwzDS6bQYzsSvg4ODInK6rotfZfB8Pl8ymUwmkwxzAICCjtzevXtbW1vl6Ob3+5PJpMPh8Pl8g4OD27ZtE7f6fD6fz8crAQAo9MiZlytzmnf48GHxq1yuFJNcKpVyuVy8EgCA4pjk5K+xWCx/khO/btu2rampiUkOAFCUkbN9+SFczmdy4nO4bdu2RSIRJjkAQHFEDgAAIgcAAJEDAIDIAQBA5AAARA4AACIHAACRAwCAyAEAUGiRs9vtiqKUAgAwZ4qi2O32AoqcoihWq7UEAIA5s1qtiqIUUORKS0t5VQAAN0ppaSmRAwAQOSIHACByRA4AQOSIHACAyAEAQOQAACByAAAiR+S+5HQ6NU0rKysrKSkJBAJutztnB7fbHQgEvulhpzzU7Gma5vF48jcmTDweT1lZWTgcjsfjbrfb4/HIm8LhsPiLpuN2u4PBYFlZWf4xzU/IDH+Oqqr5ZzjzI073NHo8HlVVczaqqpq/EQCKNXKqqn7tW/NNHjm/3+90OktKSsrKyoLBoNvtdjqd4XBYbPR4PLOvjozclMckcgCI3I2JnJw/ROHEaCKnCvHmqGma2Cje+BKJRDQaFW/Nbrc7Ho+LLdXV1eFwWNxLvmWL/ROJhKZp5jd3+TYt39PlTJPz3m0+AXGQ/JM0j1lii6iC2FPcS+4g3rvzDyv3iUaj8g+ZMnIej0ecs7i7mOSmrE7OWcmnKxgM5kROHFNWPxgMmifCQCDQ2NgoH0s8e42NjeJo0z0J5udQ7BkOh3fs2CF+Fn9pU1OT+QUSr1c8Hg8Gg+KJEg8tHxcAiiZyMkVydqmtrRW/yva43e5oNComjGg0Kt74RO1EmWTtAoGAfKcWvzqdzu3bt5tnkRkiZz6ZnDdocQLiJFVVzT9JcyHEaCUeTg5k5mFFnon8uyKRiFhvlAeJRqMzzEnysOZJTlXVnMbknFV1dbX8A/PnZvMx5aOLY4pb5RMbiUScTqc8wpTnL8/K/P9mZMtzZjX5g3x1RL/FRvnQAOaf8vLyQ9MoLy+fh5ET77Dm2U4uc5l3Fs2Q84Hcv7q6WlRHjjXyfV+MArOJXM6EZF5nE+/U+SeZv7oYCASCwWDOiGb+6Mt82JwiymdDjrnmd3nzn5AfOXOHcs7KfEfzz/nHlMuVcrtcrjSPyDlnm/Nw8lkSY3dO5My/5tfO/PMcF34BFH7ndF03v0Pquj5z4YppuVKGSq5Wibc28yQ3Q+TM79QyGLW1tSJF5h3mMsnlRC7/JPMjJ3aT2/N3mE3kpnzGzCWYcmaSf8jsI5dzzBsSufx1aVm1nI/9iBxA52TnZlO4Yoqc/Ewo561Nvr3OELmcLeI91OPxBAIBv9+fs/yVf6WGnB2/NnKyB7JwOScpH12uoIq3Zvlw5h3Eo+RHzrzPlJ/J5VdN/mq+i5zkcs7KvFzp8XjkcuV0x8xZrsw5uLn0OcuV5mXk/MjlP8/5z6d8qokccFN1bpaFK6blykAgIEdU80pgOBwWlx7MELmSr154It5Vcz7QEuuE8Xi8sbFRvK3LS1Ha2trkAqn52pD8kautrc08buafZMk0F56Id3BxbvkXnuREzny2030mJ6uTHyR5VuZrNKa78CQajZon2vxjyutE5Bycc3BVVdva2ma++iZ/ZBeftMlXXK5k5lx4Il4dIgfcbJ2bZeGKJnLmN/op/+8/AABFPMnJa/HliAMAwHyIHAAARA4AACIHACByRA4AQOSIHACAyBE5AACRAwBgXkVOURSr1cqrAgCYO6vVqihKAUXObrcrilIKAMCcKYpit9sLKHIAABQaIgcAIHIAABA5AACIHAAARA4AACIHAACRAwAQOQAAiBwAAEQOAAAiBwAAkQMAgMgBAIgcAABEDgAAIgcAAJEDAIDIAQBA5AAARI7IAQCIHAAARA4AACIHAACRAwCAyAEAQOQAAEQOAAAiBwAAkQMAgMgBAEDkAAAoksiFQiGfzzeXIzgcjkgk4nA4eIEBgMjdsMiFQiHDMAzDmE2lXC5Xa2vrDf+TvF5vOp02DCOdTnu9Xl5jACByNyByXq83mUyK+SkWi3m9Xp/PZ25ea2vr4OCgYRihUMjhcIifdV13uVypVEr8bLPZfD6fz+fzer26rqfT6VQq5XK55P6Dg4MOh0Pcmkql/H6/PI48E13XI5GIPBkAAJG7AWOcHOAcDserr74q1gwdDocoma7rPp9P/CBCFYvFbDZbU1OTy+USFXS5XDJyolLisPLgObd6vV5N02w2m6ZpzG0AgD9G5GxfXY0Ug51omPzATEZODnxiaJMZE/USv8qFUDEIyltzJjxeUQDAdxI5GS2bzabr+vHjx8XEJie56SInEpg/yeVEThRUHEHe6vV6d+7cySQHAPhuI2fLu/Ak/zO5nMil02lRL7HblStXxK/5kZMTmziavNXlciWTSSY5AMB3HjkAAIgcAABEDgAAIgcAAJEDABA5AACIHAAARA4AACIHAEBBRc5utyuKUgoAwJwpimK32wsocoqiWK3WEgAA5sxqtSqKUkCRKy0t5VUBANwopaWlRA4AQOSIHACAyBE5AACRI3IAACIHAACRAwCAyAEAiByR+5LT6dQ0raysrKSkJBAIuN3unB3cbncgEPimh53yULOnaZrH4+G/YwCYJ5FTVTUcDovYEDkiBwDzIXIejyeRSCQSCVG4srKycDgstoh3ebfbrWma2KiqqqqqiUQiGo06nU5xazweF1uqq6vD4bC4V1lZWTAYdLvdYv9EIqFpmtg/GAyKpKmq6vF4ZOQ0TTM/rjly8gTEQfJPUmTJvEVETuwp7iV3UFV1ysPKfaLRqPxDAGAeKy8vPzSN8vLyoo+cTJGcXWpra8Wvsj1utzsajbrdbqfTGY1GRSFE7USZZO0CgYDH45ExCwQCTqdz+/bt5tFqhsiZTyYncuIExEmqqpp/kvJxnU5nOBx2Op3i4eRA5vF4xJmbz0T+XZFIxO12mw8SjUaJHICbpHO6ridMdF2fuXBFHDnx/m6e7eRqoXln0Qw5xsn9q6urRXVEwMzzUzwen2Xk5KAm7yKXK0WH8k8yf3UxEAgEg8GcEU3yeDzmw+YUkeVKADdt52ZTuGJarpShEj0QI1rOJDdD5GSxzHWpra0VKTLvMJdJLidy+SeZ3ySxm9yevwORA4Cczs2ycMUUOb/fL9YbBdkPWaMZIpezRWTS4/EEAgG/328+iNxTLieaZ8evjZzsoixczknKR5crqKJb8uHMO4hHyY+ceR8+kwNwE3ZuloUrpuXKQCAgF/HMK4HhcDgYDIpxbbrIlXz1whORrpwPtMQ6YTweb2xsFEuL8lKUtrY2uUBqvjYkf+Rqa2szj5v5J1kyzYUnItvi3PIvPMmJnPls+UwOAIo+cuY3evNVJAAAzIdJTl6LL0ccAADmQ+QAACByAAAQOQAAkSNyAAAiR+QAAESOyAEAiBwAAPMqcoqiWK1WXhUAwNxZrVZFUQoocna7XVGUUgAA5kxRFLvdXkCRAwCg0BA5AACRAwCAyAEAQOQAACByAAAQOQAAiBwAgMgBAEDkAAAgcgAAEDkAAIgcAABEDgBA5AAAIHIAABA5AACIHAAARA4AACIHACByRA4AQOQAACByAAAQOQAAiBwAAEQOAAAiBwAgcgAAEDkAAIgcAABEDgCAIoicy+XSdd3hcLS2trpcrin3CYVCPp/v2x28tbWV1xIA8F1FzuFwDA4OGl9KpVJTxswcOYfDoev6dM2bJZ/PN/MjAgCI3I2Z5MzdCoVChmGk02mv1+twOCKRSM4klxM5n8/n8/m8Xq+u6+l0WkRLtnNwcNDhcHi93nQ6bRiGnPkcDkcymYxEIrqu83ICAP4YkXO5XE1NTTabzev1apr2jSKXTCYdDodYvZRrmOJWTdPMyeT1AwB8D5Ezr16GQqFvFDlN0+SvYhyUx5GTXCgU4sUDAHw/kfN6vbFY7NtNcjmRE5OcCGdTU5P4gUkOAPD9T3KpVOry5cuvvvqqyJKu6/LDM/O0p+v6lJEz7+Pz+Xbu3JlKpZjkAADfQ+QAACByAAAQOQAAiBwAAEQOAEDkAAAgcgAAEDkAAIgcAABEDgCAP0bk7Ha7oiilAADMmaIodru9gCKnKIrVai0BAGDOrFaroigFFLnS0lJeFQDAjVJaWkrkAABEjsgBAIgckQMAEDkiBwCYrdtvv/3ee+/9xS9+ce+9995+++1EDgAwH9x2222VlZV1dXWbv1RXV1dZWXnbbbcROQBAcRdu1apV9fX1m7+qvr5+1apVM3eOyAEACtqyZcteeOGF+vr6Z599VqRO/vzCCy8sW7ZsPkTO4/EkvqSqaklJidPpjEajiUQiHA6XlZVNuQUAUOxj3FNPPbV58+ba2toHHnigsrJy06ZNlZWVDzzwQG1t7ebNm5966qkZhrmiiZyqqpqmmbdomqaqallZWTgc9ng8U24BABS1e+65p6qqSqxP1tTUVFRULF68uKKioqamRmysqqq65557ij5yImDyVzG0iZKJ/uVv4T8OAJhPkauvr3/kkUfuuOOORx55RH5ENx8iJ9chE4lENBp1Op1OpzMSibjdbpG0cDhcXV2ds4UVSwAodnfccceGDRtE4SorKysqKqqqqioqKiorK0XnNmzYcMcddxT9JCdNlzQiBwDz0qOPPlpfX19XV/fEE0+IVcqamponnniirq6uvr7+0UcfneG+xRc5j8cTjUZffPFFlisB4GZw5513rl+/fvNU1q9ff+eddxZ95JxOZzgcdjqdJSUlmqaJgHHhCQDcJO6+++5169aZvypXX1+/bt26u+++e+Y7Ft9XCMRnciWmD+rk0Ja/BQAwbyxevPixxx5bt27dY489tnjx4tnchS+DAwDmLSIHACByRA4AQOSIHACAyBE5AACRAwCAyAEAQOQAAETujx45RVGsViuvCgBg7qxWq6IoBRQ5u92uKEopAABzpiiK3W4voMgBAFBoiBwAgMgBAEDkAAAgcgAAEDkAAIgcAABEDgBA5ADgJn+LfClWpP+b8s+5v9gQOQAgckSOyAEAkSNyAAAiR+QAgMgROSIHAESOyBE5ACByRI7IAQCRI3JEDgCIHJEjcgBA5IgcABA5IkfkAOCmidxPfd2rgoOPHhu4dWen5aXY7bv1He1X9nQO/ey9niKN3NNPP/3yyy9v3Lhx6dKl30W6NmzYcOjQob1791ZWVhI5ACjQyN26s/O19isjE5OGYRiGMZyefP30lfJAX/vlsf7UxAMf9hVd5Fwu19GjR/v7+wcGBgYGBjo6OrZv337DI7dly5bOzs5QKLR69WoiBwAFGrlnT1wYTk8OjU8ePDOs6kPnRiaG05Nvx68WaeQefvjhAwcO9PX1nT59uqmp6fDhwz09Pe3t7bW1tUQOAG6uyN2+Wz92duR6JvviqS9+tO205aXYP/9+UNWHfhu+0H557Fp6MjE0PjqR7bgyvio4aHkp9rP3egJnhq+lJzNZo/da+v+1XPzRttNTbnzww/5PB0dHJ7JnUxO74ld/6uv+y11db5y+cmE0k8kaF0YzO9qv/OWurhseObfbffLkya6urq1bt4rm7d69+/3339+wYcPevXtjsVgymTx58uSOHTuWLl26Y8eOzz777MSJE11dXYlE4tChQ6tWrVq6dOmbb74ZjUb7+vri8XhTU9Pq1avr6uqOHz+eTCaTyWQ4HK6pqSFyAFDokfvb/b2nL4+dH534v9pZ8/ZF+3vbL49lDSMxNJ4cThuGEbs8VvEvfe8lrmWyxpWxTGJofGIye2E0sy50Pn9jXdulzy5eT09mO66MnxuZuJ7Jbj35xZbPvxidyF68njl5aex6JjucnnzmxIUbHrktW7Z0dXW1tLSsXbvWvH3Hjh3d3d2dnZ2tra09PT0dHR11dXV79uxJJpM9PT0tLS29vb3JZHL37t2bN2+Ox+M9PT3hcLijo6Ovr+/o0aMtLS19fX2RSKS9vX1gYKC5uXnXrl1EDgAKOnJLPjjTPZQ+NzLxfw5PEbmzqYllH/X/7f7e9stjAyMTdW2Xuq6On01NPHS4f8Hr8bfjV69nskf6U4mhKTb2XEv3DaeXfdR/z3s9//z7wcWNZ7T+1ND4pPv4hR9tO73l8y9GJiY/6B0W17ncwMh5vd7u7u7jx4+vWbPGvP3xxx9/5ZVXnnzySafTKdYw33jjjT179vT29jY1NTmdzr179/b29n744YcHDhzo7e09cODAww8/XFNT09TUdOjQIV3Xm5ubV69e/eSTT7a2tnZ2dh48eJDIAUBBR+7ext6uq+MXRjNTTnLiM7mf+rojF6+fH514s+PK4MhE++WxRft7LS/FaiKXRiYmT30xdvF6Jmfjx2dHDp4ZnpjMGoYxPpn9+OzI6uDg55euG1/16eCofW/ixkbO4/Houp4/ya1fv17TtM7OzrNnzw4MDPT29u7cuVNE7oMPPnj44YfffPPNnp6eY8eOHTt2rLe3d8+ePfK+u3btOnPmzIBJT0/P0aNHiRwAFHTk/roh8eng6HB6csPxP6wcPvbxgE8fevbEhfzIbYtd7k9NdF4dv7ex1/JSbPNnX4xMTLZcuH5uJHejv+faX+1LrG0+f+jMcO+19MRk9l+Sw20Xrw+nJ3d3Xn3hs0tbPv/i5ejllZ+cW/B6/MZGbuPGje3t7e3t7Rs3brz//vuXLl26c+fOAwcOHDt2LJlMnjhxwufzffrppz09PVNG7ujRo4cPH+7t7W1oaBAf6a1du/att97q6ek5ceLE7t2733777YaGhl27du3du5fIAUBBR+5H206/dOryWCbbPZR+Onyh6sTF3mvpsUz2/e5rHVfGcyJXdeLi78+NjE5k93UNrQudj10eG53I7uy4mr/xQM+1lgvX/T3Xlnxw5uXoZZG9xp5r45PZw32pBz/sf+P0lYvXM1tP/uFqlxsYuccff1zTtP7+/ubm5q1bt/p8Pl3Xu7u7T506lUwm33///aeffjoUCiWTyQMHDjQ1NeVE7sMPP2xoaOjt7W1ra/N6ve+//76u68ePH+/s7Ozo6HjzzTc3bdoUiUROnDihqmpXV9fnn3/+4osvzvxVPCIHAN9P5MTXwLX+1GT2D0uI45PZD3qHHz02kD/JPXJ0YG3z+ctjGbneGBocvee9nvyNK44OfNSXynx5zP7UxIqjAw9+2N89lJa7dQ+lHzrc/118T+65555ra2uTS4uJRKKhoeGdd97RdV1s6e7uTiaTHR0dn3zySX7kqqqqmpub5d27urreeustv9/f19cntohAbtmyJRaLDQwMBIPBX//610QOAAoxcpaXYgvf6apru/RRX2pf15DjyFnxDfFVwcF1ofO379YXvB5/4pNzT4XP/3VDwvJS7KHD/e8mho70p373+RfyE7X8jQtej6/85FyDPrQ9dkWsZIqPAHd2XD14Zri69eLMn8bN8V88Wbt27XvvvXf06NF33333t7/9rdhYVVXl9/sbGhrWrl377LPPvvzyy7/73e/eeOMNsbC5fv36119/vaam5v7771+1atWePXuOHDmyb9++J598UqxbvvLKKx999FFjY6PY5/7776+pqXnrrbc2b97MJAcAhRs5/u1K/u1KACByRI7IAQCRI3JEDgCIHJEjcgBA5IgckQMAIkfkAIDIETkiBwBEjsgROQAgckSOyAEAkSNyRA4AiByRI3IAgHn/f1OIHACAyAEAQOQAACByAAAQOQAAiBwAAEQOAEDkAAAgcgAAEDkAAIgcAABEDgAAIgcAIHIAABA5AACIHAAARA4AgO8mcgsXLuTpAADMGwsXLvzXyC1YsIBnBAAwbyxYsMBitmDBAuY5AMA8mOFyC/cVf/JDyz/90mL/K8vM/uNtlr9b8pUtP/kzyz+UWW7995Zv55ZbLP/97y1//udT3/qz/2ZZttzyy2WWXy6z3P6fLRaL5T9YLeUPWB58yPI//5fl3/3EYrFYfvADy88XWR58yPKP//TtT+Nf13BtlooHLb9cZrlLsQAAbi75kZujW26xLPkf00bu54tyu/vDWyz/9k8tFovl7r+x/M3PLRaL5b/8V8vfLbH84AeW2/6T5e//wfJv/uQbPPoPf2hZfJ/lJ3/2h19//GNL2T9a/uIvLD/+saXsf1tuvZUXHACK1P8Hlud5fY7GZwwAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjQtMDEtMDZUMTU6NDk6MzkrMDA6MDADtVRTAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDI0LTAxLTA2VDE1OjQ5OjM5KzAwOjAwcujs7wAAAABJRU5ErkJggg=="},1947:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-add-truecharts-catalog-201abb147a45192270d8978f1d560324.png"},1465:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-configure-gamevault-app-install-1-f77e819fe4925ed18904f80e6f0d613e.png"},3099:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-configure-gamevault-app-install-3-ac408b5dfd46341a7f7c77f6196fd506.png"},1679:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-configured-gamevault-app-installed-db255883caaf34572f6403034d11f56a.png"},1759:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-discover-gamevault-app-install-203a397bf7abfccc33be4462ec225bb5.png"},3509:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-discover-gamevault-app-search-042a9ac7bc7a5ce195b085144c4a3e60.png"},3346:(A,e,t)=>{t.d(e,{Z:()=>n});const n=t.p+"assets/images/scale-login-248c8e0a2719f7dc7db7893a7d97dc3b.png"},9246:(A,e,t)=>{t.d(e,{Z:()=>i,a:()=>r});var n=t(5271);const a={},s=n.createContext(a);function r(A){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof A?A(e):{...e,...A}}),[e,A])}function i(A){let e;return e=A.disableParentContext?"function"==typeof A.components?A.components(a):A.components||a:r(A.components),n.createElement(s.Provider,{value:e},A.children)}}}]); \ No newline at end of file diff --git a/assets/js/1649.67adf67a.js b/assets/js/1649.c21acdfc.js similarity index 74% rename from assets/js/1649.67adf67a.js rename to assets/js/1649.c21acdfc.js index 8640ccfc8..50310e761 100644 --- a/assets/js/1649.67adf67a.js +++ b/assets/js/1649.c21acdfc.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1649],{195:(e,t,n)=>{n.d(t,{Z:()=>r});n(5271);var i=n(4814),o=n(9665),s=n(6078),a=n(2676);function r(e){let{className:t}=e;return(0,a.jsx)("main",{className:(0,i.Z)("container margin-vert--xl",t),children:(0,a.jsx)("div",{className:"row",children:(0,a.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,a.jsx)(s.Z,{as:"h1",className:"hero__title",children:(0,a.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,a.jsx)("p",{children:(0,a.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,a.jsx)("p",{children:(0,a.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},1649:(e,t,n)=>{n.r(t),n.d(t,{default:()=>l});n(5271);var i=n(9665),o=n(947),s=n(8849),a=n(195),r=n(2676);function l(){const e=(0,i.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.d,{title:e}),(0,r.jsx)(s.Z,{children:(0,r.jsx)(a.Z,{})})]})}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1649],{195:(e,t,n)=>{n.d(t,{Z:()=>r});n(5271);var i=n(4814),o=n(2922),s=n(3221),a=n(2676);function r(e){let{className:t}=e;return(0,a.jsx)("main",{className:(0,i.Z)("container margin-vert--xl",t),children:(0,a.jsx)("div",{className:"row",children:(0,a.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,a.jsx)(s.Z,{as:"h1",className:"hero__title",children:(0,a.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,a.jsx)("p",{children:(0,a.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,a.jsx)("p",{children:(0,a.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},1649:(e,t,n)=>{n.r(t),n.d(t,{default:()=>l});n(5271);var i=n(2922),o=n(9967),s=n(3557),a=n(195),r=n(2676);function l(){const e=(0,i.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.d,{title:e}),(0,r.jsx)(s.Z,{children:(0,r.jsx)(a.Z,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/17896441.1ffc051e.js b/assets/js/17896441.1ffc051e.js deleted file mode 100644 index bd1b2d7bd..000000000 --- a/assets/js/17896441.1ffc051e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7918],{7491:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var s=n(4814),a=n(1787),i=n(8832),o=n(1255),l=n(2676);function r(e){let{className:t}=e;return(0,l.jsx)(o.Z,{type:"caution",title:(0,l.jsx)(a.cI,{}),className:(0,s.Z)(t,i.k.common.unlistedBanner),children:(0,l.jsx)(a.eU,{})})}function c(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.T$,{}),(0,l.jsx)(r,{...e})]})}},1892:(e,t,n)=>{n.d(t,{Z:()=>d});n(5271);var s=n(4814),a=n(1787),i=n(8832),o=n(1255),l=n(2676);function r(e){let{className:t}=e;return(0,l.jsx)(o.Z,{type:"caution",title:(0,l.jsx)(a.ht,{}),className:(0,s.Z)(t,i.k.common.draftBanner),children:(0,l.jsx)(a.xo,{})})}var c=n(7491);function d(e){let{metadata:t}=e;const{unlisted:n,frontMatter:s}=t;return(0,l.jsxs)(l.Fragment,{children:[(n||s.unlisted)&&(0,l.jsx)(c.Z,{}),s.draft&&(0,l.jsx)(r,{})]})}},6409:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ae});var s=n(5271),a=n(947),i=n(1669),o=n(2676);const l=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,o.jsx)(l.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(l);if(null===e)throw new i.i6("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,o.jsx)(a.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(4814),m=n(8652),h=n(9665),v=n(5066);function x(e){const{previous:t,next:n}=e;return(0,o.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,o.jsx)(v.Z,{...t,subLabel:(0,o.jsx)(h.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,o.jsx)(v.Z,{...n,subLabel:(0,o.jsx)(h.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function b(){const{metadata:e}=c();return(0,o.jsx)(x,{previous:e.previous,next:e.next})}var f=n(2100),p=n(9347),g=n(738),j=n(8832),L=n(7620),C=n(327);const N={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,o.jsx)(h.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,o.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,o.jsx)(h.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,o.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function Z(e){const t=N[e.versionMetadata.banner];return(0,o.jsx)(t,{...e})}function k(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,o.jsx)(h.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,o.jsx)("b",{children:(0,o.jsx)(p.Z,{to:n,onClick:s,children:(0,o.jsx)(h.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function _(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,f.Z)(),{pluginId:a}=(0,g.gA)({failfast:!0}),{savePreferredVersionName:i}=(0,L.J)(a),{latestDocSuggestion:l,latestVersionSuggestion:r}=(0,g.Jo)(a),c=l??(d=r).docs.find((e=>e.id===d.mainDocId));var d;return(0,o.jsxs)("div",{className:(0,u.Z)(t,j.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,o.jsx)("div",{children:(0,o.jsx)(Z,{siteTitle:s,versionMetadata:n})}),(0,o.jsx)("div",{className:"margin-top--md",children:(0,o.jsx)(k,{versionLabel:r.label,to:c.path,onClick:()=>i(r.name)})})]})}function T(e){let{className:t}=e;const n=(0,C.E)();return n.banner?(0,o.jsx)(_,{className:t,versionMetadata:n}):null}function H(e){let{className:t}=e;const n=(0,C.E)();return n.badge?(0,o.jsx)("span",{className:(0,u.Z)(t,j.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,o.jsx)(h.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}var I=n(9261),M=n(2006);function y(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,i=a.length>0,l=!!(t||n||s);return i||l?(0,o.jsxs)("footer",{className:(0,u.Z)(j.k.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,o.jsx)("div",{className:(0,u.Z)("row margin-top--sm",j.k.docs.docFooterTagsRow),children:(0,o.jsx)("div",{className:"col",children:(0,o.jsx)(I.Z,{tags:a})})}),l&&(0,o.jsx)(M.Z,{className:(0,u.Z)("margin-top--sm",j.k.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var B=n(5647),w=n(5830);const E={tocCollapsibleButton:"tocCollapsibleButton_vn6v",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_g94R"};function A(e){let{collapsed:t,...n}=e;return(0,o.jsx)("button",{type:"button",...n,className:(0,u.Z)("clean-btn",E.tocCollapsibleButton,!t&&E.tocCollapsibleButtonExpanded,n.className),children:(0,o.jsx)(h.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const V={tocCollapsible:"tocCollapsible_v7jt",tocCollapsibleContent:"tocCollapsibleContent_saQ3",tocCollapsibleExpanded:"tocCollapsibleExpanded_jtxX"};function O(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:l}=(0,B.u)({initialState:!0});return(0,o.jsxs)("div",{className:(0,u.Z)(V.tocCollapsible,!i&&V.tocCollapsibleExpanded,n),children:[(0,o.jsx)(A,{collapsed:i,onClick:l}),(0,o.jsx)(B.z,{lazy:!0,className:V.tocCollapsibleContent,collapsed:i,children:(0,o.jsx)(w.Z,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const S={tocMobile:"tocMobile_IH7H"};function R(){const{toc:e,frontMatter:t}=c();return(0,o.jsx)(O,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(j.k.docs.docTocMobile,S.tocMobile)})}var U=n(4410);function P(){const{toc:e,frontMatter:t}=c();return(0,o.jsx)(U.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:j.k.docs.docTocDesktop})}var z=n(6078),F=n(8431);function D(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,o.jsxs)("div",{className:(0,u.Z)(j.k.docs.docMarkdown,"markdown"),children:[n&&(0,o.jsx)("header",{children:(0,o.jsx)(z.Z,{as:"h1",children:n})}),(0,o.jsx)(F.Z,{children:t})]})}var $=n(3077),q=n(9322),X=n(8086);function J(e){return(0,o.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,o.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const G={breadcrumbHomeIcon:"breadcrumbHomeIcon__ns4"};function Q(){const e=(0,X.ZP)("/");return(0,o.jsx)("li",{className:"breadcrumbs__item",children:(0,o.jsx)(p.Z,{"aria-label":(0,h.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,o.jsx)(J,{className:G.breadcrumbHomeIcon})})})}const Y={breadcrumbsContainer:"breadcrumbsContainer_SLq6"};function K(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,o.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,o.jsx)(p.Z,{className:a,href:n,itemProp:"item",children:(0,o.jsx)("span",{itemProp:"name",children:t})}):(0,o.jsx)("span",{className:a,children:t})}function W(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,o.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,o.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function ee(){const e=(0,$.s1)(),t=(0,q.Ns)();return e?(0,o.jsx)("nav",{className:(0,u.Z)(j.k.docs.docBreadcrumbs,Y.breadcrumbsContainer),"aria-label":(0,h.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,o.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,o.jsx)(Q,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,o.jsx)(W,{active:s,index:n,addMicrodata:!!a,children:(0,o.jsx)(K,{href:a,isLast:s,children:t.label})},n)}))]})}):null}var te=n(1892);const ne={docItemContainer:"docItemContainer_XZTp",docItemCol:"docItemCol_oXzR"};function se(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.i)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,o.jsx)(R,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,o.jsx)(P,{})}}(),{metadata:s}=c();return(0,o.jsxs)("div",{className:"row",children:[(0,o.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&ne.docItemCol),children:[(0,o.jsx)(te.Z,{metadata:s}),(0,o.jsx)(T,{}),(0,o.jsxs)("div",{className:ne.docItemContainer,children:[(0,o.jsxs)("article",{children:[(0,o.jsx)(ee,{}),(0,o.jsx)(H,{}),n.mobile,(0,o.jsx)(D,{children:t}),(0,o.jsx)(y,{})]}),(0,o.jsx)(b,{})]})]}),n.desktop&&(0,o.jsx)("div",{className:"col col--3",children:n.desktop})]})}function ae(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,o.jsx)(r,{content:e.content,children:(0,o.jsxs)(a.FG,{className:t,children:[(0,o.jsx)(d,{}),(0,o.jsx)(se,{children:(0,o.jsx)(n,{})})]})})}},4410:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var s=n(4814),a=n(5830);const i={tableOfContents:"tableOfContents_tnIz",docItemContainer:"docItemContainer_YM2y"};var o=n(2676);const l="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,o.jsx)("div",{className:(0,s.Z)(i.tableOfContents,"thin-scrollbar",t),children:(0,o.jsx)(a.Z,{...n,linkClassName:l,linkActiveClassName:r})})}},5830:(e,t,n)=>{n.d(t,{Z:()=>x});var s=n(5271),a=n(5996);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function o(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=o({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function l(e){const t=e.getBoundingClientRect();return t.top===t.bottom?l(e.parentNode):t}function r(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>l(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:o}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:o}),c=r(l,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}var u=n(9347),m=n(2676);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.Z,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const v=s.memo(h);function x(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...h}=e;const x=(0,a.L)(),b=c??x.tableOfContents.minHeadingLevel,f=u??x.tableOfContents.maxHeadingLevel,p=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>o({toc:i(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:b,maxHeadingLevel:f});return d((0,s.useMemo)((()=>{if(l&&r)return{linkClassName:l,linkActiveClassName:r,minHeadingLevel:b,maxHeadingLevel:f}}),[l,r,b,f])),(0,m.jsx)(v,{toc:p,className:n,linkClassName:l,...h})}},1787:(e,t,n)=>{n.d(t,{T$:()=>r,cI:()=>o,eU:()=>l,ht:()=>c,xo:()=>d});n(5271);var s=n(9665),a=n(5363),i=n(2676);function o(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function r(){return(0,i.jsx)(a.Z,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/assets/js/17896441.5148359f.js b/assets/js/17896441.5148359f.js new file mode 100644 index 000000000..6069f66c9 --- /dev/null +++ b/assets/js/17896441.5148359f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7918],{7491:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var s=n(4814),a=n(4022),i=n(3509),o=n(44),l=n(2676);function r(e){let{className:t}=e;return(0,l.jsx)(o.Z,{type:"caution",title:(0,l.jsx)(a.cI,{}),className:(0,s.Z)(t,i.k.common.unlistedBanner),children:(0,l.jsx)(a.eU,{})})}function c(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.T$,{}),(0,l.jsx)(r,{...e})]})}},1892:(e,t,n)=>{n.d(t,{Z:()=>d});n(5271);var s=n(4814),a=n(4022),i=n(3509),o=n(44),l=n(2676);function r(e){let{className:t}=e;return(0,l.jsx)(o.Z,{type:"caution",title:(0,l.jsx)(a.ht,{}),className:(0,s.Z)(t,i.k.common.draftBanner),children:(0,l.jsx)(a.xo,{})})}var c=n(7491);function d(e){let{metadata:t}=e;const{unlisted:n,frontMatter:s}=t;return(0,l.jsxs)(l.Fragment,{children:[(n||s.unlisted)&&(0,l.jsx)(c.Z,{}),s.draft&&(0,l.jsx)(r,{})]})}},4863:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ae});var s=n(5271),a=n(9967),i=n(8274),o=n(2676);const l=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,o.jsx)(l.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(l);if(null===e)throw new i.i6("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,o.jsx)(a.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(4814),m=n(3320),h=n(2922),v=n(5066);function x(e){const{previous:t,next:n}=e;return(0,o.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,o.jsx)(v.Z,{...t,subLabel:(0,o.jsx)(h.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,o.jsx)(v.Z,{...n,subLabel:(0,o.jsx)(h.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function b(){const{metadata:e}=c();return(0,o.jsx)(x,{previous:e.previous,next:e.next})}var f=n(6172),p=n(6527),g=n(5364),j=n(3509),L=n(1777),C=n(5219);const N={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,o.jsx)(h.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,o.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,o.jsx)(h.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,o.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function Z(e){const t=N[e.versionMetadata.banner];return(0,o.jsx)(t,{...e})}function k(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,o.jsx)(h.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,o.jsx)("b",{children:(0,o.jsx)(p.Z,{to:n,onClick:s,children:(0,o.jsx)(h.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function _(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,f.Z)(),{pluginId:a}=(0,g.gA)({failfast:!0}),{savePreferredVersionName:i}=(0,L.J)(a),{latestDocSuggestion:l,latestVersionSuggestion:r}=(0,g.Jo)(a),c=l??(d=r).docs.find((e=>e.id===d.mainDocId));var d;return(0,o.jsxs)("div",{className:(0,u.Z)(t,j.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,o.jsx)("div",{children:(0,o.jsx)(Z,{siteTitle:s,versionMetadata:n})}),(0,o.jsx)("div",{className:"margin-top--md",children:(0,o.jsx)(k,{versionLabel:r.label,to:c.path,onClick:()=>i(r.name)})})]})}function T(e){let{className:t}=e;const n=(0,C.E)();return n.banner?(0,o.jsx)(_,{className:t,versionMetadata:n}):null}function H(e){let{className:t}=e;const n=(0,C.E)();return n.badge?(0,o.jsx)("span",{className:(0,u.Z)(t,j.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,o.jsx)(h.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}var I=n(9813),M=n(3362);function y(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,i=a.length>0,l=!!(t||n||s);return i||l?(0,o.jsxs)("footer",{className:(0,u.Z)(j.k.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,o.jsx)("div",{className:(0,u.Z)("row margin-top--sm",j.k.docs.docFooterTagsRow),children:(0,o.jsx)("div",{className:"col",children:(0,o.jsx)(I.Z,{tags:a})})}),l&&(0,o.jsx)(M.Z,{className:(0,u.Z)("margin-top--sm",j.k.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var B=n(3955),w=n(783);const E={tocCollapsibleButton:"tocCollapsibleButton_vn6v",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_g94R"};function A(e){let{collapsed:t,...n}=e;return(0,o.jsx)("button",{type:"button",...n,className:(0,u.Z)("clean-btn",E.tocCollapsibleButton,!t&&E.tocCollapsibleButtonExpanded,n.className),children:(0,o.jsx)(h.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const V={tocCollapsible:"tocCollapsible_v7jt",tocCollapsibleContent:"tocCollapsibleContent_saQ3",tocCollapsibleExpanded:"tocCollapsibleExpanded_jtxX"};function O(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:l}=(0,B.u)({initialState:!0});return(0,o.jsxs)("div",{className:(0,u.Z)(V.tocCollapsible,!i&&V.tocCollapsibleExpanded,n),children:[(0,o.jsx)(A,{collapsed:i,onClick:l}),(0,o.jsx)(B.z,{lazy:!0,className:V.tocCollapsibleContent,collapsed:i,children:(0,o.jsx)(w.Z,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const S={tocMobile:"tocMobile_IH7H"};function R(){const{toc:e,frontMatter:t}=c();return(0,o.jsx)(O,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(j.k.docs.docTocMobile,S.tocMobile)})}var U=n(9298);function P(){const{toc:e,frontMatter:t}=c();return(0,o.jsx)(U.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:j.k.docs.docTocDesktop})}var z=n(3221),F=n(2714);function D(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,o.jsxs)("div",{className:(0,u.Z)(j.k.docs.docMarkdown,"markdown"),children:[n&&(0,o.jsx)("header",{children:(0,o.jsx)(z.Z,{as:"h1",children:n})}),(0,o.jsx)(F.Z,{children:t})]})}var $=n(4376),q=n(6422),X=n(285);function J(e){return(0,o.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,o.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const G={breadcrumbHomeIcon:"breadcrumbHomeIcon__ns4"};function Q(){const e=(0,X.ZP)("/");return(0,o.jsx)("li",{className:"breadcrumbs__item",children:(0,o.jsx)(p.Z,{"aria-label":(0,h.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,o.jsx)(J,{className:G.breadcrumbHomeIcon})})})}const Y={breadcrumbsContainer:"breadcrumbsContainer_SLq6"};function K(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,o.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,o.jsx)(p.Z,{className:a,href:n,itemProp:"item",children:(0,o.jsx)("span",{itemProp:"name",children:t})}):(0,o.jsx)("span",{className:a,children:t})}function W(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,o.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,o.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function ee(){const e=(0,$.s1)(),t=(0,q.Ns)();return e?(0,o.jsx)("nav",{className:(0,u.Z)(j.k.docs.docBreadcrumbs,Y.breadcrumbsContainer),"aria-label":(0,h.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,o.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,o.jsx)(Q,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,o.jsx)(W,{active:s,index:n,addMicrodata:!!a,children:(0,o.jsx)(K,{href:a,isLast:s,children:t.label})},n)}))]})}):null}var te=n(1892);const ne={docItemContainer:"docItemContainer_XZTp",docItemCol:"docItemCol_oXzR"};function se(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.i)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,o.jsx)(R,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,o.jsx)(P,{})}}(),{metadata:s}=c();return(0,o.jsxs)("div",{className:"row",children:[(0,o.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&ne.docItemCol),children:[(0,o.jsx)(te.Z,{metadata:s}),(0,o.jsx)(T,{}),(0,o.jsxs)("div",{className:ne.docItemContainer,children:[(0,o.jsxs)("article",{children:[(0,o.jsx)(ee,{}),(0,o.jsx)(H,{}),n.mobile,(0,o.jsx)(D,{children:t}),(0,o.jsx)(y,{})]}),(0,o.jsx)(b,{})]})]}),n.desktop&&(0,o.jsx)("div",{className:"col col--3",children:n.desktop})]})}function ae(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,o.jsx)(r,{content:e.content,children:(0,o.jsxs)(a.FG,{className:t,children:[(0,o.jsx)(d,{}),(0,o.jsx)(se,{children:(0,o.jsx)(n,{})})]})})}},9298:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var s=n(4814),a=n(783);const i={tableOfContents:"tableOfContents_tnIz",docItemContainer:"docItemContainer_YM2y"};var o=n(2676);const l="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,o.jsx)("div",{className:(0,s.Z)(i.tableOfContents,"thin-scrollbar",t),children:(0,o.jsx)(a.Z,{...n,linkClassName:l,linkActiveClassName:r})})}},783:(e,t,n)=>{n.d(t,{Z:()=>x});var s=n(5271),a=n(9364);function i(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function o(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=o({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function l(e){const t=e.getBoundingClientRect();return t.top===t.bottom?l(e.parentNode):t}function r(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>l(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=c();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:i,maxHeadingLevel:o}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:i,maxHeadingLevel:o}),c=r(l,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}var u=n(6527),m=n(2676);function h(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,m.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.Z,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const v=s.memo(h);function x(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:c,maxHeadingLevel:u,...h}=e;const x=(0,a.L)(),b=c??x.tableOfContents.minHeadingLevel,f=u??x.tableOfContents.maxHeadingLevel,p=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>o({toc:i(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:b,maxHeadingLevel:f});return d((0,s.useMemo)((()=>{if(l&&r)return{linkClassName:l,linkActiveClassName:r,minHeadingLevel:b,maxHeadingLevel:f}}),[l,r,b,f])),(0,m.jsx)(v,{toc:p,className:n,linkClassName:l,...h})}},4022:(e,t,n)=>{n.d(t,{T$:()=>r,cI:()=>o,eU:()=>l,ht:()=>c,xo:()=>d});n(5271);var s=n(2922),a=n(2791),i=n(2676);function o(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function r(){return(0,i.jsx)(a.Z,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/assets/js/18d9fd7d.8d0c3aef.js b/assets/js/18d9fd7d.143d747e.js similarity index 95% rename from assets/js/18d9fd7d.8d0c3aef.js rename to assets/js/18d9fd7d.143d747e.js index 4ab484590..4a685ecde 100644 --- a/assets/js/18d9fd7d.8d0c3aef.js +++ b/assets/js/18d9fd7d.143d747e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2002],{4485:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>c,frontMatter:()=>l,metadata:()=>a,toc:()=>d});var i=t(2676),s=t(9246);const l={sidebar_position:9},r="Plugins",a={id:"server-docs/plugins",title:"Plugins",description:"Please note that the plugins loader is currently experimental. We advise not to use it.",source:"@site/docs/server-docs/plugins.md",sourceDirName:"server-docs",slug:"/server-docs/plugins",permalink:"/docs/server-docs/plugins",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/plugins.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:9,frontMatter:{sidebar_position:9},sidebar:"docs",previous:{title:"WebSockets",permalink:"/docs/server-docs/websockets"},next:{title:"Parental Control",permalink:"/docs/server-docs/parental-control"}},o={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Finding Plugins",id:"finding-plugins",level:2},{value:"Writing GameVault Plugins",id:"writing-gamevault-plugins",level:2},{value:"Example Plugins",id:"example-plugins",level:3},{value:"Available Features",id:"available-features",level:3}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"plugins",children:"Plugins"})}),"\n",(0,i.jsx)(n.admonition,{title:"Work in progress",type:"caution",children:(0,i.jsx)(n.p,{children:"Please note that the plugins loader is currently experimental. We advise not to use it."})}),"\n",(0,i.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,i.jsx)(n.p,{children:"GameVault is designed with a high degree of modularity and features a built-in plugin system. Users have the capability to integrate their own plugins into the server."}),"\n",(0,i.jsx)(n.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,i.jsx)(n.p,{children:"To use plugins, you need to do the following:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Set the ",(0,i.jsx)(n.code,{children:"PLUGIN_ENABLED"})," environment variable to ",(0,i.jsx)(n.code,{children:"true"})," to enable plugins."]}),"\n",(0,i.jsxs)(n.li,{children:["Add your raw plugin paths to the comma-separated list of plugins in the ",(0,i.jsx)(n.code,{children:"PLUGIN_SOURCES"})," environment variable."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"For example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-.env",children:'PLUGIN_ENABLED=true\nPLUGIN_SOURCES="https://raw.githubusercontent.com/Phalcode/gamevault-backend-example-plugins/master/plugins/gamevault-chuck-norris-joke-fetcher-plugin.js"\n'})}),"\n",(0,i.jsx)(n.h2,{id:"finding-plugins",children:"Finding Plugins"}),"\n",(0,i.jsx)(n.p,{children:"Coming soon."}),"\n",(0,i.jsx)(n.h2,{id:"writing-gamevault-plugins",children:"Writing GameVault Plugins"}),"\n",(0,i.jsx)(n.h3,{id:"example-plugins",children:"Example Plugins"}),"\n",(0,i.jsxs)(n.p,{children:["Phalcode has a few example plugins ",(0,i.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-backend-example-plugins",children:"here"})," that you can use to learn how to build your own plugins."]}),"\n",(0,i.jsx)(n.h3,{id:"available-features",children:"Available Features"}),"\n",(0,i.jsx)(n.p,{children:"Coming soon."})]})}function c(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},9246:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>r});var i=t(5271);const s={},l=i.createContext(s);function r(e){const n=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2002],{4485:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>c,frontMatter:()=>l,metadata:()=>a,toc:()=>d});var i=t(2676),s=t(8358);const l={sidebar_position:9},r="Plugins",a={id:"server-docs/plugins",title:"Plugins",description:"Please note that the plugins loader is currently experimental. We advise not to use it.",source:"@site/docs/server-docs/plugins.md",sourceDirName:"server-docs",slug:"/server-docs/plugins",permalink:"/docs/server-docs/plugins",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/plugins.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:9,frontMatter:{sidebar_position:9},sidebar:"docs",previous:{title:"WebSockets",permalink:"/docs/server-docs/websockets"},next:{title:"Parental Control",permalink:"/docs/server-docs/parental-control"}},o={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Finding Plugins",id:"finding-plugins",level:2},{value:"Writing GameVault Plugins",id:"writing-gamevault-plugins",level:2},{value:"Example Plugins",id:"example-plugins",level:3},{value:"Available Features",id:"available-features",level:3}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"plugins",children:"Plugins"})}),"\n",(0,i.jsx)(n.admonition,{title:"Work in progress",type:"caution",children:(0,i.jsx)(n.p,{children:"Please note that the plugins loader is currently experimental. We advise not to use it."})}),"\n",(0,i.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,i.jsx)(n.p,{children:"GameVault is designed with a high degree of modularity and features a built-in plugin system. Users have the capability to integrate their own plugins into the server."}),"\n",(0,i.jsx)(n.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,i.jsx)(n.p,{children:"To use plugins, you need to do the following:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Set the ",(0,i.jsx)(n.code,{children:"PLUGIN_ENABLED"})," environment variable to ",(0,i.jsx)(n.code,{children:"true"})," to enable plugins."]}),"\n",(0,i.jsxs)(n.li,{children:["Add your raw plugin paths to the comma-separated list of plugins in the ",(0,i.jsx)(n.code,{children:"PLUGIN_SOURCES"})," environment variable."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"For example:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-.env",children:'PLUGIN_ENABLED=true\nPLUGIN_SOURCES="https://raw.githubusercontent.com/Phalcode/gamevault-backend-example-plugins/master/plugins/gamevault-chuck-norris-joke-fetcher-plugin.js"\n'})}),"\n",(0,i.jsx)(n.h2,{id:"finding-plugins",children:"Finding Plugins"}),"\n",(0,i.jsx)(n.p,{children:"Coming soon."}),"\n",(0,i.jsx)(n.h2,{id:"writing-gamevault-plugins",children:"Writing GameVault Plugins"}),"\n",(0,i.jsx)(n.h3,{id:"example-plugins",children:"Example Plugins"}),"\n",(0,i.jsxs)(n.p,{children:["Phalcode has a few example plugins ",(0,i.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-backend-example-plugins",children:"here"})," that you can use to learn how to build your own plugins."]}),"\n",(0,i.jsx)(n.h3,{id:"available-features",children:"Available Features"}),"\n",(0,i.jsx)(n.p,{children:"Coming soon."})]})}function c(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},8358:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>r});var i=t(5271);const s={},l=i.createContext(s);function r(e){const n=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/193fe191.81ff1ac2.js b/assets/js/193fe191.b9d845f8.js similarity index 98% rename from assets/js/193fe191.81ff1ac2.js rename to assets/js/193fe191.b9d845f8.js index fedb2a7b1..6f868d212 100644 --- a/assets/js/193fe191.81ff1ac2.js +++ b/assets/js/193fe191.b9d845f8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7459],{3323:(e,d,s)=>{s.r(d),s.d(d,{assets:()=>l,contentTitle:()=>n,default:()=>j,frontMatter:()=>i,metadata:()=>c,toc:()=>h});var r=s(2676),t=s(9246);const i={},n="Provider: IGDB",c={id:"server-docs/metadata-enrichment/provider-igdb",title:"Provider: IGDB",description:"Overview",source:"@site/docs/server-docs/metadata-enrichment/provider-igdb.md",sourceDirName:"server-docs/metadata-enrichment",slug:"/server-docs/metadata-enrichment/provider-igdb",permalink:"/docs/server-docs/metadata-enrichment/provider-igdb",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/metadata-enrichment/provider-igdb.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,frontMatter:{},sidebar:"docs",previous:{title:"Enriching your Games with Metadata",permalink:"/docs/server-docs/metadata-enrichment/metadata"},next:{title:"Database Backup & Restoration",permalink:"/docs/server-docs/backup-and-restore"}},l={},h=[{value:"Overview",id:"overview",level:2},{value:"Setup",id:"setup",level:2},{value:"Configurations",id:"configurations",level:2},{value:"Mappings",id:"mappings",level:2},{value:"Fields",id:"fields",level:3},{value:"Age Rating",id:"age-rating",level:3}];function x(e){const d={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.header,{children:(0,r.jsx)(d.h1,{id:"provider-igdb",children:"Provider: IGDB"})}),"\n",(0,r.jsx)(d.h2,{id:"overview",children:"Overview"}),"\n",(0,r.jsxs)(d.p,{children:[(0,r.jsx)(d.a,{href:"https://igdb.com",children:"The Internet Games Database (IGDB)"})," is one of the most popular databases for detailed video game information run by ",(0,r.jsx)(d.a,{href:"https://twitch.tv",children:"twitch.tv"}),". By integrating IGDB with GameVault, users get accurate and up-to-date game data. We're pleased to partner with IGDB to provide the best game information to our users."]}),"\n",(0,r.jsx)(d.h2,{id:"setup",children:"Setup"}),"\n",(0,r.jsxs)(d.ol,{children:["\n",(0,r.jsxs)(d.li,{children:["Log in to your Twitch Account on ",(0,r.jsx)(d.a,{href:"https://dev.twitch.tv/login",children:(0,r.jsx)(d.strong,{children:"dev.twitch.tv"})}),"\n",(0,r.jsxs)(d.ul,{children:["\n",(0,r.jsx)(d.li,{children:"Create a new account if you don't have one already."}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(d.li,{children:["Open the ",(0,r.jsx)(d.a,{href:"https://dev.twitch.tv/console/apps",children:(0,r.jsx)(d.strong,{children:"Twitch Developer dashboard"})}),"."]}),"\n",(0,r.jsxs)(d.li,{children:["Click on ",(0,r.jsx)(d.a,{href:"https://dev.twitch.tv/console/apps/create",children:(0,r.jsx)(d.strong,{children:"Register your application"})}),"\n",(0,r.jsx)(d.img,{alt:"Register your application",src:s(6473).Z+"",width:"1254",height:"393"})]}),"\n",(0,r.jsxs)(d.li,{children:["Fill out the form as shown in the image. Make sure to solve the CAPTCHA.\n",(0,r.jsx)(d.img,{alt:"Fill in the details",src:s(4749).Z+"",width:"1258",height:"832"})]}),"\n",(0,r.jsxs)(d.li,{children:["Once your application is created, click on ",(0,r.jsx)(d.strong,{children:"Manage"}),".\n",(0,r.jsx)(d.img,{alt:"Manage",src:s(5498).Z+"",width:"1259",height:"317"})]}),"\n",(0,r.jsxs)(d.li,{children:["Click on ",(0,r.jsx)(d.strong,{children:"New Secret"}),". Make sure to solve the CAPTCHA.\n",(0,r.jsx)(d.img,{alt:"New Secret",src:s(2509).Z+"",width:"1250",height:"1053"})]}),"\n",(0,r.jsxs)(d.li,{children:["Copy your ",(0,r.jsx)(d.strong,{children:"Client ID"})," and ",(0,r.jsx)(d.strong,{children:"Client Secret"})," and configure them in GameVaults ",(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_ID"})," and ",(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_SECRET"})," environment variables."]}),"\n",(0,r.jsxs)(d.li,{children:[(0,r.jsx)(d.strong,{children:"Done!"})," \ud83e\udd73 Now just restart your server and it should do it's magic. If you have lots of games, it may take a while to fetch all metadata. You can check the progress in the server logs."]}),"\n"]}),"\n",(0,r.jsx)(d.h2,{id:"configurations",children:"Configurations"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_ENABLED"})}),(0,r.jsx)(d.td,{children:"Enables / Disables the Provider"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"true"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_PRIORITY"})}),(0,r.jsx)(d.td,{children:"Priority of the Provider"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"50"})}),(0,r.jsx)(d.td,{children:"Any Integer"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_ID"})}),(0,r.jsx)(d.td,{children:"Your developer.twitch.tv Client ID"}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Your Client-ID"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_SECRET"})}),(0,r.jsx)(d.td,{children:"Your developer.twitch.tv Client Secret"}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Your Client-Secret"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"mappings",children:"Mappings"}),"\n",(0,r.jsx)(d.h3,{id:"fields",children:"Fields"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"GameVault Field"}),(0,r.jsx)(d.th,{children:"IGDB API Field(s)"}),(0,r.jsx)(d.th,{children:"Notes"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"provider_slug"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"igdb"})}),(0,r.jsx)(d.td,{children:"hardcoded."})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"age_rating"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"age_ratings"})}),(0,r.jsxs)(d.td,{children:["See ",(0,r.jsx)(d.a,{href:"#age-rating",children:"here"})," for details."]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"provider_data_id"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"id"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"provider_data_url"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"title"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"name"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"release_date"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"first_release_date"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"description"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"game.summary"})," and/or ",(0,r.jsx)(d.code,{children:"game.storyline"})]}),(0,r.jsx)(d.td,{children:"If both are available, both get used, else any available will be mapped"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"rating"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"total_rating"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"early_access"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"status"})}),(0,r.jsxs)(d.td,{children:["True if the Game is either in status ",(0,r.jsx)(d.code,{children:"alpha"}),", ",(0,r.jsx)(d.code,{children:"beta"})," or ",(0,r.jsx)(d.code,{children:"early_access"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"developers"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"involved_companies"})}),(0,r.jsxs)(d.td,{children:["Filtered by ",(0,r.jsx)(d.code,{children:"involved_company.developer === true"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"publishers"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"involved_companies"})}),(0,r.jsxs)(d.td,{children:["Filtered by ",(0,r.jsx)(d.code,{children:"involved_company.publisher === true"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"genres"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"genres"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"tags"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"keywords"})," and ",(0,r.jsx)(d.code,{children:"themes"})]}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"cover"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"cover"})}),(0,r.jsxs)(d.td,{children:["Using the highest possible cover resolution via ",(0,r.jsx)(d.code,{children:"t_cover_big_2x"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"background"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"artworks[0]"})," or ",(0,r.jsx)(d.code,{children:"screenshots[0]"})]}),(0,r.jsxs)(d.td,{children:["Only first artwork/screenshot is mapped. Using the highest possible 16:9 resolution via ",(0,r.jsx)(d.code,{children:"t_1080p_2x"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url_websites"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"websites.url"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url_screenshots"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"screenshots"})," and ",(0,r.jsx)(d.code,{children:"artworks"})]}),(0,r.jsxs)(d.td,{children:["Using the highest possible 16:9 resolution via ",(0,r.jsx)(d.code,{children:"t_1080p_2x"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url_trailers"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"videos"})}),(0,r.jsx)(d.td,{children:'Only when video title includes the words "trailer", "teaser" or "intro"'})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url_gameplays"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"videos"})}),(0,r.jsx)(d.td,{children:'Only when video title includes the words "gameplay"'})]})]})]}),"\n",(0,r.jsx)(d.h3,{id:"age-rating",children:"Age Rating"}),"\n",(0,r.jsxs)(d.p,{children:['The table below shows how age ratings from GameVault and IGDB are matched. Ratings like "Not Yet Rated" are ignored. A game can have ratings from multiple systems. The IGDB integration calculates ',(0,r.jsx)(d.strong,{children:"the average of all ratings"}),", rounds it, and then saves it to GameVault."]}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Age Rating System"}),(0,r.jsx)(d.th,{children:"Rating Name"}),(0,r.jsx)(d.th,{children:"GameVault Minimum Age (Years)"}),(0,r.jsx)(d.th,{children:"IGDB Rating Enum Value"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"PEGI"})}),(0,r.jsx)(d.td,{children:"Three"}),(0,r.jsx)(d.td,{children:"3"}),(0,r.jsx)(d.td,{children:"1"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"Seven"}),(0,r.jsx)(d.td,{children:"7"}),(0,r.jsx)(d.td,{children:"2"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"Twelve"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"3"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"Sixteen"}),(0,r.jsx)(d.td,{children:"16"}),(0,r.jsx)(d.td,{children:"4"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"Eighteen"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"5"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"ESRB"})}),(0,r.jsx)(d.td,{children:"EC"}),(0,r.jsx)(d.td,{children:"3"}),(0,r.jsx)(d.td,{children:"7"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"E"}),(0,r.jsx)(d.td,{children:"6"}),(0,r.jsx)(d.td,{children:"8"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"E10"}),(0,r.jsx)(d.td,{children:"10"}),(0,r.jsx)(d.td,{children:"9"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"T"}),(0,r.jsx)(d.td,{children:"13"}),(0,r.jsx)(d.td,{children:"10"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"M"}),(0,r.jsx)(d.td,{children:"17"}),(0,r.jsx)(d.td,{children:"11"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"AO"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"12"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"CERO"})}),(0,r.jsx)(d.td,{children:"CERO_A"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"13"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CERO_B"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"14"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CERO_C"}),(0,r.jsx)(d.td,{children:"15"}),(0,r.jsx)(d.td,{children:"15"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CERO_D"}),(0,r.jsx)(d.td,{children:"17"}),(0,r.jsx)(d.td,{children:"16"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CERO_Z"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"17"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"USK"})}),(0,r.jsx)(d.td,{children:"USK_0"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"18"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"USK_6"}),(0,r.jsx)(d.td,{children:"6"}),(0,r.jsx)(d.td,{children:"19"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"USK_12"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"20"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"USK_16"}),(0,r.jsx)(d.td,{children:"16"}),(0,r.jsx)(d.td,{children:"21"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"USK_18"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"22"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"GRAC"})}),(0,r.jsx)(d.td,{children:"GRAC_ALL"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"23"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"GRAC_Twelve"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"24"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"GRAC_Fifteen"}),(0,r.jsx)(d.td,{children:"15"}),(0,r.jsx)(d.td,{children:"25"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"GRAC_Eighteen"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"26"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"CLASS_IND"})}),(0,r.jsx)(d.td,{children:"CLASS_IND_L"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"28"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Ten"}),(0,r.jsx)(d.td,{children:"10"}),(0,r.jsx)(d.td,{children:"29"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Twelve"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"30"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Fourteen"}),(0,r.jsx)(d.td,{children:"14"}),(0,r.jsx)(d.td,{children:"31"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Sixteen"}),(0,r.jsx)(d.td,{children:"16"}),(0,r.jsx)(d.td,{children:"32"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Eighteen"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"33"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"ACB"})}),(0,r.jsx)(d.td,{children:"ACB_G"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"34"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"ACB_PG"}),(0,r.jsx)(d.td,{children:"8"}),(0,r.jsx)(d.td,{children:"35"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"ACB_M"}),(0,r.jsx)(d.td,{children:"15"}),(0,r.jsx)(d.td,{children:"36"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"ACB_MA15"}),(0,r.jsx)(d.td,{children:"15"}),(0,r.jsx)(d.td,{children:"37"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"ACB_R18"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"38"})]})]})]})]})}function j(e={}){const{wrapper:d}={...(0,t.a)(),...e.components};return d?(0,r.jsx)(d,{...e,children:(0,r.jsx)(x,{...e})}):x(e)}},6473:(e,d,s)=>{s.d(d,{Z:()=>r});const r=s.p+"assets/images/setup-step-1-531ca876d7d5343984b56d73b5fe2527.png"},4749:(e,d,s)=>{s.d(d,{Z:()=>r});const r=s.p+"assets/images/setup-step-2-9b26b8c4e36c9ae8b00e578737b6412d.png"},5498:(e,d,s)=>{s.d(d,{Z:()=>r});const r=s.p+"assets/images/setup-step-3-1f45dd581f8cc3ffc8071bdcc115f0b9.png"},2509:(e,d,s)=>{s.d(d,{Z:()=>r});const r=s.p+"assets/images/setup-step-4-2906d1431be260bcadd96e0ce27e8749.png"},9246:(e,d,s)=>{s.d(d,{Z:()=>c,a:()=>n});var r=s(5271);const t={},i=r.createContext(t);function n(e){const d=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function c(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:n(e.components),r.createElement(i.Provider,{value:d},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7459],{3323:(e,d,s)=>{s.r(d),s.d(d,{assets:()=>l,contentTitle:()=>n,default:()=>j,frontMatter:()=>i,metadata:()=>c,toc:()=>h});var r=s(2676),t=s(8358);const i={},n="Provider: IGDB",c={id:"server-docs/metadata-enrichment/provider-igdb",title:"Provider: IGDB",description:"Overview",source:"@site/docs/server-docs/metadata-enrichment/provider-igdb.md",sourceDirName:"server-docs/metadata-enrichment",slug:"/server-docs/metadata-enrichment/provider-igdb",permalink:"/docs/server-docs/metadata-enrichment/provider-igdb",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/metadata-enrichment/provider-igdb.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,frontMatter:{},sidebar:"docs",previous:{title:"Enriching your Games with Metadata",permalink:"/docs/server-docs/metadata-enrichment/metadata"},next:{title:"Database Backup & Restoration",permalink:"/docs/server-docs/backup-and-restore"}},l={},h=[{value:"Overview",id:"overview",level:2},{value:"Setup",id:"setup",level:2},{value:"Configurations",id:"configurations",level:2},{value:"Mappings",id:"mappings",level:2},{value:"Fields",id:"fields",level:3},{value:"Age Rating",id:"age-rating",level:3}];function x(e){const d={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.header,{children:(0,r.jsx)(d.h1,{id:"provider-igdb",children:"Provider: IGDB"})}),"\n",(0,r.jsx)(d.h2,{id:"overview",children:"Overview"}),"\n",(0,r.jsxs)(d.p,{children:[(0,r.jsx)(d.a,{href:"https://igdb.com",children:"The Internet Games Database (IGDB)"})," is one of the most popular databases for detailed video game information run by ",(0,r.jsx)(d.a,{href:"https://twitch.tv",children:"twitch.tv"}),". By integrating IGDB with GameVault, users get accurate and up-to-date game data. We're pleased to partner with IGDB to provide the best game information to our users."]}),"\n",(0,r.jsx)(d.h2,{id:"setup",children:"Setup"}),"\n",(0,r.jsxs)(d.ol,{children:["\n",(0,r.jsxs)(d.li,{children:["Log in to your Twitch Account on ",(0,r.jsx)(d.a,{href:"https://dev.twitch.tv/login",children:(0,r.jsx)(d.strong,{children:"dev.twitch.tv"})}),"\n",(0,r.jsxs)(d.ul,{children:["\n",(0,r.jsx)(d.li,{children:"Create a new account if you don't have one already."}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(d.li,{children:["Open the ",(0,r.jsx)(d.a,{href:"https://dev.twitch.tv/console/apps",children:(0,r.jsx)(d.strong,{children:"Twitch Developer dashboard"})}),"."]}),"\n",(0,r.jsxs)(d.li,{children:["Click on ",(0,r.jsx)(d.a,{href:"https://dev.twitch.tv/console/apps/create",children:(0,r.jsx)(d.strong,{children:"Register your application"})}),"\n",(0,r.jsx)(d.img,{alt:"Register your application",src:s(6473).Z+"",width:"1254",height:"393"})]}),"\n",(0,r.jsxs)(d.li,{children:["Fill out the form as shown in the image. Make sure to solve the CAPTCHA.\n",(0,r.jsx)(d.img,{alt:"Fill in the details",src:s(4749).Z+"",width:"1258",height:"832"})]}),"\n",(0,r.jsxs)(d.li,{children:["Once your application is created, click on ",(0,r.jsx)(d.strong,{children:"Manage"}),".\n",(0,r.jsx)(d.img,{alt:"Manage",src:s(5498).Z+"",width:"1259",height:"317"})]}),"\n",(0,r.jsxs)(d.li,{children:["Click on ",(0,r.jsx)(d.strong,{children:"New Secret"}),". Make sure to solve the CAPTCHA.\n",(0,r.jsx)(d.img,{alt:"New Secret",src:s(2509).Z+"",width:"1250",height:"1053"})]}),"\n",(0,r.jsxs)(d.li,{children:["Copy your ",(0,r.jsx)(d.strong,{children:"Client ID"})," and ",(0,r.jsx)(d.strong,{children:"Client Secret"})," and configure them in GameVaults ",(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_ID"})," and ",(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_SECRET"})," environment variables."]}),"\n",(0,r.jsxs)(d.li,{children:[(0,r.jsx)(d.strong,{children:"Done!"})," \ud83e\udd73 Now just restart your server and it should do it's magic. If you have lots of games, it may take a while to fetch all metadata. You can check the progress in the server logs."]}),"\n"]}),"\n",(0,r.jsx)(d.h2,{id:"configurations",children:"Configurations"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_ENABLED"})}),(0,r.jsx)(d.td,{children:"Enables / Disables the Provider"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"true"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_PRIORITY"})}),(0,r.jsx)(d.td,{children:"Priority of the Provider"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"50"})}),(0,r.jsx)(d.td,{children:"Any Integer"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_ID"})}),(0,r.jsx)(d.td,{children:"Your developer.twitch.tv Client ID"}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Your Client-ID"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_SECRET"})}),(0,r.jsx)(d.td,{children:"Your developer.twitch.tv Client Secret"}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Your Client-Secret"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"mappings",children:"Mappings"}),"\n",(0,r.jsx)(d.h3,{id:"fields",children:"Fields"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"GameVault Field"}),(0,r.jsx)(d.th,{children:"IGDB API Field(s)"}),(0,r.jsx)(d.th,{children:"Notes"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"provider_slug"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"igdb"})}),(0,r.jsx)(d.td,{children:"hardcoded."})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"age_rating"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"age_ratings"})}),(0,r.jsxs)(d.td,{children:["See ",(0,r.jsx)(d.a,{href:"#age-rating",children:"here"})," for details."]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"provider_data_id"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"id"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"provider_data_url"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"title"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"name"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"release_date"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"first_release_date"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"description"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"game.summary"})," and/or ",(0,r.jsx)(d.code,{children:"game.storyline"})]}),(0,r.jsx)(d.td,{children:"If both are available, both get used, else any available will be mapped"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"rating"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"total_rating"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"early_access"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"status"})}),(0,r.jsxs)(d.td,{children:["True if the Game is either in status ",(0,r.jsx)(d.code,{children:"alpha"}),", ",(0,r.jsx)(d.code,{children:"beta"})," or ",(0,r.jsx)(d.code,{children:"early_access"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"developers"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"involved_companies"})}),(0,r.jsxs)(d.td,{children:["Filtered by ",(0,r.jsx)(d.code,{children:"involved_company.developer === true"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"publishers"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"involved_companies"})}),(0,r.jsxs)(d.td,{children:["Filtered by ",(0,r.jsx)(d.code,{children:"involved_company.publisher === true"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"genres"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"genres"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"tags"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"keywords"})," and ",(0,r.jsx)(d.code,{children:"themes"})]}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"cover"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"cover"})}),(0,r.jsxs)(d.td,{children:["Using the highest possible cover resolution via ",(0,r.jsx)(d.code,{children:"t_cover_big_2x"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"background"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"artworks[0]"})," or ",(0,r.jsx)(d.code,{children:"screenshots[0]"})]}),(0,r.jsxs)(d.td,{children:["Only first artwork/screenshot is mapped. Using the highest possible 16:9 resolution via ",(0,r.jsx)(d.code,{children:"t_1080p_2x"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url_websites"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"websites.url"})}),(0,r.jsx)(d.td,{})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url_screenshots"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"screenshots"})," and ",(0,r.jsx)(d.code,{children:"artworks"})]}),(0,r.jsxs)(d.td,{children:["Using the highest possible 16:9 resolution via ",(0,r.jsx)(d.code,{children:"t_1080p_2x"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url_trailers"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"videos"})}),(0,r.jsx)(d.td,{children:'Only when video title includes the words "trailer", "teaser" or "intro"'})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url_gameplays"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"videos"})}),(0,r.jsx)(d.td,{children:'Only when video title includes the words "gameplay"'})]})]})]}),"\n",(0,r.jsx)(d.h3,{id:"age-rating",children:"Age Rating"}),"\n",(0,r.jsxs)(d.p,{children:['The table below shows how age ratings from GameVault and IGDB are matched. Ratings like "Not Yet Rated" are ignored. A game can have ratings from multiple systems. The IGDB integration calculates ',(0,r.jsx)(d.strong,{children:"the average of all ratings"}),", rounds it, and then saves it to GameVault."]}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Age Rating System"}),(0,r.jsx)(d.th,{children:"Rating Name"}),(0,r.jsx)(d.th,{children:"GameVault Minimum Age (Years)"}),(0,r.jsx)(d.th,{children:"IGDB Rating Enum Value"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"PEGI"})}),(0,r.jsx)(d.td,{children:"Three"}),(0,r.jsx)(d.td,{children:"3"}),(0,r.jsx)(d.td,{children:"1"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"Seven"}),(0,r.jsx)(d.td,{children:"7"}),(0,r.jsx)(d.td,{children:"2"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"Twelve"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"3"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"Sixteen"}),(0,r.jsx)(d.td,{children:"16"}),(0,r.jsx)(d.td,{children:"4"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"Eighteen"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"5"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"ESRB"})}),(0,r.jsx)(d.td,{children:"EC"}),(0,r.jsx)(d.td,{children:"3"}),(0,r.jsx)(d.td,{children:"7"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"E"}),(0,r.jsx)(d.td,{children:"6"}),(0,r.jsx)(d.td,{children:"8"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"E10"}),(0,r.jsx)(d.td,{children:"10"}),(0,r.jsx)(d.td,{children:"9"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"T"}),(0,r.jsx)(d.td,{children:"13"}),(0,r.jsx)(d.td,{children:"10"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"M"}),(0,r.jsx)(d.td,{children:"17"}),(0,r.jsx)(d.td,{children:"11"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"AO"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"12"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"CERO"})}),(0,r.jsx)(d.td,{children:"CERO_A"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"13"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CERO_B"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"14"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CERO_C"}),(0,r.jsx)(d.td,{children:"15"}),(0,r.jsx)(d.td,{children:"15"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CERO_D"}),(0,r.jsx)(d.td,{children:"17"}),(0,r.jsx)(d.td,{children:"16"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CERO_Z"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"17"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"USK"})}),(0,r.jsx)(d.td,{children:"USK_0"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"18"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"USK_6"}),(0,r.jsx)(d.td,{children:"6"}),(0,r.jsx)(d.td,{children:"19"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"USK_12"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"20"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"USK_16"}),(0,r.jsx)(d.td,{children:"16"}),(0,r.jsx)(d.td,{children:"21"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"USK_18"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"22"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"GRAC"})}),(0,r.jsx)(d.td,{children:"GRAC_ALL"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"23"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"GRAC_Twelve"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"24"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"GRAC_Fifteen"}),(0,r.jsx)(d.td,{children:"15"}),(0,r.jsx)(d.td,{children:"25"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"GRAC_Eighteen"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"26"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"CLASS_IND"})}),(0,r.jsx)(d.td,{children:"CLASS_IND_L"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"28"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Ten"}),(0,r.jsx)(d.td,{children:"10"}),(0,r.jsx)(d.td,{children:"29"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Twelve"}),(0,r.jsx)(d.td,{children:"12"}),(0,r.jsx)(d.td,{children:"30"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Fourteen"}),(0,r.jsx)(d.td,{children:"14"}),(0,r.jsx)(d.td,{children:"31"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Sixteen"}),(0,r.jsx)(d.td,{children:"16"}),(0,r.jsx)(d.td,{children:"32"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"CLASS_IND_Eighteen"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"33"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.strong,{children:"ACB"})}),(0,r.jsx)(d.td,{children:"ACB_G"}),(0,r.jsx)(d.td,{children:"0"}),(0,r.jsx)(d.td,{children:"34"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"ACB_PG"}),(0,r.jsx)(d.td,{children:"8"}),(0,r.jsx)(d.td,{children:"35"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"ACB_M"}),(0,r.jsx)(d.td,{children:"15"}),(0,r.jsx)(d.td,{children:"36"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"ACB_MA15"}),(0,r.jsx)(d.td,{children:"15"}),(0,r.jsx)(d.td,{children:"37"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{}),(0,r.jsx)(d.td,{children:"ACB_R18"}),(0,r.jsx)(d.td,{children:"18"}),(0,r.jsx)(d.td,{children:"38"})]})]})]})]})}function j(e={}){const{wrapper:d}={...(0,t.a)(),...e.components};return d?(0,r.jsx)(d,{...e,children:(0,r.jsx)(x,{...e})}):x(e)}},6473:(e,d,s)=>{s.d(d,{Z:()=>r});const r=s.p+"assets/images/setup-step-1-531ca876d7d5343984b56d73b5fe2527.png"},4749:(e,d,s)=>{s.d(d,{Z:()=>r});const r=s.p+"assets/images/setup-step-2-9b26b8c4e36c9ae8b00e578737b6412d.png"},5498:(e,d,s)=>{s.d(d,{Z:()=>r});const r=s.p+"assets/images/setup-step-3-1f45dd581f8cc3ffc8071bdcc115f0b9.png"},2509:(e,d,s)=>{s.d(d,{Z:()=>r});const r=s.p+"assets/images/setup-step-4-2906d1431be260bcadd96e0ce27e8749.png"},8358:(e,d,s)=>{s.d(d,{Z:()=>c,a:()=>n});var r=s(5271);const t={},i=r.createContext(t);function n(e){const d=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function c(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:n(e.components),r.createElement(i.Provider,{value:d},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1e0a1681.d65285c8.js b/assets/js/1e0a1681.c67a4dd9.js similarity index 98% rename from assets/js/1e0a1681.d65285c8.js rename to assets/js/1e0a1681.c67a4dd9.js index 3a6c8502c..b3bb7dede 100644 --- a/assets/js/1e0a1681.d65285c8.js +++ b/assets/js/1e0a1681.c67a4dd9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1420],{7547:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var o=t(2676),a=t(9246);const r={title:"Using Synology Container Manager",sidebar_position:6},s=void 0,i={id:"server-docs/setup/synology-container-manager",title:"Using Synology Container Manager",description:"Synology Container Manager is a software application developed by Synology Inc. for their network-attached storage (NAS) devices. It provides users with a graphical user interface for managing Docker containers, allowing them to deploy, manage, and monitor containerized applications on their Synology NAS.",source:"@site/docs/server-docs/setup/synology-container-manager.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/synology-container-manager",permalink:"/docs/server-docs/setup/synology-container-manager",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/synology-container-manager.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:6,frontMatter:{title:"Using Synology Container Manager",sidebar_position:6},sidebar:"docs",previous:{title:"Using UNRAID",permalink:"/docs/server-docs/setup/unraid"},next:{title:"Using Native Approach",permalink:"/docs/server-docs/setup/native"}},l={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Create Necessary Folders",id:"step-1-create-necessary-folders",level:2},{value:"Step 2: Set Up a Project in Container Manager",id:"step-2-set-up-a-project-in-container-manager",level:2},{value:"Step 3: Create Docker Compose File",id:"step-3-create-docker-compose-file",level:2},{value:"Alternative Step 3: Running without a PostgreSQL Database",id:"alternative-step-3-running-without-a-postgresql-database",level:3},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Reading the Logs",id:"reading-the-logs",level:3}];function d(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"Synology Container Manager is a software application developed by Synology Inc. for their network-attached storage (NAS) devices. It provides users with a graphical user interface for managing Docker containers, allowing them to deploy, manage, and monitor containerized applications on their Synology NAS."}),"\n",(0,o.jsx)(n.p,{children:"In this guide, you will learn how to set up GameVault on such a system using Docker Compose."}),"\n",(0,o.jsx)(n.admonition,{title:"Contribute to this page!",type:"note",children:(0,o.jsx)(n.p,{children:"Unfortunately, none of our team members uses Synology Hardware and this guide was written blindly. The GameVault Docs live from contributions. If you use a Synology system kindly contribute some screenshots to this page. Thanks!"})}),"\n",(0,o.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Access to a Synology NAS with ",(0,o.jsx)(n.a,{href:"https://www.synology.com/dsm/packages/ContainerManager",children:"Container Manager"})," installed. See supported devices ",(0,o.jsx)(n.a,{href:"https://www.synology.com/dsm/packages/ContainerManager",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"step-1-create-necessary-folders",children:"Step 1: Create Necessary Folders"}),"\n",(0,o.jsxs)(n.p,{children:["Begin by creating directories for the containers to utilize.",(0,o.jsx)(n.br,{}),"\n","Open ",(0,o.jsx)(n.code,{children:"File Station"})," and create the following folders:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/projects/gamevault-compose"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/gamevault"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/gamevault/files"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/gamevault/media"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/gamevault/database"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"step-2-set-up-a-project-in-container-manager",children:"Step 2: Set Up a Project in Container Manager"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Open ",(0,o.jsx)(n.code,{children:"Container Manager"})," from your Synology NAS."]}),"\n",(0,o.jsx)(n.li,{children:"Click on 'Project' and then 'Create'"}),"\n",(0,o.jsxs)(n.li,{children:["Fill in the following details:","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Project Name: ",(0,o.jsx)(n.code,{children:"gamevault"})]}),"\n",(0,o.jsxs)(n.li,{children:["Path: ",(0,o.jsx)(n.code,{children:"/docker/projects/gamevault-compose"})]}),"\n",(0,o.jsx)(n.li,{children:"Source: Select 'Create docker-compose.yml'"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"step-3-create-docker-compose-file",children:"Step 3: Create Docker Compose File"}),"\n",(0,o.jsx)(n.p,{children:"Copy and paste the following code into the editor:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yml",children:"services:\r\n gamevault-backend:\r\n image: phalcode/gamevault-backend:latest\r\n restart: unless-stopped\r\n environment:\r\n DB_HOST: db\r\n DB_USERNAME: gamevault\r\n DB_PASSWORD: YOURPASSWORDHERE\r\n volumes:\r\n - /volume1/docker/gamevault/files:/files\r\n - /volume1/docker/gamevault/media:/media\r\n ports:\r\n - 8080:8080/tcp\r\n db:\r\n image: postgres:16\r\n restart: unless-stopped\r\n environment:\r\n POSTGRES_USER: gamevault\r\n POSTGRES_PASSWORD: YOURPASSWORDHERE\r\n POSTGRES_DB: gamevault\r\n volumes:\r\n - /volume1/docker/gamevault/database:/var/lib/postgresql/data\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["Replace the variables (",(0,o.jsx)(n.code,{children:"YOURPASSWORDHERE"}),", ",(0,o.jsx)(n.code,{children:"etc."}),"), as well as the folder paths with what suits you, of course. You can change the port on the left side of the colon aswell."]})}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Password (YOURPASSWORDHERE) can't be empty! else the database will not work. If you don't want a password, consider running without a PostgreSQL Database (Not recommended)"})}),"\n",(0,o.jsx)(n.h3,{id:"alternative-step-3-running-without-a-postgresql-database",children:"Alternative Step 3: Running without a PostgreSQL Database"}),"\n",(0,o.jsx)(n.p,{children:"We don't recommend it, but you can run GameVault without a PostgreSQL Database too using the following configuration:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:'services:\r\n gamevault-backend:\r\n image: phalcode/gamevault-backend:latest\r\n restart: unless-stopped\r\n environment:\r\n DB_SYSTEM: "SQLITE"\r\n ports:\r\n - 8080:8080/tcp #Change the left one if you want\r\n volumes:\r\n - /volume1/docker/gamevault/files:/files\r\n - /volume1/docker/gamevault/media:/media\r\n - /volume1/docker/gamevault/database:/db\n'})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["Replace the variables (",(0,o.jsx)(n.code,{children:"YOURPASSWORDHERE"}),", ",(0,o.jsx)(n.code,{children:"etc."}),"), as well as the folder paths with what suits you, of course. You can change the port on the left side of the colon aswell."]})}),"\n",(0,o.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(n.p,{children:"You've successfully set up GameVault Server using Synology Container Manager. You should now be able to access the web interface via your NAS's IP address followed by port 8080. If you encounter any issues or have feedback, please let us know."}),"\n",(0,o.jsx)(n.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,o.jsx)(n.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,o.jsx)(n.p,{children:"To stop the GameVault Server, follow these steps:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Navigate to ",(0,o.jsx)(n.code,{children:"Container Manager"})," on your Synology NAS."]}),"\n",(0,o.jsx)(n.li,{children:"Select the GameVault container from the list of running containers."}),"\n",(0,o.jsx)(n.li,{children:'Click on "Stop" to halt the container\'s operation.'}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"reading-the-logs",children:"Reading the Logs"}),"\n",(0,o.jsx)(n.p,{children:"To view the logs for the GameVault Server, do the following:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Navigate to ",(0,o.jsx)(n.code,{children:"Container Manager"})," on your Synology NAS."]}),"\n",(0,o.jsx)(n.li,{children:"Select the GameVault container from the list of containers."}),"\n",(0,o.jsx)(n.li,{children:'Click on "Details" to expand the container\'s information.'}),"\n",(0,o.jsx)(n.li,{children:'Select the "Log" tab to view the container\'s logs in real-time.'}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},9246:(e,n,t)=>{t.d(n,{Z:()=>i,a:()=>s});var o=t(5271);const a={},r=o.createContext(a);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1420],{7547:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var o=t(2676),a=t(8358);const r={title:"Using Synology Container Manager",sidebar_position:6},s=void 0,i={id:"server-docs/setup/synology-container-manager",title:"Using Synology Container Manager",description:"Synology Container Manager is a software application developed by Synology Inc. for their network-attached storage (NAS) devices. It provides users with a graphical user interface for managing Docker containers, allowing them to deploy, manage, and monitor containerized applications on their Synology NAS.",source:"@site/docs/server-docs/setup/synology-container-manager.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/synology-container-manager",permalink:"/docs/server-docs/setup/synology-container-manager",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/synology-container-manager.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:6,frontMatter:{title:"Using Synology Container Manager",sidebar_position:6},sidebar:"docs",previous:{title:"Using UNRAID",permalink:"/docs/server-docs/setup/unraid"},next:{title:"Using Native Approach",permalink:"/docs/server-docs/setup/native"}},l={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Create Necessary Folders",id:"step-1-create-necessary-folders",level:2},{value:"Step 2: Set Up a Project in Container Manager",id:"step-2-set-up-a-project-in-container-manager",level:2},{value:"Step 3: Create Docker Compose File",id:"step-3-create-docker-compose-file",level:2},{value:"Alternative Step 3: Running without a PostgreSQL Database",id:"alternative-step-3-running-without-a-postgresql-database",level:3},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Reading the Logs",id:"reading-the-logs",level:3}];function d(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"Synology Container Manager is a software application developed by Synology Inc. for their network-attached storage (NAS) devices. It provides users with a graphical user interface for managing Docker containers, allowing them to deploy, manage, and monitor containerized applications on their Synology NAS."}),"\n",(0,o.jsx)(n.p,{children:"In this guide, you will learn how to set up GameVault on such a system using Docker Compose."}),"\n",(0,o.jsx)(n.admonition,{title:"Contribute to this page!",type:"note",children:(0,o.jsx)(n.p,{children:"Unfortunately, none of our team members uses Synology Hardware and this guide was written blindly. The GameVault Docs live from contributions. If you use a Synology system kindly contribute some screenshots to this page. Thanks!"})}),"\n",(0,o.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Access to a Synology NAS with ",(0,o.jsx)(n.a,{href:"https://www.synology.com/dsm/packages/ContainerManager",children:"Container Manager"})," installed. See supported devices ",(0,o.jsx)(n.a,{href:"https://www.synology.com/dsm/packages/ContainerManager",children:"here"}),"."]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"step-1-create-necessary-folders",children:"Step 1: Create Necessary Folders"}),"\n",(0,o.jsxs)(n.p,{children:["Begin by creating directories for the containers to utilize.",(0,o.jsx)(n.br,{}),"\n","Open ",(0,o.jsx)(n.code,{children:"File Station"})," and create the following folders:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/projects/gamevault-compose"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/gamevault"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/gamevault/files"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/gamevault/media"})}),"\n",(0,o.jsx)(n.li,{children:(0,o.jsx)(n.code,{children:"/docker/gamevault/database"})}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"step-2-set-up-a-project-in-container-manager",children:"Step 2: Set Up a Project in Container Manager"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Open ",(0,o.jsx)(n.code,{children:"Container Manager"})," from your Synology NAS."]}),"\n",(0,o.jsx)(n.li,{children:"Click on 'Project' and then 'Create'"}),"\n",(0,o.jsxs)(n.li,{children:["Fill in the following details:","\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Project Name: ",(0,o.jsx)(n.code,{children:"gamevault"})]}),"\n",(0,o.jsxs)(n.li,{children:["Path: ",(0,o.jsx)(n.code,{children:"/docker/projects/gamevault-compose"})]}),"\n",(0,o.jsx)(n.li,{children:"Source: Select 'Create docker-compose.yml'"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"step-3-create-docker-compose-file",children:"Step 3: Create Docker Compose File"}),"\n",(0,o.jsx)(n.p,{children:"Copy and paste the following code into the editor:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yml",children:"services:\r\n gamevault-backend:\r\n image: phalcode/gamevault-backend:latest\r\n restart: unless-stopped\r\n environment:\r\n DB_HOST: db\r\n DB_USERNAME: gamevault\r\n DB_PASSWORD: YOURPASSWORDHERE\r\n volumes:\r\n - /volume1/docker/gamevault/files:/files\r\n - /volume1/docker/gamevault/media:/media\r\n ports:\r\n - 8080:8080/tcp\r\n db:\r\n image: postgres:16\r\n restart: unless-stopped\r\n environment:\r\n POSTGRES_USER: gamevault\r\n POSTGRES_PASSWORD: YOURPASSWORDHERE\r\n POSTGRES_DB: gamevault\r\n volumes:\r\n - /volume1/docker/gamevault/database:/var/lib/postgresql/data\n"})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["Replace the variables (",(0,o.jsx)(n.code,{children:"YOURPASSWORDHERE"}),", ",(0,o.jsx)(n.code,{children:"etc."}),"), as well as the folder paths with what suits you, of course. You can change the port on the left side of the colon aswell."]})}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsx)(n.p,{children:"Password (YOURPASSWORDHERE) can't be empty! else the database will not work. If you don't want a password, consider running without a PostgreSQL Database (Not recommended)"})}),"\n",(0,o.jsx)(n.h3,{id:"alternative-step-3-running-without-a-postgresql-database",children:"Alternative Step 3: Running without a PostgreSQL Database"}),"\n",(0,o.jsx)(n.p,{children:"We don't recommend it, but you can run GameVault without a PostgreSQL Database too using the following configuration:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:'services:\r\n gamevault-backend:\r\n image: phalcode/gamevault-backend:latest\r\n restart: unless-stopped\r\n environment:\r\n DB_SYSTEM: "SQLITE"\r\n ports:\r\n - 8080:8080/tcp #Change the left one if you want\r\n volumes:\r\n - /volume1/docker/gamevault/files:/files\r\n - /volume1/docker/gamevault/media:/media\r\n - /volume1/docker/gamevault/database:/db\n'})}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["Replace the variables (",(0,o.jsx)(n.code,{children:"YOURPASSWORDHERE"}),", ",(0,o.jsx)(n.code,{children:"etc."}),"), as well as the folder paths with what suits you, of course. You can change the port on the left side of the colon aswell."]})}),"\n",(0,o.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(n.p,{children:"You've successfully set up GameVault Server using Synology Container Manager. You should now be able to access the web interface via your NAS's IP address followed by port 8080. If you encounter any issues or have feedback, please let us know."}),"\n",(0,o.jsx)(n.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,o.jsx)(n.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,o.jsx)(n.p,{children:"To stop the GameVault Server, follow these steps:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Navigate to ",(0,o.jsx)(n.code,{children:"Container Manager"})," on your Synology NAS."]}),"\n",(0,o.jsx)(n.li,{children:"Select the GameVault container from the list of running containers."}),"\n",(0,o.jsx)(n.li,{children:'Click on "Stop" to halt the container\'s operation.'}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"reading-the-logs",children:"Reading the Logs"}),"\n",(0,o.jsx)(n.p,{children:"To view the logs for the GameVault Server, do the following:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Navigate to ",(0,o.jsx)(n.code,{children:"Container Manager"})," on your Synology NAS."]}),"\n",(0,o.jsx)(n.li,{children:"Select the GameVault container from the list of containers."}),"\n",(0,o.jsx)(n.li,{children:'Click on "Details" to expand the container\'s information.'}),"\n",(0,o.jsx)(n.li,{children:'Select the "Log" tab to view the container\'s logs in real-time.'}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8358:(e,n,t)=>{t.d(n,{Z:()=>i,a:()=>s});var o=t(5271);const a={},r=o.createContext(a);function s(e){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2024b8b1.1a062afe.js b/assets/js/2024b8b1.318d4076.js similarity index 94% rename from assets/js/2024b8b1.1a062afe.js rename to assets/js/2024b8b1.318d4076.js index fe6784736..9b47881ea 100644 --- a/assets/js/2024b8b1.1a062afe.js +++ b/assets/js/2024b8b1.318d4076.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7596],{9216:(e,a,l)=>{l.r(a),l.d(a,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>m});var n=l(2676),t=l(9246);const o={title:"Please help us prioritize!",authors:["alfagun74"],tags:["community","GameVault","development","roadmap","collaboration","feedback","GitHub","voting","features","platform","Kanban Board","Discord","Council Member","polls","gaming experience"]},i=void 0,r={permalink:"/blog/2023/07/29/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-29.md",source:"@site/blog/2023-07-29.md",title:"Please help us prioritize!",description:"Hello everyone!",date:"2023-07-29T00:00:00.000Z",tags:[{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"development",permalink:"/blog/tags/development"},{inline:!0,label:"roadmap",permalink:"/blog/tags/roadmap"},{inline:!0,label:"collaboration",permalink:"/blog/tags/collaboration"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"GitHub",permalink:"/blog/tags/git-hub"},{inline:!0,label:"voting",permalink:"/blog/tags/voting"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"platform",permalink:"/blog/tags/platform"},{inline:!0,label:"Kanban Board",permalink:"/blog/tags/kanban-board"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"Council Member",permalink:"/blog/tags/council-member"},{inline:!0,label:"polls",permalink:"/blog/tags/polls"},{inline:!0,label:"gaming experience",permalink:"/blog/tags/gaming-experience"}],readingTime:1.995,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Please help us prioritize!",authors:["alfagun74"],tags:["community","GameVault","development","roadmap","collaboration","feedback","GitHub","voting","features","platform","Kanban Board","Discord","Council Member","polls","gaming experience"]},unlisted:!1,prevItem:{title:"A Look Back and a Glimpse Forward",permalink:"/blog/2023/11/20/"},nextItem:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",permalink:"/blog/2023/07/24/"}},s={authorsImageUrls:[void 0]},m=[];function g(e){const a={p:"p",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hello everyone!"}),"\n",(0,n.jsx)(a.p,{children:"We hope you're all doing well. We wanted to take a moment to express our heartfelt gratitude for the flood of feature requests and bug reports that have been pouring into our issue trackers."})]})}function p(e={}){const{wrapper:a}={...(0,t.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(g,{...e})}):g(e)}},9246:(e,a,l)=>{l.d(a,{Z:()=>r,a:()=>i});var n=l(5271);const t={},o=n.createContext(t);function i(e){const a=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7596],{4169:(e,a,l)=>{l.r(a),l.d(a,{assets:()=>s,contentTitle:()=>i,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>m});var n=l(2676),t=l(8358);const o={title:"Please help us prioritize!",authors:["alfagun74"],tags:["community","GameVault","development","roadmap","collaboration","feedback","GitHub","voting","features","platform","Kanban Board","Discord","Council Member","polls","gaming experience"]},i=void 0,r={permalink:"/blog/2023/07/29/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-29.md",source:"@site/blog/2023-07-29.md",title:"Please help us prioritize!",description:"Hello everyone!",date:"2023-07-29T00:00:00.000Z",tags:[{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"development",permalink:"/blog/tags/development"},{inline:!0,label:"roadmap",permalink:"/blog/tags/roadmap"},{inline:!0,label:"collaboration",permalink:"/blog/tags/collaboration"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"GitHub",permalink:"/blog/tags/git-hub"},{inline:!0,label:"voting",permalink:"/blog/tags/voting"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"platform",permalink:"/blog/tags/platform"},{inline:!0,label:"Kanban Board",permalink:"/blog/tags/kanban-board"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"Council Member",permalink:"/blog/tags/council-member"},{inline:!0,label:"polls",permalink:"/blog/tags/polls"},{inline:!0,label:"gaming experience",permalink:"/blog/tags/gaming-experience"}],readingTime:1.995,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Please help us prioritize!",authors:["alfagun74"],tags:["community","GameVault","development","roadmap","collaboration","feedback","GitHub","voting","features","platform","Kanban Board","Discord","Council Member","polls","gaming experience"]},unlisted:!1,prevItem:{title:"A Look Back and a Glimpse Forward",permalink:"/blog/2023/11/20/"},nextItem:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",permalink:"/blog/2023/07/24/"}},s={authorsImageUrls:[void 0]},m=[];function g(e){const a={p:"p",...(0,t.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hello everyone!"}),"\n",(0,n.jsx)(a.p,{children:"We hope you're all doing well. We wanted to take a moment to express our heartfelt gratitude for the flood of feature requests and bug reports that have been pouring into our issue trackers."})]})}function p(e={}){const{wrapper:a}={...(0,t.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(g,{...e})}):g(e)}},8358:(e,a,l)=>{l.d(a,{Z:()=>r,a:()=>i});var n=l(5271);const t={},o=n.createContext(t);function i(e){const a=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),n.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/369.e74b4f81.js b/assets/js/2091.0cdaafca.js similarity index 89% rename from assets/js/369.e74b4f81.js rename to assets/js/2091.0cdaafca.js index dfd823c2c..2388c6d46 100644 --- a/assets/js/369.e74b4f81.js +++ b/assets/js/2091.0cdaafca.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[369],{5117:(e,t,a)=>{a.d(t,{n4:()=>c,Ne:()=>Z,ci:()=>M,CS:()=>f,wj:()=>i,nO:()=>u,iZ:()=>x,cH:()=>C});var n=a(5271),s=a(1669),r=a(5824),l=a(2676);function i(){const e=(0,r.Z)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=n.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:s=!1}=e;const r=function(e){let{content:t,isBlogPostPage:a}=e;return(0,n.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:s});return(0,l.jsx)(o.Provider,{value:r,children:t})}function u(){const e=(0,n.useContext)(o);if(null===e)throw new s.i6("BlogPostProvider");return e}var m=a(8086),h=a(2100);const d=e=>new Date(e).toISOString();function g(e){const t=e.map(v);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:j({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){const{siteConfig:t}=(0,h.Z)(),{withBaseUrl:a}=(0,m.Cg)(),{metadata:{blogDescription:n,blogTitle:s,permalink:r}}=e,l=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":l,mainEntityOfPage:l,headline:s,description:n,blogPost:e.items.map((e=>function(e,t,a){const{assets:n,frontMatter:s,metadata:r}=e,{date:l,title:i,description:o,lastUpdatedAt:c}=r,u=n.image??s.image,m=s.keywords??[],h=`${t.url}${r.permalink}`,f=c?d(c):void 0;return{"@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:i,name:i,description:o,datePublished:l,...f?{dateModified:f}:{},...g(r.authors),...p(u,a,i),...m?{keywords:m}:{}}}(e.content,t,a)))}}function x(){const e=i(),{assets:t,metadata:a}=u(),{siteConfig:n}=(0,h.Z)(),{withBaseUrl:s}=(0,m.Cg)(),{date:r,title:l,description:o,frontMatter:c,lastUpdatedAt:f}=a,x=t.image??c.image,v=c.keywords??[],j=f?d(f):void 0,b=`${n.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":b,mainEntityOfPage:b,url:b,headline:l,name:l,description:o,datePublished:r,...j?{dateModified:j}:{},...g(a.authors),...p(x,s,l),...v?{keywords:v}:{},isPartOf:{"@type":"Blog","@id":`${n.url}${e.blogBasePath}`,name:e.blogTitle}}}function v(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function j(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var b=a(3225),w=a(9347),N=a(3696),k=a(9322);function C(e){const{pathname:t}=(0,b.TH)();return(0,n.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.Mg)(e.permalink,t))}(e,t)))),[e,t])}function M(e){const t=(0,N.vM)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function Z(e){let{items:t,ulClassName:a,liClassName:n,linkClassName:s,linkActiveClassName:r}=e;return(0,l.jsx)("ul",{className:a,children:t.map((e=>(0,l.jsx)("li",{className:n,children:(0,l.jsx)(w.Z,{isNavLink:!0,to:e.permalink,className:s,activeClassName:r,children:e.title})},e.permalink)))})}},7981:(e,t,a)=>{a.d(t,{Z:()=>j});a(5271);var n=a(4814),s=a(9347),r=a(2676);const l="githubSvg_ujvF";const i="xSvg_mPQQ";const o=function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,r.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,r.jsx)("path",{d:"M3.6 9h16.8"}),(0,r.jsx)("path",{d:"M3.6 15h16.8"}),(0,r.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,r.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})},c={authorSocials:"authorSocials_iCqw",authorSocialLink:"authorSocialLink_EN0k",authorSocialIcon:"authorSocialIcon_YEXF"},u={twitter:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 209",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:(0,r.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 250",width:"1em",height:"1em",...e,className:(0,n.Z)(e.className,l),xmlns:"http://www.w3.org/2000/svg",style:{"--dark":"#000","--light":"#fff"},preserveAspectRatio:"xMidYMid",children:(0,r.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,r.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,r.jsx)("svg",{width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,r.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",...e,className:(0,n.Z)(e.className,i),style:{"--dark":"#000","--light":"#fff"},children:(0,r.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"}};function m(e){let{platform:t,link:a}=e;const{Icon:l,label:i}=u[m=t]??{Icon:o,label:m};var m;return(0,r.jsx)(s.Z,{className:c.authorSocialLink,href:a,title:i,children:(0,r.jsx)(l,{className:(0,n.Z)(c.authorSocialLink)})})}function h(e){let{author:t}=e;const a=Object.entries(t.socials??{});return(0,r.jsx)("div",{className:c.authorSocials,children:a.map((e=>{let[t,a]=e;return(0,r.jsx)(m,{platform:t,link:a},t)}))})}var d=a(6078);const g={authorImage:"authorImage_AQkC","author-as-h1":"author-as-h1_s179","author-as-h2":"author-as-h2_BF4G",authorDetails:"authorDetails_ie2u",authorName:"authorName_s97L",authorTitle:"authorTitle_w1Af",authorBlogPostCount:"authorBlogPostCount_fH2W"};function p(e){return e.href?(0,r.jsx)(s.Z,{...e}):(0,r.jsx)(r.Fragment,{children:e.children})}function f(e){let{title:t}=e;return(0,r.jsx)("small",{className:g.authorTitle,title:t,children:t})}function x(e){let{name:t,as:a}=e;return a?(0,r.jsx)(d.Z,{as:a,className:g.authorName,children:t}):(0,r.jsx)("span",{className:g.authorName,children:t})}function v(e){let{count:t}=e;return(0,r.jsx)("span",{className:(0,n.Z)(g.authorBlogPostCount),children:t})}function j(e){let{as:t,author:a,className:s,count:l}=e;const{name:i,title:o,url:c,imageURL:u,email:m,page:d}=a,j=d?.permalink||c||m&&`mailto:${m}`||void 0;return(0,r.jsxs)("div",{className:(0,n.Z)("avatar margin-bottom--sm",s,g[`author-as-${t}`]),children:[u&&(0,r.jsx)(p,{href:j,className:"avatar__photo-link",children:(0,r.jsx)("img",{className:(0,n.Z)("avatar__photo",g.authorImage),src:u,alt:i})}),(i||o)&&(0,r.jsxs)("div",{className:(0,n.Z)("avatar__intro",g.authorDetails),children:[(0,r.jsxs)("div",{className:"avatar__name",children:[i&&(0,r.jsx)(p,{href:j,children:(0,r.jsx)(x,{name:i,as:t})}),l&&(0,r.jsx)(v,{count:l})]}),!!o&&(0,r.jsx)(f,{title:o}),(0,r.jsx)(h,{author:a})]})]})}},9935:(e,t,a)=>{a.d(t,{Z:()=>H});var n=a(5271),s=a(4814),r=a(8849),l=a(8652),i=a(9665),o=a(5117),c=a(5996),u=a(6078),m=a(2676);function h(e){let{year:t,yearGroupHeadingClassName:a,children:n}=e;return(0,m.jsxs)("div",{role:"group",children:[(0,m.jsx)(u.Z,{as:"h3",className:a,children:t}),n]})}function d(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:n}=e;if((0,c.L)().blog.sidebar.groupByYear){const e=(0,o.ci)(t);return(0,m.jsx)(m.Fragment,{children:e.map((e=>{let[t,s]=e;return(0,m.jsx)(h,{year:t,yearGroupHeadingClassName:a,children:(0,m.jsx)(n,{items:s})},t)}))})}return(0,m.jsx)(n,{items:t})}const g=(0,n.memo)(d),p="sidebar_O_Xz",f="sidebarItemTitle_NsE9",x="sidebarItemList_yaC1",v="sidebarItem_PDlg",j="sidebarItemLink_HUlZ",b="sidebarItemLinkActive_eKb7",w="yearGroupHeading_ypKa",N=e=>{let{items:t}=e;return(0,m.jsx)(o.Ne,{items:t,ulClassName:(0,s.Z)(x,"clean-list"),liClassName:v,linkClassName:j,linkActiveClassName:b})};function k(e){let{sidebar:t}=e;const a=(0,o.cH)(t.items);return(0,m.jsx)("aside",{className:"col col--3",children:(0,m.jsxs)("nav",{className:(0,s.Z)(p,"thin-scrollbar"),"aria-label":(0,i.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,m.jsx)("div",{className:(0,s.Z)(f,"margin-bottom--md"),children:t.title}),(0,m.jsx)(g,{items:a,ListComponent:N,yearGroupHeadingClassName:w})]})})}const C=(0,n.memo)(k);var M=a(2466);const Z={yearGroupHeading:"yearGroupHeading_Zf6e"},_=e=>{let{items:t}=e;return(0,m.jsx)(o.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function y(e){let{sidebar:t}=e;const a=(0,o.cH)(t.items);return(0,m.jsx)(g,{items:a,ListComponent:_,yearGroupHeadingClassName:Z.yearGroupHeading})}function P(e){return(0,m.jsx)(M.Zo,{component:y,props:e})}const L=(0,n.memo)(P);function B(e){let{sidebar:t}=e;const a=(0,l.i)();return t?.items.length?"mobile"===a?(0,m.jsx)(L,{sidebar:t}):(0,m.jsx)(C,{sidebar:t}):null}function H(e){const{sidebar:t,toc:a,children:n,...l}=e,i=t&&t.items.length>0;return(0,m.jsx)(r.Z,{...l,children:(0,m.jsx)("div",{className:"container margin-vert--lg",children:(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)(B,{sidebar:t}),(0,m.jsx)("main",{className:(0,s.Z)("col",{"col--7":i,"col--9 col--offset-1":!i}),children:n}),a&&(0,m.jsx)("div",{className:"col col--2",children:a})]})})})}},5416:(e,t,a)=>{a.d(t,{c:()=>c});var n=a(5271),s=a(2100);const r=["zero","one","two","few","many","other"];function l(e){return r.filter((t=>e.includes(t)))}const i={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,s.Z)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),i}}),[e])}function c(){const e=o();return{selectMessage:(t,a)=>function(e,t,a){const n=e.split("|");if(1===n.length)return n[0];n.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const s=a.select(t),r=a.pluralForms.indexOf(s);return n[Math.min(r,n.length-1)]}(a,t,e)}}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2091],{5023:(e,t,a)=>{a.d(t,{n4:()=>c,Ne:()=>Z,ci:()=>M,CS:()=>f,wj:()=>i,nO:()=>u,iZ:()=>x,cH:()=>C});var n=a(5271),s=a(8274),r=a(4268),l=a(2676);function i(){const e=(0,r.Z)(),t=e?.data?.blogMetadata;if(!t)throw new Error("useBlogMetadata() can't be called on the current route because the blog metadata could not be found in route context");return t}const o=n.createContext(null);function c(e){let{children:t,content:a,isBlogPostPage:s=!1}=e;const r=function(e){let{content:t,isBlogPostPage:a}=e;return(0,n.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:s});return(0,l.jsx)(o.Provider,{value:r,children:t})}function u(){const e=(0,n.useContext)(o);if(null===e)throw new s.i6("BlogPostProvider");return e}var m=a(285),h=a(6172);const d=e=>new Date(e).toISOString();function g(e){const t=e.map(v);return{author:1===t.length?t[0]:t}}function p(e,t,a){return e?{image:j({imageUrl:t(e,{absolute:!0}),caption:`title image for the blog post: ${a}`})}:{}}function f(e){const{siteConfig:t}=(0,h.Z)(),{withBaseUrl:a}=(0,m.Cg)(),{metadata:{blogDescription:n,blogTitle:s,permalink:r}}=e,l=`${t.url}${r}`;return{"@context":"https://schema.org","@type":"Blog","@id":l,mainEntityOfPage:l,headline:s,description:n,blogPost:e.items.map((e=>function(e,t,a){const{assets:n,frontMatter:s,metadata:r}=e,{date:l,title:i,description:o,lastUpdatedAt:c}=r,u=n.image??s.image,m=s.keywords??[],h=`${t.url}${r.permalink}`,f=c?d(c):void 0;return{"@type":"BlogPosting","@id":h,mainEntityOfPage:h,url:h,headline:i,name:i,description:o,datePublished:l,...f?{dateModified:f}:{},...g(r.authors),...p(u,a,i),...m?{keywords:m}:{}}}(e.content,t,a)))}}function x(){const e=i(),{assets:t,metadata:a}=u(),{siteConfig:n}=(0,h.Z)(),{withBaseUrl:s}=(0,m.Cg)(),{date:r,title:l,description:o,frontMatter:c,lastUpdatedAt:f}=a,x=t.image??c.image,v=c.keywords??[],j=f?d(f):void 0,b=`${n.url}${a.permalink}`;return{"@context":"https://schema.org","@type":"BlogPosting","@id":b,mainEntityOfPage:b,url:b,headline:l,name:l,description:o,datePublished:r,...j?{dateModified:j}:{},...g(a.authors),...p(x,s,l),...v?{keywords:v}:{},isPartOf:{"@type":"Blog","@id":`${n.url}${e.blogBasePath}`,name:e.blogTitle}}}function v(e){return{"@type":"Person",...e.name?{name:e.name}:{},...e.title?{description:e.title}:{},...e.url?{url:e.url}:{},...e.email?{email:e.email}:{},...e.imageURL?{image:e.imageURL}:{}}}function j(e){let{imageUrl:t,caption:a}=e;return{"@type":"ImageObject","@id":t,url:t,contentUrl:t,caption:a}}var b=a(3225),w=a(6527),N=a(2347),k=a(6422);function C(e){const{pathname:t}=(0,b.TH)();return(0,n.useMemo)((()=>e.filter((e=>function(e,t){return!(e.unlisted&&!(0,k.Mg)(e.permalink,t))}(e,t)))),[e,t])}function M(e){const t=(0,N.vM)(e,(e=>`${new Date(e.date).getFullYear()}`)),a=Object.entries(t);return a.reverse(),a}function Z(e){let{items:t,ulClassName:a,liClassName:n,linkClassName:s,linkActiveClassName:r}=e;return(0,l.jsx)("ul",{className:a,children:t.map((e=>(0,l.jsx)("li",{className:n,children:(0,l.jsx)(w.Z,{isNavLink:!0,to:e.permalink,className:s,activeClassName:r,children:e.title})},e.permalink)))})}},8059:(e,t,a)=>{a.d(t,{Z:()=>j});a(5271);var n=a(4814),s=a(6527),r=a(2676);const l="githubSvg_ujvF";const i="xSvg_mPQQ";const o=function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,r.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,r.jsx)("path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"}),(0,r.jsx)("path",{d:"M3.6 9h16.8"}),(0,r.jsx)("path",{d:"M3.6 15h16.8"}),(0,r.jsx)("path",{d:"M11.5 3a17 17 0 0 0 0 18"}),(0,r.jsx)("path",{d:"M12.5 3a17 17 0 0 1 0 18"})]})},c={authorSocials:"authorSocials_iCqw",authorSocialLink:"authorSocialLink_EN0k",authorSocialIcon:"authorSocialIcon_YEXF"},u={twitter:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 209",width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",...e,children:(0,r.jsx)("path",{d:"M256 25.45c-9.42 4.177-19.542 7-30.166 8.27 10.845-6.5 19.172-16.793 23.093-29.057a105.183 105.183 0 0 1-33.351 12.745C205.995 7.201 192.346.822 177.239.822c-29.006 0-52.523 23.516-52.523 52.52 0 4.117.465 8.125 1.36 11.97-43.65-2.191-82.35-23.1-108.255-54.876-4.52 7.757-7.11 16.78-7.11 26.404 0 18.222 9.273 34.297 23.365 43.716a52.312 52.312 0 0 1-23.79-6.57c-.003.22-.003.44-.003.661 0 25.447 18.104 46.675 42.13 51.5a52.592 52.592 0 0 1-23.718.9c6.683 20.866 26.08 36.05 49.062 36.475-17.975 14.086-40.622 22.483-65.228 22.483-4.24 0-8.42-.249-12.529-.734 23.243 14.902 50.85 23.597 80.51 23.597 96.607 0 149.434-80.031 149.434-149.435 0-2.278-.05-4.543-.152-6.795A106.748 106.748 0 0 0 256 25.45",fill:"#55acee"})})},label:"Twitter"},github:{Icon:function(e){return(0,r.jsx)("svg",{viewBox:"0 0 256 250",width:"1em",height:"1em",...e,className:(0,n.Z)(e.className,l),xmlns:"http://www.w3.org/2000/svg",style:{"--dark":"#000","--light":"#fff"},preserveAspectRatio:"xMidYMid",children:(0,r.jsx)("path",{d:"M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"})})},label:"GitHub"},stackoverflow:{Icon:function(e){return(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 169.61 200",width:"1em",height:"1em",...e,children:[(0,r.jsx)("path",{d:"M140.44 178.38v-48.65h21.61V200H0v-70.27h21.61v48.65z",fill:"#bcbbbb"}),(0,r.jsx)("path",{d:"M124.24 140.54l4.32-16.22-86.97-17.83-3.78 17.83zM49.7 82.16L130.72 120l7.56-16.22-81.02-37.83zm22.68-40l68.06 57.3 11.35-13.51-68.6-57.3-11.35 13.51zM116.14 0l-14.59 10.81 53.48 71.89 14.58-10.81zM37.81 162.16h86.43v-16.21H37.81z",fill:"#f48024"})]})},label:"Stack Overflow"},linkedin:{Icon:function(e){return(0,r.jsx)("svg",{width:"1em",height:"1em",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",...e,children:(0,r.jsx)("path",{d:"M218.123 218.127h-37.931v-59.403c0-14.165-.253-32.4-19.728-32.4-19.756 0-22.779 15.434-22.779 31.369v60.43h-37.93V95.967h36.413v16.694h.51a39.907 39.907 0 0 1 35.928-19.733c38.445 0 45.533 25.288 45.533 58.186l-.016 67.013ZM56.955 79.27c-12.157.002-22.014-9.852-22.016-22.009-.002-12.157 9.851-22.014 22.008-22.016 12.157-.003 22.014 9.851 22.016 22.008A22.013 22.013 0 0 1 56.955 79.27m18.966 138.858H37.95V95.967h37.97v122.16ZM237.033.018H18.89C8.58-.098.125 8.161-.001 18.471v219.053c.122 10.315 8.576 18.582 18.89 18.474h218.144c10.336.128 18.823-8.139 18.966-18.474V18.454c-.147-10.33-8.635-18.588-18.966-18.453",fill:"#0A66C2"})})},label:"LinkedIn"},x:{Icon:function(e){return(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 1200 1227",...e,className:(0,n.Z)(e.className,i),style:{"--dark":"#000","--light":"#fff"},children:(0,r.jsx)("path",{d:"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"})})},label:"X"}};function m(e){let{platform:t,link:a}=e;const{Icon:l,label:i}=u[m=t]??{Icon:o,label:m};var m;return(0,r.jsx)(s.Z,{className:c.authorSocialLink,href:a,title:i,children:(0,r.jsx)(l,{className:(0,n.Z)(c.authorSocialLink)})})}function h(e){let{author:t}=e;const a=Object.entries(t.socials??{});return(0,r.jsx)("div",{className:c.authorSocials,children:a.map((e=>{let[t,a]=e;return(0,r.jsx)(m,{platform:t,link:a},t)}))})}var d=a(3221);const g={authorImage:"authorImage_AQkC","author-as-h1":"author-as-h1_s179","author-as-h2":"author-as-h2_BF4G",authorDetails:"authorDetails_ie2u",authorName:"authorName_s97L",authorTitle:"authorTitle_w1Af",authorBlogPostCount:"authorBlogPostCount_fH2W"};function p(e){return e.href?(0,r.jsx)(s.Z,{...e}):(0,r.jsx)(r.Fragment,{children:e.children})}function f(e){let{title:t}=e;return(0,r.jsx)("small",{className:g.authorTitle,title:t,children:t})}function x(e){let{name:t,as:a}=e;return a?(0,r.jsx)(d.Z,{as:a,className:g.authorName,children:t}):(0,r.jsx)("span",{className:g.authorName,children:t})}function v(e){let{count:t}=e;return(0,r.jsx)("span",{className:(0,n.Z)(g.authorBlogPostCount),children:t})}function j(e){let{as:t,author:a,className:s,count:l}=e;const{name:i,title:o,url:c,imageURL:u,email:m,page:d}=a,j=d?.permalink||c||m&&`mailto:${m}`||void 0;return(0,r.jsxs)("div",{className:(0,n.Z)("avatar margin-bottom--sm",s,g[`author-as-${t}`]),children:[u&&(0,r.jsx)(p,{href:j,className:"avatar__photo-link",children:(0,r.jsx)("img",{className:(0,n.Z)("avatar__photo",g.authorImage),src:u,alt:i})}),(i||o)&&(0,r.jsxs)("div",{className:(0,n.Z)("avatar__intro",g.authorDetails),children:[(0,r.jsxs)("div",{className:"avatar__name",children:[i&&(0,r.jsx)(p,{href:j,children:(0,r.jsx)(x,{name:i,as:t})}),l&&(0,r.jsx)(v,{count:l})]}),!!o&&(0,r.jsx)(f,{title:o}),(0,r.jsx)(h,{author:a})]})]})}},6566:(e,t,a)=>{a.d(t,{Z:()=>H});var n=a(5271),s=a(4814),r=a(3557),l=a(3320),i=a(2922),o=a(5023),c=a(9364),u=a(3221),m=a(2676);function h(e){let{year:t,yearGroupHeadingClassName:a,children:n}=e;return(0,m.jsxs)("div",{role:"group",children:[(0,m.jsx)(u.Z,{as:"h3",className:a,children:t}),n]})}function d(e){let{items:t,yearGroupHeadingClassName:a,ListComponent:n}=e;if((0,c.L)().blog.sidebar.groupByYear){const e=(0,o.ci)(t);return(0,m.jsx)(m.Fragment,{children:e.map((e=>{let[t,s]=e;return(0,m.jsx)(h,{year:t,yearGroupHeadingClassName:a,children:(0,m.jsx)(n,{items:s})},t)}))})}return(0,m.jsx)(n,{items:t})}const g=(0,n.memo)(d),p="sidebar_O_Xz",f="sidebarItemTitle_NsE9",x="sidebarItemList_yaC1",v="sidebarItem_PDlg",j="sidebarItemLink_HUlZ",b="sidebarItemLinkActive_eKb7",w="yearGroupHeading_ypKa",N=e=>{let{items:t}=e;return(0,m.jsx)(o.Ne,{items:t,ulClassName:(0,s.Z)(x,"clean-list"),liClassName:v,linkClassName:j,linkActiveClassName:b})};function k(e){let{sidebar:t}=e;const a=(0,o.cH)(t.items);return(0,m.jsx)("aside",{className:"col col--3",children:(0,m.jsxs)("nav",{className:(0,s.Z)(p,"thin-scrollbar"),"aria-label":(0,i.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"}),children:[(0,m.jsx)("div",{className:(0,s.Z)(f,"margin-bottom--md"),children:t.title}),(0,m.jsx)(g,{items:a,ListComponent:N,yearGroupHeadingClassName:w})]})})}const C=(0,n.memo)(k);var M=a(3158);const Z={yearGroupHeading:"yearGroupHeading_Zf6e"},_=e=>{let{items:t}=e;return(0,m.jsx)(o.Ne,{items:t,ulClassName:"menu__list",liClassName:"menu__list-item",linkClassName:"menu__link",linkActiveClassName:"menu__link--active"})};function y(e){let{sidebar:t}=e;const a=(0,o.cH)(t.items);return(0,m.jsx)(g,{items:a,ListComponent:_,yearGroupHeadingClassName:Z.yearGroupHeading})}function P(e){return(0,m.jsx)(M.Zo,{component:y,props:e})}const L=(0,n.memo)(P);function B(e){let{sidebar:t}=e;const a=(0,l.i)();return t?.items.length?"mobile"===a?(0,m.jsx)(L,{sidebar:t}):(0,m.jsx)(C,{sidebar:t}):null}function H(e){const{sidebar:t,toc:a,children:n,...l}=e,i=t&&t.items.length>0;return(0,m.jsx)(r.Z,{...l,children:(0,m.jsx)("div",{className:"container margin-vert--lg",children:(0,m.jsxs)("div",{className:"row",children:[(0,m.jsx)(B,{sidebar:t}),(0,m.jsx)("main",{className:(0,s.Z)("col",{"col--7":i,"col--9 col--offset-1":!i}),children:n}),a&&(0,m.jsx)("div",{className:"col col--2",children:a})]})})})}},2351:(e,t,a)=>{a.d(t,{c:()=>c});var n=a(5271),s=a(6172);const r=["zero","one","two","few","many","other"];function l(e){return r.filter((t=>e.includes(t)))}const i={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,s.Z)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),i}}),[e])}function c(){const e=o();return{selectMessage:(t,a)=>function(e,t,a){const n=e.split("|");if(1===n.length)return n[0];n.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const s=a.select(t),r=a.pluralForms.indexOf(s);return n[Math.min(r,n.length-1)]}(a,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/2296bbef.55fa136c.js b/assets/js/2296bbef.15e7a1e1.js similarity index 84% rename from assets/js/2296bbef.55fa136c.js rename to assets/js/2296bbef.15e7a1e1.js index e6b469ca3..22f481ef9 100644 --- a/assets/js/2296bbef.55fa136c.js +++ b/assets/js/2296bbef.15e7a1e1.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6623],{1865:a=>{a.exports=JSON.parse('{"tag":{"label":"hybrid model","permalink":"/blog/tags/hybrid-model","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/hybrid-model","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6623],{5205:a=>{a.exports=JSON.parse('{"tag":{"label":"hybrid model","permalink":"/blog/tags/hybrid-model","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/hybrid-model","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/2433.29272538.js b/assets/js/2433.29272538.js deleted file mode 100644 index c8432f842..000000000 --- a/assets/js/2433.29272538.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2433],{1255:(e,t,n)=>{"use strict";n.d(t,{Z:()=>_});var s=n(5271),a=n(2676);function o(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),o=t.filter((e=>e!==n)),c=n?.props.children;return{mdxAdmonitionTitle:c,rest:o.length>0?(0,a.jsx)(a.Fragment,{children:o}):null}}(e.children),o=e.title??t;return{...e,...o&&{title:o},children:n}}var c=n(4814),i=n(9665),r=n(8832);const l={admonition:"admonition_HAC_",admonitionHeading:"admonitionHeading_VCVJ",admonitionIcon:"admonitionIcon_vHBt",admonitionContent:"admonitionContent_tuR2"};function d(e){let{type:t,className:n,children:s}=e;return(0,a.jsx)("div",{className:(0,c.Z)(r.k.common.admonition,r.k.common.admonitionType(t),l.admonition,n),children:s})}function u(e){let{icon:t,title:n}=e;return(0,a.jsxs)("div",{className:l.admonitionHeading,children:[(0,a.jsx)("span",{className:l.admonitionIcon,children:t}),n]})}function m(e){let{children:t}=e;return t?(0,a.jsx)("div",{className:l.admonitionContent,children:t}):null}function h(e){const{type:t,icon:n,title:s,children:o,className:c}=e;return(0,a.jsxs)(d,{type:t,className:c,children:[s||n?(0,a.jsx)(u,{title:s,icon:n}):null,(0,a.jsx)(m,{children:o})]})}function p(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const f={icon:(0,a.jsx)(p,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function g(e){return(0,a.jsx)(h,{...f,...e,className:(0,c.Z)("alert alert--secondary",e.className),children:e.children})}function x(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const j={icon:(0,a.jsx)(x,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function b(e){return(0,a.jsx)(h,{...j,...e,className:(0,c.Z)("alert alert--success",e.className),children:e.children})}function v(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const y={icon:(0,a.jsx)(v,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function N(e){return(0,a.jsx)(h,{...y,...e,className:(0,c.Z)("alert alert--info",e.className),children:e.children})}function k(e){return(0,a.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const C={icon:(0,a.jsx)(k,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function B(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const w={icon:(0,a.jsx)(B,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const Z={icon:(0,a.jsx)(k,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const L={...{note:g,tip:b,info:N,warning:function(e){return(0,a.jsx)(h,{...C,...e,className:(0,c.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,a.jsx)(h,{...w,...e,className:(0,c.Z)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,a.jsx)(g,{title:"secondary",...e}),important:e=>(0,a.jsx)(N,{title:"important",...e}),success:e=>(0,a.jsx)(b,{title:"success",...e}),caution:function(e){return(0,a.jsx)(h,{...Z,...e,className:(0,c.Z)("alert alert--warning",e.className),children:e.children})}}};function _(e){const t=o(e),n=(s=t.type,L[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),L.info));var s;return(0,a.jsx)(n,{...t})}},2006:(e,t,n)=>{"use strict";n.d(t,{Z:()=>g});n(5271);var s=n(4814),a=n(9665),o=n(8832),c=n(9347);const i={iconEdit:"iconEdit_BjJv"};var r=n(2676);function l(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)(i.iconEdit,t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,r.jsxs)(c.Z,{to:t,className:o.k.common.editThisPage,children:[(0,r.jsx)(l,{}),(0,r.jsx)(a.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(4060);function m(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=(0,u.P)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function p(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:o.k.common.lastUpdated,children:[(0,r.jsx)(a.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const f={lastUpdated:"lastUpdated_w0Sh"};function g(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:o}=e;return(0,r.jsxs)("div",{className:(0,s.Z)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(d,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.Z)("col",f.lastUpdated),children:(a||o)&&(0,r.jsx)(p,{lastUpdatedAt:a,lastUpdatedBy:o})})]})}},8431:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ie});var s=n(5271),a=n(9246),o=n(5363),c=n(1951),i=n(4814),r=n(7931),l=n(5996);function d(){const{prism:e}=(0,l.L)(),{colorMode:t}=(0,r.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(8832),m=n(7226),h=n.n(m);const p=/title=(?["'])(?.*?)\1/,f=/\{(?<range>[\d,-]+)\}/,g={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},x={...g,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},j=Object.keys(g);function b(e,t){const n=e.map((e=>{const{start:n,end:s}=x[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:o}=t;if(o&&f.test(o)){const e=o.match(f).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const c=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return b(["js","jsBlock"],t);case"jsx":case"tsx":return b(["js","jsBlock","jsx"],t);case"html":return b(["js","jsBlock","html"],t);case"python":case"py":case"bash":return b(["bash"],t);case"markdown":case"md":return b(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return b(["tex"],t);case"lua":case"haskell":case"sql":return b(["lua"],t);case"wasm":return b(["wasm"],t);case"vb":case"vba":case"visual-basic":return b(["vb","rem"],t);case"vbnet":return b(["vbnet","rem"],t);case"batch":return b(["rem"],t);case"basic":return b(["rem","f90"],t);case"fsharp":return b(["js","ml"],t);case"ocaml":case"sml":return b(["ml"],t);case"fortran":return b(["f90"],t);case"cobol":return b(["cobol"],t);default:return b(j,t)}}(s,a),i=n.split("\n"),r=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<i.length;){const e=i[h].match(c);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?r[l[t]].range+=`${h},`:d[t]?r[d[t]].start=h:u[t]&&(r[u[t]].range+=`${r[u[t]].start}-${h-1},`),i.splice(h,1)}n=i.join("\n");const m={};return Object.entries(r).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const y={codeBlockContainer:"codeBlockContainer_Sx4Y"};var N=n(2676);function k(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const o=t[s];o&&"string"==typeof a&&(n[o]=a)})),n}(d());return(0,N.jsx)(t,{...n,style:s,className:(0,i.Z)(n.className,y.codeBlockContainer,u.k.common.codeBlock)})}const C={codeBlockContent:"codeBlockContent_YnoF",codeBlockTitle:"codeBlockTitle_CurW",codeBlock:"codeBlock_kXdi",codeBlockStandalone:"codeBlockStandalone_Yei0",codeBlockLines:"codeBlockLines_SDaA",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_Akw7",buttonGroup:"buttonGroup_zCn6"};function B(e){let{children:t,className:n}=e;return(0,N.jsx)(k,{as:"pre",tabIndex:0,className:(0,i.Z)(C.codeBlockStandalone,"thin-scrollbar",n),children:(0,N.jsx)("code",{className:C.codeBlockLines,children:t})})}var w=n(1669);const Z={attributes:!0,characterData:!0,childList:!0,subtree:!0};function L(e,t){const[n,a]=(0,s.useState)(),o=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{o()}),[o]),function(e,t,n){void 0===n&&(n=Z);const a=(0,w.zX)(t),o=(0,w.Ql)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,o),()=>t.disconnect()}),[e,a,o])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var _=n(739);const E={codeLine:"codeLine_myqu",codeLineNumber:"codeLineNumber_CBT2",codeLineContent:"codeLineContent_LM40"};function T(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=a({line:t,className:(0,i.Z)(n,s&&E.codeLine)}),r=t.map(((e,t)=>(0,N.jsx)("span",{...o({token:e})},t)));return(0,N.jsxs)("span",{...c,children:[s?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("span",{className:E.codeLineNumber}),(0,N.jsx)("span",{className:E.codeLineContent,children:r})]}):r,(0,N.jsx)("br",{})]})}var A=n(9665);function I(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function S(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const M={copyButtonCopied:"copyButtonCopied_OQHi",copyButtonIcons:"copyButtonIcons_wv7r",copyButtonIcon:"copyButtonIcon_Yg7_",copyButtonSuccessIcon:"copyButtonSuccessIcon_PaDN"};function z(e){let{code:t,className:n}=e;const[a,o]=(0,s.useState)(!1),c=(0,s.useRef)(void 0),r=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const o=document.getSelection(),c=o.rangeCount>0&&o.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}s.remove(),c&&(o.removeAllRanges(),o.addRange(c)),a&&a.focus()}(t),o(!0),c.current=window.setTimeout((()=>{o(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(c.current)),[]),(0,N.jsx)("button",{type:"button","aria-label":a?(0,A.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,A.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,A.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,M.copyButton,a&&M.copyButtonCopied),onClick:r,children:(0,N.jsxs)("span",{className:M.copyButtonIcons,"aria-hidden":"true",children:[(0,N.jsx)(I,{className:M.copyButtonIcon}),(0,N.jsx)(S,{className:M.copyButtonSuccessIcon})]})})}function U(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const H={wordWrapButtonIcon:"wordWrapButtonIcon_dvG6",wordWrapButtonEnabled:"wordWrapButtonEnabled_EI91"};function R(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,A.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,N.jsx)("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,s&&H.wordWrapButtonEnabled),"aria-label":a,title:a,children:(0,N.jsx)(U,{className:H.wordWrapButtonIcon,"aria-hidden":"true"})})}function W(e){let{children:t,className:n="",metastring:a,title:o,showLineNumbers:c,language:r}=e;const{prism:{defaultLanguage:u,magicComments:m}}=(0,l.L)(),h=function(e){return e?.toLowerCase()}(r??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??u),f=d(),g=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),c=(0,s.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),i=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");a(n)}),[o]);return L(o,i),(0,s.useEffect)((()=>{i()}),[e,i]),(0,s.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:c}}(),x=function(e){return e?.match(p)?.groups.title??""}(a)||o,{lineClassNames:j,code:b}=v(t,{metastring:a,language:h,magicComments:m}),y=c??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return(0,N.jsxs)(k,{as:"div",className:(0,i.Z)(n,h&&!n.includes(`language-${h}`)&&`language-${h}`),children:[x&&(0,N.jsx)("div",{className:C.codeBlockTitle,children:x}),(0,N.jsxs)("div",{className:C.codeBlockContent,children:[(0,N.jsx)(_.y$,{theme:f,code:b,language:h??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:o}=e;return(0,N.jsx)("pre",{tabIndex:0,ref:g.codeBlockRef,className:(0,i.Z)(t,C.codeBlock,"thin-scrollbar"),style:n,children:(0,N.jsx)("code",{className:(0,i.Z)(C.codeBlockLines,y&&C.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,N.jsx)(T,{line:e,getLineProps:a,getTokenProps:o,classNames:j[t],showLineNumbers:y},t)))})})}}),(0,N.jsxs)("div",{className:C.buttonGroup,children:[(g.isEnabled||g.isCodeScrollable)&&(0,N.jsx)(R,{className:C.codeButton,onClick:()=>g.toggle(),isEnabled:g.isEnabled}),(0,N.jsx)(z,{className:C.codeButton,code:b})]})]})]})}function D(e){let{children:t,...n}=e;const a=(0,c.Z)(),o=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof o?W:B;return(0,N.jsx)(i,{...n,children:o},String(a))}function V(e){return(0,N.jsx)("code",{...e})}var $=n(9347);var P=n(4393),O=n(5647);const q={details:"details_Q7gm",isBrowser:"isBrowser_x461",collapsibleContent:"collapsibleContent_VMaD"};function F(e){return!!e&&("SUMMARY"===e.tagName||F(e.parentElement))}function Y(e,t){return!!e&&(e===t||Y(e.parentElement,t))}function G(e){let{summary:t,children:n,...a}=e;(0,P.Z)().collectAnchor(a.id);const o=(0,c.Z)(),r=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,O.u)({initialState:!a.open}),[u,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,N.jsx)("summary",{children:t??"Details"});return(0,N.jsxs)("details",{...a,ref:r,open:u,"data-collapsed":l,className:(0,i.Z)(q.details,o&&q.isBrowser,a.className),onMouseDown:e=>{F(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;F(t)&&Y(t,r.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,N.jsx)(O.z,{lazy:!1,collapsed:l,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,N.jsx)("div",{className:q.collapsibleContent,children:n})})]})}const Q={details:"details_MhMj"},X="alert alert--info";function J(e){let{...t}=e;return(0,N.jsx)(G,{...t,className:(0,i.Z)(X,Q.details,t.className)})}function K(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,N.jsx)(N.Fragment,{children:t.filter((e=>e!==n))});return(0,N.jsx)(J,{...e,summary:n,children:a})}var ee=n(6078);function te(e){return(0,N.jsx)(ee.Z,{...e})}const ne={containsTaskList:"containsTaskList_Q9D7"};function se(e){if(void 0!==e)return(0,i.Z)(e,e?.includes("contains-task-list")&&ne.containsTaskList)}const ae={img:"img_sRsS"};var oe=n(1255);const ce={Head:o.Z,details:K,Details:K,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,N.jsx)(V,{...e}):(0,N.jsx)(D,{...e})},a:function(e){return(0,N.jsx)($.Z,{...e})},pre:function(e){return(0,N.jsx)(N.Fragment,{children:e.children})},ul:function(e){return(0,N.jsx)("ul",{...e,className:se(e.className)})},li:function(e){return(0,P.Z)().collectAnchor(e.id),(0,N.jsx)("li",{...e})},img:function(e){return(0,N.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,i.Z)(t,ae.img))});var t},h1:e=>(0,N.jsx)(te,{as:"h1",...e}),h2:e=>(0,N.jsx)(te,{as:"h2",...e}),h3:e=>(0,N.jsx)(te,{as:"h3",...e}),h4:e=>(0,N.jsx)(te,{as:"h4",...e}),h5:e=>(0,N.jsx)(te,{as:"h5",...e}),h6:e=>(0,N.jsx)(te,{as:"h6",...e}),admonition:oe.Z,mermaid:()=>null};function ie(e){let{children:t}=e;return(0,N.jsx)(a.Z,{components:ce,children:t})}},5066:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(5271);var s=n(4814),a=n(9347),o=n(2676);function c(e){const{permalink:t,title:n,subLabel:c,isNext:i}=e;return(0,o.jsxs)(a.Z,{className:(0,s.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[c&&(0,o.jsx)("div",{className:"pagination-nav__sublabel",children:c}),(0,o.jsx)("div",{className:"pagination-nav__label",children:n})]})}},5205:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(5271);var s=n(4814),a=n(9347);const o={tag:"tag_idh4",tagRegular:"tagRegular_OEC8",tagWithCount:"tagWithCount_X4qa"};var c=n(2676);function i(e){let{permalink:t,label:n,count:i,description:r}=e;return(0,c.jsxs)(a.Z,{href:t,title:r,className:(0,s.Z)(o.tag,i?o.tagWithCount:o.tagRegular),children:[n,i&&(0,c.jsx)("span",{children:i})]})}},9261:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});n(5271);var s=n(4814),a=n(9665),o=n(5205);const c={tags:"tags_gbum",tag:"tag_jXtk"};var i=n(2676);function r(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(a.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,s.Z)(c.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,i.jsx)("li",{className:c.tag,children:(0,i.jsx)(o.Z,{...e})},e.permalink)))})]})}},4060:(e,t,n)=>{"use strict";n.d(t,{P:()=>a});var s=n(2100);function a(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.Z)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},7226:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,o]=t;if(s&&o){s=parseInt(s),o=parseInt(o);const e=s<o?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(o+=e);for(let t=s;t!==o;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},9246:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i,a:()=>c});var s=n(5271);const a={},o=s.createContext(a);function c(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/264f4708.f7124c31.js b/assets/js/264f4708.cbe92c52.js similarity index 97% rename from assets/js/264f4708.f7124c31.js rename to assets/js/264f4708.cbe92c52.js index 38a66f838..782f7919e 100644 --- a/assets/js/264f4708.f7124c31.js +++ b/assets/js/264f4708.cbe92c52.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1517],{2015:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var a=t(2676),n=t(9246);const r={},i="Early Access Program",o={id:"advanced-usage/early-access-program",title:"Early Access Program",description:"Welcome",source:"@site/docs/advanced-usage/early-access-program.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/early-access-program",permalink:"/docs/advanced-usage/early-access-program",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/early-access-program.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,frontMatter:{},sidebar:"docs",previous:{title:"REST API Usage",permalink:"/docs/advanced-usage/rest-api"},next:{title:"Configuring Fail2Ban for GameVault",permalink:"/docs/advanced-usage/fail2ban-gamevault-guide"}},l={},c=[{value:"Welcome",id:"welcome",level:2},{value:"Participation Requirements",id:"participation-requirements",level:3},{value:"How to Join",id:"how-to-join",level:3},{value:"Important Information",id:"important-information",level:3},{value:"FAQ for Early Access Testers",id:"faq-for-early-access-testers",level:2},{value:"How to switch to an early access version?",id:"how-to-switch-to-an-early-access-version",level:3},{value:"How to return to a stable version?",id:"how-to-return-to-a-stable-version",level:3},{value:"Where to report bugs and suggest/discuss changes?",id:"where-to-report-bugs-and-suggestdiscuss-changes",level:3}];function d(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.header,{children:(0,a.jsx)(s.h1,{id:"early-access-program",children:"Early Access Program"})}),"\n",(0,a.jsx)(s.h2,{id:"welcome",children:"Welcome"}),"\n",(0,a.jsx)(s.p,{children:"Welcome to the GameVault Early Access Program! This exclusive opportunity allows you to be among the first to experience upcoming GameVault updates before they are released to the public. As a member of this special group, you'll have the chance to explore new features ahead of time. However, please keep in mind that these early releases may not be as stable as our regular versions. Your active participation and feedback are crucial in helping us refine and improve everything before the official release for everyone."}),"\n",(0,a.jsx)(s.h3,{id:"participation-requirements",children:"Participation Requirements"}),"\n",(0,a.jsx)(s.p,{children:"To join the Early Access Program, please make sure to meet the following requirements:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"Actively participate in the designated Discord channel and follow the pinned messages."}),"\n",(0,a.jsxs)(s.li,{children:["Have GameVault installed from the Microsoft Store and be logged in with your Microsoft Account. If you haven't installed it yet, you can get it ",(0,a.jsx)(s.a,{href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",children:"here"}),"."]}),"\n",(0,a.jsxs)(s.li,{children:["If required in the current phase: Run a GameVault Server with the ",(0,a.jsxs)(s.strong,{children:["phalcode/gamevault-backend",":early-access"]})," image. (Only use this image if all users on your server are participating in the Early Access Program and have been accepted as testers, as it may cause issues!)"]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"how-to-join",children:"How to Join"}),"\n",(0,a.jsx)(s.p,{children:"To become part of the program, follow these simple steps:"}),"\n",(0,a.jsxs)(s.ol,{children:["\n",(0,a.jsxs)(s.li,{children:["Fill out the ",(0,a.jsx)(s.a,{href:"https://forms.gle/RQvEGfWeUFPBCUaG6",children:"Application Form"}),"."]}),"\n",(0,a.jsx)(s.li,{children:"Wait for the early access phase to begin. Details will be shared in the exclusive Discord channel."}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"important-information",children:"Important Information"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"The Early Access Program has limited slots, with priority given to Supporters and Trusted Members."}),"\n",(0,a.jsx)(s.li,{children:"If you are accepted and later found not meeting the requirements, you may be removed from future testing, allowing the next applicant on our list to take your place."}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"faq-for-early-access-testers",children:"FAQ for Early Access Testers"}),"\n",(0,a.jsx)(s.h3,{id:"how-to-switch-to-an-early-access-version",children:"How to switch to an early access version?"}),"\n",(0,a.jsxs)(s.ol,{children:["\n",(0,a.jsx)(s.li,{children:"Wait for the early access phase to start."}),"\n",(0,a.jsx)(s.li,{children:"Start the app and accept early access update."}),"\n",(0,a.jsxs)(s.li,{children:["Restart the App and check the version in the settings. If it contains ",(0,a.jsx)(s.code,{children:"EA"})," or ",(0,a.jsx)(s.code,{children:"Early Access"}),", you're on the early-access channel."]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"how-to-return-to-a-stable-version",children:"How to return to a stable version?"}),"\n",(0,a.jsxs)(s.ol,{children:["\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsx)(s.p,{children:"Contact the Phalcode Team via Discord to remove you from our testers list in the Microsoft Store."}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsx)(s.p,{children:"Exit and Uninstall the app."}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-ps1",children:"winget uninstall gamevault\n"})}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsx)(s.p,{children:"Reinstall it by running."}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-ps1",children:"winget install gamevault\n"})}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsx)(s.p,{children:"Start the App. If it asks if you want to update you have to decline it every time."}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsxs)(s.p,{children:["Check the version in the settings. If it does not contain ",(0,a.jsx)(s.code,{children:"EA"})," or ",(0,a.jsx)(s.code,{children:"Early Access"}),", you're back on the stable channel."]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"where-to-report-bugs-and-suggestdiscuss-changes",children:"Where to report bugs and suggest/discuss changes?"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"Head over to the Discord #early-access channel once you're accepted into the group. This is where you can report bugs, as well as suggest and discuss changes."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},9246:(e,s,t)=>{t.d(s,{Z:()=>o,a:()=>i});var a=t(5271);const n={},r=a.createContext(n);function i(e){const s=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1517],{2015:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var a=t(2676),n=t(8358);const r={},i="Early Access Program",o={id:"advanced-usage/early-access-program",title:"Early Access Program",description:"Welcome",source:"@site/docs/advanced-usage/early-access-program.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/early-access-program",permalink:"/docs/advanced-usage/early-access-program",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/early-access-program.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,frontMatter:{},sidebar:"docs",previous:{title:"REST API Usage",permalink:"/docs/advanced-usage/rest-api"},next:{title:"Configuring Fail2Ban for GameVault",permalink:"/docs/advanced-usage/fail2ban-gamevault-guide"}},l={},c=[{value:"Welcome",id:"welcome",level:2},{value:"Participation Requirements",id:"participation-requirements",level:3},{value:"How to Join",id:"how-to-join",level:3},{value:"Important Information",id:"important-information",level:3},{value:"FAQ for Early Access Testers",id:"faq-for-early-access-testers",level:2},{value:"How to switch to an early access version?",id:"how-to-switch-to-an-early-access-version",level:3},{value:"How to return to a stable version?",id:"how-to-return-to-a-stable-version",level:3},{value:"Where to report bugs and suggest/discuss changes?",id:"where-to-report-bugs-and-suggestdiscuss-changes",level:3}];function d(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.header,{children:(0,a.jsx)(s.h1,{id:"early-access-program",children:"Early Access Program"})}),"\n",(0,a.jsx)(s.h2,{id:"welcome",children:"Welcome"}),"\n",(0,a.jsx)(s.p,{children:"Welcome to the GameVault Early Access Program! This exclusive opportunity allows you to be among the first to experience upcoming GameVault updates before they are released to the public. As a member of this special group, you'll have the chance to explore new features ahead of time. However, please keep in mind that these early releases may not be as stable as our regular versions. Your active participation and feedback are crucial in helping us refine and improve everything before the official release for everyone."}),"\n",(0,a.jsx)(s.h3,{id:"participation-requirements",children:"Participation Requirements"}),"\n",(0,a.jsx)(s.p,{children:"To join the Early Access Program, please make sure to meet the following requirements:"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"Actively participate in the designated Discord channel and follow the pinned messages."}),"\n",(0,a.jsxs)(s.li,{children:["Have GameVault installed from the Microsoft Store and be logged in with your Microsoft Account. If you haven't installed it yet, you can get it ",(0,a.jsx)(s.a,{href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",children:"here"}),"."]}),"\n",(0,a.jsxs)(s.li,{children:["If required in the current phase: Run a GameVault Server with the ",(0,a.jsxs)(s.strong,{children:["phalcode/gamevault-backend",":early-access"]})," image. (Only use this image if all users on your server are participating in the Early Access Program and have been accepted as testers, as it may cause issues!)"]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"how-to-join",children:"How to Join"}),"\n",(0,a.jsx)(s.p,{children:"To become part of the program, follow these simple steps:"}),"\n",(0,a.jsxs)(s.ol,{children:["\n",(0,a.jsxs)(s.li,{children:["Fill out the ",(0,a.jsx)(s.a,{href:"https://forms.gle/RQvEGfWeUFPBCUaG6",children:"Application Form"}),"."]}),"\n",(0,a.jsx)(s.li,{children:"Wait for the early access phase to begin. Details will be shared in the exclusive Discord channel."}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"important-information",children:"Important Information"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"The Early Access Program has limited slots, with priority given to Supporters and Trusted Members."}),"\n",(0,a.jsx)(s.li,{children:"If you are accepted and later found not meeting the requirements, you may be removed from future testing, allowing the next applicant on our list to take your place."}),"\n"]}),"\n",(0,a.jsx)(s.h2,{id:"faq-for-early-access-testers",children:"FAQ for Early Access Testers"}),"\n",(0,a.jsx)(s.h3,{id:"how-to-switch-to-an-early-access-version",children:"How to switch to an early access version?"}),"\n",(0,a.jsxs)(s.ol,{children:["\n",(0,a.jsx)(s.li,{children:"Wait for the early access phase to start."}),"\n",(0,a.jsx)(s.li,{children:"Start the app and accept early access update."}),"\n",(0,a.jsxs)(s.li,{children:["Restart the App and check the version in the settings. If it contains ",(0,a.jsx)(s.code,{children:"EA"})," or ",(0,a.jsx)(s.code,{children:"Early Access"}),", you're on the early-access channel."]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"how-to-return-to-a-stable-version",children:"How to return to a stable version?"}),"\n",(0,a.jsxs)(s.ol,{children:["\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsx)(s.p,{children:"Contact the Phalcode Team via Discord to remove you from our testers list in the Microsoft Store."}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsx)(s.p,{children:"Exit and Uninstall the app."}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-ps1",children:"winget uninstall gamevault\n"})}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsx)(s.p,{children:"Reinstall it by running."}),"\n",(0,a.jsx)(s.pre,{children:(0,a.jsx)(s.code,{className:"language-ps1",children:"winget install gamevault\n"})}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsx)(s.p,{children:"Start the App. If it asks if you want to update you have to decline it every time."}),"\n"]}),"\n",(0,a.jsxs)(s.li,{children:["\n",(0,a.jsxs)(s.p,{children:["Check the version in the settings. If it does not contain ",(0,a.jsx)(s.code,{children:"EA"})," or ",(0,a.jsx)(s.code,{children:"Early Access"}),", you're back on the stable channel."]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(s.h3,{id:"where-to-report-bugs-and-suggestdiscuss-changes",children:"Where to report bugs and suggest/discuss changes?"}),"\n",(0,a.jsxs)(s.ul,{children:["\n",(0,a.jsx)(s.li,{children:"Head over to the Discord #early-access channel once you're accepted into the group. This is where you can report bugs, as well as suggest and discuss changes."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,a.jsx)(s,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8358:(e,s,t)=>{t.d(s,{Z:()=>o,a:()=>i});var a=t(5271);const n={},r=a.createContext(n);function i(e){const s=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),a.createElement(r.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2e008a3a.78dc1344.js b/assets/js/2e008a3a.c8c45cd2.js similarity index 93% rename from assets/js/2e008a3a.78dc1344.js rename to assets/js/2e008a3a.c8c45cd2.js index 64d5cf69c..93af0d6d8 100644 --- a/assets/js/2e008a3a.78dc1344.js +++ b/assets/js/2e008a3a.c8c45cd2.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5694],{2990:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>i,contentTitle:()=>r,default:()=>g,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var t=a(2676),o=a(9246);const l={title:"A Closer Look at GameVaults 'Source-Available' Nature",authors:["alfagun74"],tags:["source-available software","open-source","transparency","control","software development","code access","hybrid model","software licensing","revenue generation","user engagement"]},r=void 0,s={permalink:"/blog/2023/07/13/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-13.md",source:"@site/blog/2023-07-13.md",title:"A Closer Look at GameVaults 'Source-Available' Nature",description:"Hey everyone,",date:"2023-07-13T00:00:00.000Z",tags:[{inline:!0,label:"source-available software",permalink:"/blog/tags/source-available-software"},{inline:!0,label:"open-source",permalink:"/blog/tags/open-source"},{inline:!0,label:"transparency",permalink:"/blog/tags/transparency"},{inline:!0,label:"control",permalink:"/blog/tags/control"},{inline:!0,label:"software development",permalink:"/blog/tags/software-development"},{inline:!0,label:"code access",permalink:"/blog/tags/code-access"},{inline:!0,label:"hybrid model",permalink:"/blog/tags/hybrid-model"},{inline:!0,label:"software licensing",permalink:"/blog/tags/software-licensing"},{inline:!0,label:"revenue generation",permalink:"/blog/tags/revenue-generation"},{inline:!0,label:"user engagement",permalink:"/blog/tags/user-engagement"}],readingTime:2.57,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A Closer Look at GameVaults 'Source-Available' Nature",authors:["alfagun74"],tags:["source-available software","open-source","transparency","control","software development","code access","hybrid model","software licensing","revenue generation","user engagement"]},unlisted:!1,prevItem:{title:"A New Name",permalink:"/blog/2023/07/15/"},nextItem:{title:"Battling Harassment and Trolls in Our App Community",permalink:"/blog/2023/07/09/"}},i={authorsImageUrls:[void 0]},c=[];function u(e){const n={p:"p",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey everyone,"}),"\n",(0,t.jsx)(n.p,{children:'today i want to clarify why GameVault isn\'t considered "open-source" by definition.'})]})}function g(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},9246:(e,n,a)=>{a.d(n,{Z:()=>s,a:()=>r});var t=a(5271);const o={},l=t.createContext(o);function r(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5694],{5264:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>i,contentTitle:()=>r,default:()=>g,frontMatter:()=>l,metadata:()=>s,toc:()=>c});var t=a(2676),o=a(8358);const l={title:"A Closer Look at GameVaults 'Source-Available' Nature",authors:["alfagun74"],tags:["source-available software","open-source","transparency","control","software development","code access","hybrid model","software licensing","revenue generation","user engagement"]},r=void 0,s={permalink:"/blog/2023/07/13/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-13.md",source:"@site/blog/2023-07-13.md",title:"A Closer Look at GameVaults 'Source-Available' Nature",description:"Hey everyone,",date:"2023-07-13T00:00:00.000Z",tags:[{inline:!0,label:"source-available software",permalink:"/blog/tags/source-available-software"},{inline:!0,label:"open-source",permalink:"/blog/tags/open-source"},{inline:!0,label:"transparency",permalink:"/blog/tags/transparency"},{inline:!0,label:"control",permalink:"/blog/tags/control"},{inline:!0,label:"software development",permalink:"/blog/tags/software-development"},{inline:!0,label:"code access",permalink:"/blog/tags/code-access"},{inline:!0,label:"hybrid model",permalink:"/blog/tags/hybrid-model"},{inline:!0,label:"software licensing",permalink:"/blog/tags/software-licensing"},{inline:!0,label:"revenue generation",permalink:"/blog/tags/revenue-generation"},{inline:!0,label:"user engagement",permalink:"/blog/tags/user-engagement"}],readingTime:2.57,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A Closer Look at GameVaults 'Source-Available' Nature",authors:["alfagun74"],tags:["source-available software","open-source","transparency","control","software development","code access","hybrid model","software licensing","revenue generation","user engagement"]},unlisted:!1,prevItem:{title:"A New Name",permalink:"/blog/2023/07/15/"},nextItem:{title:"Battling Harassment and Trolls in Our App Community",permalink:"/blog/2023/07/09/"}},i={authorsImageUrls:[void 0]},c=[];function u(e){const n={p:"p",...(0,o.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey everyone,"}),"\n",(0,t.jsx)(n.p,{children:'today i want to clarify why GameVault isn\'t considered "open-source" by definition.'})]})}function g(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},8358:(e,n,a)=>{a.d(n,{Z:()=>s,a:()=>r});var t=a(5271);const o={},l=t.createContext(o);function r(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fc3119e.0d274f44.js b/assets/js/3fc3119e.0d274f44.js deleted file mode 100644 index 6289b5850..000000000 --- a/assets/js/3fc3119e.0d274f44.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1362],{658:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=t(2676),l=t(9246);const o={title:"Join the GameVault Early-Access Program Now!",authors:["alfagun74"],tags:["Gaming","GameVault","Early Access","UI Update","Beta Testing","Community Feedback","Exclusive Preview","Microsoft Store","Discord","Gaming Servers"]},r=void 0,i={permalink:"/blog/2023/12/09/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-12-09.md",source:"@site/blog/2023-12-09.md",title:"Join the GameVault Early-Access Program Now!",description:"Hey, Guys!",date:"2023-12-09T00:00:00.000Z",tags:[{inline:!0,label:"Gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"Early Access",permalink:"/blog/tags/early-access"},{inline:!0,label:"UI Update",permalink:"/blog/tags/ui-update"},{inline:!0,label:"Beta Testing",permalink:"/blog/tags/beta-testing"},{inline:!0,label:"Community Feedback",permalink:"/blog/tags/community-feedback"},{inline:!0,label:"Exclusive Preview",permalink:"/blog/tags/exclusive-preview"},{inline:!0,label:"Microsoft Store",permalink:"/blog/tags/microsoft-store"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"Gaming Servers",permalink:"/blog/tags/gaming-servers"}],readingTime:1.135,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Join the GameVault Early-Access Program Now!",authors:["alfagun74"],tags:["Gaming","GameVault","Early Access","UI Update","Beta Testing","Community Feedback","Exclusive Preview","Microsoft Store","Discord","Gaming Servers"]},unlisted:!1,prevItem:{title:"Announcing GameVault+ (coming soon)",permalink:"/blog/2024/03/28/"},nextItem:{title:"A Look Back and a Glimpse Forward",permalink:"/blog/2023/11/20/"}},s={authorsImageUrls:[void 0]},c=[];function g(e){const a={p:"p",strong:"strong",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey, Guys!"}),"\n",(0,n.jsxs)(a.p,{children:["For the upcoming large UI update of GameVault, we're launching a brand new GameVault Early-Access Program, and we want ",(0,n.jsx)(a.strong,{children:"YOU"})," to be a part of it!"]})]})}function m(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(g,{...e})}):g(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>i,a:()=>r});var n=t(5271);const l={},o=n.createContext(l);function r(e){const a=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fc3119e.a97da495.js b/assets/js/3fc3119e.a97da495.js new file mode 100644 index 000000000..bea36f402 --- /dev/null +++ b/assets/js/3fc3119e.a97da495.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1362],{6189:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>r,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=t(2676),l=t(8358);const o={title:"Join the GameVault Early-Access Program Now!",authors:["alfagun74"],tags:["Gaming","GameVault","Early Access","UI Update","Beta Testing","Community Feedback","Exclusive Preview","Microsoft Store","Discord","Gaming Servers"]},r=void 0,i={permalink:"/blog/2023/12/09/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-12-09.md",source:"@site/blog/2023-12-09.md",title:"Join the GameVault Early-Access Program Now!",description:"Hey, Guys!",date:"2023-12-09T00:00:00.000Z",tags:[{inline:!0,label:"Gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"Early Access",permalink:"/blog/tags/early-access"},{inline:!0,label:"UI Update",permalink:"/blog/tags/ui-update"},{inline:!0,label:"Beta Testing",permalink:"/blog/tags/beta-testing"},{inline:!0,label:"Community Feedback",permalink:"/blog/tags/community-feedback"},{inline:!0,label:"Exclusive Preview",permalink:"/blog/tags/exclusive-preview"},{inline:!0,label:"Microsoft Store",permalink:"/blog/tags/microsoft-store"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"Gaming Servers",permalink:"/blog/tags/gaming-servers"}],readingTime:1.135,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Join the GameVault Early-Access Program Now!",authors:["alfagun74"],tags:["Gaming","GameVault","Early Access","UI Update","Beta Testing","Community Feedback","Exclusive Preview","Microsoft Store","Discord","Gaming Servers"]},unlisted:!1,prevItem:{title:"Announcing GameVault+ (coming soon)",permalink:"/blog/2024/03/28/"},nextItem:{title:"A Look Back and a Glimpse Forward",permalink:"/blog/2023/11/20/"}},s={authorsImageUrls:[void 0]},c=[];function g(e){const a={p:"p",strong:"strong",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey, Guys!"}),"\n",(0,n.jsxs)(a.p,{children:["For the upcoming large UI update of GameVault, we're launching a brand new GameVault Early-Access Program, and we want ",(0,n.jsx)(a.strong,{children:"YOU"})," to be a part of it!"]})]})}function m(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(g,{...e})}):g(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>i,a:()=>r});var n=t(5271);const l={},o=n.createContext(l);function r(e){const a=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/435302bb.ecae0713.js b/assets/js/435302bb.8497a1d4.js similarity index 98% rename from assets/js/435302bb.ecae0713.js rename to assets/js/435302bb.8497a1d4.js index e41863389..66a794c2b 100644 --- a/assets/js/435302bb.ecae0713.js +++ b/assets/js/435302bb.8497a1d4.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2126],{5076:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=a(2676),i=a(9246);const o={sidebar_position:2},s="How to Use",r={id:"client-docs/how-to-use",title:"How to Use",description:"File & Folder Structure",source:"@site/docs/client-docs/how-to-use.md",sourceDirName:"client-docs",slug:"/client-docs/how-to-use",permalink:"/docs/client-docs/how-to-use",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/how-to-use.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Setting up a GameVault Client",permalink:"/docs/client-docs/setup"},next:{title:"Updating the Client",permalink:"/docs/client-docs/updating-client"}},l={},d=[{value:"File & Folder Structure",id:"file--folder-structure",level:2},{value:"Downloading Games",id:"downloading-games",level:2},{value:"1. Extracting the Game",id:"1-extracting-the-game",level:3},{value:"2. Installing the Game",id:"2-installing-the-game",level:3},{value:"Installing Portable Games",id:"installing-portable-games",level:4},{value:"Installing Setup Games",id:"installing-setup-games",level:4},{value:"Clearing Remains",id:"clearing-remains",level:4},{value:"Playing a Game",id:"playing-a-game",level:2},{value:"Tracking Your Game Progress",id:"tracking-your-game-progress",level:2},{value:"Modifying Games",id:"modifying-games",level:2},{value:"Modifying Users",id:"modifying-users",level:2},{value:"Exiting or Relaunching the App",id:"exiting-or-relaunching-the-app",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"how-to-use",children:"How to Use"})}),"\n",(0,n.jsx)(t.h2,{id:"file--folder-structure",children:"File & Folder Structure"}),"\n",(0,n.jsx)(t.admonition,{title:"Example",type:"note",children:(0,n.jsxs)(t.p,{children:["Let's say you installed GameVault freshly and configured your Root folder path to ",(0,n.jsx)(t.code,{children:"D:/"})," because your D Drive is larger."]})}),"\n",(0,n.jsx)(t.p,{children:"GameVault will now generate its folder structure. When everything is done, your file system will look like this:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"D:/GameVault/"})," - Root Folder","\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"D:/GameVault/Downloads/"})," - This folder is where your downloads will be saved. For each downloaded game, GameVault generates a new folder in this directory."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"D:/GameVault/Installations/"})," - This folder is where your installed games belong. For each downloaded game, GameVault generates a new folder in this directory."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"downloading-games",children:"Downloading Games"}),"\n",(0,n.jsxs)(t.p,{children:["Let's say you found the game ",(0,n.jsx)(t.code,{children:"Assassin's Creed Unity (Game ID: 74)"})," in the Library tab and chose to download it."]}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Only download games from servers you fully trust! There's a potential risk of malware. If your antivirus alerts during the following process, abort any download and installation of the game, fully delete the downloaded data, and warn your server admins to address the malware promptly."})}),"\n",(0,n.jsx)(t.p,{children:"As stated above, GameVault generates two folders to store the game files and uses the game ID in the name to identify them:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Downloads/(74) Assassin's Creed Unity/"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Installations/(74) Assassin's Creed Unity/"})}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Your downloaded game archive will be saved in ",(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Downloads/(74) Assassin's Creed Unity/"}),". The ",(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Installations/(74) Assassin's Creed Unity/"})," folder should be empty for now."]}),"\n",(0,n.jsx)(t.p,{children:"To start playing a game you've downloaded, follow these steps to install it. This process makes it easier for you."}),"\n",(0,n.jsx)(t.p,{children:"Game installation has two main parts:"}),"\n",(0,n.jsx)(t.h3,{id:"1-extracting-the-game",children:"1. Extracting the Game"}),"\n",(0,n.jsxs)(t.p,{children:["GameVault games are ",(0,n.jsx)(t.a,{href:"/docs/server-docs/structure",children:"always served in some kind of archive format"}),". So you will need to extract them."]}),"\n",(0,n.jsxs)(t.p,{children:["After the download is complete, locate the ",(0,n.jsx)(t.code,{children:"Extract"})," button. Clicking it will extract the game into a subfolder called ",(0,n.jsx)(t.code,{children:"Extracted"})," within the game's Download Directory. A progress bar shows the extraction progress and estimated remaining time. Larger or extremely compressed games may take longer to extract."]}),"\n",(0,n.jsx)(t.p,{children:"If there are extraction errors, you can retry the extraction unless you deleted the game archive. Error details are displayed in the user interface. If you encounter repeated extraction errors for the same game, try to extract the game manually or contact your GameVault server administrators to check the integrity of those games."}),"\n",(0,n.jsx)(t.h3,{id:"2-installing-the-game",children:"2. Installing the Game"}),"\n",(0,n.jsxs)(t.p,{children:["There are different types of GameVault games. ",(0,n.jsx)(t.a,{href:"/docs/server-docs/game-types",children:"You can find more information about them here"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"For now, we will focus on the general concept of Portable and Setup Games."}),"\n",(0,n.jsx)(t.p,{children:"Portable games are ready to play out of the box, while Setup games require additional setup before playing."}),"\n",(0,n.jsx)(t.admonition,{title:"What determines the game type?",type:"note",children:(0,n.jsxs)(t.p,{children:["The server automatically tries to determine the game's type based on the content, but errors can occur. Administrators can manually overwrite the detected game type by including a ",(0,n.jsx)(t.a,{href:"/docs/server-docs/structure",children:"type override in the file name"}),"."]})}),"\n",(0,n.jsx)(t.h4,{id:"installing-portable-games",children:"Installing Portable Games"}),"\n",(0,n.jsxs)(t.p,{children:["For portable games, GameVault provides a very simple installation process. You don't need to select an executable file. Just press the ",(0,n.jsx)(t.code,{children:"Install"})," button. GameVault will automatically move all the extracted game content to your game's installation directory. This should happen instantly."]}),"\n",(0,n.jsxs)(t.p,{children:["Once the installation is complete, your game is ready to be played in the library. If necessary, select the appropriate executable file to launch in the Game Settings tab and click ",(0,n.jsx)(t.code,{children:"Play"}),"."]}),"\n",(0,n.jsx)(t.admonition,{title:"No Game Executable",type:"note",children:(0,n.jsx)(t.p,{children:"If you don't see a game executable here but instead see a setup executable, the game's type has incorrectly been set to a portable type on the server. Contact your server administrators to manually override that game's type to a setup type. Then, manually move the files inside your game's installation folder back into the game's download folder. Run the installer and manually select the now-empty game's installation folder as its destination."})}),"\n",(0,n.jsx)(t.h4,{id:"installing-setup-games",children:"Installing Setup Games"}),"\n",(0,n.jsxs)(t.p,{children:["For games that require installation, GameVault will provide a dropdown menu to launch a setup executable file. Select the appropriate setup.exe file and press the ",(0,n.jsx)(t.code,{children:"Install"})," button."]}),"\n",(0,n.jsx)(t.admonition,{title:"No Setup Executable",type:"note",children:(0,n.jsxs)(t.p,{children:["If you don't see a setup executable here but instead see the game's executable, it may have incorrectly been set to a setup type on the server. Contact your server administrators to manually override that game's type to a portable type. Then, manually move the files inside the game downloads ",(0,n.jsx)(t.code,{children:"Extracted/"})," folder to the game's corresponding installation folder, and you should be ready to play."]})}),"\n",(0,n.jsxs)(t.p,{children:["During the external setup process ",(0,n.jsx)(t.strong,{children:"it is crucial to set the destination folder for your game files to your game's Installation folder"})," (e.g., ",(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Installations/(74) Assassin's Creed Unity/"}),"). This is where the final game files and executable should be located. If you don't set the destination, GameVault will have no idea where to look for your game files, and the game won't be playable. If you missed setting the destination folder or set it wrongly, uninstall the game from your system and retry this step."]}),"\n",(0,n.jsxs)(t.p,{children:["Once the installation is complete, your game is ready to be played. Just select the appropriate .exe file to launch in the Installations tab and click ",(0,n.jsx)(t.code,{children:"Play"}),"."]}),"\n",(0,n.jsx)(t.admonition,{title:"Why does GameVault not fully automate the setup procedure?",type:"info",children:(0,n.jsx)(t.p,{children:"Different external installers and setups work very differently, making it nearly impossible to fully automate every type. However, all installers have one thing in common: the ability to choose the installation path for the game. GameVault guides you through the process, but you still need to manually select the installation path and click through the installer."})}),"\n",(0,n.jsx)(t.h4,{id:"clearing-remains",children:"Clearing Remains"}),"\n",(0,n.jsx)(t.p,{children:"Once you have fully confirmed that a game works, you are free to delete the game's corresponding Download using the trash icon in the downloads tab."}),"\n",(0,n.jsx)(t.h2,{id:"playing-a-game",children:"Playing a Game"}),"\n",(0,n.jsxs)(t.p,{children:["Launching a game on GameVault is simple. Once your game is installed and ready to go, it will appear in the \"Installed Games\" tab. If GameVault didn't correctly predict the correct executable to launch automatically, you can change it in the game's settings and click the ",(0,n.jsx)(t.code,{children:"Play"})," button to start the game."]}),"\n",(0,n.jsx)(t.h2,{id:"tracking-your-game-progress",children:"Tracking Your Game Progress"}),"\n",(0,n.jsxs)(t.p,{children:["Once GameVault is launched, it automatically activates a time-tracking daemon. This diligent daemon continuously monitors your game progress, specifically your playtime, and promptly sends this information to the server whenever any .exe file (except those on the ignore-list) is running within a folder located in your Installations directory ",(0,n.jsx)(t.code,{children:"<GameVault Root>/Installations/*"}),". Even if you play without an internet connection, your playtime will still be tracked and updated on the server as soon as you regain connectivity."]}),"\n",(0,n.jsx)(t.p,{children:'In our context, the term "Progress" refers to a user\'s activity of playing a game. Each user can have a single progress entry per game.'}),"\n",(0,n.jsx)(t.p,{children:"The progress entry includes the completion state, which can be modified through the community tab, as well as the tracked playtime and some other additional information."}),"\n",(0,n.jsx)(t.p,{children:"You have the ability to change the progress state or delete it using the community tab. Certain states also change automatically, such as transitioning from UNPLAYED to PLAYING when the game is launched."}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Please note that this Progress does not include your savegames. GameVault does not (yet \ud83d\ude09) have the capability to synchronize or store your savegames. Therefore, it is advisable to create backups of your savegames before uninstalling any games."})}),"\n",(0,n.jsx)(t.h2,{id:"modifying-games",children:"Modifying Games"}),"\n",(0,n.jsx)(t.p,{children:"If you are unhappy with the Box Art or Background Image of a game on your server or if there are incorrect Metadata associated with a game, there is a straightforward solution."}),"\n",(0,n.jsxs)(t.p,{children:["If you have the ",(0,n.jsx)(t.code,{children:"EDITOR"})," role or higher on your GameVault server, you can modify games by following these steps:"]}),"\n",(0,n.jsx)(t.p,{children:"Open the game settings by clicking on the settings icon, either in the top-right corner of the box art image or on the game's detail page. A popup will appear."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Edit Images"}),", you can select/paste/drop an image or paste a URL for different box art or background image."]}),"\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Metadata"}),", you can remap/unmap incorrectly associated metadata for each provider."]}),"\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Custom Metadata"}),", you can manually overwrite the Metadata of the game."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Please note that any changes made will affect all users on the server."}),"\n",(0,n.jsx)(t.h2,{id:"modifying-users",children:"Modifying Users"}),"\n",(0,n.jsx)(t.p,{children:"If you want to change the data, profile picture, or background image of your User:"}),"\n",(0,n.jsx)(t.p,{children:"Click your User Icon on the top left corner, then locate and click on the Settings Icon in the top right corner, and a popup will appear."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Edit Images"}),", you can select/paste/drop an image or paste a URL for different avatar or background image."]}),"\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Edit Details"}),", you can change the data of your user."]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["If you have the ",(0,n.jsx)(t.code,{children:"ADMIN"})," role or higher on your GameVault server, you can do the same for all other user profiles in the Admin Dashboard."]}),"\n",(0,n.jsx)(t.h2,{id:"exiting-or-relaunching-the-app",children:"Exiting or Relaunching the App"}),"\n",(0,n.jsx)(t.p,{children:'In order to maintain playtime tracking functionality, simply closing the launcher using the X-Button does not terminate the GameVault process. Instead, it minimizes the app to the system Tray. Therefore, if you truly wish to exit the application, be sure to right-click and select "Exit" from the context menu. The same principle applies when restarting the app. Only one GameVault window can be active at a time, so initiating another GameVault merely brings the minimized app to the forefront without actually restarting it.'})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},9246:(e,t,a)=>{a.d(t,{Z:()=>r,a:()=>s});var n=a(5271);const i={},o=n.createContext(i);function s(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2126],{5076:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=a(2676),i=a(8358);const o={sidebar_position:2},s="How to Use",r={id:"client-docs/how-to-use",title:"How to Use",description:"File & Folder Structure",source:"@site/docs/client-docs/how-to-use.md",sourceDirName:"client-docs",slug:"/client-docs/how-to-use",permalink:"/docs/client-docs/how-to-use",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/how-to-use.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Setting up a GameVault Client",permalink:"/docs/client-docs/setup"},next:{title:"Updating the Client",permalink:"/docs/client-docs/updating-client"}},l={},d=[{value:"File & Folder Structure",id:"file--folder-structure",level:2},{value:"Downloading Games",id:"downloading-games",level:2},{value:"1. Extracting the Game",id:"1-extracting-the-game",level:3},{value:"2. Installing the Game",id:"2-installing-the-game",level:3},{value:"Installing Portable Games",id:"installing-portable-games",level:4},{value:"Installing Setup Games",id:"installing-setup-games",level:4},{value:"Clearing Remains",id:"clearing-remains",level:4},{value:"Playing a Game",id:"playing-a-game",level:2},{value:"Tracking Your Game Progress",id:"tracking-your-game-progress",level:2},{value:"Modifying Games",id:"modifying-games",level:2},{value:"Modifying Users",id:"modifying-users",level:2},{value:"Exiting or Relaunching the App",id:"exiting-or-relaunching-the-app",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"how-to-use",children:"How to Use"})}),"\n",(0,n.jsx)(t.h2,{id:"file--folder-structure",children:"File & Folder Structure"}),"\n",(0,n.jsx)(t.admonition,{title:"Example",type:"note",children:(0,n.jsxs)(t.p,{children:["Let's say you installed GameVault freshly and configured your Root folder path to ",(0,n.jsx)(t.code,{children:"D:/"})," because your D Drive is larger."]})}),"\n",(0,n.jsx)(t.p,{children:"GameVault will now generate its folder structure. When everything is done, your file system will look like this:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"D:/GameVault/"})," - Root Folder","\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"D:/GameVault/Downloads/"})," - This folder is where your downloads will be saved. For each downloaded game, GameVault generates a new folder in this directory."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"D:/GameVault/Installations/"})," - This folder is where your installed games belong. For each downloaded game, GameVault generates a new folder in this directory."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"downloading-games",children:"Downloading Games"}),"\n",(0,n.jsxs)(t.p,{children:["Let's say you found the game ",(0,n.jsx)(t.code,{children:"Assassin's Creed Unity (Game ID: 74)"})," in the Library tab and chose to download it."]}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Only download games from servers you fully trust! There's a potential risk of malware. If your antivirus alerts during the following process, abort any download and installation of the game, fully delete the downloaded data, and warn your server admins to address the malware promptly."})}),"\n",(0,n.jsx)(t.p,{children:"As stated above, GameVault generates two folders to store the game files and uses the game ID in the name to identify them:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Downloads/(74) Assassin's Creed Unity/"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Installations/(74) Assassin's Creed Unity/"})}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Your downloaded game archive will be saved in ",(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Downloads/(74) Assassin's Creed Unity/"}),". The ",(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Installations/(74) Assassin's Creed Unity/"})," folder should be empty for now."]}),"\n",(0,n.jsx)(t.p,{children:"To start playing a game you've downloaded, follow these steps to install it. This process makes it easier for you."}),"\n",(0,n.jsx)(t.p,{children:"Game installation has two main parts:"}),"\n",(0,n.jsx)(t.h3,{id:"1-extracting-the-game",children:"1. Extracting the Game"}),"\n",(0,n.jsxs)(t.p,{children:["GameVault games are ",(0,n.jsx)(t.a,{href:"/docs/server-docs/structure",children:"always served in some kind of archive format"}),". So you will need to extract them."]}),"\n",(0,n.jsxs)(t.p,{children:["After the download is complete, locate the ",(0,n.jsx)(t.code,{children:"Extract"})," button. Clicking it will extract the game into a subfolder called ",(0,n.jsx)(t.code,{children:"Extracted"})," within the game's Download Directory. A progress bar shows the extraction progress and estimated remaining time. Larger or extremely compressed games may take longer to extract."]}),"\n",(0,n.jsx)(t.p,{children:"If there are extraction errors, you can retry the extraction unless you deleted the game archive. Error details are displayed in the user interface. If you encounter repeated extraction errors for the same game, try to extract the game manually or contact your GameVault server administrators to check the integrity of those games."}),"\n",(0,n.jsx)(t.h3,{id:"2-installing-the-game",children:"2. Installing the Game"}),"\n",(0,n.jsxs)(t.p,{children:["There are different types of GameVault games. ",(0,n.jsx)(t.a,{href:"/docs/server-docs/game-types",children:"You can find more information about them here"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"For now, we will focus on the general concept of Portable and Setup Games."}),"\n",(0,n.jsx)(t.p,{children:"Portable games are ready to play out of the box, while Setup games require additional setup before playing."}),"\n",(0,n.jsx)(t.admonition,{title:"What determines the game type?",type:"note",children:(0,n.jsxs)(t.p,{children:["The server automatically tries to determine the game's type based on the content, but errors can occur. Administrators can manually overwrite the detected game type by including a ",(0,n.jsx)(t.a,{href:"/docs/server-docs/structure",children:"type override in the file name"}),"."]})}),"\n",(0,n.jsx)(t.h4,{id:"installing-portable-games",children:"Installing Portable Games"}),"\n",(0,n.jsxs)(t.p,{children:["For portable games, GameVault provides a very simple installation process. You don't need to select an executable file. Just press the ",(0,n.jsx)(t.code,{children:"Install"})," button. GameVault will automatically move all the extracted game content to your game's installation directory. This should happen instantly."]}),"\n",(0,n.jsxs)(t.p,{children:["Once the installation is complete, your game is ready to be played in the library. If necessary, select the appropriate executable file to launch in the Game Settings tab and click ",(0,n.jsx)(t.code,{children:"Play"}),"."]}),"\n",(0,n.jsx)(t.admonition,{title:"No Game Executable",type:"note",children:(0,n.jsx)(t.p,{children:"If you don't see a game executable here but instead see a setup executable, the game's type has incorrectly been set to a portable type on the server. Contact your server administrators to manually override that game's type to a setup type. Then, manually move the files inside your game's installation folder back into the game's download folder. Run the installer and manually select the now-empty game's installation folder as its destination."})}),"\n",(0,n.jsx)(t.h4,{id:"installing-setup-games",children:"Installing Setup Games"}),"\n",(0,n.jsxs)(t.p,{children:["For games that require installation, GameVault will provide a dropdown menu to launch a setup executable file. Select the appropriate setup.exe file and press the ",(0,n.jsx)(t.code,{children:"Install"})," button."]}),"\n",(0,n.jsx)(t.admonition,{title:"No Setup Executable",type:"note",children:(0,n.jsxs)(t.p,{children:["If you don't see a setup executable here but instead see the game's executable, it may have incorrectly been set to a setup type on the server. Contact your server administrators to manually override that game's type to a portable type. Then, manually move the files inside the game downloads ",(0,n.jsx)(t.code,{children:"Extracted/"})," folder to the game's corresponding installation folder, and you should be ready to play."]})}),"\n",(0,n.jsxs)(t.p,{children:["During the external setup process ",(0,n.jsx)(t.strong,{children:"it is crucial to set the destination folder for your game files to your game's Installation folder"})," (e.g., ",(0,n.jsx)(t.code,{children:"<GameVault Root>/GameVault/Installations/(74) Assassin's Creed Unity/"}),"). This is where the final game files and executable should be located. If you don't set the destination, GameVault will have no idea where to look for your game files, and the game won't be playable. If you missed setting the destination folder or set it wrongly, uninstall the game from your system and retry this step."]}),"\n",(0,n.jsxs)(t.p,{children:["Once the installation is complete, your game is ready to be played. Just select the appropriate .exe file to launch in the Installations tab and click ",(0,n.jsx)(t.code,{children:"Play"}),"."]}),"\n",(0,n.jsx)(t.admonition,{title:"Why does GameVault not fully automate the setup procedure?",type:"info",children:(0,n.jsx)(t.p,{children:"Different external installers and setups work very differently, making it nearly impossible to fully automate every type. However, all installers have one thing in common: the ability to choose the installation path for the game. GameVault guides you through the process, but you still need to manually select the installation path and click through the installer."})}),"\n",(0,n.jsx)(t.h4,{id:"clearing-remains",children:"Clearing Remains"}),"\n",(0,n.jsx)(t.p,{children:"Once you have fully confirmed that a game works, you are free to delete the game's corresponding Download using the trash icon in the downloads tab."}),"\n",(0,n.jsx)(t.h2,{id:"playing-a-game",children:"Playing a Game"}),"\n",(0,n.jsxs)(t.p,{children:["Launching a game on GameVault is simple. Once your game is installed and ready to go, it will appear in the \"Installed Games\" tab. If GameVault didn't correctly predict the correct executable to launch automatically, you can change it in the game's settings and click the ",(0,n.jsx)(t.code,{children:"Play"})," button to start the game."]}),"\n",(0,n.jsx)(t.h2,{id:"tracking-your-game-progress",children:"Tracking Your Game Progress"}),"\n",(0,n.jsxs)(t.p,{children:["Once GameVault is launched, it automatically activates a time-tracking daemon. This diligent daemon continuously monitors your game progress, specifically your playtime, and promptly sends this information to the server whenever any .exe file (except those on the ignore-list) is running within a folder located in your Installations directory ",(0,n.jsx)(t.code,{children:"<GameVault Root>/Installations/*"}),". Even if you play without an internet connection, your playtime will still be tracked and updated on the server as soon as you regain connectivity."]}),"\n",(0,n.jsx)(t.p,{children:'In our context, the term "Progress" refers to a user\'s activity of playing a game. Each user can have a single progress entry per game.'}),"\n",(0,n.jsx)(t.p,{children:"The progress entry includes the completion state, which can be modified through the community tab, as well as the tracked playtime and some other additional information."}),"\n",(0,n.jsx)(t.p,{children:"You have the ability to change the progress state or delete it using the community tab. Certain states also change automatically, such as transitioning from UNPLAYED to PLAYING when the game is launched."}),"\n",(0,n.jsx)(t.admonition,{type:"warning",children:(0,n.jsx)(t.p,{children:"Please note that this Progress does not include your savegames. GameVault does not (yet \ud83d\ude09) have the capability to synchronize or store your savegames. Therefore, it is advisable to create backups of your savegames before uninstalling any games."})}),"\n",(0,n.jsx)(t.h2,{id:"modifying-games",children:"Modifying Games"}),"\n",(0,n.jsx)(t.p,{children:"If you are unhappy with the Box Art or Background Image of a game on your server or if there are incorrect Metadata associated with a game, there is a straightforward solution."}),"\n",(0,n.jsxs)(t.p,{children:["If you have the ",(0,n.jsx)(t.code,{children:"EDITOR"})," role or higher on your GameVault server, you can modify games by following these steps:"]}),"\n",(0,n.jsx)(t.p,{children:"Open the game settings by clicking on the settings icon, either in the top-right corner of the box art image or on the game's detail page. A popup will appear."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Edit Images"}),", you can select/paste/drop an image or paste a URL for different box art or background image."]}),"\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Metadata"}),", you can remap/unmap incorrectly associated metadata for each provider."]}),"\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Custom Metadata"}),", you can manually overwrite the Metadata of the game."]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Please note that any changes made will affect all users on the server."}),"\n",(0,n.jsx)(t.h2,{id:"modifying-users",children:"Modifying Users"}),"\n",(0,n.jsx)(t.p,{children:"If you want to change the data, profile picture, or background image of your User:"}),"\n",(0,n.jsx)(t.p,{children:"Click your User Icon on the top left corner, then locate and click on the Settings Icon in the top right corner, and a popup will appear."}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Edit Images"}),", you can select/paste/drop an image or paste a URL for different avatar or background image."]}),"\n",(0,n.jsxs)(t.li,{children:["Under ",(0,n.jsx)(t.strong,{children:"Edit Details"}),", you can change the data of your user."]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["If you have the ",(0,n.jsx)(t.code,{children:"ADMIN"})," role or higher on your GameVault server, you can do the same for all other user profiles in the Admin Dashboard."]}),"\n",(0,n.jsx)(t.h2,{id:"exiting-or-relaunching-the-app",children:"Exiting or Relaunching the App"}),"\n",(0,n.jsx)(t.p,{children:'In order to maintain playtime tracking functionality, simply closing the launcher using the X-Button does not terminate the GameVault process. Instead, it minimizes the app to the system Tray. Therefore, if you truly wish to exit the application, be sure to right-click and select "Exit" from the context menu. The same principle applies when restarting the app. Only one GameVault window can be active at a time, so initiating another GameVault merely brings the minimized app to the forefront without actually restarting it.'})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8358:(e,t,a)=>{a.d(t,{Z:()=>r,a:()=>s});var n=a(5271);const i={},o=n.createContext(i);function s(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/438c7fa2.03c3af96.js b/assets/js/438c7fa2.ed451fc6.js similarity index 93% rename from assets/js/438c7fa2.03c3af96.js rename to assets/js/438c7fa2.ed451fc6.js index 74710c252..fadc3d604 100644 --- a/assets/js/438c7fa2.03c3af96.js +++ b/assets/js/438c7fa2.ed451fc6.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1601],{5729:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=s(2676),r=s(9246);const o={sidebar_position:11},i="Server News",a={id:"server-docs/server-news",title:"Server News",description:"You can keep your users informed by adding a news.md file. Use it to link your game wishlist form, share key updates, or simply greet them.",source:"@site/docs/server-docs/server-news.md",sourceDirName:"server-docs",slug:"/server-docs/server-news",permalink:"/docs/server-docs/server-news",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/server-news.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:11,frontMatter:{sidebar_position:11},sidebar:"docs",previous:{title:"Parental Control",permalink:"/docs/server-docs/parental-control"},next:{title:"Setting up a GameVault Client",permalink:"/docs/client-docs/setup"}},d={},c=[];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",header:"header",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"server-news",children:"Server News"})}),"\n",(0,t.jsxs)(n.p,{children:["You can keep your users informed by adding a ",(0,t.jsx)(n.code,{children:"news.md"})," file. Use it to link your game wishlist form, share key updates, or simply greet them."]}),"\n",(0,t.jsxs)(n.p,{children:["This file supports ",(0,t.jsx)(n.a,{href:"https://wikipedia.org/wiki/Markdown",children:"Markdown"})," syntax, making it easy to format and structure your content. You can edit the ",(0,t.jsx)(n.code,{children:"news.md"})," file using any text editor or script. It is located at ",(0,t.jsx)(n.code,{children:"/config/news.md"}),". If you're using Docker, simply mount that folder as a volume:"]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["When updating the ",(0,t.jsx)(n.code,{children:"news.md"})," file., users will receive a notification ping-icon in their client, ensuring they see the latest news."]})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:"[...]\nvolumes:\n - /your/config/folder:/config\n - [...]\n[...]\n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},9246:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>i});var t=s(5271);const r={},o=t.createContext(r);function i(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1601],{5729:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var t=s(2676),r=s(8358);const o={sidebar_position:11},i="Server News",a={id:"server-docs/server-news",title:"Server News",description:"You can keep your users informed by adding a news.md file. Use it to link your game wishlist form, share key updates, or simply greet them.",source:"@site/docs/server-docs/server-news.md",sourceDirName:"server-docs",slug:"/server-docs/server-news",permalink:"/docs/server-docs/server-news",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/server-news.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:11,frontMatter:{sidebar_position:11},sidebar:"docs",previous:{title:"Parental Control",permalink:"/docs/server-docs/parental-control"},next:{title:"Setting up a GameVault Client",permalink:"/docs/client-docs/setup"}},d={},c=[];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",header:"header",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"server-news",children:"Server News"})}),"\n",(0,t.jsxs)(n.p,{children:["You can keep your users informed by adding a ",(0,t.jsx)(n.code,{children:"news.md"})," file. Use it to link your game wishlist form, share key updates, or simply greet them."]}),"\n",(0,t.jsxs)(n.p,{children:["This file supports ",(0,t.jsx)(n.a,{href:"https://wikipedia.org/wiki/Markdown",children:"Markdown"})," syntax, making it easy to format and structure your content. You can edit the ",(0,t.jsx)(n.code,{children:"news.md"})," file using any text editor or script. It is located at ",(0,t.jsx)(n.code,{children:"/config/news.md"}),". If you're using Docker, simply mount that folder as a volume:"]}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["When updating the ",(0,t.jsx)(n.code,{children:"news.md"})," file., users will receive a notification ping-icon in their client, ensuring they see the latest news."]})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:"[...]\nvolumes:\n - /your/config/folder:/config\n - [...]\n[...]\n"})})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},8358:(e,n,s)=>{s.d(n,{Z:()=>a,a:()=>i});var t=s(5271);const r={},o=t.createContext(r);function i(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/47aca6da.ce9212e4.js b/assets/js/47aca6da.d22b953e.js similarity index 91% rename from assets/js/47aca6da.ce9212e4.js rename to assets/js/47aca6da.d22b953e.js index c15cd67ef..b954e7935 100644 --- a/assets/js/47aca6da.ce9212e4.js +++ b/assets/js/47aca6da.d22b953e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3465],{5251:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var o=n(2676),a=n(9246);const l={title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",authors:["alfagun74"],tags:["April Fools"]},i=void 0,r={permalink:"/blog/2024/04/01/2024-04-01/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-04-01/2024-04-01.md",source:"@site/blog/2024-04-01/2024-04-01.md",title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",description:"Hey Everyone!",date:"2024-04-01T00:00:00.000Z",tags:[{inline:!0,label:"April Fools",permalink:"/blog/tags/april-fools"}],readingTime:1.605,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",authors:["alfagun74"],tags:["April Fools"]},unlisted:!1,prevItem:{title:"GameVault+ out now",permalink:"/blog/2024/04/14/"},nextItem:{title:"Announcing GameVault+ (coming soon)",permalink:"/blog/2024/03/28/"}},s={authorsImageUrls:[void 0]},c=[];function u(e){const t={p:"p",strong:"strong",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Hey Everyone!"}),"\n",(0,o.jsxs)(t.p,{children:["The moment you've been waiting for is finally here. We've been working hard on it for months and are thrilled to announce that GameVault Client Application is ",(0,o.jsx)(t.strong,{children:"now available on Windows Phone 7"}),", powered by ",(0,o.jsx)(t.strong,{children:"Microsoft Silverlight"}),"!"]})]})}function d(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},9246:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>i});var o=n(5271);const a={},l=o.createContext(a);function i(e){const t=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3465],{3692:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var o=n(2676),a=n(8358);const l={title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",authors:["alfagun74"],tags:["April Fools"]},i=void 0,r={permalink:"/blog/2024/04/01/2024-04-01/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-04-01/2024-04-01.md",source:"@site/blog/2024-04-01/2024-04-01.md",title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",description:"Hey Everyone!",date:"2024-04-01T00:00:00.000Z",tags:[{inline:!0,label:"April Fools",permalink:"/blog/tags/april-fools"}],readingTime:1.605,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",authors:["alfagun74"],tags:["April Fools"]},unlisted:!1,prevItem:{title:"GameVault+ out now",permalink:"/blog/2024/04/14/"},nextItem:{title:"Announcing GameVault+ (coming soon)",permalink:"/blog/2024/03/28/"}},s={authorsImageUrls:[void 0]},c=[];function u(e){const t={p:"p",strong:"strong",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Hey Everyone!"}),"\n",(0,o.jsxs)(t.p,{children:["The moment you've been waiting for is finally here. We've been working hard on it for months and are thrilled to announce that GameVault Client Application is ",(0,o.jsx)(t.strong,{children:"now available on Windows Phone 7"}),", powered by ",(0,o.jsx)(t.strong,{children:"Microsoft Silverlight"}),"!"]})]})}function d(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8358:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>i});var o=n(5271);const a={},l=o.createContext(a);function i(e){const t=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4a631206.32b9a23f.js b/assets/js/4a631206.061c0be6.js similarity index 95% rename from assets/js/4a631206.32b9a23f.js rename to assets/js/4a631206.061c0be6.js index b91fed497..605cd5196 100644 --- a/assets/js/4a631206.32b9a23f.js +++ b/assets/js/4a631206.061c0be6.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7937],{6226:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var t=a(2676),s=a(9246);const i={sidebar_position:5},r="Updating Games",o={id:"server-docs/updating-games",title:"Updating Games",description:"Applying an Update to a Game",source:"@site/docs/server-docs/updating-games.md",sourceDirName:"server-docs",slug:"/server-docs/updating-games",permalink:"/docs/server-docs/updating-games",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/updating-games.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"docs",previous:{title:"Adding Games to GameVault",permalink:"/docs/server-docs/adding-games"},next:{title:"User Management",permalink:"/docs/server-docs/user-management"}},d={},l=[{value:"Applying an Update to a Game",id:"applying-an-update-to-a-game",level:2},{value:"Example",id:"example",level:3},{value:"Changing or Moving a Game",id:"changing-or-moving-a-game",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"updating-games",children:"Updating Games"})}),"\n",(0,t.jsx)(n.h2,{id:"applying-an-update-to-a-game",children:"Applying an Update to a Game"}),"\n",(0,t.jsxs)(n.p,{children:["To update a game, simply delete the existing game file and replace it with a new one in the files directory (by default ",(0,t.jsx)(n.code,{children:"/files"}),")."]}),"\n",(0,t.jsxs)(n.p,{children:["You can freely modify the early access and version flags of your game. As long as the ",(0,t.jsx)(n.strong,{children:"path"})," or ",(0,t.jsx)(n.strong,{children:"the combination of title and release year"})," of the new file matches the old file, GameVault's indexer will recognize it as an update. The same game entity will be restored if needed and updated with the new file's information, while preserving any progress associated with the game."]}),"\n",(0,t.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's say you have a very outdated version of the game ",(0,t.jsx)(n.code,{children:"Minecraft (EA) (v1.8b) (2011).zip"})," and you want to update it to the newest version, such as ",(0,t.jsx)(n.code,{children:"Minecraft (v1.20.1) (2011).7z"}),":"]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Delete ",(0,t.jsx)(n.code,{children:"Minecraft (EA) (v1.8b) (2011).zip"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Insert ",(0,t.jsx)(n.code,{children:"Minecraft (v1.20.1) (2011).7z"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Wait for the automatic indexing process to detect and register the changes."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["If you want to keep multiple versions of the same game, refer to the documentation on ",(0,t.jsx)(n.a,{href:"/docs/server-docs/adding-games#adding-the-same-game-multiple-times",children:"adding the same game multiple times"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"changing-or-moving-a-game",children:"Changing or Moving a Game"}),"\n",(0,t.jsxs)(n.p,{children:["Changing or moving a game is also a breeze. As long as the ",(0,t.jsx)(n.strong,{children:"path"})," or ",(0,t.jsx)(n.strong,{children:"the combination of title and release year"})," of the moved or renamed file matches the old file, GameVault's indexer will recognize it as an update. The same game entity will be updated with the new file's information, while preserving any progress associated with the game."]})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},9246:(e,n,a)=>{a.d(n,{Z:()=>o,a:()=>r});var t=a(5271);const s={},i=t.createContext(s);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7937],{6226:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>l});var t=a(2676),s=a(8358);const i={sidebar_position:5},r="Updating Games",o={id:"server-docs/updating-games",title:"Updating Games",description:"Applying an Update to a Game",source:"@site/docs/server-docs/updating-games.md",sourceDirName:"server-docs",slug:"/server-docs/updating-games",permalink:"/docs/server-docs/updating-games",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/updating-games.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"docs",previous:{title:"Adding Games to GameVault",permalink:"/docs/server-docs/adding-games"},next:{title:"User Management",permalink:"/docs/server-docs/user-management"}},d={},l=[{value:"Applying an Update to a Game",id:"applying-an-update-to-a-game",level:2},{value:"Example",id:"example",level:3},{value:"Changing or Moving a Game",id:"changing-or-moving-a-game",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"updating-games",children:"Updating Games"})}),"\n",(0,t.jsx)(n.h2,{id:"applying-an-update-to-a-game",children:"Applying an Update to a Game"}),"\n",(0,t.jsxs)(n.p,{children:["To update a game, simply delete the existing game file and replace it with a new one in the files directory (by default ",(0,t.jsx)(n.code,{children:"/files"}),")."]}),"\n",(0,t.jsxs)(n.p,{children:["You can freely modify the early access and version flags of your game. As long as the ",(0,t.jsx)(n.strong,{children:"path"})," or ",(0,t.jsx)(n.strong,{children:"the combination of title and release year"})," of the new file matches the old file, GameVault's indexer will recognize it as an update. The same game entity will be restored if needed and updated with the new file's information, while preserving any progress associated with the game."]}),"\n",(0,t.jsx)(n.h3,{id:"example",children:"Example"}),"\n",(0,t.jsxs)(n.p,{children:["Let's say you have a very outdated version of the game ",(0,t.jsx)(n.code,{children:"Minecraft (EA) (v1.8b) (2011).zip"})," and you want to update it to the newest version, such as ",(0,t.jsx)(n.code,{children:"Minecraft (v1.20.1) (2011).7z"}),":"]}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Delete ",(0,t.jsx)(n.code,{children:"Minecraft (EA) (v1.8b) (2011).zip"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Insert ",(0,t.jsx)(n.code,{children:"Minecraft (v1.20.1) (2011).7z"}),"."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Wait for the automatic indexing process to detect and register the changes."}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["If you want to keep multiple versions of the same game, refer to the documentation on ",(0,t.jsx)(n.a,{href:"/docs/server-docs/adding-games#adding-the-same-game-multiple-times",children:"adding the same game multiple times"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"changing-or-moving-a-game",children:"Changing or Moving a Game"}),"\n",(0,t.jsxs)(n.p,{children:["Changing or moving a game is also a breeze. As long as the ",(0,t.jsx)(n.strong,{children:"path"})," or ",(0,t.jsx)(n.strong,{children:"the combination of title and release year"})," of the moved or renamed file matches the old file, GameVault's indexer will recognize it as an update. The same game entity will be updated with the new file's information, while preserving any progress associated with the game."]})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8358:(e,n,a)=>{a.d(n,{Z:()=>o,a:()=>r});var t=a(5271);const s={},i=t.createContext(s);function r(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4a6974fe.9013cf49.js b/assets/js/4a6974fe.d796f7ac.js similarity index 95% rename from assets/js/4a6974fe.9013cf49.js rename to assets/js/4a6974fe.d796f7ac.js index bb8b779a8..5c9230b32 100644 --- a/assets/js/4a6974fe.9013cf49.js +++ b/assets/js/4a6974fe.d796f7ac.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6634],{4159:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>h});var o=n(2676),a=n(9246);const i={title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",authors:["alfagun74"],tags:["April Fools"]},r=void 0,s={permalink:"/blog/2024/04/01/2024-04-01/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-04-01/2024-04-01.md",source:"@site/blog/2024-04-01/2024-04-01.md",title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",description:"Hey Everyone!",date:"2024-04-01T00:00:00.000Z",tags:[{inline:!0,label:"April Fools",permalink:"/blog/tags/april-fools"}],readingTime:1.605,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",authors:["alfagun74"],tags:["April Fools"]},unlisted:!1,prevItem:{title:"GameVault+ out now",permalink:"/blog/2024/04/14/"},nextItem:{title:"Announcing GameVault+ (coming soon)",permalink:"/blog/2024/03/28/"}},l={authorsImageUrls:[void 0]},h=[];function u(e){const t={img:"img",p:"p",strong:"strong",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Hey Everyone!"}),"\n",(0,o.jsxs)(t.p,{children:["The moment you've been waiting for is finally here. We've been working hard on it for months and are thrilled to announce that GameVault Client Application is ",(0,o.jsx)(t.strong,{children:"now available on Windows Phone 7"}),", powered by ",(0,o.jsx)(t.strong,{children:"Microsoft Silverlight"}),"!"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Windows Phone",src:n(9269).Z+"",width:"655",height:"1237"})}),"\n",(0,o.jsx)(t.p,{children:"The Current PC-Version of GameVault will be discontinued soon and will no longer be available to download from the Microsoft Store, as the technology is too new and not well supported yet. We needed a battle-tested framework to ensure compatibility, so we decided to switch to Windows Phone 7 and Silverlight. Also, the mobile platform just has massive market share, compared to PC."}),"\n",(0,o.jsx)(t.p,{children:"We understand the excitement and anticipation surrounding this release, and we're just as eager as you are to see how this integration will enhance your experience."}),"\n",(0,o.jsx)(t.p,{children:"With GameVault on your Windows Phone 7 device, you can carry your favorite games with you wherever you go. Whether you're battling fierce foes, exploring vast virtual worlds, or simply passing the time with a quick puzzle game, GameVault ensures that the thrill of gaming is always at your fingertips."}),"\n",(0,o.jsx)(t.p,{children:"Thanks to the seamless integration with Microsoft Silverlight, navigating through your game library has never been smoother or more intuitive. The Metro Live Tiles add a touch of elegance to the user interface, making it a joy to browse through your collection and discover new games."}),"\n",(0,o.jsx)(t.p,{children:'And the best part? This is just the beginning. Our team is already hard at work on further enhancements and features, including the highly anticipated Holodeck edition of GameVault aswell as the new integrated "Bird Feeding Timer" feature, that automatically warns you when your pets are about to starve.'}),"\n",(0,o.jsx)(t.p,{children:"We're incredibly excited to embark on this journey with you and to continue pushing the boundaries of innovation. So what are you waiting for? Head over to the Windows Phone Store and migrate today to start your gaming adventure!"}),"\n",(0,o.jsx)(t.p,{children:"Happy gaming... and April Fools!"})]})}function d(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},9269:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/winphone-023216d8c8a98bec60f56a1be49a2ae5.png"},9246:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>r});var o=n(5271);const a={},i=o.createContext(a);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6634],{1693:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>h});var o=n(2676),a=n(8358);const i={title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",authors:["alfagun74"],tags:["April Fools"]},r=void 0,s={permalink:"/blog/2024/04/01/2024-04-01/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-04-01/2024-04-01.md",source:"@site/blog/2024-04-01/2024-04-01.md",title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",description:"Hey Everyone!",date:"2024-04-01T00:00:00.000Z",tags:[{inline:!0,label:"April Fools",permalink:"/blog/tags/april-fools"}],readingTime:1.605,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",authors:["alfagun74"],tags:["April Fools"]},unlisted:!1,prevItem:{title:"GameVault+ out now",permalink:"/blog/2024/04/14/"},nextItem:{title:"Announcing GameVault+ (coming soon)",permalink:"/blog/2024/03/28/"}},l={authorsImageUrls:[void 0]},h=[];function u(e){const t={img:"img",p:"p",strong:"strong",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Hey Everyone!"}),"\n",(0,o.jsxs)(t.p,{children:["The moment you've been waiting for is finally here. We've been working hard on it for months and are thrilled to announce that GameVault Client Application is ",(0,o.jsx)(t.strong,{children:"now available on Windows Phone 7"}),", powered by ",(0,o.jsx)(t.strong,{children:"Microsoft Silverlight"}),"!"]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Windows Phone",src:n(9269).Z+"",width:"655",height:"1237"})}),"\n",(0,o.jsx)(t.p,{children:"The Current PC-Version of GameVault will be discontinued soon and will no longer be available to download from the Microsoft Store, as the technology is too new and not well supported yet. We needed a battle-tested framework to ensure compatibility, so we decided to switch to Windows Phone 7 and Silverlight. Also, the mobile platform just has massive market share, compared to PC."}),"\n",(0,o.jsx)(t.p,{children:"We understand the excitement and anticipation surrounding this release, and we're just as eager as you are to see how this integration will enhance your experience."}),"\n",(0,o.jsx)(t.p,{children:"With GameVault on your Windows Phone 7 device, you can carry your favorite games with you wherever you go. Whether you're battling fierce foes, exploring vast virtual worlds, or simply passing the time with a quick puzzle game, GameVault ensures that the thrill of gaming is always at your fingertips."}),"\n",(0,o.jsx)(t.p,{children:"Thanks to the seamless integration with Microsoft Silverlight, navigating through your game library has never been smoother or more intuitive. The Metro Live Tiles add a touch of elegance to the user interface, making it a joy to browse through your collection and discover new games."}),"\n",(0,o.jsx)(t.p,{children:'And the best part? This is just the beginning. Our team is already hard at work on further enhancements and features, including the highly anticipated Holodeck edition of GameVault aswell as the new integrated "Bird Feeding Timer" feature, that automatically warns you when your pets are about to starve.'}),"\n",(0,o.jsx)(t.p,{children:"We're incredibly excited to embark on this journey with you and to continue pushing the boundaries of innovation. So what are you waiting for? Head over to the Windows Phone Store and migrate today to start your gaming adventure!"}),"\n",(0,o.jsx)(t.p,{children:"Happy gaming... and April Fools!"})]})}function d(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},9269:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/winphone-023216d8c8a98bec60f56a1be49a2ae5.png"},8358:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>r});var o=n(5271);const a={},i=o.createContext(a);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4d393b3e.b8157fdc.js b/assets/js/4d393b3e.5f343388.js similarity index 96% rename from assets/js/4d393b3e.b8157fdc.js rename to assets/js/4d393b3e.5f343388.js index b74ece9fc..10da66e03 100644 --- a/assets/js/4d393b3e.b8157fdc.js +++ b/assets/js/4d393b3e.5f343388.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9155],{2197:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var r=t(2676),s=t(9246);const n={sidebar_position:7.5},o="Database Backup & Restoration",i={id:"server-docs/backup-and-restore",title:"Database Backup & Restoration",description:"The Backup and Restoration Mechanisms in GameVault are currently experimental and should not be your primary backup solution. Always maintain your database backups independently and only consider using this as a last resort. In summary, we recommend avoiding this entire process whenever possible, as it can potentially be quite fragile and prone to issues. But i guess something is better than nothing...",source:"@site/docs/server-docs/backup-and-restore.md",sourceDirName:"server-docs",slug:"/server-docs/backup-and-restore",permalink:"/docs/server-docs/backup-and-restore",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/backup-and-restore.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:7.5,frontMatter:{sidebar_position:7.5},sidebar:"docs",previous:{title:"Provider: IGDB",permalink:"/docs/server-docs/metadata-enrichment/provider-igdb"},next:{title:"Media",permalink:"/docs/server-docs/media"}},d={},c=[{value:"Backup",id:"backup",level:2},{value:"Restoration",id:"restoration",level:2}];function l(e){const a={a:"a",admonition:"admonition",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.header,{children:(0,r.jsx)(a.h1,{id:"database-backup--restoration",children:"Database Backup & Restoration"})}),"\n",(0,r.jsx)(a.admonition,{title:"Experimental",type:"warning",children:(0,r.jsxs)(a.p,{children:["The Backup and Restoration Mechanisms in GameVault are currently experimental and should ",(0,r.jsx)(a.strong,{children:"not"})," be your primary backup solution. Always maintain your database backups independently and only consider using this as a last resort. In summary, we recommend avoiding this entire process whenever possible, as it can potentially be quite fragile and prone to issues. But i guess something is better than nothing..."]})}),"\n",(0,r.jsx)(a.admonition,{title:"Security Measurements",type:"note",children:(0,r.jsx)(a.p,{children:"For security resons any database operation outlined below must be additionally authenticated using your database password."})}),"\n",(0,r.jsx)(a.h2,{id:"backup",children:"Backup"}),"\n",(0,r.jsxs)(a.p,{children:["GameVault offers a user-friendly backup system for both supported database systems, Postgres and SQLite. You can trigger and download backups either through the GameVault Client or directly via the ",(0,r.jsx)(a.a,{href:"../advanced-usage/rest-api",children:"API"})," for automation purposes. Each backup is a complete database snapshot, and it's essential to handle these files with care, as they are unencrypted. You can create as many backups as needed."]}),"\n",(0,r.jsx)(a.p,{children:"For SQLite, the GameVault Backup simply duplicates the database file."}),"\n",(0,r.jsx)(a.p,{children:"For Postgres, it utilizes pgdump to create a comprehensive database dump."}),"\n",(0,r.jsx)(a.h2,{id:"restoration",children:"Restoration"}),"\n",(0,r.jsx)(a.p,{children:"Restoring a backup is a straightforward process."}),"\n",(0,r.jsxs)(a.p,{children:["You can trigger the restoration and upload backups using the GameVault Client or via the ",(0,r.jsx)(a.a,{href:"../advanced-usage/rest-api",children:"API"})," for automated procedures. However, before you proceed, there are some critical points to consider:"]}),"\n",(0,r.jsxs)(a.ol,{children:["\n",(0,r.jsxs)(a.li,{children:["\n",(0,r.jsx)(a.p,{children:"We strongly discourage restoring a backup on a different server version. If you must do it, consider downgrading your GameVault server to a lower version, ideally the version of your backup, as higher versions are more likely to cause compatibility issues. If you have no alternative, make sure to back up your current data again before proceeding."}),"\n"]}),"\n",(0,r.jsxs)(a.li,{children:["\n",(0,r.jsxs)(a.p,{children:[(0,r.jsx)(a.strong,{children:"Never, under any circumstances"}),", attempt to restore a backup from a different database technology (e.g., SQLite to Postgres or vice versa). This will result in a catastrophic failure."]}),"\n"]}),"\n",(0,r.jsxs)(a.li,{children:["\n",(0,r.jsx)(a.p,{children:"Always monitor the server logs while restoring a backup. If you notice anything unusual or different than a harmless warning, make a copy and securely store the file located at /tmp/gamevault-pre-restore.db on your container/server. This file serves as a backup created just before restoring the uploaded backup. In case of a major failure, GameVault may also perform this pre-restore backup restoration automatically. If you encounter difficulties, attempt to restore from this file. If this doesn't resolve the issue, you may need to explore manual restoration or consider other backup options."}),"\n"]}),"\n",(0,r.jsxs)(a.li,{children:["\n",(0,r.jsx)(a.p,{children:"The Restoration is not incremental. It hard-deletes everything and hard-restores everything."}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:a}={...(0,s.a)(),...e.components};return a?(0,r.jsx)(a,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>i,a:()=>o});var r=t(5271);const s={},n=r.createContext(s);function o(e){const a=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(n.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9155],{2197:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var r=t(2676),s=t(8358);const n={sidebar_position:7.5},o="Database Backup & Restoration",i={id:"server-docs/backup-and-restore",title:"Database Backup & Restoration",description:"The Backup and Restoration Mechanisms in GameVault are currently experimental and should not be your primary backup solution. Always maintain your database backups independently and only consider using this as a last resort. In summary, we recommend avoiding this entire process whenever possible, as it can potentially be quite fragile and prone to issues. But i guess something is better than nothing...",source:"@site/docs/server-docs/backup-and-restore.md",sourceDirName:"server-docs",slug:"/server-docs/backup-and-restore",permalink:"/docs/server-docs/backup-and-restore",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/backup-and-restore.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:7.5,frontMatter:{sidebar_position:7.5},sidebar:"docs",previous:{title:"Provider: IGDB",permalink:"/docs/server-docs/metadata-enrichment/provider-igdb"},next:{title:"Media",permalink:"/docs/server-docs/media"}},d={},c=[{value:"Backup",id:"backup",level:2},{value:"Restoration",id:"restoration",level:2}];function l(e){const a={a:"a",admonition:"admonition",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.header,{children:(0,r.jsx)(a.h1,{id:"database-backup--restoration",children:"Database Backup & Restoration"})}),"\n",(0,r.jsx)(a.admonition,{title:"Experimental",type:"warning",children:(0,r.jsxs)(a.p,{children:["The Backup and Restoration Mechanisms in GameVault are currently experimental and should ",(0,r.jsx)(a.strong,{children:"not"})," be your primary backup solution. Always maintain your database backups independently and only consider using this as a last resort. In summary, we recommend avoiding this entire process whenever possible, as it can potentially be quite fragile and prone to issues. But i guess something is better than nothing..."]})}),"\n",(0,r.jsx)(a.admonition,{title:"Security Measurements",type:"note",children:(0,r.jsx)(a.p,{children:"For security resons any database operation outlined below must be additionally authenticated using your database password."})}),"\n",(0,r.jsx)(a.h2,{id:"backup",children:"Backup"}),"\n",(0,r.jsxs)(a.p,{children:["GameVault offers a user-friendly backup system for both supported database systems, Postgres and SQLite. You can trigger and download backups either through the GameVault Client or directly via the ",(0,r.jsx)(a.a,{href:"../advanced-usage/rest-api",children:"API"})," for automation purposes. Each backup is a complete database snapshot, and it's essential to handle these files with care, as they are unencrypted. You can create as many backups as needed."]}),"\n",(0,r.jsx)(a.p,{children:"For SQLite, the GameVault Backup simply duplicates the database file."}),"\n",(0,r.jsx)(a.p,{children:"For Postgres, it utilizes pgdump to create a comprehensive database dump."}),"\n",(0,r.jsx)(a.h2,{id:"restoration",children:"Restoration"}),"\n",(0,r.jsx)(a.p,{children:"Restoring a backup is a straightforward process."}),"\n",(0,r.jsxs)(a.p,{children:["You can trigger the restoration and upload backups using the GameVault Client or via the ",(0,r.jsx)(a.a,{href:"../advanced-usage/rest-api",children:"API"})," for automated procedures. However, before you proceed, there are some critical points to consider:"]}),"\n",(0,r.jsxs)(a.ol,{children:["\n",(0,r.jsxs)(a.li,{children:["\n",(0,r.jsx)(a.p,{children:"We strongly discourage restoring a backup on a different server version. If you must do it, consider downgrading your GameVault server to a lower version, ideally the version of your backup, as higher versions are more likely to cause compatibility issues. If you have no alternative, make sure to back up your current data again before proceeding."}),"\n"]}),"\n",(0,r.jsxs)(a.li,{children:["\n",(0,r.jsxs)(a.p,{children:[(0,r.jsx)(a.strong,{children:"Never, under any circumstances"}),", attempt to restore a backup from a different database technology (e.g., SQLite to Postgres or vice versa). This will result in a catastrophic failure."]}),"\n"]}),"\n",(0,r.jsxs)(a.li,{children:["\n",(0,r.jsx)(a.p,{children:"Always monitor the server logs while restoring a backup. If you notice anything unusual or different than a harmless warning, make a copy and securely store the file located at /tmp/gamevault-pre-restore.db on your container/server. This file serves as a backup created just before restoring the uploaded backup. In case of a major failure, GameVault may also perform this pre-restore backup restoration automatically. If you encounter difficulties, attempt to restore from this file. If this doesn't resolve the issue, you may need to explore manual restoration or consider other backup options."}),"\n"]}),"\n",(0,r.jsxs)(a.li,{children:["\n",(0,r.jsx)(a.p,{children:"The Restoration is not incremental. It hard-deletes everything and hard-restores everything."}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:a}={...(0,s.a)(),...e.components};return a?(0,r.jsx)(a,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>i,a:()=>o});var r=t(5271);const s={},n=r.createContext(s);function o(e){const a=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(n.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5046667d.6816423f.js b/assets/js/5046667d.9ca9e466.js similarity index 96% rename from assets/js/5046667d.6816423f.js rename to assets/js/5046667d.9ca9e466.js index 17dcd5ad3..19114cd31 100644 --- a/assets/js/5046667d.6816423f.js +++ b/assets/js/5046667d.9ca9e466.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4275],{1575:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=i(2676),n=i(9246);const o={sidebar_position:8},r="WebSockets",a={id:"server-docs/websockets",title:"WebSockets",description:"GameVault doesn't fully use Websockets yet. Both the client and the server are still lacking a full implementation. Right now, it's just a basic version to begin with on the server. If you're interested in how we're doing with implementing Websockets, you can check out this page on GitHub to see our progress.",source:"@site/docs/server-docs/websockets.md",sourceDirName:"server-docs",slug:"/server-docs/websockets",permalink:"/docs/server-docs/websockets",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/websockets.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:8,frontMatter:{sidebar_position:8},sidebar:"docs",previous:{title:"Media",permalink:"/docs/server-docs/media"},next:{title:"Plugins",permalink:"/docs/server-docs/plugins"}},c={},l=[{value:"Activities",id:"activities",level:2},{value:"Disabling Activities",id:"disabling-activities",level:3},{value:"Security",id:"security",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"websockets",children:"WebSockets"})}),"\n",(0,s.jsx)(t.admonition,{title:"Work in progress",type:"warning",children:(0,s.jsxs)(t.p,{children:["GameVault doesn't fully use Websockets yet. Both the client and the server are still lacking a full implementation. Right now, it's just a basic version to begin with on the server. If you're interested in how we're doing with implementing Websockets, you can check out ",(0,s.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-app/issues/205",children:"this page on GitHub"})," to see our progress."]})}),"\n",(0,s.jsxs)(t.p,{children:["In GameVault Backend Version 9.0.0, we introduced an exciting feature \u2013 WebSockets. These WebSockets provide an asynchronous and bidirectional gateway for interactive communication with clients. Our implementation is based on ",(0,s.jsx)(t.a,{href:"https://socket.io/",children:"Socket.io"}),", which itself relies on the WebSocket protocol."]}),"\n",(0,s.jsx)(t.p,{children:"WebSockets enable real-time communication between the server and clients. This means that not only can the server send data to clients when they ask for it, but the server can also initiate conversations with the clients."}),"\n",(0,s.jsx)(t.p,{children:"To use this feature effectively, you need to ensure that Web-Socket Support is enabled on your machine, network, or reverse proxy."}),"\n",(0,s.jsxs)(t.p,{children:["The API is documented via AsyncAPI standard in ",(0,s.jsx)(t.code,{children:"/api/docs/async"}),". However, please note that, at the time of writing, this documentation may not run on Docker due to a bug. If you encounter this issue, you can refer to the source code for manual implementation."]}),"\n",(0,s.jsx)(t.h2,{id:"activities",children:"Activities"}),"\n",(0,s.jsx)(t.p,{children:"Starting from GameVault Backend Version 9.0.0, GameVault allows clients to share their current activities on the server. These activities provide valuable information about what users are doing, making the platform more interactive. Activities can include:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"User 1 is online."}),"\n",(0,s.jsx)(t.li,{children:"User 2 is offline."}),"\n",(0,s.jsx)(t.li,{children:"User 3 is playing Mindustry."}),"\n",(0,s.jsx)(t.li,{children:"User 4 is marked as busy."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Once a user reports his activity, it will propagate to all other users. Clients have the freedom to report their activities. If they don't, the server will display them as offline by default."}),"\n",(0,s.jsx)(t.h3,{id:"disabling-activities",children:"Disabling Activities"}),"\n",(0,s.jsxs)(t.p,{children:["For server owners who wish to disable activities, it's as simple as setting the ",(0,s.jsx)(t.code,{children:"SERVER_ONLINE_ACTIVITIES_DISABLED"})," environment variable to ",(0,s.jsx)(t.code,{children:"true"}),". Please be aware that, depending on your clients implementation, this might result in everyone appearing as offline all the time."]}),"\n",(0,s.jsx)(t.h2,{id:"security",children:"Security"}),"\n",(0,s.jsxs)(t.p,{children:["Each user is assigned a randomly generated Socket Secret that they can retrieve at ",(0,s.jsx)(t.code,{children:"/api/users/me"}),". This secret must be included in the headers (X-Socket-Secret) of every subsequent Socket.IO Handshake request to the server."]})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},9246:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>r});var s=i(5271);const n={},o=s.createContext(n);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4275],{1575:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=i(2676),n=i(8358);const o={sidebar_position:8},r="WebSockets",a={id:"server-docs/websockets",title:"WebSockets",description:"GameVault doesn't fully use Websockets yet. Both the client and the server are still lacking a full implementation. Right now, it's just a basic version to begin with on the server. If you're interested in how we're doing with implementing Websockets, you can check out this page on GitHub to see our progress.",source:"@site/docs/server-docs/websockets.md",sourceDirName:"server-docs",slug:"/server-docs/websockets",permalink:"/docs/server-docs/websockets",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/websockets.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:8,frontMatter:{sidebar_position:8},sidebar:"docs",previous:{title:"Media",permalink:"/docs/server-docs/media"},next:{title:"Plugins",permalink:"/docs/server-docs/plugins"}},c={},l=[{value:"Activities",id:"activities",level:2},{value:"Disabling Activities",id:"disabling-activities",level:3},{value:"Security",id:"security",level:2}];function d(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"websockets",children:"WebSockets"})}),"\n",(0,s.jsx)(t.admonition,{title:"Work in progress",type:"warning",children:(0,s.jsxs)(t.p,{children:["GameVault doesn't fully use Websockets yet. Both the client and the server are still lacking a full implementation. Right now, it's just a basic version to begin with on the server. If you're interested in how we're doing with implementing Websockets, you can check out ",(0,s.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-app/issues/205",children:"this page on GitHub"})," to see our progress."]})}),"\n",(0,s.jsxs)(t.p,{children:["In GameVault Backend Version 9.0.0, we introduced an exciting feature \u2013 WebSockets. These WebSockets provide an asynchronous and bidirectional gateway for interactive communication with clients. Our implementation is based on ",(0,s.jsx)(t.a,{href:"https://socket.io/",children:"Socket.io"}),", which itself relies on the WebSocket protocol."]}),"\n",(0,s.jsx)(t.p,{children:"WebSockets enable real-time communication between the server and clients. This means that not only can the server send data to clients when they ask for it, but the server can also initiate conversations with the clients."}),"\n",(0,s.jsx)(t.p,{children:"To use this feature effectively, you need to ensure that Web-Socket Support is enabled on your machine, network, or reverse proxy."}),"\n",(0,s.jsxs)(t.p,{children:["The API is documented via AsyncAPI standard in ",(0,s.jsx)(t.code,{children:"/api/docs/async"}),". However, please note that, at the time of writing, this documentation may not run on Docker due to a bug. If you encounter this issue, you can refer to the source code for manual implementation."]}),"\n",(0,s.jsx)(t.h2,{id:"activities",children:"Activities"}),"\n",(0,s.jsx)(t.p,{children:"Starting from GameVault Backend Version 9.0.0, GameVault allows clients to share their current activities on the server. These activities provide valuable information about what users are doing, making the platform more interactive. Activities can include:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"User 1 is online."}),"\n",(0,s.jsx)(t.li,{children:"User 2 is offline."}),"\n",(0,s.jsx)(t.li,{children:"User 3 is playing Mindustry."}),"\n",(0,s.jsx)(t.li,{children:"User 4 is marked as busy."}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Once a user reports his activity, it will propagate to all other users. Clients have the freedom to report their activities. If they don't, the server will display them as offline by default."}),"\n",(0,s.jsx)(t.h3,{id:"disabling-activities",children:"Disabling Activities"}),"\n",(0,s.jsxs)(t.p,{children:["For server owners who wish to disable activities, it's as simple as setting the ",(0,s.jsx)(t.code,{children:"SERVER_ONLINE_ACTIVITIES_DISABLED"})," environment variable to ",(0,s.jsx)(t.code,{children:"true"}),". Please be aware that, depending on your clients implementation, this might result in everyone appearing as offline all the time."]}),"\n",(0,s.jsx)(t.h2,{id:"security",children:"Security"}),"\n",(0,s.jsxs)(t.p,{children:["Each user is assigned a randomly generated Socket Secret that they can retrieve at ",(0,s.jsx)(t.code,{children:"/api/users/me"}),". This secret must be included in the headers (X-Socket-Secret) of every subsequent Socket.IO Handshake request to the server."]})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8358:(e,t,i)=>{i.d(t,{Z:()=>a,a:()=>r});var s=i(5271);const n={},o=s.createContext(n);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/51e7bf36.96b3e995.js b/assets/js/51e7bf36.75311b19.js similarity index 97% rename from assets/js/51e7bf36.96b3e995.js rename to assets/js/51e7bf36.75311b19.js index c02aca5fe..6c194eff1 100644 --- a/assets/js/51e7bf36.96b3e995.js +++ b/assets/js/51e7bf36.75311b19.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7146],{7520:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var n=t(2676),s=t(9246);const o={sidebar_position:4},i="Data Management",c={id:"client-docs/data",title:"Data Management",description:"This page gives you an overview of how GameVault stores and manages its data.",source:"@site/docs/client-docs/data.md",sourceDirName:"client-docs",slug:"/client-docs/data",permalink:"/docs/client-docs/data",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/data.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Updating the Client",permalink:"/docs/client-docs/updating-client"},next:{title:"GUI Overview",permalink:"/docs/client-docs/gui"}},l={},r=[{value:"Image Cache",id:"image-cache",level:2},{value:"Image Cache Optimization",id:"image-cache-optimization",level:3},{value:"Offline Cache (Progresses)",id:"offline-cache-progresses",level:2},{value:"Offline Cache (Game Metadata)",id:"offline-cache-game-metadata",level:2},{value:"Settings",id:"settings",level:2},{value:"Embedded Browser Settings",id:"embedded-browser-settings",level:2},{value:"Ignore List",id:"ignore-list",level:2},{value:"Crash Logs",id:"crash-logs",level:2},{value:"Themes",id:"themes",level:2}];function d(e){const a={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.header,{children:(0,n.jsx)(a.h1,{id:"data-management",children:"Data Management"})}),"\n",(0,n.jsx)(a.p,{children:"This page gives you an overview of how GameVault stores and manages its data."}),"\n",(0,n.jsxs)(a.p,{children:["When you install the app from the Microsoft Store, all the data it saves (except for the GameVault Root Folder for your Downloads and Installations) can be found under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\"}),". Alternatively, if you did not install the app from the Microsoft Store, you can find the data under: ",(0,n.jsx)(a.code,{children:"%APPDATA%/GameVault"}),"."]}),"\n",(0,n.jsx)(a.admonition,{title:"Don't modify unless you know what you're doing",type:"warning",children:(0,n.jsx)(a.p,{children:"Please be aware that manually altering this data may lead to unwanted issues in GameVault."})}),"\n",(0,n.jsx)(a.h2,{id:"image-cache",children:"Image Cache"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\cache\\images"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\cache\\images"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"GameVault caches all loaded images locally for faster retrieval. They're kept in a specific subfolder with a format like \"ParentID.ImageID,\" where the ParentID could represent the Game ID or User ID. This unique ImageID allows GameVault to detect when an image becomes outdated (e.g., when another user modifies a game's box art). When you request that image again, the cache is immediately updated."}),"\n",(0,n.jsx)(a.h3,{id:"image-cache-optimization",children:"Image Cache Optimization"}),"\n",(0,n.jsx)(a.p,{children:"When you launch the GameVault Client, it performs an image optimization process. This process efficiently adjusts all cached images to match your screen size, leading to faster loading times and reduced storage usage."}),"\n",(0,n.jsx)(a.h2,{id:"offline-cache-progresses",children:"Offline Cache (Progresses)"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\cache\\prgs"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\cache\\prgs"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"Even when your application or your GameVault Server is offline, as long as the GameVault Client is running in the background, it continues to track your playtime. This data is sent to the server the next time you or the server is online."}),"\n",(0,n.jsx)(a.h2,{id:"offline-cache-game-metadata",children:"Offline Cache (Game Metadata)"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\cache\\local"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\cache\\local"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["After downloading a game, GameVault stores the game's metadata locally ",(0,n.jsx)(a.strong,{children:"once"}),". This allows you to see all game details even when your application or the server is offline. There is currently no way to refresh the cached metadata of a game."]}),"\n",(0,n.jsx)(a.h2,{id:"settings",children:"Settings"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\config\\user"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\config\\user"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"All GameVault settings are stored and retrieved in a user file. Sensitive data is encrypted for security."}),"\n",(0,n.jsx)(a.h2,{id:"embedded-browser-settings",children:"Embedded Browser Settings"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\config\\web"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\config\\web"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"GameVault's embedded browser settings are stored in the web folder. The embedded browser is used for the GameVault+ login functionality. You can delete this folder if you wish to clear all browser data. This will also log you out of your Phalcode account."}),"\n",(0,n.jsx)(a.h2,{id:"ignore-list",children:"Ignore List"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\cache\\ignorelist"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\cache\\ignorelist"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["The Ignore List includes commonly encountered false positives of sidecar-executables, such as ",(0,n.jsx)(a.code,{children:"setup.exe"}),", ",(0,n.jsx)(a.code,{children:"UnityCrashHandler.exe"})," or ",(0,n.jsx)(a.code,{children:"uninstall.exe"}),". This list is retrieved from the server if not already present. It's used by the playtime tracker for instance to avoid counting ",(0,n.jsx)(a.code,{children:"setup.exe"}),' as playtime. Furthermore, these executables are hidden in the selection list within the installation tab, ensuring that only game-related executables are shown. You can also edit the Ignore List locally by opening the "ignorelist" file and adding your own entries to be excluded.']}),"\n",(0,n.jsx)(a.h2,{id:"crash-logs",children:"Crash Logs"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\errorlog"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\errorlog"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"The Crash Logs are generated when an unhandled error occurs in GameVault. They can be used to debug issues or to provide support."}),"\n",(0,n.jsx)(a.h2,{id:"themes",children:"Themes"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\themes"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\themes"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Here you can import your custom themes. To learn more about custom themes, refer to ",(0,n.jsx)(a.a,{href:"/docs/gamevault-plus/themes#custom-themes",children:"Custom Themes Guide"}),"."]})]})}function h(e={}){const{wrapper:a}={...(0,s.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>c,a:()=>i});var n=t(5271);const s={},o=n.createContext(s);function i(e){const a=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7146],{7520:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>r});var n=t(2676),s=t(8358);const o={sidebar_position:4},i="Data Management",c={id:"client-docs/data",title:"Data Management",description:"This page gives you an overview of how GameVault stores and manages its data.",source:"@site/docs/client-docs/data.md",sourceDirName:"client-docs",slug:"/client-docs/data",permalink:"/docs/client-docs/data",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/data.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Updating the Client",permalink:"/docs/client-docs/updating-client"},next:{title:"GUI Overview",permalink:"/docs/client-docs/gui"}},l={},r=[{value:"Image Cache",id:"image-cache",level:2},{value:"Image Cache Optimization",id:"image-cache-optimization",level:3},{value:"Offline Cache (Progresses)",id:"offline-cache-progresses",level:2},{value:"Offline Cache (Game Metadata)",id:"offline-cache-game-metadata",level:2},{value:"Settings",id:"settings",level:2},{value:"Embedded Browser Settings",id:"embedded-browser-settings",level:2},{value:"Ignore List",id:"ignore-list",level:2},{value:"Crash Logs",id:"crash-logs",level:2},{value:"Themes",id:"themes",level:2}];function d(e){const a={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.header,{children:(0,n.jsx)(a.h1,{id:"data-management",children:"Data Management"})}),"\n",(0,n.jsx)(a.p,{children:"This page gives you an overview of how GameVault stores and manages its data."}),"\n",(0,n.jsxs)(a.p,{children:["When you install the app from the Microsoft Store, all the data it saves (except for the GameVault Root Folder for your Downloads and Installations) can be found under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\"}),". Alternatively, if you did not install the app from the Microsoft Store, you can find the data under: ",(0,n.jsx)(a.code,{children:"%APPDATA%/GameVault"}),"."]}),"\n",(0,n.jsx)(a.admonition,{title:"Don't modify unless you know what you're doing",type:"warning",children:(0,n.jsx)(a.p,{children:"Please be aware that manually altering this data may lead to unwanted issues in GameVault."})}),"\n",(0,n.jsx)(a.h2,{id:"image-cache",children:"Image Cache"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\cache\\images"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\cache\\images"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"GameVault caches all loaded images locally for faster retrieval. They're kept in a specific subfolder with a format like \"ParentID.ImageID,\" where the ParentID could represent the Game ID or User ID. This unique ImageID allows GameVault to detect when an image becomes outdated (e.g., when another user modifies a game's box art). When you request that image again, the cache is immediately updated."}),"\n",(0,n.jsx)(a.h3,{id:"image-cache-optimization",children:"Image Cache Optimization"}),"\n",(0,n.jsx)(a.p,{children:"When you launch the GameVault Client, it performs an image optimization process. This process efficiently adjusts all cached images to match your screen size, leading to faster loading times and reduced storage usage."}),"\n",(0,n.jsx)(a.h2,{id:"offline-cache-progresses",children:"Offline Cache (Progresses)"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\cache\\prgs"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\cache\\prgs"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"Even when your application or your GameVault Server is offline, as long as the GameVault Client is running in the background, it continues to track your playtime. This data is sent to the server the next time you or the server is online."}),"\n",(0,n.jsx)(a.h2,{id:"offline-cache-game-metadata",children:"Offline Cache (Game Metadata)"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\cache\\local"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\cache\\local"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["After downloading a game, GameVault stores the game's metadata locally ",(0,n.jsx)(a.strong,{children:"once"}),". This allows you to see all game details even when your application or the server is offline. There is currently no way to refresh the cached metadata of a game."]}),"\n",(0,n.jsx)(a.h2,{id:"settings",children:"Settings"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\config\\user"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\config\\user"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"All GameVault settings are stored and retrieved in a user file. Sensitive data is encrypted for security."}),"\n",(0,n.jsx)(a.h2,{id:"embedded-browser-settings",children:"Embedded Browser Settings"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\config\\web"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\config\\web"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"GameVault's embedded browser settings are stored in the web folder. The embedded browser is used for the GameVault+ login functionality. You can delete this folder if you wish to clear all browser data. This will also log you out of your Phalcode account."}),"\n",(0,n.jsx)(a.h2,{id:"ignore-list",children:"Ignore List"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\cache\\ignorelist"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\cache\\ignorelist"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["The Ignore List includes commonly encountered false positives of sidecar-executables, such as ",(0,n.jsx)(a.code,{children:"setup.exe"}),", ",(0,n.jsx)(a.code,{children:"UnityCrashHandler.exe"})," or ",(0,n.jsx)(a.code,{children:"uninstall.exe"}),". This list is retrieved from the server if not already present. It's used by the playtime tracker for instance to avoid counting ",(0,n.jsx)(a.code,{children:"setup.exe"}),' as playtime. Furthermore, these executables are hidden in the selection list within the installation tab, ensuring that only game-related executables are shown. You can also edit the Ignore List locally by opening the "ignorelist" file and adding your own entries to be excluded.']}),"\n",(0,n.jsx)(a.h2,{id:"crash-logs",children:"Crash Logs"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\errorlog"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\errorlog"})]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"The Crash Logs are generated when an unhandled error occurs in GameVault. They can be used to debug issues or to provide support."}),"\n",(0,n.jsx)(a.h2,{id:"themes",children:"Themes"}),"\n",(0,n.jsxs)(a.blockquote,{children:["\n",(0,n.jsxs)(a.p,{children:["Located under: ",(0,n.jsx)(a.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\themes"})," or ",(0,n.jsx)(a.code,{children:"%APPDATA%\\GameVault\\themes"})]}),"\n"]}),"\n",(0,n.jsxs)(a.p,{children:["Here you can import your custom themes. To learn more about custom themes, refer to ",(0,n.jsx)(a.a,{href:"/docs/gamevault-plus/themes#custom-themes",children:"Custom Themes Guide"}),"."]})]})}function h(e={}){const{wrapper:a}={...(0,s.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>c,a:()=>i});var n=t(5271);const s={},o=n.createContext(s);function i(e){const a=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function c(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/55dfe132.d7016b5a.js b/assets/js/55dfe132.39f7a57c.js similarity index 97% rename from assets/js/55dfe132.d7016b5a.js rename to assets/js/55dfe132.39f7a57c.js index a4e54a112..008a3ce4a 100644 --- a/assets/js/55dfe132.d7016b5a.js +++ b/assets/js/55dfe132.39f7a57c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5487],{9932:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var a=t(2676),s=t(9246);const o={title:"A Look Back and a Glimpse Forward",authors:["alfagun74"],tags:["Game Development","Software Updates","Gaming Community","UI Redesign","Development Milestones","Tech Progress","Future Features","GameVault Journey","Coding Chronicle","November Update"]},i=void 0,r={permalink:"/blog/2023/11/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-11-20.md",source:"@site/blog/2023-11-20.md",title:"A Look Back and a Glimpse Forward",description:"Hello,",date:"2023-11-20T00:00:00.000Z",tags:[{inline:!0,label:"Game Development",permalink:"/blog/tags/game-development"},{inline:!0,label:"Software Updates",permalink:"/blog/tags/software-updates"},{inline:!0,label:"Gaming Community",permalink:"/blog/tags/gaming-community"},{inline:!0,label:"UI Redesign",permalink:"/blog/tags/ui-redesign"},{inline:!0,label:"Development Milestones",permalink:"/blog/tags/development-milestones"},{inline:!0,label:"Tech Progress",permalink:"/blog/tags/tech-progress"},{inline:!0,label:"Future Features",permalink:"/blog/tags/future-features"},{inline:!0,label:"GameVault Journey",permalink:"/blog/tags/game-vault-journey"},{inline:!0,label:"Coding Chronicle",permalink:"/blog/tags/coding-chronicle"},{inline:!0,label:"November Update",permalink:"/blog/tags/november-update"}],readingTime:2.26,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A Look Back and a Glimpse Forward",authors:["alfagun74"],tags:["Game Development","Software Updates","Gaming Community","UI Redesign","Development Milestones","Tech Progress","Future Features","GameVault Journey","Coding Chronicle","November Update"]},unlisted:!1,prevItem:{title:"Join the GameVault Early-Access Program Now!",permalink:"/blog/2023/12/09/"},nextItem:{title:"Please help us prioritize!",permalink:"/blog/2023/07/29/"}},l={authorsImageUrls:[void 0]},d=[];function c(e){const n={a:"a",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Hello,"}),"\n",(0,a.jsxs)(n.p,{children:["It's been a while since we caught up here, but if you've been following the action on ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),", you're up to speed. Nevertheless, this blog remains your spot for the key updates and announements."]}),"\n",(0,a.jsx)(n.p,{children:"Let's dive into what's been happening with GameVault since release and what's on the horizon. We've hit version 9 on the backend and 1.7 on the frontend, showcasing our commitment to continuous improvement."}),"\n",(0,a.jsx)(n.p,{children:"Alongside the usual optimizations and bug fixes, we've been paying a lot of attention to your feature requests and implemented a bunch of them."}),"\n",(0,a.jsx)(n.p,{children:"Here's the highlight reel:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Auto Extraction and Installation of Videogames"}),"\n",(0,a.jsx)(n.li,{children:"Uninstalling Games through GameVault"}),"\n",(0,a.jsx)(n.li,{children:"Uploading Images"}),"\n",(0,a.jsx)(n.li,{children:"Support for more Archive Formats"}),"\n",(0,a.jsx)(n.li,{children:"Bandwidth Control Features"}),"\n",(0,a.jsx)(n.li,{children:"Database Backups & Restorations"}),"\n",(0,a.jsx)(n.li,{children:"Crash Reporting"}),"\n",(0,a.jsx)(n.li,{children:"Random Game Finder"}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"So, what's cooking now? We asked for your top three desired features recently, and here are the results:"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsx)(n.li,{children:"UI Redesign for the Library and Installations Tab"}),"\n",(0,a.jsx)(n.li,{children:"Support for ROMS and Emulators"}),"\n",(0,a.jsx)(n.li,{children:"Support for extra files like Soundtracks, Mods, etc."}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["By the way, if you want to take part in polls like this in the future aswell, make sure to become a council member on ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),"!"]}),"\n",(0,a.jsx)(n.p,{children:"Right now we're knee-deep in redesigning the Library, the heart of our application. Big changes are on the way, waving goodbye to the installations tab and ushering in a sleeker UI for Library, Game View, and Game Settings."}),"\n",(0,a.jsx)(n.p,{children:"Here are some sneak peeks and mockups: (still work in progress):"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["Library (Mockup)\n",(0,a.jsx)(n.img,{alt:"Filters",src:t(9740).Z+"",width:"1896",height:"1080"}),"\n",(0,a.jsx)(n.img,{alt:"Empty States",src:t(709).Z+"",width:"1896",height:"1080"})]}),"\n",(0,a.jsxs)(n.li,{children:["Library (current implementation)\n",(0,a.jsx)(n.img,{alt:"Library",src:t(104).Z+"",width:"960",height:"520"})]}),"\n",(0,a.jsxs)(n.li,{children:["Game (Mockup)\n",(0,a.jsx)(n.img,{alt:"Game View",src:t(2908).Z+"",width:"1896",height:"1080"})]}),"\n",(0,a.jsxs)(n.li,{children:["Game Settings (Mockup)\n",(0,a.jsx)(n.img,{alt:"Game Settings",src:t(1493).Z+"",width:"1080",height:"792"})]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"Remember, these are teasers. Anything can look different once it ships. There's a lot of work left, and we're on it. To be technical here: Most of these modern controls require us to rewrite WPF Controls from the core. On the backend, we're not slacking either \u2013 tons of end-to-end tests are being written to ensure our app's reliability."}),"\n",(0,a.jsxs)(n.p,{children:["Excited about the new UI or got something to say? Head over to ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," and spill the beans!"]}),"\n",(0,a.jsx)(n.p,{children:"We're eager to wrap up these tasks and ship the update out to you guys."}),"\n",(0,a.jsxs)(n.p,{children:["We also wanted to mention we've already crossed 2000 GameVault users with a growing engaged ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," community of 350 members!"]}),"\n",(0,a.jsx)(n.p,{children:"And your donations help keeping the lights on, though we're not rolling in dough just yet. Every penny counts, and we're truly grateful. Thanks a lot. \u2764\ufe0f"}),"\n",(0,a.jsx)(n.p,{children:"Help us promote GameVault among fellow self-hosters. Your efforts could inspire a bored developer to join and contribute to our project!"}),"\n",(0,a.jsx)(n.p,{children:"Stay tuned for the UI update \u2013 we'll be back in touch soon."}),"\n",(0,a.jsx)(n.p,{children:"Until then, happy gaming! \ud83c\udfae"})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},709:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/emptystates-cac04f51fc52e209e202e0611b7fc9ce.png"},9740:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/filters-f2a63aa5f8026620c96a6af4d668e8de.png"},2908:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/game-1a2301146090a980e3af454aa57abb22.png"},104:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/library-23677b063b1eec718776e44519f449fd.png"},1493:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/settings-ec331d2e53857decc5abb85f44855896.png"},9246:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>i});var a=t(5271);const s={},o=a.createContext(s);function i(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5487],{4773:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var a=t(2676),s=t(8358);const o={title:"A Look Back and a Glimpse Forward",authors:["alfagun74"],tags:["Game Development","Software Updates","Gaming Community","UI Redesign","Development Milestones","Tech Progress","Future Features","GameVault Journey","Coding Chronicle","November Update"]},i=void 0,r={permalink:"/blog/2023/11/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-11-20.md",source:"@site/blog/2023-11-20.md",title:"A Look Back and a Glimpse Forward",description:"Hello,",date:"2023-11-20T00:00:00.000Z",tags:[{inline:!0,label:"Game Development",permalink:"/blog/tags/game-development"},{inline:!0,label:"Software Updates",permalink:"/blog/tags/software-updates"},{inline:!0,label:"Gaming Community",permalink:"/blog/tags/gaming-community"},{inline:!0,label:"UI Redesign",permalink:"/blog/tags/ui-redesign"},{inline:!0,label:"Development Milestones",permalink:"/blog/tags/development-milestones"},{inline:!0,label:"Tech Progress",permalink:"/blog/tags/tech-progress"},{inline:!0,label:"Future Features",permalink:"/blog/tags/future-features"},{inline:!0,label:"GameVault Journey",permalink:"/blog/tags/game-vault-journey"},{inline:!0,label:"Coding Chronicle",permalink:"/blog/tags/coding-chronicle"},{inline:!0,label:"November Update",permalink:"/blog/tags/november-update"}],readingTime:2.26,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A Look Back and a Glimpse Forward",authors:["alfagun74"],tags:["Game Development","Software Updates","Gaming Community","UI Redesign","Development Milestones","Tech Progress","Future Features","GameVault Journey","Coding Chronicle","November Update"]},unlisted:!1,prevItem:{title:"Join the GameVault Early-Access Program Now!",permalink:"/blog/2023/12/09/"},nextItem:{title:"Please help us prioritize!",permalink:"/blog/2023/07/29/"}},l={authorsImageUrls:[void 0]},d=[];function c(e){const n={a:"a",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Hello,"}),"\n",(0,a.jsxs)(n.p,{children:["It's been a while since we caught up here, but if you've been following the action on ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),", you're up to speed. Nevertheless, this blog remains your spot for the key updates and announements."]}),"\n",(0,a.jsx)(n.p,{children:"Let's dive into what's been happening with GameVault since release and what's on the horizon. We've hit version 9 on the backend and 1.7 on the frontend, showcasing our commitment to continuous improvement."}),"\n",(0,a.jsx)(n.p,{children:"Alongside the usual optimizations and bug fixes, we've been paying a lot of attention to your feature requests and implemented a bunch of them."}),"\n",(0,a.jsx)(n.p,{children:"Here's the highlight reel:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Auto Extraction and Installation of Videogames"}),"\n",(0,a.jsx)(n.li,{children:"Uninstalling Games through GameVault"}),"\n",(0,a.jsx)(n.li,{children:"Uploading Images"}),"\n",(0,a.jsx)(n.li,{children:"Support for more Archive Formats"}),"\n",(0,a.jsx)(n.li,{children:"Bandwidth Control Features"}),"\n",(0,a.jsx)(n.li,{children:"Database Backups & Restorations"}),"\n",(0,a.jsx)(n.li,{children:"Crash Reporting"}),"\n",(0,a.jsx)(n.li,{children:"Random Game Finder"}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"So, what's cooking now? We asked for your top three desired features recently, and here are the results:"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsx)(n.li,{children:"UI Redesign for the Library and Installations Tab"}),"\n",(0,a.jsx)(n.li,{children:"Support for ROMS and Emulators"}),"\n",(0,a.jsx)(n.li,{children:"Support for extra files like Soundtracks, Mods, etc."}),"\n"]}),"\n",(0,a.jsxs)(n.p,{children:["By the way, if you want to take part in polls like this in the future aswell, make sure to become a council member on ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),"!"]}),"\n",(0,a.jsx)(n.p,{children:"Right now we're knee-deep in redesigning the Library, the heart of our application. Big changes are on the way, waving goodbye to the installations tab and ushering in a sleeker UI for Library, Game View, and Game Settings."}),"\n",(0,a.jsx)(n.p,{children:"Here are some sneak peeks and mockups: (still work in progress):"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsxs)(n.li,{children:["Library (Mockup)\n",(0,a.jsx)(n.img,{alt:"Filters",src:t(9740).Z+"",width:"1896",height:"1080"}),"\n",(0,a.jsx)(n.img,{alt:"Empty States",src:t(709).Z+"",width:"1896",height:"1080"})]}),"\n",(0,a.jsxs)(n.li,{children:["Library (current implementation)\n",(0,a.jsx)(n.img,{alt:"Library",src:t(104).Z+"",width:"960",height:"520"})]}),"\n",(0,a.jsxs)(n.li,{children:["Game (Mockup)\n",(0,a.jsx)(n.img,{alt:"Game View",src:t(2908).Z+"",width:"1896",height:"1080"})]}),"\n",(0,a.jsxs)(n.li,{children:["Game Settings (Mockup)\n",(0,a.jsx)(n.img,{alt:"Game Settings",src:t(1493).Z+"",width:"1080",height:"792"})]}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"Remember, these are teasers. Anything can look different once it ships. There's a lot of work left, and we're on it. To be technical here: Most of these modern controls require us to rewrite WPF Controls from the core. On the backend, we're not slacking either \u2013 tons of end-to-end tests are being written to ensure our app's reliability."}),"\n",(0,a.jsxs)(n.p,{children:["Excited about the new UI or got something to say? Head over to ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," and spill the beans!"]}),"\n",(0,a.jsx)(n.p,{children:"We're eager to wrap up these tasks and ship the update out to you guys."}),"\n",(0,a.jsxs)(n.p,{children:["We also wanted to mention we've already crossed 2000 GameVault users with a growing engaged ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," community of 350 members!"]}),"\n",(0,a.jsx)(n.p,{children:"And your donations help keeping the lights on, though we're not rolling in dough just yet. Every penny counts, and we're truly grateful. Thanks a lot. \u2764\ufe0f"}),"\n",(0,a.jsx)(n.p,{children:"Help us promote GameVault among fellow self-hosters. Your efforts could inspire a bored developer to join and contribute to our project!"}),"\n",(0,a.jsx)(n.p,{children:"Stay tuned for the UI update \u2013 we'll be back in touch soon."}),"\n",(0,a.jsx)(n.p,{children:"Until then, happy gaming! \ud83c\udfae"})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},709:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/emptystates-cac04f51fc52e209e202e0611b7fc9ce.png"},9740:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/filters-f2a63aa5f8026620c96a6af4d668e8de.png"},2908:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/game-1a2301146090a980e3af454aa57abb22.png"},104:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/library-23677b063b1eec718776e44519f449fd.png"},1493:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/settings-ec331d2e53857decc5abb85f44855896.png"},8358:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>i});var a=t(5271);const s={},o=a.createContext(s);function i(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e5c84c3.4f543694.js b/assets/js/5e5c84c3.ccd1c461.js similarity index 95% rename from assets/js/5e5c84c3.4f543694.js rename to assets/js/5e5c84c3.ccd1c461.js index 3191b8a75..7d4091b52 100644 --- a/assets/js/5e5c84c3.4f543694.js +++ b/assets/js/5e5c84c3.ccd1c461.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8516],{2836:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>o});var n=s(2676),r=s(9246);const a={sidebar_position:2.5},i="Game Types",l={id:"server-docs/game-types",title:"Game Types",description:"GameVault offers various Types of Games. The application will handle different kinds of games differently, for example during installation.",source:"@site/docs/server-docs/game-types.md",sourceDirName:"server-docs",slug:"/server-docs/game-types",permalink:"/docs/server-docs/game-types",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/game-types.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:2.5,frontMatter:{sidebar_position:2.5},sidebar:"docs",previous:{title:"File and Folder Structure",permalink:"/docs/server-docs/structure"},next:{title:"Adding Games to GameVault",permalink:"/docs/server-docs/adding-games"}},d={},o=[{value:"List of currently supported Game Types",id:"list-of-currently-supported-game-types",level:2},{value:"Windows",id:"windows",level:3},{value:"Portable (W_P)",id:"portable-w_p",level:4},{value:"Setup (W_S)",id:"setup-w_s",level:4},{value:"Undetected",id:"undetected",level:3}];function c(e){const t={a:"a",admonition:"admonition",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"game-types",children:"Game Types"})}),"\n",(0,n.jsxs)(t.p,{children:["GameVault offers various ",(0,n.jsx)(t.strong,{children:"Types"})," of Games. The application will handle different kinds of games differently, for example during installation."]}),"\n",(0,n.jsxs)(t.p,{children:["The Game Type is automatically detected by the server, but it can be manually overridden using the Type Tag from ",(0,n.jsx)(t.a,{href:"/docs/server-docs/structure",children:"GameVaults Naming Structure"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"Each game can only have one type tag. If it has multiple type tags only one of them gets used."}),"\n",(0,n.jsx)(t.h2,{id:"list-of-currently-supported-game-types",children:"List of currently supported Game Types"}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["More game types may be added in the future (e.g., ROMS, Linux, Android, etc.)\nYou can request more game types ",(0,n.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-backend/issues/new",children:"on our github"}),"."]})}),"\n",(0,n.jsx)(t.h3,{id:"windows",children:"Windows"}),"\n",(0,n.jsx)(t.h4,{id:"portable-w_p",children:"Portable (W_P)"}),"\n",(0,n.jsx)(t.p,{children:"Portable Windows games are game files that can be played immediately. No additional setup is necessary."}),"\n",(0,n.jsx)(t.p,{children:"Example file structure:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Butcher_Data/"}),"\n",(0,n.jsx)(t.li,{children:"Butcher.exe"}),"\n"]}),"\n",(0,n.jsx)(t.h4,{id:"setup-w_s",children:"Setup (W_S)"}),"\n",(0,n.jsx)(t.p,{children:'For Windows Setup games, users must go through a setup process (e.g., "setup.exe") before playing the game.'}),"\n",(0,n.jsx)(t.p,{children:"Example file structure:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"data.bin"}),"\n",(0,n.jsx)(t.li,{children:"data2.bin"}),"\n",(0,n.jsx)(t.li,{children:"setup.exe"}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"undetected",children:"Undetected"}),"\n",(0,n.jsx)(t.p,{children:"This is the default game type if the server cannot automatically determine the game type. Users will have to manually install the game into the game's installation folder."}),"\n",(0,n.jsx)(t.p,{children:"Example file structure:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"data/"}),"\n",(0,n.jsx)(t.li,{children:"setup.sh"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},9246:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>i});var n=s(5271);const r={},a=n.createContext(r);function i(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8516],{2836:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>o});var n=s(2676),r=s(8358);const a={sidebar_position:2.5},i="Game Types",l={id:"server-docs/game-types",title:"Game Types",description:"GameVault offers various Types of Games. The application will handle different kinds of games differently, for example during installation.",source:"@site/docs/server-docs/game-types.md",sourceDirName:"server-docs",slug:"/server-docs/game-types",permalink:"/docs/server-docs/game-types",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/game-types.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:2.5,frontMatter:{sidebar_position:2.5},sidebar:"docs",previous:{title:"File and Folder Structure",permalink:"/docs/server-docs/structure"},next:{title:"Adding Games to GameVault",permalink:"/docs/server-docs/adding-games"}},d={},o=[{value:"List of currently supported Game Types",id:"list-of-currently-supported-game-types",level:2},{value:"Windows",id:"windows",level:3},{value:"Portable (W_P)",id:"portable-w_p",level:4},{value:"Setup (W_S)",id:"setup-w_s",level:4},{value:"Undetected",id:"undetected",level:3}];function c(e){const t={a:"a",admonition:"admonition",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"game-types",children:"Game Types"})}),"\n",(0,n.jsxs)(t.p,{children:["GameVault offers various ",(0,n.jsx)(t.strong,{children:"Types"})," of Games. The application will handle different kinds of games differently, for example during installation."]}),"\n",(0,n.jsxs)(t.p,{children:["The Game Type is automatically detected by the server, but it can be manually overridden using the Type Tag from ",(0,n.jsx)(t.a,{href:"/docs/server-docs/structure",children:"GameVaults Naming Structure"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"Each game can only have one type tag. If it has multiple type tags only one of them gets used."}),"\n",(0,n.jsx)(t.h2,{id:"list-of-currently-supported-game-types",children:"List of currently supported Game Types"}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["More game types may be added in the future (e.g., ROMS, Linux, Android, etc.)\nYou can request more game types ",(0,n.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-backend/issues/new",children:"on our github"}),"."]})}),"\n",(0,n.jsx)(t.h3,{id:"windows",children:"Windows"}),"\n",(0,n.jsx)(t.h4,{id:"portable-w_p",children:"Portable (W_P)"}),"\n",(0,n.jsx)(t.p,{children:"Portable Windows games are game files that can be played immediately. No additional setup is necessary."}),"\n",(0,n.jsx)(t.p,{children:"Example file structure:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Butcher_Data/"}),"\n",(0,n.jsx)(t.li,{children:"Butcher.exe"}),"\n"]}),"\n",(0,n.jsx)(t.h4,{id:"setup-w_s",children:"Setup (W_S)"}),"\n",(0,n.jsx)(t.p,{children:'For Windows Setup games, users must go through a setup process (e.g., "setup.exe") before playing the game.'}),"\n",(0,n.jsx)(t.p,{children:"Example file structure:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"data.bin"}),"\n",(0,n.jsx)(t.li,{children:"data2.bin"}),"\n",(0,n.jsx)(t.li,{children:"setup.exe"}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"undetected",children:"Undetected"}),"\n",(0,n.jsx)(t.p,{children:"This is the default game type if the server cannot automatically determine the game type. Users will have to manually install the game into the game's installation folder."}),"\n",(0,n.jsx)(t.p,{children:"Example file structure:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"data/"}),"\n",(0,n.jsx)(t.li,{children:"setup.sh"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8358:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>i});var n=s(5271);const r={},a=n.createContext(r);function i(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.892705da.js b/assets/js/5e95c892.892705da.js new file mode 100644 index 000000000..0621d9878 --- /dev/null +++ b/assets/js/5e95c892.892705da.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9661],{5970:(e,s,a)=>{a.r(s),a.d(s,{default:()=>n});a(5271);var r=a(4814),u=a(9967),c=a(3509),t=a(7677),l=a(3557),d=a(2676);function n(e){return(0,d.jsx)(u.FG,{className:(0,r.Z)(c.k.wrapper.docsPages),children:(0,d.jsx)(l.Z,{children:(0,t.H)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.9de68b89.js b/assets/js/5e95c892.9de68b89.js deleted file mode 100644 index a73154745..000000000 --- a/assets/js/5e95c892.9de68b89.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9661],{5970:(e,s,a)=>{a.r(s),a.d(s,{default:()=>n});a(5271);var r=a(4814),u=a(947),c=a(8832),t=a(7677),l=a(8849),d=a(2676);function n(e){return(0,d.jsx)(u.FG,{className:(0,r.Z)(c.k.wrapper.docsPages),children:(0,d.jsx)(l.Z,{children:(0,t.H)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/61be0f73.d53b12f7.js b/assets/js/61be0f73.46aea420.js similarity index 98% rename from assets/js/61be0f73.d53b12f7.js rename to assets/js/61be0f73.46aea420.js index ef78fa6a9..1c7d8f155 100644 --- a/assets/js/61be0f73.d53b12f7.js +++ b/assets/js/61be0f73.46aea420.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[452],{5931:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>t,toc:()=>o});var r=n(2676),d=n(9246);const i={sidebar_position:2},c="File and Folder Structure",t={id:"server-docs/structure",title:"File and Folder Structure",description:"If you want to set up a GameVault Server, you need to pay attention to the file and folder structure.",source:"@site/docs/server-docs/structure.md",sourceDirName:"server-docs",slug:"/server-docs/structure",permalink:"/docs/server-docs/structure",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/structure.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Configuration",permalink:"/docs/server-docs/configuration"},next:{title:"Game Types",permalink:"/docs/server-docs/game-types"}},l={},o=[{value:"Supported Archive Formats",id:"supported-archive-formats",level:2},{value:"Single File Executable",id:"single-file-executable",level:3},{value:"Naming Convention for Games",id:"naming-convention-for-games",level:2},{value:"Other Examples",id:"other-examples",level:3}];function a(e){const s={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"file-and-folder-structure",children:"File and Folder Structure"})}),"\n",(0,r.jsxs)(s.p,{children:["If you want to set up a GameVault Server, you need to pay attention to the file and folder structure.\nThe volume mapped to the ",(0,r.jsx)(s.code,{children:"/files"})," directory must contain your games. These games must be named correctly and should either be archived in one of the supported archive formats listed below or be a single-file executable as described below to be accurately detected by GameVault."]}),"\n",(0,r.jsx)(s.h2,{id:"supported-archive-formats",children:"Supported Archive Formats"}),"\n",(0,r.jsx)(s.p,{children:"GameVault supports all file formats 7zip 23.01 (2023-06-20) does:"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:".7z"})," ",(0,r.jsx)(s.code,{children:".xz"})," ",(0,r.jsx)(s.code,{children:".bz2"})," ",(0,r.jsx)(s.code,{children:".gz"})," ",(0,r.jsx)(s.code,{children:".tar"})," ",(0,r.jsx)(s.code,{children:".zip"})," ",(0,r.jsx)(s.code,{children:".wim"})," ",(0,r.jsx)(s.code,{children:".ar"})," ",(0,r.jsx)(s.code,{children:".arj"})," ",(0,r.jsx)(s.code,{children:".cab"})," ",(0,r.jsx)(s.code,{children:".chm"})," ",(0,r.jsx)(s.code,{children:".cpio"})," ",(0,r.jsx)(s.code,{children:".cramfs"})," ",(0,r.jsx)(s.code,{children:".dmg"})," ",(0,r.jsx)(s.code,{children:".ext"})," ",(0,r.jsx)(s.code,{children:".fat"})," ",(0,r.jsx)(s.code,{children:".gpt"})," ",(0,r.jsx)(s.code,{children:".hfs"})," ",(0,r.jsx)(s.code,{children:".ihex"})," ",(0,r.jsx)(s.code,{children:".iso"})," ",(0,r.jsx)(s.code,{children:".lzh"})," ",(0,r.jsx)(s.code,{children:".lzma"})," ",(0,r.jsx)(s.code,{children:".mbr"})," ",(0,r.jsx)(s.code,{children:".msi"})," ",(0,r.jsx)(s.code,{children:".nsis"})," ",(0,r.jsx)(s.code,{children:".ntfs"})," ",(0,r.jsx)(s.code,{children:".qcow2"})," ",(0,r.jsx)(s.code,{children:".rar"})," ",(0,r.jsx)(s.code,{children:".rpm"})," ",(0,r.jsx)(s.code,{children:".squashfs"})," ",(0,r.jsx)(s.code,{children:".udf"})," ",(0,r.jsx)(s.code,{children:".uefi"})," ",(0,r.jsx)(s.code,{children:".vdi"})," ",(0,r.jsx)(s.code,{children:".vhd"})," ",(0,r.jsx)(s.code,{children:".vmdk"})," ",(0,r.jsx)(s.code,{children:".wim"})," ",(0,r.jsx)(s.code,{children:".xar"})," ",(0,r.jsx)(s.code,{children:".z"})]}),"\n",(0,r.jsx)(s.h3,{id:"single-file-executable",children:"Single File Executable"}),"\n",(0,r.jsxs)(s.p,{children:["We recommend ",(0,r.jsx)(s.a,{href:"#supported-archive-formats",children:"archiving games"})," to save storage and bandwidth. However, if the game is just a single file executable, like ",(0,r.jsx)(s.code,{children:"setup_game.exe"})," or ",(0,r.jsx)(s.code,{children:"setup_game.sh"}),", you can import it into GameVault without archiving. Just be sure to rename it as described below for compatibility with GameVault (e.g. ",(0,r.jsx)(s.code,{children:"Minecraft (v1.12) (2011).exe"}),"). By default, GameVault autodetects the ",(0,r.jsx)(s.a,{href:"/docs/server-docs/game-types",children:"game type"}),' of single-file executables as a setup-type game. In rare cases, games can be single portable executables without additional setup. If that\'s the case, make sure to mark the games as "Portable" using the type override.']}),"\n",(0,r.jsxs)(s.p,{children:["Supported Executables:",(0,r.jsx)(s.br,{}),"\n",(0,r.jsx)(s.code,{children:".exe"})," ",(0,r.jsx)(s.code,{children:".sh"})]}),"\n",(0,r.jsx)(s.admonition,{title:"Downloading single-file executables",type:"note",children:(0,r.jsxs)(s.p,{children:["Single-file executables are packed into a ",(0,r.jsx)(s.code,{children:".tar"})," file (no compression) and cached in the server's ",(0,r.jsx)(s.code,{children:"/tmp"})," folder on-the-fly when users download them, to make them compatible with the GameVault Client. The cached files are reused until deleted by a Server Restart."]})}),"\n",(0,r.jsx)(s.h2,{id:"naming-convention-for-games",children:"Naming Convention for Games"}),"\n",(0,r.jsx)(s.p,{children:"The name of each game file must follow this format:"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"Title (Version) (EarlyAccess) (GameType) (NoCache) (ReleaseYear).zip"})}),"\n",(0,r.jsxs)(s.p,{children:["Note that the parentheses must be included, and the naming convention is ",(0,r.jsx)(s.strong,{children:"case sensitive"}),"."]}),"\n",(0,r.jsx)(s.p,{children:"Here's an explanation of each part of the naming convention:"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Part"}),(0,r.jsx)(s.th,{children:"Description"}),(0,r.jsx)(s.th,{children:"Example Value(s)"}),(0,r.jsx)(s.th,{children:"Required?"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Title"})}),(0,r.jsx)(s.td,{children:"The name of the game"}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"Far Cry 6"}),", ",(0,r.jsx)(s.code,{children:"HITMAN 3"})]}),(0,r.jsx)(s.td,{children:"Yes"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Version"})}),(0,r.jsxs)(s.td,{children:["An optional version tag that must begin with a lowercase ",(0,r.jsx)(s.code,{children:"v"})]}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(v1.0)"}),", ",(0,r.jsx)(s.code,{children:"(v1.224)"})," , N/A"]}),(0,r.jsx)(s.td,{children:"No"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"EarlyAccess"})}),(0,r.jsx)(s.td,{children:"An optional tag that indicates whether the game is in Early Access"}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(EA)"}),", N/A"]}),(0,r.jsx)(s.td,{children:"No"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"GameType"})}),(0,r.jsxs)(s.td,{children:["Override for the games type. ",(0,r.jsx)(s.a,{href:"/docs/server-docs/game-types",children:"See here."})]}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(W_P)"}),", ",(0,r.jsx)(s.code,{children:"(W_S)"}),", ",(0,r.jsx)(s.code,{children:"..."})," , N/A"]}),(0,r.jsx)(s.td,{children:"No"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"NoCache"})}),(0,r.jsx)(s.td,{children:'An optional "NO CACHE"-flag that prevents the server searching for this game on external videogame databases.'}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(NC)"}),", N/A"]}),(0,r.jsx)(s.td,{children:"No"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"ReleaseYear"})}),(0,r.jsx)(s.td,{children:"The year of the game's release, for accurate detection"}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(2021)"}),", ",(0,r.jsx)(s.code,{children:"(2019)"}),", N/A"]}),(0,r.jsx)(s.td,{children:"No"})]})]})]}),"\n",(0,r.jsx)(s.p,{children:"Here's an example of a file that follows this convention:"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"Far Cry 6 (v1.5.0) (2021).zip"})}),"\n",(0,r.jsx)(s.p,{children:"By following this naming convention and using the common values listed in the table above, you can ensure that your games are detected correctly by GameVault."}),"\n",(0,r.jsx)(s.admonition,{title:"Illegal Filenames and Characters",type:"warning",children:(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["File names must not contain the following characters: ",(0,r.jsx)(s.code,{children:"/"}),", ",(0,r.jsx)(s.code,{children:"<"}),", ",(0,r.jsx)(s.code,{children:">"}),", ",(0,r.jsx)(s.code,{children:":"}),", ",(0,r.jsx)(s.code,{children:'"'}),", ",(0,r.jsx)(s.code,{children:"\\"}),", ",(0,r.jsx)(s.code,{children:"|"}),", ",(0,r.jsx)(s.code,{children:"?"}),", and ",(0,r.jsx)(s.code,{children:"*"}),". Replace these problematic characters with appropriate ones to ensure compatibility across all systems."]}),"\n",(0,r.jsx)(s.li,{children:"Avoid ending file names with spaces or dots."}),"\n",(0,r.jsxs)(s.li,{children:["Avoid using text within Round brackets such as ",(0,r.jsx)(s.code,{children:"(GOTY)"})," in your file names, as GameVault will remove them. Round brackets are reserved for the different flags mentioned above. Use square brackets instead: ",(0,r.jsx)(s.code,{children:"[GOTY]"})]}),"\n",(0,r.jsxs)(s.li,{children:["Do not use reserved file names such as ",(0,r.jsx)(s.code,{children:"CON"}),", ",(0,r.jsx)(s.code,{children:"PRN"}),", ",(0,r.jsx)(s.code,{children:"AUX"}),", ",(0,r.jsx)(s.code,{children:"NUL"}),", ",(0,r.jsx)(s.code,{children:"COM(1-9)"}),", ",(0,r.jsx)(s.code,{children:"LPT(1-9)"}),", etc."]}),"\n",(0,r.jsxs)(s.li,{children:["Avoid using multiple chained extensions like ",(0,r.jsx)(s.code,{children:".tar.gz"})," or ",(0,r.jsx)(s.code,{children:".tar.bz2"}),". Instead, use only the last extension like ",(0,r.jsx)(s.code,{children:".gz"})," or ",(0,r.jsx)(s.code,{children:".bz2"}),"."]}),"\n"]})}),"\n",(0,r.jsx)(s.h3,{id:"other-examples",children:"Other Examples"}),"\n",(0,r.jsx)(s.p,{children:"Here are some other valid examples of game names that follow the naming convention:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Star Wars Jedi - Fallen Order(v1.0.10.0) (2019).zip"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"HITMAN 3 (v3.10.1) (2021).7z"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"The Wandering Village (v0.1.32) (EA) (2022).iso"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Saints Row (W_S) (2022).zip"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"My personal IndieGame (v1.2.9) (NC) (2018).zip"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Stray (2022).7z"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Captain of Industry (v0.4.12b) (EA) (2022).gz"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Minecraft (2011).exe"})}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,d.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},9246:(e,s,n)=>{n.d(s,{Z:()=>t,a:()=>c});var r=n(5271);const d={},i=r.createContext(d);function c(e){const s=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:c(e.components),r.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[452],{5931:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>t,toc:()=>o});var r=n(2676),d=n(8358);const i={sidebar_position:2},c="File and Folder Structure",t={id:"server-docs/structure",title:"File and Folder Structure",description:"If you want to set up a GameVault Server, you need to pay attention to the file and folder structure.",source:"@site/docs/server-docs/structure.md",sourceDirName:"server-docs",slug:"/server-docs/structure",permalink:"/docs/server-docs/structure",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/structure.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Configuration",permalink:"/docs/server-docs/configuration"},next:{title:"Game Types",permalink:"/docs/server-docs/game-types"}},l={},o=[{value:"Supported Archive Formats",id:"supported-archive-formats",level:2},{value:"Single File Executable",id:"single-file-executable",level:3},{value:"Naming Convention for Games",id:"naming-convention-for-games",level:2},{value:"Other Examples",id:"other-examples",level:3}];function a(e){const s={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,d.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"file-and-folder-structure",children:"File and Folder Structure"})}),"\n",(0,r.jsxs)(s.p,{children:["If you want to set up a GameVault Server, you need to pay attention to the file and folder structure.\nThe volume mapped to the ",(0,r.jsx)(s.code,{children:"/files"})," directory must contain your games. These games must be named correctly and should either be archived in one of the supported archive formats listed below or be a single-file executable as described below to be accurately detected by GameVault."]}),"\n",(0,r.jsx)(s.h2,{id:"supported-archive-formats",children:"Supported Archive Formats"}),"\n",(0,r.jsx)(s.p,{children:"GameVault supports all file formats 7zip 23.01 (2023-06-20) does:"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.code,{children:".7z"})," ",(0,r.jsx)(s.code,{children:".xz"})," ",(0,r.jsx)(s.code,{children:".bz2"})," ",(0,r.jsx)(s.code,{children:".gz"})," ",(0,r.jsx)(s.code,{children:".tar"})," ",(0,r.jsx)(s.code,{children:".zip"})," ",(0,r.jsx)(s.code,{children:".wim"})," ",(0,r.jsx)(s.code,{children:".ar"})," ",(0,r.jsx)(s.code,{children:".arj"})," ",(0,r.jsx)(s.code,{children:".cab"})," ",(0,r.jsx)(s.code,{children:".chm"})," ",(0,r.jsx)(s.code,{children:".cpio"})," ",(0,r.jsx)(s.code,{children:".cramfs"})," ",(0,r.jsx)(s.code,{children:".dmg"})," ",(0,r.jsx)(s.code,{children:".ext"})," ",(0,r.jsx)(s.code,{children:".fat"})," ",(0,r.jsx)(s.code,{children:".gpt"})," ",(0,r.jsx)(s.code,{children:".hfs"})," ",(0,r.jsx)(s.code,{children:".ihex"})," ",(0,r.jsx)(s.code,{children:".iso"})," ",(0,r.jsx)(s.code,{children:".lzh"})," ",(0,r.jsx)(s.code,{children:".lzma"})," ",(0,r.jsx)(s.code,{children:".mbr"})," ",(0,r.jsx)(s.code,{children:".msi"})," ",(0,r.jsx)(s.code,{children:".nsis"})," ",(0,r.jsx)(s.code,{children:".ntfs"})," ",(0,r.jsx)(s.code,{children:".qcow2"})," ",(0,r.jsx)(s.code,{children:".rar"})," ",(0,r.jsx)(s.code,{children:".rpm"})," ",(0,r.jsx)(s.code,{children:".squashfs"})," ",(0,r.jsx)(s.code,{children:".udf"})," ",(0,r.jsx)(s.code,{children:".uefi"})," ",(0,r.jsx)(s.code,{children:".vdi"})," ",(0,r.jsx)(s.code,{children:".vhd"})," ",(0,r.jsx)(s.code,{children:".vmdk"})," ",(0,r.jsx)(s.code,{children:".wim"})," ",(0,r.jsx)(s.code,{children:".xar"})," ",(0,r.jsx)(s.code,{children:".z"})]}),"\n",(0,r.jsx)(s.h3,{id:"single-file-executable",children:"Single File Executable"}),"\n",(0,r.jsxs)(s.p,{children:["We recommend ",(0,r.jsx)(s.a,{href:"#supported-archive-formats",children:"archiving games"})," to save storage and bandwidth. However, if the game is just a single file executable, like ",(0,r.jsx)(s.code,{children:"setup_game.exe"})," or ",(0,r.jsx)(s.code,{children:"setup_game.sh"}),", you can import it into GameVault without archiving. Just be sure to rename it as described below for compatibility with GameVault (e.g. ",(0,r.jsx)(s.code,{children:"Minecraft (v1.12) (2011).exe"}),"). By default, GameVault autodetects the ",(0,r.jsx)(s.a,{href:"/docs/server-docs/game-types",children:"game type"}),' of single-file executables as a setup-type game. In rare cases, games can be single portable executables without additional setup. If that\'s the case, make sure to mark the games as "Portable" using the type override.']}),"\n",(0,r.jsxs)(s.p,{children:["Supported Executables:",(0,r.jsx)(s.br,{}),"\n",(0,r.jsx)(s.code,{children:".exe"})," ",(0,r.jsx)(s.code,{children:".sh"})]}),"\n",(0,r.jsx)(s.admonition,{title:"Downloading single-file executables",type:"note",children:(0,r.jsxs)(s.p,{children:["Single-file executables are packed into a ",(0,r.jsx)(s.code,{children:".tar"})," file (no compression) and cached in the server's ",(0,r.jsx)(s.code,{children:"/tmp"})," folder on-the-fly when users download them, to make them compatible with the GameVault Client. The cached files are reused until deleted by a Server Restart."]})}),"\n",(0,r.jsx)(s.h2,{id:"naming-convention-for-games",children:"Naming Convention for Games"}),"\n",(0,r.jsx)(s.p,{children:"The name of each game file must follow this format:"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"Title (Version) (EarlyAccess) (GameType) (NoCache) (ReleaseYear).zip"})}),"\n",(0,r.jsxs)(s.p,{children:["Note that the parentheses must be included, and the naming convention is ",(0,r.jsx)(s.strong,{children:"case sensitive"}),"."]}),"\n",(0,r.jsx)(s.p,{children:"Here's an explanation of each part of the naming convention:"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Part"}),(0,r.jsx)(s.th,{children:"Description"}),(0,r.jsx)(s.th,{children:"Example Value(s)"}),(0,r.jsx)(s.th,{children:"Required?"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Title"})}),(0,r.jsx)(s.td,{children:"The name of the game"}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"Far Cry 6"}),", ",(0,r.jsx)(s.code,{children:"HITMAN 3"})]}),(0,r.jsx)(s.td,{children:"Yes"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"Version"})}),(0,r.jsxs)(s.td,{children:["An optional version tag that must begin with a lowercase ",(0,r.jsx)(s.code,{children:"v"})]}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(v1.0)"}),", ",(0,r.jsx)(s.code,{children:"(v1.224)"})," , N/A"]}),(0,r.jsx)(s.td,{children:"No"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"EarlyAccess"})}),(0,r.jsx)(s.td,{children:"An optional tag that indicates whether the game is in Early Access"}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(EA)"}),", N/A"]}),(0,r.jsx)(s.td,{children:"No"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"GameType"})}),(0,r.jsxs)(s.td,{children:["Override for the games type. ",(0,r.jsx)(s.a,{href:"/docs/server-docs/game-types",children:"See here."})]}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(W_P)"}),", ",(0,r.jsx)(s.code,{children:"(W_S)"}),", ",(0,r.jsx)(s.code,{children:"..."})," , N/A"]}),(0,r.jsx)(s.td,{children:"No"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"NoCache"})}),(0,r.jsx)(s.td,{children:'An optional "NO CACHE"-flag that prevents the server searching for this game on external videogame databases.'}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(NC)"}),", N/A"]}),(0,r.jsx)(s.td,{children:"No"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.strong,{children:"ReleaseYear"})}),(0,r.jsx)(s.td,{children:"The year of the game's release, for accurate detection"}),(0,r.jsxs)(s.td,{children:[(0,r.jsx)(s.code,{children:"(2021)"}),", ",(0,r.jsx)(s.code,{children:"(2019)"}),", N/A"]}),(0,r.jsx)(s.td,{children:"No"})]})]})]}),"\n",(0,r.jsx)(s.p,{children:"Here's an example of a file that follows this convention:"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.code,{children:"Far Cry 6 (v1.5.0) (2021).zip"})}),"\n",(0,r.jsx)(s.p,{children:"By following this naming convention and using the common values listed in the table above, you can ensure that your games are detected correctly by GameVault."}),"\n",(0,r.jsx)(s.admonition,{title:"Illegal Filenames and Characters",type:"warning",children:(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["File names must not contain the following characters: ",(0,r.jsx)(s.code,{children:"/"}),", ",(0,r.jsx)(s.code,{children:"<"}),", ",(0,r.jsx)(s.code,{children:">"}),", ",(0,r.jsx)(s.code,{children:":"}),", ",(0,r.jsx)(s.code,{children:'"'}),", ",(0,r.jsx)(s.code,{children:"\\"}),", ",(0,r.jsx)(s.code,{children:"|"}),", ",(0,r.jsx)(s.code,{children:"?"}),", and ",(0,r.jsx)(s.code,{children:"*"}),". Replace these problematic characters with appropriate ones to ensure compatibility across all systems."]}),"\n",(0,r.jsx)(s.li,{children:"Avoid ending file names with spaces or dots."}),"\n",(0,r.jsxs)(s.li,{children:["Avoid using text within Round brackets such as ",(0,r.jsx)(s.code,{children:"(GOTY)"})," in your file names, as GameVault will remove them. Round brackets are reserved for the different flags mentioned above. Use square brackets instead: ",(0,r.jsx)(s.code,{children:"[GOTY]"})]}),"\n",(0,r.jsxs)(s.li,{children:["Do not use reserved file names such as ",(0,r.jsx)(s.code,{children:"CON"}),", ",(0,r.jsx)(s.code,{children:"PRN"}),", ",(0,r.jsx)(s.code,{children:"AUX"}),", ",(0,r.jsx)(s.code,{children:"NUL"}),", ",(0,r.jsx)(s.code,{children:"COM(1-9)"}),", ",(0,r.jsx)(s.code,{children:"LPT(1-9)"}),", etc."]}),"\n",(0,r.jsxs)(s.li,{children:["Avoid using multiple chained extensions like ",(0,r.jsx)(s.code,{children:".tar.gz"})," or ",(0,r.jsx)(s.code,{children:".tar.bz2"}),". Instead, use only the last extension like ",(0,r.jsx)(s.code,{children:".gz"})," or ",(0,r.jsx)(s.code,{children:".bz2"}),"."]}),"\n"]})}),"\n",(0,r.jsx)(s.h3,{id:"other-examples",children:"Other Examples"}),"\n",(0,r.jsx)(s.p,{children:"Here are some other valid examples of game names that follow the naming convention:"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Star Wars Jedi - Fallen Order(v1.0.10.0) (2019).zip"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"HITMAN 3 (v3.10.1) (2021).7z"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"The Wandering Village (v0.1.32) (EA) (2022).iso"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Saints Row (W_S) (2022).zip"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"My personal IndieGame (v1.2.9) (NC) (2018).zip"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Stray (2022).7z"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Captain of Industry (v0.4.12b) (EA) (2022).gz"})}),"\n",(0,r.jsx)(s.li,{children:(0,r.jsx)(s.code,{children:"Minecraft (2011).exe"})}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,d.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8358:(e,s,n)=>{n.d(s,{Z:()=>t,a:()=>c});var r=n(5271);const d={},i=r.createContext(d);function c(e){const s=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:c(e.components),r.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/621db11d.28c68033.js b/assets/js/621db11d.28c68033.js deleted file mode 100644 index fd7788188..000000000 --- a/assets/js/621db11d.28c68033.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3940],{8016:(t,e,s)=>{s.r(e),s.d(e,{default:()=>m});s(5271);var a=s(4814),o=s(947),r=s(8832),l=s(3441),u=s(9935),n=s(8625),i=s(6078),c=s(7981);const h={authorListItem:"authorListItem_X3Ma"};var g=s(2676);function d(t){let{author:e}=t;return(0,g.jsx)("li",{className:h.authorListItem,children:(0,g.jsx)(c.Z,{as:"h2",author:e,count:e.count})})}function p(t){let{authors:e}=t;return(0,g.jsx)("section",{className:(0,a.Z)("margin-vert--lg",h.authorsListSection),children:(0,g.jsx)("ul",{children:e.map((t=>(0,g.jsx)(d,{author:t},t.key)))})})}function m(t){let{authors:e,sidebar:s}=t;const c=(0,l.HV)();return(0,g.jsxs)(o.FG,{className:(0,a.Z)(r.k.wrapper.blogPages,r.k.page.blogAuthorsListPage),children:[(0,g.jsx)(o.d,{title:c}),(0,g.jsx)(n.Z,{tag:"blog_authors_list"}),(0,g.jsxs)(u.Z,{sidebar:s,children:[(0,g.jsx)(i.Z,{as:"h1",children:c}),(0,g.jsx)(p,{authors:e})]})]})}},3441:(t,e,s)=>{s.d(e,{HV:()=>u,Wi:()=>l});s(5271);var a=s(9665),o=s(5416);s(2676);function r(){const{selectMessage:t}=(0,o.c)();return e=>t(e,(0,a.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:e}))}function l(t){const e=r();return(0,a.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:e(t.count),tagName:t.label})}const u=()=>(0,a.I)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"})}}]); \ No newline at end of file diff --git a/assets/js/621db11d.cd005c05.js b/assets/js/621db11d.cd005c05.js new file mode 100644 index 000000000..8f2a94293 --- /dev/null +++ b/assets/js/621db11d.cd005c05.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3940],{3435:(t,e,s)=>{s.r(e),s.d(e,{default:()=>m});s(5271);var a=s(4814),o=s(9967),r=s(3509),l=s(5535),u=s(6566),n=s(8625),i=s(3221),c=s(8059);const h={authorListItem:"authorListItem_X3Ma"};var g=s(2676);function d(t){let{author:e}=t;return(0,g.jsx)("li",{className:h.authorListItem,children:(0,g.jsx)(c.Z,{as:"h2",author:e,count:e.count})})}function p(t){let{authors:e}=t;return(0,g.jsx)("section",{className:(0,a.Z)("margin-vert--lg",h.authorsListSection),children:(0,g.jsx)("ul",{children:e.map((t=>(0,g.jsx)(d,{author:t},t.key)))})})}function m(t){let{authors:e,sidebar:s}=t;const c=(0,l.HV)();return(0,g.jsxs)(o.FG,{className:(0,a.Z)(r.k.wrapper.blogPages,r.k.page.blogAuthorsListPage),children:[(0,g.jsx)(o.d,{title:c}),(0,g.jsx)(n.Z,{tag:"blog_authors_list"}),(0,g.jsxs)(u.Z,{sidebar:s,children:[(0,g.jsx)(i.Z,{as:"h1",children:c}),(0,g.jsx)(p,{authors:e})]})]})}},5535:(t,e,s)=>{s.d(e,{HV:()=>u,Wi:()=>l});s(5271);var a=s(2922),o=s(2351);s(2676);function r(){const{selectMessage:t}=(0,o.c)();return e=>t(e,(0,a.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:e}))}function l(t){const e=r();return(0,a.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:e(t.count),tagName:t.label})}const u=()=>(0,a.I)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"})}}]); \ No newline at end of file diff --git a/assets/js/6493.8f62fe69.js b/assets/js/6493.8f62fe69.js new file mode 100644 index 000000000..15f2b6a20 --- /dev/null +++ b/assets/js/6493.8f62fe69.js @@ -0,0 +1 @@ +(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6493],{44:(e,t,n)=>{"use strict";n.d(t,{Z:()=>_});var s=n(5271),a=n(2676);function o(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),o=t.filter((e=>e!==n)),c=n?.props.children;return{mdxAdmonitionTitle:c,rest:o.length>0?(0,a.jsx)(a.Fragment,{children:o}):null}}(e.children),o=e.title??t;return{...e,...o&&{title:o},children:n}}var c=n(4814),i=n(2922),r=n(3509);const l={admonition:"admonition_HAC_",admonitionHeading:"admonitionHeading_VCVJ",admonitionIcon:"admonitionIcon_vHBt",admonitionContent:"admonitionContent_tuR2"};function d(e){let{type:t,className:n,children:s}=e;return(0,a.jsx)("div",{className:(0,c.Z)(r.k.common.admonition,r.k.common.admonitionType(t),l.admonition,n),children:s})}function u(e){let{icon:t,title:n}=e;return(0,a.jsxs)("div",{className:l.admonitionHeading,children:[(0,a.jsx)("span",{className:l.admonitionIcon,children:t}),n]})}function m(e){let{children:t}=e;return t?(0,a.jsx)("div",{className:l.admonitionContent,children:t}):null}function h(e){const{type:t,icon:n,title:s,children:o,className:c}=e;return(0,a.jsxs)(d,{type:t,className:c,children:[s||n?(0,a.jsx)(u,{title:s,icon:n}):null,(0,a.jsx)(m,{children:o})]})}function p(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const f={icon:(0,a.jsx)(p,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function g(e){return(0,a.jsx)(h,{...f,...e,className:(0,c.Z)("alert alert--secondary",e.className),children:e.children})}function x(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const j={icon:(0,a.jsx)(x,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function b(e){return(0,a.jsx)(h,{...j,...e,className:(0,c.Z)("alert alert--success",e.className),children:e.children})}function v(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const y={icon:(0,a.jsx)(v,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function N(e){return(0,a.jsx)(h,{...y,...e,className:(0,c.Z)("alert alert--info",e.className),children:e.children})}function k(e){return(0,a.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const C={icon:(0,a.jsx)(k,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function B(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const w={icon:(0,a.jsx)(B,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const Z={icon:(0,a.jsx)(k,{}),title:(0,a.jsx)(i.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const L={...{note:g,tip:b,info:N,warning:function(e){return(0,a.jsx)(h,{...C,...e,className:(0,c.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,a.jsx)(h,{...w,...e,className:(0,c.Z)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,a.jsx)(g,{title:"secondary",...e}),important:e=>(0,a.jsx)(N,{title:"important",...e}),success:e=>(0,a.jsx)(b,{title:"success",...e}),caution:function(e){return(0,a.jsx)(h,{...Z,...e,className:(0,c.Z)("alert alert--warning",e.className),children:e.children})}}};function _(e){const t=o(e),n=(s=t.type,L[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),L.info));var s;return(0,a.jsx)(n,{...t})}},3362:(e,t,n)=>{"use strict";n.d(t,{Z:()=>g});n(5271);var s=n(4814),a=n(2922),o=n(3509),c=n(6527);const i={iconEdit:"iconEdit_BjJv"};var r=n(2676);function l(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.Z)(i.iconEdit,t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,r.jsxs)(c.Z,{to:t,className:o.k.common.editThisPage,children:[(0,r.jsx)(l,{}),(0,r.jsx)(a.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(1956);function m(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=(0,u.P)({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function h(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(a.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function p(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:o.k.common.lastUpdated,children:[(0,r.jsx)(a.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(m,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(h,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const f={lastUpdated:"lastUpdated_w0Sh"};function g(e){let{className:t,editUrl:n,lastUpdatedAt:a,lastUpdatedBy:o}=e;return(0,r.jsxs)("div",{className:(0,s.Z)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(d,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.Z)("col",f.lastUpdated),children:(a||o)&&(0,r.jsx)(p,{lastUpdatedAt:a,lastUpdatedBy:o})})]})}},2714:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ie});var s=n(5271),a=n(8358),o=n(2791),c=n(6594),i=n(4814),r=n(7934),l=n(9364);function d(){const{prism:e}=(0,l.L)(),{colorMode:t}=(0,r.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(3509),m=n(7226),h=n.n(m);const p=/title=(?<quote>["'])(?<title>.*?)\1/,f=/\{(?<range>[\d,-]+)\}/,g={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},x={...g,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},j=Object.keys(g);function b(e,t){const n=e.map((e=>{const{start:n,end:s}=x[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:o}=t;if(o&&f.test(o)){const e=o.match(f).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const c=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return b(["js","jsBlock"],t);case"jsx":case"tsx":return b(["js","jsBlock","jsx"],t);case"html":return b(["js","jsBlock","html"],t);case"python":case"py":case"bash":return b(["bash"],t);case"markdown":case"md":return b(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return b(["tex"],t);case"lua":case"haskell":case"sql":return b(["lua"],t);case"wasm":return b(["wasm"],t);case"vb":case"vba":case"visual-basic":return b(["vb","rem"],t);case"vbnet":return b(["vbnet","rem"],t);case"batch":return b(["rem"],t);case"basic":return b(["rem","f90"],t);case"fsharp":return b(["js","ml"],t);case"ocaml":case"sml":return b(["ml"],t);case"fortran":return b(["f90"],t);case"cobol":return b(["cobol"],t);default:return b(j,t)}}(s,a),i=n.split("\n"),r=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<i.length;){const e=i[h].match(c);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?r[l[t]].range+=`${h},`:d[t]?r[d[t]].start=h:u[t]&&(r[u[t]].range+=`${r[u[t]].start}-${h-1},`),i.splice(h,1)}n=i.join("\n");const m={};return Object.entries(r).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const y={codeBlockContainer:"codeBlockContainer_Sx4Y"};var N=n(2676);function k(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const o=t[s];o&&"string"==typeof a&&(n[o]=a)})),n}(d());return(0,N.jsx)(t,{...n,style:s,className:(0,i.Z)(n.className,y.codeBlockContainer,u.k.common.codeBlock)})}const C={codeBlockContent:"codeBlockContent_YnoF",codeBlockTitle:"codeBlockTitle_CurW",codeBlock:"codeBlock_kXdi",codeBlockStandalone:"codeBlockStandalone_Yei0",codeBlockLines:"codeBlockLines_SDaA",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_Akw7",buttonGroup:"buttonGroup_zCn6"};function B(e){let{children:t,className:n}=e;return(0,N.jsx)(k,{as:"pre",tabIndex:0,className:(0,i.Z)(C.codeBlockStandalone,"thin-scrollbar",n),children:(0,N.jsx)("code",{className:C.codeBlockLines,children:t})})}var w=n(8274);const Z={attributes:!0,characterData:!0,childList:!0,subtree:!0};function L(e,t){const[n,a]=(0,s.useState)(),o=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{o()}),[o]),function(e,t,n){void 0===n&&(n=Z);const a=(0,w.zX)(t),o=(0,w.Ql)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,o),()=>t.disconnect()}),[e,a,o])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),o())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var _=n(739);const E={codeLine:"codeLine_myqu",codeLineNumber:"codeLineNumber_CBT2",codeLineContent:"codeLineContent_LM40"};function T(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=a({line:t,className:(0,i.Z)(n,s&&E.codeLine)}),r=t.map(((e,t)=>(0,N.jsx)("span",{...o({token:e})},t)));return(0,N.jsxs)("span",{...c,children:[s?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("span",{className:E.codeLineNumber}),(0,N.jsx)("span",{className:E.codeLineContent,children:r})]}):r,(0,N.jsx)("br",{})]})}var A=n(2922);function I(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function S(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const U={copyButtonCopied:"copyButtonCopied_OQHi",copyButtonIcons:"copyButtonIcons_wv7r",copyButtonIcon:"copyButtonIcon_Yg7_",copyButtonSuccessIcon:"copyButtonSuccessIcon_PaDN"};function M(e){let{code:t,className:n}=e;const[a,o]=(0,s.useState)(!1),c=(0,s.useRef)(void 0),r=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const o=document.getSelection(),c=o.rangeCount>0&&o.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}s.remove(),c&&(o.removeAllRanges(),o.addRange(c)),a&&a.focus()}(t),o(!0),c.current=window.setTimeout((()=>{o(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(c.current)),[]),(0,N.jsx)("button",{type:"button","aria-label":a?(0,A.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,A.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,A.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,U.copyButton,a&&U.copyButtonCopied),onClick:r,children:(0,N.jsxs)("span",{className:U.copyButtonIcons,"aria-hidden":"true",children:[(0,N.jsx)(I,{className:U.copyButtonIcon}),(0,N.jsx)(S,{className:U.copyButtonSuccessIcon})]})})}function z(e){return(0,N.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,N.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const H={wordWrapButtonIcon:"wordWrapButtonIcon_dvG6",wordWrapButtonEnabled:"wordWrapButtonEnabled_EI91"};function R(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,A.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,N.jsx)("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,s&&H.wordWrapButtonEnabled),"aria-label":a,title:a,children:(0,N.jsx)(z,{className:H.wordWrapButtonIcon,"aria-hidden":"true"})})}function W(e){let{children:t,className:n="",metastring:a,title:o,showLineNumbers:c,language:r}=e;const{prism:{defaultLanguage:u,magicComments:m}}=(0,l.L)(),h=function(e){return e?.toLowerCase()}(r??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??u),f=d(),g=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),c=(0,s.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),i=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");a(n)}),[o]);return L(o,i),(0,s.useEffect)((()=>{i()}),[e,i]),(0,s.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:c}}(),x=function(e){return e?.match(p)?.groups.title??""}(a)||o,{lineClassNames:j,code:b}=v(t,{metastring:a,language:h,magicComments:m}),y=c??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return(0,N.jsxs)(k,{as:"div",className:(0,i.Z)(n,h&&!n.includes(`language-${h}`)&&`language-${h}`),children:[x&&(0,N.jsx)("div",{className:C.codeBlockTitle,children:x}),(0,N.jsxs)("div",{className:C.codeBlockContent,children:[(0,N.jsx)(_.y$,{theme:f,code:b,language:h??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:o}=e;return(0,N.jsx)("pre",{tabIndex:0,ref:g.codeBlockRef,className:(0,i.Z)(t,C.codeBlock,"thin-scrollbar"),style:n,children:(0,N.jsx)("code",{className:(0,i.Z)(C.codeBlockLines,y&&C.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,N.jsx)(T,{line:e,getLineProps:a,getTokenProps:o,classNames:j[t],showLineNumbers:y},t)))})})}}),(0,N.jsxs)("div",{className:C.buttonGroup,children:[(g.isEnabled||g.isCodeScrollable)&&(0,N.jsx)(R,{className:C.codeButton,onClick:()=>g.toggle(),isEnabled:g.isEnabled}),(0,N.jsx)(M,{className:C.codeButton,code:b})]})]})]})}function D(e){let{children:t,...n}=e;const a=(0,c.Z)(),o=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof o?W:B;return(0,N.jsx)(i,{...n,children:o},String(a))}function V(e){return(0,N.jsx)("code",{...e})}var $=n(6527);var P=n(4167),O=n(3955);const q={details:"details_UM4U",isBrowser:"isBrowser_HuuV",collapsibleContent:"collapsibleContent_IfUm"};function F(e){return!!e&&("SUMMARY"===e.tagName||F(e.parentElement))}function Y(e,t){return!!e&&(e===t||Y(e.parentElement,t))}function G(e){let{summary:t,children:n,...a}=e;(0,P.Z)().collectAnchor(a.id);const o=(0,c.Z)(),r=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,O.u)({initialState:!a.open}),[u,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,N.jsx)("summary",{children:t??"Details"});return(0,N.jsxs)("details",{...a,ref:r,open:u,"data-collapsed":l,className:(0,i.Z)(q.details,o&&q.isBrowser,a.className),onMouseDown:e=>{F(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;F(t)&&Y(t,r.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,N.jsx)(O.z,{lazy:!1,collapsed:l,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,N.jsx)("div",{className:q.collapsibleContent,children:n})})]})}const X={details:"details_MhMj"},Q="alert alert--info";function J(e){let{...t}=e;return(0,N.jsx)(G,{...t,className:(0,i.Z)(Q,X.details,t.className)})}function K(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,N.jsx)(N.Fragment,{children:t.filter((e=>e!==n))});return(0,N.jsx)(J,{...e,summary:n,children:a})}var ee=n(3221);function te(e){return(0,N.jsx)(ee.Z,{...e})}const ne={containsTaskList:"containsTaskList_Q9D7"};function se(e){if(void 0!==e)return(0,i.Z)(e,e?.includes("contains-task-list")&&ne.containsTaskList)}const ae={img:"img_sRsS"};var oe=n(44);const ce={Head:o.Z,details:K,Details:K,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,N.jsx)(V,{...e}):(0,N.jsx)(D,{...e})},a:function(e){return(0,N.jsx)($.Z,{...e})},pre:function(e){return(0,N.jsx)(N.Fragment,{children:e.children})},ul:function(e){return(0,N.jsx)("ul",{...e,className:se(e.className)})},li:function(e){return(0,P.Z)().collectAnchor(e.id),(0,N.jsx)("li",{...e})},img:function(e){return(0,N.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,i.Z)(t,ae.img))});var t},h1:e=>(0,N.jsx)(te,{as:"h1",...e}),h2:e=>(0,N.jsx)(te,{as:"h2",...e}),h3:e=>(0,N.jsx)(te,{as:"h3",...e}),h4:e=>(0,N.jsx)(te,{as:"h4",...e}),h5:e=>(0,N.jsx)(te,{as:"h5",...e}),h6:e=>(0,N.jsx)(te,{as:"h6",...e}),admonition:oe.Z,mermaid:()=>null};function ie(e){let{children:t}=e;return(0,N.jsx)(a.Z,{components:ce,children:t})}},5066:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(5271);var s=n(4814),a=n(6527),o=n(2676);function c(e){const{permalink:t,title:n,subLabel:c,isNext:i}=e;return(0,o.jsxs)(a.Z,{className:(0,s.Z)("pagination-nav__link",i?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[c&&(0,o.jsx)("div",{className:"pagination-nav__sublabel",children:c}),(0,o.jsx)("div",{className:"pagination-nav__label",children:n})]})}},8213:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n(5271);var s=n(4814),a=n(6527);const o={tag:"tag_idh4",tagRegular:"tagRegular_OEC8",tagWithCount:"tagWithCount_X4qa"};var c=n(2676);function i(e){let{permalink:t,label:n,count:i,description:r}=e;return(0,c.jsxs)(a.Z,{href:t,title:r,className:(0,s.Z)(o.tag,i?o.tagWithCount:o.tagRegular),children:[n,i&&(0,c.jsx)("span",{children:i})]})}},9813:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});n(5271);var s=n(4814),a=n(2922),o=n(8213);const c={tags:"tags_gbum",tag:"tag_jXtk"};var i=n(2676);function r(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(a.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,s.Z)(c.tags,"padding--none","margin-left--sm"),children:t.map((e=>(0,i.jsx)("li",{className:c.tag,children:(0,i.jsx)(o.Z,{...e})},e.permalink)))})]})}},1956:(e,t,n)=>{"use strict";n.d(t,{P:()=>a});var s=n(6172);function a(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,s.Z)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,s.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}},7226:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,o]=t;if(s&&o){s=parseInt(s),o=parseInt(o);const e=s<o?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(o+=e);for(let t=s;t!==o;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},8358:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i,a:()=>c});var s=n(5271);const a={},o=s.createContext(a);function c(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6875c492.d06d54a5.js b/assets/js/6875c492.9307af78.js similarity index 56% rename from assets/js/6875c492.d06d54a5.js rename to assets/js/6875c492.9307af78.js index d8a802cab..51ef52d54 100644 --- a/assets/js/6875c492.d06d54a5.js +++ b/assets/js/6875c492.9307af78.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8610],{3400:(e,t,n)=>{n.d(t,{Z:()=>r});n(5271);var s=n(9665),a=n(5066),i=n(2676);function r(e){const{metadata:t}=e,{previousPage:n,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.Z,{permalink:n,title:(0,i.jsx)(s.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),r&&(0,i.jsx)(a.Z,{permalink:r,title:(0,i.jsx)(s.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},2924:(e,t,n)=>{n.d(t,{Z:()=>B});n(5271);var s=n(4814),a=n(5117),i=n(2676);function r(e){let{children:t,className:n}=e;return(0,i.jsx)("article",{className:n,children:t})}var l=n(9347);const o={title:"title_c9tz"};function c(e){let{className:t}=e;const{metadata:n,isBlogPostPage:r}=(0,a.nO)(),{permalink:c,title:d}=n,u=r?"h1":"h2";return(0,i.jsx)(u,{className:(0,s.Z)(o.title,t),children:r?d:(0,i.jsx)(l.Z,{to:c,children:d})})}var d=n(9665),u=n(5416),g=n(4060);const m={container:"container_xAnX"};function h(e){let{readingTime:t}=e;const n=function(){const{selectMessage:e}=(0,u.c)();return t=>{const n=Math.ceil(t);return e(n,(0,d.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,i.jsx)(i.Fragment,{children:n(t)})}function p(e){let{date:t,formattedDate:n}=e;return(0,i.jsx)("time",{dateTime:t,children:n})}function x(){return(0,i.jsx)(i.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:n}=(0,a.nO)(),{date:r,readingTime:l}=n,o=(0,g.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,i.jsxs)("div",{className:(0,s.Z)(m.container,"margin-vert--md",t),children:[(0,i.jsx)(p,{date:r,formattedDate:(c=r,o.format(new Date(c)))}),void 0!==l&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{}),(0,i.jsx)(h,{readingTime:l})]})]});var c}var b=n(7981);const f={authorCol:"authorCol_btVC",imageOnlyAuthorRow:"imageOnlyAuthorRow_fBnr",imageOnlyAuthorCol:"imageOnlyAuthorCol_Y2d8"};function Z(e){let{className:t}=e;const{metadata:{authors:n},assets:r}=(0,a.nO)();if(0===n.length)return null;const l=n.every((e=>{let{name:t}=e;return!t})),o=1===n.length;return(0,i.jsx)("div",{className:(0,s.Z)("margin-top--md margin-bottom--sm",l?f.imageOnlyAuthorRow:"row",t),children:n.map(((e,t)=>(0,i.jsx)("div",{className:(0,s.Z)(!l&&(o?"col col--12":"col col--6"),l?f.imageOnlyAuthorCol:f.authorCol),children:(0,i.jsx)(b.Z,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t)))})}function v(){return(0,i.jsxs)("header",{children:[(0,i.jsx)(c,{}),(0,i.jsx)(j,{}),(0,i.jsx)(Z,{})]})}var T=n(5678),N=n(8431);function w(e){let{children:t,className:n}=e;const{isBlogPostPage:r}=(0,a.nO)();return(0,i.jsx)("div",{id:r?T.uR:void 0,className:(0,s.Z)("markdown",n),children:(0,i.jsx)(N.Z,{children:t})})}var y=n(8832),P=n(2006),k=n(9261);function A(){return(0,i.jsx)("b",{children:(0,i.jsx)(d.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function O(e){const{blogPostTitle:t,...n}=e;return(0,i.jsx)(l.Z,{"aria-label":(0,d.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,i.jsx)(A,{})})}function U(){const{metadata:e,isBlogPostPage:t}=(0,a.nO)(),{tags:n,title:r,editUrl:l,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&o,g=n.length>0;if(!(g||u||l))return null;if(t){const e=!!(l||d||c);return(0,i.jsxs)("footer",{className:"docusaurus-mt-lg",children:[g&&(0,i.jsx)("div",{className:(0,s.Z)("row","margin-top--sm",y.k.blog.blogFooterEditMetaRow),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(k.Z,{tags:n})})}),e&&(0,i.jsx)(P.Z,{className:(0,s.Z)("margin-top--sm",y.k.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,i.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[g&&(0,i.jsx)("div",{className:(0,s.Z)("col",{"col--9":u}),children:(0,i.jsx)(k.Z,{tags:n})}),u&&(0,i.jsx)("div",{className:(0,s.Z)("col text--right",{"col--3":g}),children:(0,i.jsx)(O,{blogPostTitle:r,to:e.permalink})})]})}function B(e){let{children:t,className:n}=e;const l=function(){const{isBlogPostPage:e}=(0,a.nO)();return e?void 0:"margin-bottom--xl"}();return(0,i.jsxs)(r,{className:(0,s.Z)(l,n),children:[(0,i.jsx)(v,{}),(0,i.jsx)(w,{children:t}),(0,i.jsx)(U,{})]})}},2740:(e,t,n)=>{n.d(t,{Z:()=>r});n(5271);var s=n(5117),a=n(2924),i=n(2676);function r(e){let{items:t,component:n=a.Z}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(s.n4,{content:t,children:(0,i.jsx)(n,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}},8078:(e,t,n)=>{n.r(t),n.d(t,{default:()=>b});n(5271);var s=n(4814),a=n(9665),i=n(947),r=n(8832),l=n(3441),o=n(9347),c=n(9935),d=n(3400),u=n(8625),g=n(2740),m=n(7491),h=n(6078),p=n(2676);function x(e){let{tag:t}=e;const n=(0,l.Wi)(t);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(i.d,{title:n,description:t.description}),(0,p.jsx)(u.Z,{tag:"blog_tags_posts"})]})}function j(e){let{tag:t,items:n,sidebar:s,listMetadata:i}=e;const r=(0,l.Wi)(t);return(0,p.jsxs)(c.Z,{sidebar:s,children:[t.unlisted&&(0,p.jsx)(m.Z,{}),(0,p.jsxs)("header",{className:"margin-bottom--xl",children:[(0,p.jsx)(h.Z,{as:"h1",children:r}),t.description&&(0,p.jsx)("p",{children:t.description}),(0,p.jsx)(o.Z,{href:t.allTagsPath,children:(0,p.jsx)(a.Z,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,p.jsx)(g.Z,{items:n}),(0,p.jsx)(d.Z,{metadata:i})]})}function b(e){return(0,p.jsxs)(i.FG,{className:(0,s.Z)(r.k.wrapper.blogPages,r.k.page.blogTagPostListPage),children:[(0,p.jsx)(x,{...e}),(0,p.jsx)(j,{...e})]})}},7491:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var s=n(4814),a=n(1787),i=n(8832),r=n(1255),l=n(2676);function o(e){let{className:t}=e;return(0,l.jsx)(r.Z,{type:"caution",title:(0,l.jsx)(a.cI,{}),className:(0,s.Z)(t,i.k.common.unlistedBanner),children:(0,l.jsx)(a.eU,{})})}function c(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.T$,{}),(0,l.jsx)(o,{...e})]})}},3441:(e,t,n)=>{n.d(t,{HV:()=>l,Wi:()=>r});n(5271);var s=n(9665),a=n(5416);n(2676);function i(){const{selectMessage:e}=(0,a.c)();return t=>e(t,(0,s.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function r(e){const t=i();return(0,s.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}const l=()=>(0,s.I)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"})},1787:(e,t,n)=>{n.d(t,{T$:()=>o,cI:()=>r,eU:()=>l,ht:()=>c,xo:()=>d});n(5271);var s=n(9665),a=n(5363),i=n(2676);function r(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,i.jsx)(a.Z,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8610],{3400:(e,t,n)=>{n.d(t,{Z:()=>r});n(5271);var s=n(2922),a=n(5066),i=n(2676);function r(e){const{metadata:t}=e,{previousPage:n,nextPage:r}=t;return(0,i.jsxs)("nav",{className:"pagination-nav","aria-label":(0,s.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[n&&(0,i.jsx)(a.Z,{permalink:n,title:(0,i.jsx)(s.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),r&&(0,i.jsx)(a.Z,{permalink:r,title:(0,i.jsx)(s.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},9449:(e,t,n)=>{n.d(t,{Z:()=>B});n(5271);var s=n(4814),a=n(5023),i=n(2676);function r(e){let{children:t,className:n}=e;return(0,i.jsx)("article",{className:n,children:t})}var l=n(6527);const o={title:"title_c9tz"};function c(e){let{className:t}=e;const{metadata:n,isBlogPostPage:r}=(0,a.nO)(),{permalink:c,title:d}=n,u=r?"h1":"h2";return(0,i.jsx)(u,{className:(0,s.Z)(o.title,t),children:r?d:(0,i.jsx)(l.Z,{to:c,children:d})})}var d=n(2922),u=n(2351),g=n(1956);const m={container:"container_xAnX"};function h(e){let{readingTime:t}=e;const n=function(){const{selectMessage:e}=(0,u.c)();return t=>{const n=Math.ceil(t);return e(n,(0,d.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,i.jsx)(i.Fragment,{children:n(t)})}function p(e){let{date:t,formattedDate:n}=e;return(0,i.jsx)("time",{dateTime:t,children:n})}function x(){return(0,i.jsx)(i.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:n}=(0,a.nO)(),{date:r,readingTime:l}=n,o=(0,g.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,i.jsxs)("div",{className:(0,s.Z)(m.container,"margin-vert--md",t),children:[(0,i.jsx)(p,{date:r,formattedDate:(c=r,o.format(new Date(c)))}),void 0!==l&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(x,{}),(0,i.jsx)(h,{readingTime:l})]})]});var c}var b=n(8059);const f={authorCol:"authorCol_btVC",imageOnlyAuthorRow:"imageOnlyAuthorRow_fBnr",imageOnlyAuthorCol:"imageOnlyAuthorCol_Y2d8"};function Z(e){let{className:t}=e;const{metadata:{authors:n},assets:r}=(0,a.nO)();if(0===n.length)return null;const l=n.every((e=>{let{name:t}=e;return!t})),o=1===n.length;return(0,i.jsx)("div",{className:(0,s.Z)("margin-top--md margin-bottom--sm",l?f.imageOnlyAuthorRow:"row",t),children:n.map(((e,t)=>(0,i.jsx)("div",{className:(0,s.Z)(!l&&(o?"col col--12":"col col--6"),l?f.imageOnlyAuthorCol:f.authorCol),children:(0,i.jsx)(b.Z,{author:{...e,imageURL:r.authorsImageUrls[t]??e.imageURL}})},t)))})}function v(){return(0,i.jsxs)("header",{children:[(0,i.jsx)(c,{}),(0,i.jsx)(j,{}),(0,i.jsx)(Z,{})]})}var T=n(5678),N=n(2714);function w(e){let{children:t,className:n}=e;const{isBlogPostPage:r}=(0,a.nO)();return(0,i.jsx)("div",{id:r?T.uR:void 0,className:(0,s.Z)("markdown",n),children:(0,i.jsx)(N.Z,{children:t})})}var y=n(3509),P=n(3362),k=n(9813);function A(){return(0,i.jsx)("b",{children:(0,i.jsx)(d.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function O(e){const{blogPostTitle:t,...n}=e;return(0,i.jsx)(l.Z,{"aria-label":(0,d.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,i.jsx)(A,{})})}function U(){const{metadata:e,isBlogPostPage:t}=(0,a.nO)(),{tags:n,title:r,editUrl:l,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,u=!t&&o,g=n.length>0;if(!(g||u||l))return null;if(t){const e=!!(l||d||c);return(0,i.jsxs)("footer",{className:"docusaurus-mt-lg",children:[g&&(0,i.jsx)("div",{className:(0,s.Z)("row","margin-top--sm",y.k.blog.blogFooterEditMetaRow),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(k.Z,{tags:n})})}),e&&(0,i.jsx)(P.Z,{className:(0,s.Z)("margin-top--sm",y.k.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,i.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[g&&(0,i.jsx)("div",{className:(0,s.Z)("col",{"col--9":u}),children:(0,i.jsx)(k.Z,{tags:n})}),u&&(0,i.jsx)("div",{className:(0,s.Z)("col text--right",{"col--3":g}),children:(0,i.jsx)(O,{blogPostTitle:r,to:e.permalink})})]})}function B(e){let{children:t,className:n}=e;const l=function(){const{isBlogPostPage:e}=(0,a.nO)();return e?void 0:"margin-bottom--xl"}();return(0,i.jsxs)(r,{className:(0,s.Z)(l,n),children:[(0,i.jsx)(v,{}),(0,i.jsx)(w,{children:t}),(0,i.jsx)(U,{})]})}},2740:(e,t,n)=>{n.d(t,{Z:()=>r});n(5271);var s=n(5023),a=n(9449),i=n(2676);function r(e){let{items:t,component:n=a.Z}=e;return(0,i.jsx)(i.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,i.jsx)(s.n4,{content:t,children:(0,i.jsx)(n,{children:(0,i.jsx)(t,{})})},t.metadata.permalink)}))})}},8078:(e,t,n)=>{n.r(t),n.d(t,{default:()=>b});n(5271);var s=n(4814),a=n(2922),i=n(9967),r=n(3509),l=n(5535),o=n(6527),c=n(6566),d=n(3400),u=n(8625),g=n(2740),m=n(7491),h=n(3221),p=n(2676);function x(e){let{tag:t}=e;const n=(0,l.Wi)(t);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(i.d,{title:n,description:t.description}),(0,p.jsx)(u.Z,{tag:"blog_tags_posts"})]})}function j(e){let{tag:t,items:n,sidebar:s,listMetadata:i}=e;const r=(0,l.Wi)(t);return(0,p.jsxs)(c.Z,{sidebar:s,children:[t.unlisted&&(0,p.jsx)(m.Z,{}),(0,p.jsxs)("header",{className:"margin-bottom--xl",children:[(0,p.jsx)(h.Z,{as:"h1",children:r}),t.description&&(0,p.jsx)("p",{children:t.description}),(0,p.jsx)(o.Z,{href:t.allTagsPath,children:(0,p.jsx)(a.Z,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page",children:"View All Tags"})})]}),(0,p.jsx)(g.Z,{items:n}),(0,p.jsx)(d.Z,{metadata:i})]})}function b(e){return(0,p.jsxs)(i.FG,{className:(0,s.Z)(r.k.wrapper.blogPages,r.k.page.blogTagPostListPage),children:[(0,p.jsx)(x,{...e}),(0,p.jsx)(j,{...e})]})}},7491:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var s=n(4814),a=n(4022),i=n(3509),r=n(44),l=n(2676);function o(e){let{className:t}=e;return(0,l.jsx)(r.Z,{type:"caution",title:(0,l.jsx)(a.cI,{}),className:(0,s.Z)(t,i.k.common.unlistedBanner),children:(0,l.jsx)(a.eU,{})})}function c(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.T$,{}),(0,l.jsx)(o,{...e})]})}},5535:(e,t,n)=>{n.d(t,{HV:()=>l,Wi:()=>r});n(5271);var s=n(2922),a=n(2351);n(2676);function i(){const{selectMessage:e}=(0,a.c)();return t=>e(t,(0,s.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}function r(e){const t=i();return(0,s.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}const l=()=>(0,s.I)({id:"theme.blog.authorsList.pageTitle",message:"Authors",description:"The title of the authors page"})},4022:(e,t,n)=>{n.d(t,{T$:()=>o,cI:()=>r,eU:()=>l,ht:()=>c,xo:()=>d});n(5271);var s=n(2922),a=n(2791),i=n(2676);function r(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,i.jsx)(a.Z,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,i.jsx)(s.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/assets/js/7424d9c3.784771e2.js b/assets/js/7424d9c3.3f5cb2ce.js similarity index 96% rename from assets/js/7424d9c3.784771e2.js rename to assets/js/7424d9c3.3f5cb2ce.js index 2e153e21b..e81de8fac 100644 --- a/assets/js/7424d9c3.784771e2.js +++ b/assets/js/7424d9c3.3f5cb2ce.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9268],{4686:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>m});var t=n(2676),i=n(9246);const l={title:"Choosing a New, Family-Friendly Name for this project!",authors:["alfagun74"],tags:["source-available","gaming platform","GameVault","new name","family-friendly","poll","AI-generated names","feedback","inclusivity","user participation","announcement","decision-making","community","platform values","voting","future development"]},o=void 0,r={permalink:"/blog/2023/07/08/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-08.md",source:"@site/blog/2023-07-08.md",title:"Choosing a New, Family-Friendly Name for this project!",description:"Hello, everyone!",date:"2023-07-08T00:00:00.000Z",tags:[{inline:!0,label:"source-available",permalink:"/blog/tags/source-available"},{inline:!0,label:"gaming platform",permalink:"/blog/tags/gaming-platform"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"new name",permalink:"/blog/tags/new-name"},{inline:!0,label:"family-friendly",permalink:"/blog/tags/family-friendly"},{inline:!0,label:"poll",permalink:"/blog/tags/poll"},{inline:!0,label:"AI-generated names",permalink:"/blog/tags/ai-generated-names"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"inclusivity",permalink:"/blog/tags/inclusivity"},{inline:!0,label:"user participation",permalink:"/blog/tags/user-participation"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"},{inline:!0,label:"decision-making",permalink:"/blog/tags/decision-making"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"platform values",permalink:"/blog/tags/platform-values"},{inline:!0,label:"voting",permalink:"/blog/tags/voting"},{inline:!0,label:"future development",permalink:"/blog/tags/future-development"}],readingTime:1.26,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Choosing a New, Family-Friendly Name for this project!",authors:["alfagun74"],tags:["source-available","gaming platform","GameVault","new name","family-friendly","poll","AI-generated names","feedback","inclusivity","user participation","announcement","decision-making","community","platform values","voting","future development"]},unlisted:!1,prevItem:{title:"Battling Harassment and Trolls in Our App Community",permalink:"/blog/2023/07/09/"},nextItem:{title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",permalink:"/blog/2023/07/01/"}},s={authorsImageUrls:[void 0]},m=[];function c(e){const a={a:"a",p:"p",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.p,{children:"Hello, everyone!"}),"\n",(0,t.jsxs)(a.p,{children:["We have an important announcement to share about our ",(0,t.jsx)(a.a,{href:"https://en.wikipedia.org/wiki/Source-available_software",children:"source-available"})," gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values. To make this decision-making process more convenient, we have created a poll with 100 potential names, suggested by you on our ",(0,t.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),", some of which were generated by AI. Your participation in shaping the future of our platform is greatly appreciated."]}),"\n",(0,t.jsx)(a.p,{children:"We kindly request your support in selecting a new name for our gaming platform. The poll offers a variety of names, and we ask that you choose at least 10 names (10%) that appeal to you. By gathering diverse input and minimizing bias, we aim to create an inclusive and enjoyable experience for all users. We apologize if the current name has caused any discomfort, and we are committed to creating a welcoming environment for gamers."}),"\n",(0,t.jsxs)(a.p,{children:["To cast your votes and contribute to the selection of a new, family-friendly name for our ",(0,t.jsx)(a.a,{href:"https://en.wikipedia.org/wiki/Source-available_software",children:"source-available"})," gaming platform, please click on the link provided at the end of this post. Your voice matters, and together, we can find a name that truly represents our app's essence. The results will be announced on this blog around July 15, 2023."]}),"\n",(0,t.jsx)(a.p,{children:"We sincerely appreciate your support and encourage you to stay tuned for updates as we continue to improve our platform based on your valuable feedback."}),"\n",(0,t.jsxs)(a.p,{children:["Link to the poll: ",(0,t.jsx)(a.a,{href:"https://forms.gle/cYsURG6BqMXcxE3B8",children:"https://forms.gle/cYsURG6BqMXcxE3B8"})]}),"\n",(0,t.jsx)(a.p,{children:"Happy voting!"})]})}function u(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},9246:(e,a,n)=>{n.d(a,{Z:()=>r,a:()=>o});var t=n(5271);const i={},l=t.createContext(i);function o(e){const a=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(l.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9268],{2903:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>m});var t=n(2676),i=n(8358);const l={title:"Choosing a New, Family-Friendly Name for this project!",authors:["alfagun74"],tags:["source-available","gaming platform","GameVault","new name","family-friendly","poll","AI-generated names","feedback","inclusivity","user participation","announcement","decision-making","community","platform values","voting","future development"]},o=void 0,r={permalink:"/blog/2023/07/08/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-08.md",source:"@site/blog/2023-07-08.md",title:"Choosing a New, Family-Friendly Name for this project!",description:"Hello, everyone!",date:"2023-07-08T00:00:00.000Z",tags:[{inline:!0,label:"source-available",permalink:"/blog/tags/source-available"},{inline:!0,label:"gaming platform",permalink:"/blog/tags/gaming-platform"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"new name",permalink:"/blog/tags/new-name"},{inline:!0,label:"family-friendly",permalink:"/blog/tags/family-friendly"},{inline:!0,label:"poll",permalink:"/blog/tags/poll"},{inline:!0,label:"AI-generated names",permalink:"/blog/tags/ai-generated-names"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"inclusivity",permalink:"/blog/tags/inclusivity"},{inline:!0,label:"user participation",permalink:"/blog/tags/user-participation"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"},{inline:!0,label:"decision-making",permalink:"/blog/tags/decision-making"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"platform values",permalink:"/blog/tags/platform-values"},{inline:!0,label:"voting",permalink:"/blog/tags/voting"},{inline:!0,label:"future development",permalink:"/blog/tags/future-development"}],readingTime:1.26,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Choosing a New, Family-Friendly Name for this project!",authors:["alfagun74"],tags:["source-available","gaming platform","GameVault","new name","family-friendly","poll","AI-generated names","feedback","inclusivity","user participation","announcement","decision-making","community","platform values","voting","future development"]},unlisted:!1,prevItem:{title:"Battling Harassment and Trolls in Our App Community",permalink:"/blog/2023/07/09/"},nextItem:{title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",permalink:"/blog/2023/07/01/"}},s={authorsImageUrls:[void 0]},m=[];function c(e){const a={a:"a",p:"p",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.p,{children:"Hello, everyone!"}),"\n",(0,t.jsxs)(a.p,{children:["We have an important announcement to share about our ",(0,t.jsx)(a.a,{href:"https://en.wikipedia.org/wiki/Source-available_software",children:"source-available"})," gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values. To make this decision-making process more convenient, we have created a poll with 100 potential names, suggested by you on our ",(0,t.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),", some of which were generated by AI. Your participation in shaping the future of our platform is greatly appreciated."]}),"\n",(0,t.jsx)(a.p,{children:"We kindly request your support in selecting a new name for our gaming platform. The poll offers a variety of names, and we ask that you choose at least 10 names (10%) that appeal to you. By gathering diverse input and minimizing bias, we aim to create an inclusive and enjoyable experience for all users. We apologize if the current name has caused any discomfort, and we are committed to creating a welcoming environment for gamers."}),"\n",(0,t.jsxs)(a.p,{children:["To cast your votes and contribute to the selection of a new, family-friendly name for our ",(0,t.jsx)(a.a,{href:"https://en.wikipedia.org/wiki/Source-available_software",children:"source-available"})," gaming platform, please click on the link provided at the end of this post. Your voice matters, and together, we can find a name that truly represents our app's essence. The results will be announced on this blog around July 15, 2023."]}),"\n",(0,t.jsx)(a.p,{children:"We sincerely appreciate your support and encourage you to stay tuned for updates as we continue to improve our platform based on your valuable feedback."}),"\n",(0,t.jsxs)(a.p,{children:["Link to the poll: ",(0,t.jsx)(a.a,{href:"https://forms.gle/cYsURG6BqMXcxE3B8",children:"https://forms.gle/cYsURG6BqMXcxE3B8"})]}),"\n",(0,t.jsx)(a.p,{children:"Happy voting!"})]})}function u(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8358:(e,a,n)=>{n.d(a,{Z:()=>r,a:()=>o});var t=n(5271);const i={},l=t.createContext(i);function o(e){const a=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(l.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7489ed02.954f07df.js b/assets/js/7489ed02.06343463.js similarity index 95% rename from assets/js/7489ed02.954f07df.js rename to assets/js/7489ed02.06343463.js index c6e839b8a..e93ea31fb 100644 --- a/assets/js/7489ed02.954f07df.js +++ b/assets/js/7489ed02.06343463.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6515],{2952:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>m});var l=t(2676),n=t(9246);const i={title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",authors:["alfagun74"],tags:["gaming","GameVault","source-available","self-hosted","alternative","cloud-based game platforms","DRM-free games","file server","multi-user authentication","metadata","RAWG API","health monitoring","API","Discord server","Reddit forum","Lemmy forum"]},r=void 0,o={permalink:"/blog/2023/07/01/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-01.md",source:"@site/blog/2023-07-01.md",title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",description:"Hey Guys,",date:"2023-07-01T00:00:00.000Z",tags:[{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"source-available",permalink:"/blog/tags/source-available"},{inline:!0,label:"self-hosted",permalink:"/blog/tags/self-hosted"},{inline:!0,label:"alternative",permalink:"/blog/tags/alternative"},{inline:!0,label:"cloud-based game platforms",permalink:"/blog/tags/cloud-based-game-platforms"},{inline:!0,label:"DRM-free games",permalink:"/blog/tags/drm-free-games"},{inline:!0,label:"file server",permalink:"/blog/tags/file-server"},{inline:!0,label:"multi-user authentication",permalink:"/blog/tags/multi-user-authentication"},{inline:!0,label:"metadata",permalink:"/blog/tags/metadata"},{inline:!0,label:"RAWG API",permalink:"/blog/tags/rawg-api"},{inline:!0,label:"health monitoring",permalink:"/blog/tags/health-monitoring"},{inline:!0,label:"API",permalink:"/blog/tags/api"},{inline:!0,label:"Discord server",permalink:"/blog/tags/discord-server"},{inline:!0,label:"Reddit forum",permalink:"/blog/tags/reddit-forum"},{inline:!0,label:"Lemmy forum",permalink:"/blog/tags/lemmy-forum"}],readingTime:1.78,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",authors:["alfagun74"],tags:["gaming","GameVault","source-available","self-hosted","alternative","cloud-based game platforms","DRM-free games","file server","multi-user authentication","metadata","RAWG API","health monitoring","API","Discord server","Reddit forum","Lemmy forum"]},unlisted:!1,prevItem:{title:"Choosing a New, Family-Friendly Name for this project!",permalink:"/blog/2023/07/08/"}},s={authorsImageUrls:[void 0]},m=[];function g(e){const a={p:"p",...(0,n.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.p,{children:"Hey Guys,"}),"\n",(0,l.jsx)(a.p,{children:"Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community."})]})}function u(e={}){const{wrapper:a}={...(0,n.a)(),...e.components};return a?(0,l.jsx)(a,{...e,children:(0,l.jsx)(g,{...e})}):g(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>o,a:()=>r});var l=t(5271);const n={},i=l.createContext(n);function r(e){const a=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),l.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6515],{1173:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>o,toc:()=>m});var l=t(2676),n=t(8358);const i={title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",authors:["alfagun74"],tags:["gaming","GameVault","source-available","self-hosted","alternative","cloud-based game platforms","DRM-free games","file server","multi-user authentication","metadata","RAWG API","health monitoring","API","Discord server","Reddit forum","Lemmy forum"]},r=void 0,o={permalink:"/blog/2023/07/01/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-01.md",source:"@site/blog/2023-07-01.md",title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",description:"Hey Guys,",date:"2023-07-01T00:00:00.000Z",tags:[{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"source-available",permalink:"/blog/tags/source-available"},{inline:!0,label:"self-hosted",permalink:"/blog/tags/self-hosted"},{inline:!0,label:"alternative",permalink:"/blog/tags/alternative"},{inline:!0,label:"cloud-based game platforms",permalink:"/blog/tags/cloud-based-game-platforms"},{inline:!0,label:"DRM-free games",permalink:"/blog/tags/drm-free-games"},{inline:!0,label:"file server",permalink:"/blog/tags/file-server"},{inline:!0,label:"multi-user authentication",permalink:"/blog/tags/multi-user-authentication"},{inline:!0,label:"metadata",permalink:"/blog/tags/metadata"},{inline:!0,label:"RAWG API",permalink:"/blog/tags/rawg-api"},{inline:!0,label:"health monitoring",permalink:"/blog/tags/health-monitoring"},{inline:!0,label:"API",permalink:"/blog/tags/api"},{inline:!0,label:"Discord server",permalink:"/blog/tags/discord-server"},{inline:!0,label:"Reddit forum",permalink:"/blog/tags/reddit-forum"},{inline:!0,label:"Lemmy forum",permalink:"/blog/tags/lemmy-forum"}],readingTime:1.78,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",authors:["alfagun74"],tags:["gaming","GameVault","source-available","self-hosted","alternative","cloud-based game platforms","DRM-free games","file server","multi-user authentication","metadata","RAWG API","health monitoring","API","Discord server","Reddit forum","Lemmy forum"]},unlisted:!1,prevItem:{title:"Choosing a New, Family-Friendly Name for this project!",permalink:"/blog/2023/07/08/"}},s={authorsImageUrls:[void 0]},m=[];function g(e){const a={p:"p",...(0,n.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.p,{children:"Hey Guys,"}),"\n",(0,l.jsx)(a.p,{children:"Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community."})]})}function u(e={}){const{wrapper:a}={...(0,n.a)(),...e.components};return a?(0,l.jsx)(a,{...e,children:(0,l.jsx)(g,{...e})}):g(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>o,a:()=>r});var l=t(5271);const n={},i=l.createContext(n);function r(e){const a=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),l.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7b99d5ba.430c1370.js b/assets/js/7b99d5ba.a1b49a5b.js similarity index 95% rename from assets/js/7b99d5ba.430c1370.js rename to assets/js/7b99d5ba.a1b49a5b.js index 4019bbf8a..ebca1a8e6 100644 --- a/assets/js/7b99d5ba.430c1370.js +++ b/assets/js/7b99d5ba.a1b49a5b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1383],{4606:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>o,contentTitle:()=>s,default:()=>g,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var t=n(2676),l=n(9246);const i={title:"Battling Harassment and Trolls in Our App Community",authors:["alfagun74"],tags:["harassment","blackmail","threats","spam","trolls","negative narratives","safe environment","racist","developers","public","creepy behavior","app","support","financial assistance","motivation","GameVault app","bugs","feature requests","improvement","success","engagement"]},s=void 0,r={permalink:"/blog/2023/07/09/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-09.md",source:"@site/blog/2023-07-09.md",title:"Battling Harassment and Trolls in Our App Community",description:"Hey folks,",date:"2023-07-09T00:00:00.000Z",tags:[{inline:!0,label:"harassment",permalink:"/blog/tags/harassment"},{inline:!0,label:"blackmail",permalink:"/blog/tags/blackmail"},{inline:!0,label:"threats",permalink:"/blog/tags/threats"},{inline:!0,label:"spam",permalink:"/blog/tags/spam"},{inline:!0,label:"trolls",permalink:"/blog/tags/trolls"},{inline:!0,label:"negative narratives",permalink:"/blog/tags/negative-narratives"},{inline:!0,label:"safe environment",permalink:"/blog/tags/safe-environment"},{inline:!0,label:"racist",permalink:"/blog/tags/racist"},{inline:!0,label:"developers",permalink:"/blog/tags/developers"},{inline:!0,label:"public",permalink:"/blog/tags/public"},{inline:!0,label:"creepy behavior",permalink:"/blog/tags/creepy-behavior"},{inline:!0,label:"app",permalink:"/blog/tags/app"},{inline:!0,label:"support",permalink:"/blog/tags/support"},{inline:!0,label:"financial assistance",permalink:"/blog/tags/financial-assistance"},{inline:!0,label:"motivation",permalink:"/blog/tags/motivation"},{inline:!0,label:"GameVault app",permalink:"/blog/tags/game-vault-app"},{inline:!0,label:"bugs",permalink:"/blog/tags/bugs"},{inline:!0,label:"feature requests",permalink:"/blog/tags/feature-requests"},{inline:!0,label:"improvement",permalink:"/blog/tags/improvement"},{inline:!0,label:"success",permalink:"/blog/tags/success"},{inline:!0,label:"engagement",permalink:"/blog/tags/engagement"}],readingTime:1.955,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Battling Harassment and Trolls in Our App Community",authors:["alfagun74"],tags:["harassment","blackmail","threats","spam","trolls","negative narratives","safe environment","racist","developers","public","creepy behavior","app","support","financial assistance","motivation","GameVault app","bugs","feature requests","improvement","success","engagement"]},unlisted:!1,prevItem:{title:"A Closer Look at GameVaults 'Source-Available' Nature",permalink:"/blog/2023/07/13/"},nextItem:{title:"Choosing a New, Family-Friendly Name for this project!",permalink:"/blog/2023/07/08/"}},o={authorsImageUrls:[void 0]},p=[];function m(e){const a={p:"p",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.p,{children:"Hey folks,"}),"\n",(0,t.jsx)(a.p,{children:"We have an important update to share with you all while our poll is in progress. It has come to our attention that a group of individuals has been engaging in harassing, blackmailing, and threatening behavior towards us."})]})}function g(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(m,{...e})}):m(e)}},9246:(e,a,n)=>{n.d(a,{Z:()=>r,a:()=>s});var t=n(5271);const l={},i=t.createContext(l);function s(e){const a=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:s(e.components),t.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1383],{5538:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>o,contentTitle:()=>s,default:()=>g,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var t=n(2676),l=n(8358);const i={title:"Battling Harassment and Trolls in Our App Community",authors:["alfagun74"],tags:["harassment","blackmail","threats","spam","trolls","negative narratives","safe environment","racist","developers","public","creepy behavior","app","support","financial assistance","motivation","GameVault app","bugs","feature requests","improvement","success","engagement"]},s=void 0,r={permalink:"/blog/2023/07/09/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-09.md",source:"@site/blog/2023-07-09.md",title:"Battling Harassment and Trolls in Our App Community",description:"Hey folks,",date:"2023-07-09T00:00:00.000Z",tags:[{inline:!0,label:"harassment",permalink:"/blog/tags/harassment"},{inline:!0,label:"blackmail",permalink:"/blog/tags/blackmail"},{inline:!0,label:"threats",permalink:"/blog/tags/threats"},{inline:!0,label:"spam",permalink:"/blog/tags/spam"},{inline:!0,label:"trolls",permalink:"/blog/tags/trolls"},{inline:!0,label:"negative narratives",permalink:"/blog/tags/negative-narratives"},{inline:!0,label:"safe environment",permalink:"/blog/tags/safe-environment"},{inline:!0,label:"racist",permalink:"/blog/tags/racist"},{inline:!0,label:"developers",permalink:"/blog/tags/developers"},{inline:!0,label:"public",permalink:"/blog/tags/public"},{inline:!0,label:"creepy behavior",permalink:"/blog/tags/creepy-behavior"},{inline:!0,label:"app",permalink:"/blog/tags/app"},{inline:!0,label:"support",permalink:"/blog/tags/support"},{inline:!0,label:"financial assistance",permalink:"/blog/tags/financial-assistance"},{inline:!0,label:"motivation",permalink:"/blog/tags/motivation"},{inline:!0,label:"GameVault app",permalink:"/blog/tags/game-vault-app"},{inline:!0,label:"bugs",permalink:"/blog/tags/bugs"},{inline:!0,label:"feature requests",permalink:"/blog/tags/feature-requests"},{inline:!0,label:"improvement",permalink:"/blog/tags/improvement"},{inline:!0,label:"success",permalink:"/blog/tags/success"},{inline:!0,label:"engagement",permalink:"/blog/tags/engagement"}],readingTime:1.955,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Battling Harassment and Trolls in Our App Community",authors:["alfagun74"],tags:["harassment","blackmail","threats","spam","trolls","negative narratives","safe environment","racist","developers","public","creepy behavior","app","support","financial assistance","motivation","GameVault app","bugs","feature requests","improvement","success","engagement"]},unlisted:!1,prevItem:{title:"A Closer Look at GameVaults 'Source-Available' Nature",permalink:"/blog/2023/07/13/"},nextItem:{title:"Choosing a New, Family-Friendly Name for this project!",permalink:"/blog/2023/07/08/"}},o={authorsImageUrls:[void 0]},p=[];function m(e){const a={p:"p",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.p,{children:"Hey folks,"}),"\n",(0,t.jsx)(a.p,{children:"We have an important update to share with you all while our poll is in progress. It has come to our attention that a group of individuals has been engaging in harassing, blackmailing, and threatening behavior towards us."})]})}function g(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(m,{...e})}):m(e)}},8358:(e,a,n)=>{n.d(a,{Z:()=>r,a:()=>s});var t=n(5271);const l={},i=t.createContext(l);function s(e){const a=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:s(e.components),t.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ef69c2b.b53d4294.js b/assets/js/7ef69c2b.14d18f74.js similarity index 94% rename from assets/js/7ef69c2b.b53d4294.js rename to assets/js/7ef69c2b.14d18f74.js index 9f11b0284..77a590e24 100644 --- a/assets/js/7ef69c2b.b53d4294.js +++ b/assets/js/7ef69c2b.14d18f74.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7020],{9447:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>c,frontMatter:()=>o,metadata:()=>i,toc:()=>m});var n=a(2676),l=a(9246);const o={title:"An update so major, we could have built the product from scratch.",authors:["alfagun74"],tags:["GameVault","Client Update","Server Update","metadata framework","plugin system","parental control","age restrictions","theme","app optimization","analytics","notes","community management"]},r=void 0,i={permalink:"/blog/2024/10/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-10-20.md",source:"@site/blog/2024-10-20.md",title:"An update so major, we could have built the product from scratch.",description:"Hello, GameVault Community!",date:"2024-10-20T00:00:00.000Z",tags:[{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"Client Update",permalink:"/blog/tags/client-update"},{inline:!0,label:"Server Update",permalink:"/blog/tags/server-update"},{inline:!0,label:"metadata framework",permalink:"/blog/tags/metadata-framework"},{inline:!0,label:"plugin system",permalink:"/blog/tags/plugin-system"},{inline:!0,label:"parental control",permalink:"/blog/tags/parental-control"},{inline:!0,label:"age restrictions",permalink:"/blog/tags/age-restrictions"},{inline:!0,label:"theme",permalink:"/blog/tags/theme"},{inline:!0,label:"app optimization",permalink:"/blog/tags/app-optimization"},{inline:!0,label:"analytics",permalink:"/blog/tags/analytics"},{inline:!0,label:"notes",permalink:"/blog/tags/notes"},{inline:!0,label:"community management",permalink:"/blog/tags/community-management"}],readingTime:2.515,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"An update so major, we could have built the product from scratch.",authors:["alfagun74"],tags:["GameVault","Client Update","Server Update","metadata framework","plugin system","parental control","age restrictions","theme","app optimization","analytics","notes","community management"]},unlisted:!1,nextItem:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",permalink:"/blog/2024/05/07/"}},s={authorsImageUrls:[void 0]},m=[];function u(e){const t={p:"p",strong:"strong",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Hello, GameVault Community!"})}),"\n",(0,n.jsxs)(t.p,{children:["After six months of hard work, we\u2019re beyond excited to unveil our biggest update yet: ",(0,n.jsx)(t.strong,{children:"GameVault Client v1.12"})," and ",(0,n.jsx)(t.strong,{children:"GameVault Server v13"}),"! This release is so massive, it feels like we could\u2019ve built the product from scratch\u2014there\u2019s that much new ground covered."]})]})}function c(e={}){const{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},9246:(e,t,a)=>{a.d(t,{Z:()=>i,a:()=>r});var n=a(5271);const l={},o=n.createContext(l);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7020],{7534:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>c,frontMatter:()=>o,metadata:()=>i,toc:()=>m});var n=a(2676),l=a(8358);const o={title:"An update so major, we could have built the product from scratch.",authors:["alfagun74"],tags:["GameVault","Client Update","Server Update","metadata framework","plugin system","parental control","age restrictions","theme","app optimization","analytics","notes","community management"]},r=void 0,i={permalink:"/blog/2024/10/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-10-20.md",source:"@site/blog/2024-10-20.md",title:"An update so major, we could have built the product from scratch.",description:"Hello, GameVault Community!",date:"2024-10-20T00:00:00.000Z",tags:[{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"Client Update",permalink:"/blog/tags/client-update"},{inline:!0,label:"Server Update",permalink:"/blog/tags/server-update"},{inline:!0,label:"metadata framework",permalink:"/blog/tags/metadata-framework"},{inline:!0,label:"plugin system",permalink:"/blog/tags/plugin-system"},{inline:!0,label:"parental control",permalink:"/blog/tags/parental-control"},{inline:!0,label:"age restrictions",permalink:"/blog/tags/age-restrictions"},{inline:!0,label:"theme",permalink:"/blog/tags/theme"},{inline:!0,label:"app optimization",permalink:"/blog/tags/app-optimization"},{inline:!0,label:"analytics",permalink:"/blog/tags/analytics"},{inline:!0,label:"notes",permalink:"/blog/tags/notes"},{inline:!0,label:"community management",permalink:"/blog/tags/community-management"}],readingTime:2.515,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"An update so major, we could have built the product from scratch.",authors:["alfagun74"],tags:["GameVault","Client Update","Server Update","metadata framework","plugin system","parental control","age restrictions","theme","app optimization","analytics","notes","community management"]},unlisted:!1,nextItem:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",permalink:"/blog/2024/05/07/"}},s={authorsImageUrls:[void 0]},m=[];function u(e){const t={p:"p",strong:"strong",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Hello, GameVault Community!"})}),"\n",(0,n.jsxs)(t.p,{children:["After six months of hard work, we\u2019re beyond excited to unveil our biggest update yet: ",(0,n.jsx)(t.strong,{children:"GameVault Client v1.12"})," and ",(0,n.jsx)(t.strong,{children:"GameVault Server v13"}),"! This release is so massive, it feels like we could\u2019ve built the product from scratch\u2014there\u2019s that much new ground covered."]})]})}function c(e={}){const{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8358:(e,t,a)=>{a.d(t,{Z:()=>i,a:()=>r});var n=a(5271);const l={},o=n.createContext(l);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/80292675.d53d083b.js b/assets/js/80292675.7494050e.js similarity index 97% rename from assets/js/80292675.d53d083b.js rename to assets/js/80292675.7494050e.js index 69c7e60d9..0721bf978 100644 --- a/assets/js/80292675.d53d083b.js +++ b/assets/js/80292675.7494050e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6487],{6905:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var i=n(2676),s=n(9246);const a={title:"Using UNRAID",sidebar_position:5},r=void 0,o={id:"server-docs/setup/unraid",title:"Using UNRAID",description:"Unraid is a storage operating system that allows users to create a centralized and scalable network-attached storage (NAS) solution, utilizing a unique array of drives with different sizes and types while offering the flexibility to run virtual machines and Docker containers.",source:"@site/docs/server-docs/setup/unraid.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/unraid",permalink:"/docs/server-docs/setup/unraid",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/unraid.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:5,frontMatter:{title:"Using UNRAID",sidebar_position:5},sidebar:"docs",previous:{title:"Using TrueNAS Scale",permalink:"/docs/server-docs/setup/truenas-scale"},next:{title:"Using Synology Container Manager",permalink:"/docs/server-docs/setup/synology-container-manager"}},l={},d=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Setting up the Database",id:"step-1-setting-up-the-database",level:2},{value:"Step 2: Install POSTGRES",id:"step-2-install-postgres",level:2},{value:"Step 3: Setting up your GameVault Backend server",id:"step-3-setting-up-your-gamevault-backend-server",level:2},{value:"Alternative Step 3: Running without a PostgreSQL Database",id:"alternative-step-3-running-without-a-postgresql-database",level:3},{value:"Step 4: Configure install",id:"step-4-configure-install",level:2},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Reading the Logs",id:"reading-the-logs",level:3}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Unraid is a storage operating system that allows users to create a centralized and scalable network-attached storage (NAS) solution, utilizing a unique array of drives with different sizes and types while offering the flexibility to run virtual machines and Docker containers."}),"\n",(0,i.jsx)(t.p,{children:"You can easily set up a GameVault Server by using one of our templates from the Unraid Community Applications Store."}),"\n",(0,i.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"UNRAID Server Running"}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://forums.unraid.net/topic/38582-plug-in-community-applications",children:"Community Applications Plugin installed"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"step-1-setting-up-the-database",children:"Step 1: Setting up the Database"}),"\n",(0,i.jsxs)(t.p,{children:["Log into your Unraid dashboard and navigate to your apps section of the dashboard and search for the offical ",(0,i.jsx)(t.code,{children:"postgresql15"})," Community Application by ",(0,i.jsx)(t.code,{children:"postgres"})]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Step 1",src:n(4580).Z+"",width:"1216",height:"721"})}),"\n",(0,i.jsx)(t.h2,{id:"step-2-install-postgres",children:"Step 2: Install POSTGRES"}),"\n",(0,i.jsx)(t.p,{children:"Using the default configuration making sure you add the following entries:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-yaml",children:"POSTGRES_USER: gamevault\nPOSTGRES_PASSWORD: RANDOMPASSWORD\nPOSTGRES_DB: gamevault\n"})}),"\n",(0,i.jsx)(t.p,{children:"Make sure you remember the password and port you set we will use this in step 3"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Step 2",src:n(5014).Z+"",width:"1531",height:"796"})}),"\n",(0,i.jsx)(t.h2,{id:"step-3-setting-up-your-gamevault-backend-server",children:"Step 3: Setting up your GameVault Backend server"}),"\n",(0,i.jsxs)(t.p,{children:["Search for ",(0,i.jsx)(t.code,{children:"gamevault-backend"})," on the Unraid app store making sure to click the one without the SQLITE in the title."]}),"\n",(0,i.jsx)(t.p,{children:"Click install"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Step 3",src:n(1183).Z+"",width:"1417",height:"758"})}),"\n",(0,i.jsx)(t.h3,{id:"alternative-step-3-running-without-a-postgresql-database",children:"Alternative Step 3: Running without a PostgreSQL Database"}),"\n",(0,i.jsxs)(t.p,{children:["We don't recommend it but you can run GameVault without a PostgreSQL Database too by instead using the ",(0,i.jsx)(t.code,{children:"GameVault-Backend-SQLITE"})," template by ",(0,i.jsx)(t.code,{children:"phalcode"})," in Step 2."]}),"\n",(0,i.jsx)(t.h2,{id:"step-4-configure-install",children:"Step 4: Configure install"}),"\n",(0,i.jsx)(t.p,{children:"Using the password and port fill out the information that is required and click apply at the bottom."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Step 4",src:n(2312).Z+"",width:"1920",height:"2011"})}),"\n",(0,i.jsxs)(t.p,{children:["Your GameVault should now be available at ",(0,i.jsx)(t.code,{children:"http://tower.local:8080/"})," or ",(0,i.jsx)(t.code,{children:"HOSTNAME:PORT"})," if you changed your hostname or port."]}),"\n",(0,i.jsx)(t.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(t.p,{children:"You have now successfully set up your GameVault Server using UNRAID."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,i.jsx)(t.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,i.jsx)(t.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,i.jsx)(t.p,{children:'Navigate to "Docker" tab and left click the GameVault app icon you have created.'}),"\n",(0,i.jsx)(t.p,{children:'Click on "Stop".'}),"\n",(0,i.jsx)(t.h3,{id:"reading-the-logs",children:"Reading the Logs"}),"\n",(0,i.jsx)(t.p,{children:'Navigate to "Docker" tab and left click the GameVault app icon you have created.'}),"\n",(0,i.jsx)(t.p,{children:'Click on "Logs".'}),"\n",(0,i.jsx)(t.p,{children:"This should bring a pop-up window of the currently logs of the server."})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},4580:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/unraid1-ecd3a145196f65e0e6cca91aa7d48c7a.png"},5014:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/unraid2-fc2ab34ce802e69e4299c978335688d4.png"},1183:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/unraid3-1d0d4deaa54688b0dccb2bbdf15ea71f.png"},2312:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/unraid4-320f323ddb9e5652a93b19f4d9058c52.png"},9246:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>r});var i=n(5271);const s={},a=i.createContext(s);function r(e){const t=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6487],{6905:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var i=n(2676),s=n(8358);const a={title:"Using UNRAID",sidebar_position:5},r=void 0,o={id:"server-docs/setup/unraid",title:"Using UNRAID",description:"Unraid is a storage operating system that allows users to create a centralized and scalable network-attached storage (NAS) solution, utilizing a unique array of drives with different sizes and types while offering the flexibility to run virtual machines and Docker containers.",source:"@site/docs/server-docs/setup/unraid.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/unraid",permalink:"/docs/server-docs/setup/unraid",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/unraid.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:5,frontMatter:{title:"Using UNRAID",sidebar_position:5},sidebar:"docs",previous:{title:"Using TrueNAS Scale",permalink:"/docs/server-docs/setup/truenas-scale"},next:{title:"Using Synology Container Manager",permalink:"/docs/server-docs/setup/synology-container-manager"}},l={},d=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Setting up the Database",id:"step-1-setting-up-the-database",level:2},{value:"Step 2: Install POSTGRES",id:"step-2-install-postgres",level:2},{value:"Step 3: Setting up your GameVault Backend server",id:"step-3-setting-up-your-gamevault-backend-server",level:2},{value:"Alternative Step 3: Running without a PostgreSQL Database",id:"alternative-step-3-running-without-a-postgresql-database",level:3},{value:"Step 4: Configure install",id:"step-4-configure-install",level:2},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Reading the Logs",id:"reading-the-logs",level:3}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Unraid is a storage operating system that allows users to create a centralized and scalable network-attached storage (NAS) solution, utilizing a unique array of drives with different sizes and types while offering the flexibility to run virtual machines and Docker containers."}),"\n",(0,i.jsx)(t.p,{children:"You can easily set up a GameVault Server by using one of our templates from the Unraid Community Applications Store."}),"\n",(0,i.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"UNRAID Server Running"}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://forums.unraid.net/topic/38582-plug-in-community-applications",children:"Community Applications Plugin installed"})}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"step-1-setting-up-the-database",children:"Step 1: Setting up the Database"}),"\n",(0,i.jsxs)(t.p,{children:["Log into your Unraid dashboard and navigate to your apps section of the dashboard and search for the offical ",(0,i.jsx)(t.code,{children:"postgresql15"})," Community Application by ",(0,i.jsx)(t.code,{children:"postgres"})]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Step 1",src:n(4580).Z+"",width:"1216",height:"721"})}),"\n",(0,i.jsx)(t.h2,{id:"step-2-install-postgres",children:"Step 2: Install POSTGRES"}),"\n",(0,i.jsx)(t.p,{children:"Using the default configuration making sure you add the following entries:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-yaml",children:"POSTGRES_USER: gamevault\nPOSTGRES_PASSWORD: RANDOMPASSWORD\nPOSTGRES_DB: gamevault\n"})}),"\n",(0,i.jsx)(t.p,{children:"Make sure you remember the password and port you set we will use this in step 3"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Step 2",src:n(5014).Z+"",width:"1531",height:"796"})}),"\n",(0,i.jsx)(t.h2,{id:"step-3-setting-up-your-gamevault-backend-server",children:"Step 3: Setting up your GameVault Backend server"}),"\n",(0,i.jsxs)(t.p,{children:["Search for ",(0,i.jsx)(t.code,{children:"gamevault-backend"})," on the Unraid app store making sure to click the one without the SQLITE in the title."]}),"\n",(0,i.jsx)(t.p,{children:"Click install"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Step 3",src:n(1183).Z+"",width:"1417",height:"758"})}),"\n",(0,i.jsx)(t.h3,{id:"alternative-step-3-running-without-a-postgresql-database",children:"Alternative Step 3: Running without a PostgreSQL Database"}),"\n",(0,i.jsxs)(t.p,{children:["We don't recommend it but you can run GameVault without a PostgreSQL Database too by instead using the ",(0,i.jsx)(t.code,{children:"GameVault-Backend-SQLITE"})," template by ",(0,i.jsx)(t.code,{children:"phalcode"})," in Step 2."]}),"\n",(0,i.jsx)(t.h2,{id:"step-4-configure-install",children:"Step 4: Configure install"}),"\n",(0,i.jsx)(t.p,{children:"Using the password and port fill out the information that is required and click apply at the bottom."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Step 4",src:n(2312).Z+"",width:"1920",height:"2011"})}),"\n",(0,i.jsxs)(t.p,{children:["Your GameVault should now be available at ",(0,i.jsx)(t.code,{children:"http://tower.local:8080/"})," or ",(0,i.jsx)(t.code,{children:"HOSTNAME:PORT"})," if you changed your hostname or port."]}),"\n",(0,i.jsx)(t.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,i.jsx)(t.p,{children:"You have now successfully set up your GameVault Server using UNRAID."}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,i.jsx)(t.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,i.jsx)(t.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,i.jsx)(t.p,{children:'Navigate to "Docker" tab and left click the GameVault app icon you have created.'}),"\n",(0,i.jsx)(t.p,{children:'Click on "Stop".'}),"\n",(0,i.jsx)(t.h3,{id:"reading-the-logs",children:"Reading the Logs"}),"\n",(0,i.jsx)(t.p,{children:'Navigate to "Docker" tab and left click the GameVault app icon you have created.'}),"\n",(0,i.jsx)(t.p,{children:'Click on "Logs".'}),"\n",(0,i.jsx)(t.p,{children:"This should bring a pop-up window of the currently logs of the server."})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},4580:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/unraid1-ecd3a145196f65e0e6cca91aa7d48c7a.png"},5014:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/unraid2-fc2ab34ce802e69e4299c978335688d4.png"},1183:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/unraid3-1d0d4deaa54688b0dccb2bbdf15ea71f.png"},2312:(e,t,n)=>{n.d(t,{Z:()=>i});const i=n.p+"assets/images/unraid4-320f323ddb9e5652a93b19f4d9058c52.png"},8358:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>r});var i=n(5271);const s={},a=i.createContext(s);function r(e){const t=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8795eea9.4c6d282e.js b/assets/js/8795eea9.4c6d282e.js deleted file mode 100644 index 68659fcfc..000000000 --- a/assets/js/8795eea9.4c6d282e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1053],{914:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>s,contentTitle:()=>a,default:()=>g,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=o(2676),i=o(9246);const r={title:"The Migrations are finally completed",authors:["alfagun74"],tags:["app name migration","Microsoft Store publication","surge of new users","Discord server promotion","spreading the word","logo deciphering","box representation","keyhole representation","logo concept discussion","Discord channel"]},a=void 0,l={permalink:"/blog/2023/07/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-20.md",source:"@site/blog/2023-07-20.md",title:"The Migrations are finally completed",description:"Hey folks,",date:"2023-07-20T00:00:00.000Z",tags:[{inline:!0,label:"app name migration",permalink:"/blog/tags/app-name-migration"},{inline:!0,label:"Microsoft Store publication",permalink:"/blog/tags/microsoft-store-publication"},{inline:!0,label:"surge of new users",permalink:"/blog/tags/surge-of-new-users"},{inline:!0,label:"Discord server promotion",permalink:"/blog/tags/discord-server-promotion"},{inline:!0,label:"spreading the word",permalink:"/blog/tags/spreading-the-word"},{inline:!0,label:"logo deciphering",permalink:"/blog/tags/logo-deciphering"},{inline:!0,label:"box representation",permalink:"/blog/tags/box-representation"},{inline:!0,label:"keyhole representation",permalink:"/blog/tags/keyhole-representation"},{inline:!0,label:"logo concept discussion",permalink:"/blog/tags/logo-concept-discussion"},{inline:!0,label:"Discord channel",permalink:"/blog/tags/discord-channel"}],readingTime:.615,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"The Migrations are finally completed",authors:["alfagun74"],tags:["app name migration","Microsoft Store publication","surge of new users","Discord server promotion","spreading the word","logo deciphering","box representation","keyhole representation","logo concept discussion","Discord channel"]},unlisted:!1,prevItem:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",permalink:"/blog/2023/07/24/"},nextItem:{title:"Quick Migration Update and new Logo",permalink:"/blog/2023/07/19/"}},s={authorsImageUrls:[void 0]},c=[];function p(e){const n={p:"p",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey folks,"}),"\n",(0,t.jsx)(n.p,{children:"Great news. We've successfully migrated our App name in its entirety and will resume advertising as soon as it's published on the Microsoft Store."})]})}function g(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},9246:(e,n,o)=>{o.d(n,{Z:()=>l,a:()=>a});var t=o(5271);const i={},r=t.createContext(i);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8795eea9.c226c217.js b/assets/js/8795eea9.c226c217.js new file mode 100644 index 000000000..036bf67b0 --- /dev/null +++ b/assets/js/8795eea9.c226c217.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1053],{8671:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>s,contentTitle:()=>a,default:()=>g,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var t=o(2676),i=o(8358);const r={title:"The Migrations are finally completed",authors:["alfagun74"],tags:["app name migration","Microsoft Store publication","surge of new users","Discord server promotion","spreading the word","logo deciphering","box representation","keyhole representation","logo concept discussion","Discord channel"]},a=void 0,l={permalink:"/blog/2023/07/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-20.md",source:"@site/blog/2023-07-20.md",title:"The Migrations are finally completed",description:"Hey folks,",date:"2023-07-20T00:00:00.000Z",tags:[{inline:!0,label:"app name migration",permalink:"/blog/tags/app-name-migration"},{inline:!0,label:"Microsoft Store publication",permalink:"/blog/tags/microsoft-store-publication"},{inline:!0,label:"surge of new users",permalink:"/blog/tags/surge-of-new-users"},{inline:!0,label:"Discord server promotion",permalink:"/blog/tags/discord-server-promotion"},{inline:!0,label:"spreading the word",permalink:"/blog/tags/spreading-the-word"},{inline:!0,label:"logo deciphering",permalink:"/blog/tags/logo-deciphering"},{inline:!0,label:"box representation",permalink:"/blog/tags/box-representation"},{inline:!0,label:"keyhole representation",permalink:"/blog/tags/keyhole-representation"},{inline:!0,label:"logo concept discussion",permalink:"/blog/tags/logo-concept-discussion"},{inline:!0,label:"Discord channel",permalink:"/blog/tags/discord-channel"}],readingTime:.615,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"The Migrations are finally completed",authors:["alfagun74"],tags:["app name migration","Microsoft Store publication","surge of new users","Discord server promotion","spreading the word","logo deciphering","box representation","keyhole representation","logo concept discussion","Discord channel"]},unlisted:!1,prevItem:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",permalink:"/blog/2023/07/24/"},nextItem:{title:"Quick Migration Update and new Logo",permalink:"/blog/2023/07/19/"}},s={authorsImageUrls:[void 0]},c=[];function p(e){const n={p:"p",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey folks,"}),"\n",(0,t.jsx)(n.p,{children:"Great news. We've successfully migrated our App name in its entirety and will resume advertising as soon as it's published on the Microsoft Store."})]})}function g(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},8358:(e,n,o)=>{o.d(n,{Z:()=>l,a:()=>a});var t=o(5271);const i={},r=t.createContext(i);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/89db6d1d.4dd71599.js b/assets/js/89db6d1d.830f4491.js similarity index 94% rename from assets/js/89db6d1d.4dd71599.js rename to assets/js/89db6d1d.830f4491.js index b95bc1ae9..6e6dcdb3e 100644 --- a/assets/js/89db6d1d.4dd71599.js +++ b/assets/js/89db6d1d.830f4491.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5855],{8977:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>r,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>m});var t=n(2676),l=n(9246);const o={title:"A New Name",authors:["alfagun74"],tags:["poll results","renaming app","community feedback","GameStash","GameVault","GameShelf","Harbor","GameHub","market analysis","new name announcement","GameVault domain","special thanks","Selfhosted Podcast","Self-Hosted Newsletter","transition process"]},s=void 0,i={permalink:"/blog/2023/07/15/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-15.md",source:"@site/blog/2023-07-15.md",title:"A New Name",description:"Hey everyone,",date:"2023-07-15T00:00:00.000Z",tags:[{inline:!0,label:"poll results",permalink:"/blog/tags/poll-results"},{inline:!0,label:"renaming app",permalink:"/blog/tags/renaming-app"},{inline:!0,label:"community feedback",permalink:"/blog/tags/community-feedback"},{inline:!0,label:"GameStash",permalink:"/blog/tags/game-stash"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameShelf",permalink:"/blog/tags/game-shelf"},{inline:!0,label:"Harbor",permalink:"/blog/tags/harbor"},{inline:!0,label:"GameHub",permalink:"/blog/tags/game-hub"},{inline:!0,label:"market analysis",permalink:"/blog/tags/market-analysis"},{inline:!0,label:"new name announcement",permalink:"/blog/tags/new-name-announcement"},{inline:!0,label:"GameVault domain",permalink:"/blog/tags/game-vault-domain"},{inline:!0,label:"special thanks",permalink:"/blog/tags/special-thanks"},{inline:!0,label:"Selfhosted Podcast",permalink:"/blog/tags/selfhosted-podcast"},{inline:!0,label:"Self-Hosted Newsletter",permalink:"/blog/tags/self-hosted-newsletter"},{inline:!0,label:"transition process",permalink:"/blog/tags/transition-process"}],readingTime:3.85,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A New Name",authors:["alfagun74"],tags:["poll results","renaming app","community feedback","GameStash","GameVault","GameShelf","Harbor","GameHub","market analysis","new name announcement","GameVault domain","special thanks","Selfhosted Podcast","Self-Hosted Newsletter","transition process"]},unlisted:!1,prevItem:{title:"Quick Migration Update and new Logo",permalink:"/blog/2023/07/19/"},nextItem:{title:"A Closer Look at GameVaults 'Source-Available' Nature",permalink:"/blog/2023/07/13/"}},r={authorsImageUrls:[void 0]},m=[];function c(e){const a={p:"p",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.p,{children:"Hey everyone,"}),"\n",(0,t.jsx)(a.p,{children:"We are thrilled to announce that the poll for choosing a new name for our app is finally over. The process of transitioning to the new name will commence very soon, and we can't wait to share the exciting updates with you."})]})}function u(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},9246:(e,a,n)=>{n.d(a,{Z:()=>i,a:()=>s});var t=n(5271);const l={},o=t.createContext(l);function s(e){const a=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:s(e.components),t.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5855],{9402:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>r,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>m});var t=n(2676),l=n(8358);const o={title:"A New Name",authors:["alfagun74"],tags:["poll results","renaming app","community feedback","GameStash","GameVault","GameShelf","Harbor","GameHub","market analysis","new name announcement","GameVault domain","special thanks","Selfhosted Podcast","Self-Hosted Newsletter","transition process"]},s=void 0,i={permalink:"/blog/2023/07/15/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-15.md",source:"@site/blog/2023-07-15.md",title:"A New Name",description:"Hey everyone,",date:"2023-07-15T00:00:00.000Z",tags:[{inline:!0,label:"poll results",permalink:"/blog/tags/poll-results"},{inline:!0,label:"renaming app",permalink:"/blog/tags/renaming-app"},{inline:!0,label:"community feedback",permalink:"/blog/tags/community-feedback"},{inline:!0,label:"GameStash",permalink:"/blog/tags/game-stash"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameShelf",permalink:"/blog/tags/game-shelf"},{inline:!0,label:"Harbor",permalink:"/blog/tags/harbor"},{inline:!0,label:"GameHub",permalink:"/blog/tags/game-hub"},{inline:!0,label:"market analysis",permalink:"/blog/tags/market-analysis"},{inline:!0,label:"new name announcement",permalink:"/blog/tags/new-name-announcement"},{inline:!0,label:"GameVault domain",permalink:"/blog/tags/game-vault-domain"},{inline:!0,label:"special thanks",permalink:"/blog/tags/special-thanks"},{inline:!0,label:"Selfhosted Podcast",permalink:"/blog/tags/selfhosted-podcast"},{inline:!0,label:"Self-Hosted Newsletter",permalink:"/blog/tags/self-hosted-newsletter"},{inline:!0,label:"transition process",permalink:"/blog/tags/transition-process"}],readingTime:3.85,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A New Name",authors:["alfagun74"],tags:["poll results","renaming app","community feedback","GameStash","GameVault","GameShelf","Harbor","GameHub","market analysis","new name announcement","GameVault domain","special thanks","Selfhosted Podcast","Self-Hosted Newsletter","transition process"]},unlisted:!1,prevItem:{title:"Quick Migration Update and new Logo",permalink:"/blog/2023/07/19/"},nextItem:{title:"A Closer Look at GameVaults 'Source-Available' Nature",permalink:"/blog/2023/07/13/"}},r={authorsImageUrls:[void 0]},m=[];function c(e){const a={p:"p",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.p,{children:"Hey everyone,"}),"\n",(0,t.jsx)(a.p,{children:"We are thrilled to announce that the poll for choosing a new name for our app is finally over. The process of transitioning to the new name will commence very soon, and we can't wait to share the exciting updates with you."})]})}function u(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8358:(e,a,n)=>{n.d(a,{Z:()=>i,a:()=>s});var t=n(5271);const l={},o=t.createContext(l);function s(e){const a=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function i(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:s(e.components),t.createElement(o.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8ba18f4f.ad0b8564.js b/assets/js/8ba18f4f.7930542f.js similarity index 96% rename from assets/js/8ba18f4f.ad0b8564.js rename to assets/js/8ba18f4f.7930542f.js index 6f34e4abb..1a8c6ce70 100644 --- a/assets/js/8ba18f4f.ad0b8564.js +++ b/assets/js/8ba18f4f.7930542f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[147],{8508:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var r=n(2676),s=n(9246);const a={sidebar_position:10},i="Parental Control",o={id:"server-docs/parental-control",title:"Parental Control",description:"GameVault supports a parental control feature that hides games and game progresses based on the games age rating for some users. By default, age restrictions are disabled.",source:"@site/docs/server-docs/parental-control.md",sourceDirName:"server-docs",slug:"/server-docs/parental-control",permalink:"/docs/server-docs/parental-control",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/parental-control.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:10,frontMatter:{sidebar_position:10},sidebar:"docs",previous:{title:"Plugins",permalink:"/docs/server-docs/plugins"},next:{title:"Server News",permalink:"/docs/server-docs/server-news"}},l={},d=[{value:"Enabling Parental Control",id:"enabling-parental-control",level:2},{value:"Changing the Age of Majority",id:"changing-the-age-of-majority",level:2},{value:"Overriding the Age Rating of a Game",id:"overriding-the-age-rating-of-a-game",level:2}];function c(e){const t={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"parental-control",children:"Parental Control"})}),"\n",(0,r.jsxs)(t.p,{children:["GameVault supports a parental control feature that ",(0,r.jsx)(t.strong,{children:"hides"})," games and game progresses based on the games age rating for some users. ",(0,r.jsx)(t.strong,{children:"By default"}),", age restrictions are ",(0,r.jsx)(t.strong,{children:"disabled"}),"."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"When enabled:"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Users will ",(0,r.jsx)(t.strong,{children:"not be able"})," to see ",(0,r.jsx)(t.strong,{children:"games"})," above their age rating."]}),"\n",(0,r.jsxs)(t.li,{children:["Users will ",(0,r.jsx)(t.strong,{children:"not be able"})," to see any ",(0,r.jsx)(t.strong,{children:"progresses"})," for games above their age rating."]}),"\n"]}),"\n",(0,r.jsx)(t.admonition,{title:"Things to keep in mind",type:"warning",children:(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["If you ",(0,r.jsx)(t.strong,{children:"enable"})," parental control, ",(0,r.jsx)(t.strong,{children:"do not forget"})," to set the ",(0,r.jsx)(t.strong,{children:"birth date"})," for ",(0,r.jsx)(t.strong,{children:"existing"})," users."]}),"\n",(0,r.jsxs)(t.li,{children:["Children ",(0,r.jsx)(t.strong,{children:"must not"})," be of ",(0,r.jsx)(t.strong,{children:"role"})," ",(0,r.jsx)(t.code,{children:"ADMIN"}),", because they would be able to alter their birth date."]}),"\n",(0,r.jsxs)(t.li,{children:["The age rating value for games is set by the ",(0,r.jsx)(t.strong,{children:"metadata providers you use"}),". It is in your responsibility to check how the providers determine the age rating."]}),"\n",(0,r.jsxs)(t.li,{children:["If you use multiple metadata providers, the provider with the ",(0,r.jsx)(t.strong,{children:"highest priority"})," will be used to determine the age rating. ",(0,r.jsx)(t.strong,{children:"User-set"})," age ratings will ",(0,r.jsx)(t.strong,{children:"always override"})," the metadata providers setting. You can check the actively applied minimum age on the game page in your client."]}),"\n"]})}),"\n",(0,r.jsx)(t.h2,{id:"enabling-parental-control",children:"Enabling Parental Control"}),"\n",(0,r.jsxs)(t.p,{children:["To enable parental control, set the ",(0,r.jsx)(t.code,{children:"PARENTAL_AGE_RESTRICTION_ENABLED"})," environment variable to ",(0,r.jsx)(t.code,{children:"true"}),". Then set the birth date for all existing users."]}),"\n",(0,r.jsxs)(t.p,{children:["Keep in mind that, when you set this variable to ",(0,r.jsx)(t.code,{children:"true"}),", new users will also be required to set their Birth date upon registration."]}),"\n",(0,r.jsx)(t.h2,{id:"changing-the-age-of-majority",children:"Changing the Age of Majority"}),"\n",(0,r.jsxs)(t.p,{children:["The age of majority determines the age at which an individual is legally recognized as an adult. Reaching the age of majority ",(0,r.jsx)(t.strong,{children:"enables users to alter their birth date"}),". Otherwise, users will not be able to set their own birth date and an admin will be required to set their birth date."]}),"\n",(0,r.jsxs)(t.p,{children:["You can configure the age of majority for parental control by setting the ",(0,r.jsx)(t.code,{children:"PARENTAL_AGE_OF_MAJORITY"})," environment variable. The default value is ",(0,r.jsx)(t.code,{children:"18"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"overriding-the-age-rating-of-a-game",children:"Overriding the Age Rating of a Game"}),"\n",(0,r.jsx)(t.p,{children:"Admins can override the age rating of a single game by simply editing the age rating field of a game directly."})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},9246:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>i});var r=n(5271);const s={},a=r.createContext(s);function i(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[147],{8508:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var r=n(2676),s=n(8358);const a={sidebar_position:10},i="Parental Control",o={id:"server-docs/parental-control",title:"Parental Control",description:"GameVault supports a parental control feature that hides games and game progresses based on the games age rating for some users. By default, age restrictions are disabled.",source:"@site/docs/server-docs/parental-control.md",sourceDirName:"server-docs",slug:"/server-docs/parental-control",permalink:"/docs/server-docs/parental-control",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/parental-control.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:10,frontMatter:{sidebar_position:10},sidebar:"docs",previous:{title:"Plugins",permalink:"/docs/server-docs/plugins"},next:{title:"Server News",permalink:"/docs/server-docs/server-news"}},l={},d=[{value:"Enabling Parental Control",id:"enabling-parental-control",level:2},{value:"Changing the Age of Majority",id:"changing-the-age-of-majority",level:2},{value:"Overriding the Age Rating of a Game",id:"overriding-the-age-rating-of-a-game",level:2}];function c(e){const t={admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"parental-control",children:"Parental Control"})}),"\n",(0,r.jsxs)(t.p,{children:["GameVault supports a parental control feature that ",(0,r.jsx)(t.strong,{children:"hides"})," games and game progresses based on the games age rating for some users. ",(0,r.jsx)(t.strong,{children:"By default"}),", age restrictions are ",(0,r.jsx)(t.strong,{children:"disabled"}),"."]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"When enabled:"})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Users will ",(0,r.jsx)(t.strong,{children:"not be able"})," to see ",(0,r.jsx)(t.strong,{children:"games"})," above their age rating."]}),"\n",(0,r.jsxs)(t.li,{children:["Users will ",(0,r.jsx)(t.strong,{children:"not be able"})," to see any ",(0,r.jsx)(t.strong,{children:"progresses"})," for games above their age rating."]}),"\n"]}),"\n",(0,r.jsx)(t.admonition,{title:"Things to keep in mind",type:"warning",children:(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["If you ",(0,r.jsx)(t.strong,{children:"enable"})," parental control, ",(0,r.jsx)(t.strong,{children:"do not forget"})," to set the ",(0,r.jsx)(t.strong,{children:"birth date"})," for ",(0,r.jsx)(t.strong,{children:"existing"})," users."]}),"\n",(0,r.jsxs)(t.li,{children:["Children ",(0,r.jsx)(t.strong,{children:"must not"})," be of ",(0,r.jsx)(t.strong,{children:"role"})," ",(0,r.jsx)(t.code,{children:"ADMIN"}),", because they would be able to alter their birth date."]}),"\n",(0,r.jsxs)(t.li,{children:["The age rating value for games is set by the ",(0,r.jsx)(t.strong,{children:"metadata providers you use"}),". It is in your responsibility to check how the providers determine the age rating."]}),"\n",(0,r.jsxs)(t.li,{children:["If you use multiple metadata providers, the provider with the ",(0,r.jsx)(t.strong,{children:"highest priority"})," will be used to determine the age rating. ",(0,r.jsx)(t.strong,{children:"User-set"})," age ratings will ",(0,r.jsx)(t.strong,{children:"always override"})," the metadata providers setting. You can check the actively applied minimum age on the game page in your client."]}),"\n"]})}),"\n",(0,r.jsx)(t.h2,{id:"enabling-parental-control",children:"Enabling Parental Control"}),"\n",(0,r.jsxs)(t.p,{children:["To enable parental control, set the ",(0,r.jsx)(t.code,{children:"PARENTAL_AGE_RESTRICTION_ENABLED"})," environment variable to ",(0,r.jsx)(t.code,{children:"true"}),". Then set the birth date for all existing users."]}),"\n",(0,r.jsxs)(t.p,{children:["Keep in mind that, when you set this variable to ",(0,r.jsx)(t.code,{children:"true"}),", new users will also be required to set their Birth date upon registration."]}),"\n",(0,r.jsx)(t.h2,{id:"changing-the-age-of-majority",children:"Changing the Age of Majority"}),"\n",(0,r.jsxs)(t.p,{children:["The age of majority determines the age at which an individual is legally recognized as an adult. Reaching the age of majority ",(0,r.jsx)(t.strong,{children:"enables users to alter their birth date"}),". Otherwise, users will not be able to set their own birth date and an admin will be required to set their birth date."]}),"\n",(0,r.jsxs)(t.p,{children:["You can configure the age of majority for parental control by setting the ",(0,r.jsx)(t.code,{children:"PARENTAL_AGE_OF_MAJORITY"})," environment variable. The default value is ",(0,r.jsx)(t.code,{children:"18"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"overriding-the-age-rating-of-a-game",children:"Overriding the Age Rating of a Game"}),"\n",(0,r.jsx)(t.p,{children:"Admins can override the age rating of a single game by simply editing the age rating field of a game directly."})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8358:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>i});var r=n(5271);const s={},a=r.createContext(s);function i(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8c4108df.5b80174b.js b/assets/js/8c4108df.5b1f936e.js similarity index 97% rename from assets/js/8c4108df.5b80174b.js rename to assets/js/8c4108df.5b1f936e.js index 667dd2d2a..ef1914eb6 100644 --- a/assets/js/8c4108df.5b80174b.js +++ b/assets/js/8c4108df.5b1f936e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4145],{9287:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var t=o(2676),s=o(9246);const r={title:"Using Docker Compose",sidebar_position:2},a=void 0,i={id:"server-docs/setup/docker-compose",title:"Using Docker Compose",description:"Docker is a platform for developing, shipping, and running applications in containers, and Docker Compose is a tool for defining and managing multi-container Docker applications.",source:"@site/docs/server-docs/setup/docker-compose.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/docker-compose",permalink:"/docs/server-docs/setup/docker-compose",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/docker-compose.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:2,frontMatter:{title:"Using Docker Compose",sidebar_position:2},sidebar:"docs",previous:{title:"Setting up a GameVault Server",permalink:"/docs/server-docs/setup/"},next:{title:"Using CapRover",permalink:"/docs/server-docs/setup/caprover"}},l={},d=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Creating a Docker Compose file",id:"step-1-creating-a-docker-compose-file",level:2},{value:"Alternative Step 1: Running without a PostgreSQL Database",id:"alternative-step-1-running-without-a-postgresql-database",level:3},{value:"Step 2: Start the Service",id:"step-2-start-the-service",level:2},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the server",id:"stopping-the-server",level:3},{value:"Reading the logs",id:"reading-the-logs",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.docker.com",children:"Docker"})," is a platform for developing, shipping, and running applications in containers, and ",(0,t.jsx)(n.a,{href:"https://docs.docker.com/compose",children:"Docker Compose"})," is a tool for defining and managing multi-container Docker applications."]}),"\n",(0,t.jsx)(n.p,{children:"In this guide, you will learn how to set up GameVault using Docker and Docker Compose."}),"\n",(0,t.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://docs.docker.com/engine/install/",children:"Docker Engine"})," is installed on your system. (",(0,t.jsx)(n.a,{href:"https://docs.docker.com/get-docker/",children:"Docker Desktop"})," should work too, but this guide is tailored for Docker Engine. Steps might look different on Desktop, but the gist is the same.)"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"step-1-creating-a-docker-compose-file",children:"Step 1: Creating a Docker Compose file"}),"\n",(0,t.jsxs)(n.p,{children:["Create a new file named ",(0,t.jsx)(n.code,{children:"docker-compose.yml"})," in a directory of your choice and copy the following code:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:"services:\n gamevault-backend:\n image: phalcode/gamevault-backend:latest\n restart: unless-stopped\n environment:\n DB_HOST: db\n DB_USERNAME: gamevault\n DB_PASSWORD: YOURPASSWORDHERE\n volumes:\n # Mount the folder where your games are\n - /your/games/folder:/files\n # Mount the folder where GameVault should store its media\n - /your/media/folder:/media\n ports:\n - 8080:8080/tcp\n db:\n image: postgres:16\n restart: unless-stopped\n environment:\n POSTGRES_USER: gamevault\n POSTGRES_PASSWORD: YOURPASSWORDHERE\n POSTGRES_DB: gamevault\n volumes:\n # Mount the folder where your PostgreSQL database files should land\n - /your/database/folder:/var/lib/postgresql/data\n"})}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["Replace the variables (",(0,t.jsx)(n.code,{children:"YOURPASSWORDHERE"}),", ",(0,t.jsx)(n.code,{children:"etc."}),"), as well as the folder paths with what suits you, of course. You can change the port on the left side of the colon aswell."]})}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"Password (YOURPASSWORDHERE) can't be empty! else the database will not work. If you don't want a password, consider running without a PostgreSQL Database (Not recommended)"})}),"\n",(0,t.jsx)(n.h3,{id:"alternative-step-1-running-without-a-postgresql-database",children:"Alternative Step 1: Running without a PostgreSQL Database"}),"\n",(0,t.jsx)(n.p,{children:"We don't recommend it, but you can run GameVault without a PostgreSQL Database too using the following configuration:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:'services:\n gamevault-backend:\n image: phalcode/gamevault-backend:latest\n restart: unless-stopped\n environment:\n DB_SYSTEM: "SQLITE"\n volumes:\n - /your/games/folder:/files\n - /your/media/folder:/media\n - /your/sqlite/database/folder:/db\n ports:\n - 8080:8080/tcp\n'})}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["Replace the variables (",(0,t.jsx)(n.code,{children:"YOURPASSWORDHERE"}),", ",(0,t.jsx)(n.code,{children:"etc."}),"), as well as the folder paths with what suits you, of course. You can change the port on the left side of the colon aswell."]})}),"\n",(0,t.jsx)(n.h2,{id:"step-2-start-the-service",children:"Step 2: Start the Service"}),"\n",(0,t.jsxs)(n.p,{children:["Open a terminal, navigate to the directory where the ",(0,t.jsx)(n.code,{children:"docker-compose.yml"})," file is located, and run the following command:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"docker compose up -d\n"})}),"\n",(0,t.jsxs)(n.p,{children:["This will start the GameVault server and PostgreSQL server in the background. The ",(0,t.jsx)(n.code,{children:"-d"})," parameter detaches the process from the terminal."]}),"\n",(0,t.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsxs)(n.p,{children:["Congratulations! Your GameVault Server has been successfully set up using Docker and Docker Compose. You can now access it using your server's IP address followed by the designated port, such as ",(0,t.jsx)(n.code,{children:"http://192.168.0.15:8080"})," for example."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,t.jsx)(n.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,t.jsx)(n.h3,{id:"stopping-the-server",children:"Stopping the server"}),"\n",(0,t.jsxs)(n.p,{children:["Open a terminal, navigate to the directory where the ",(0,t.jsx)(n.code,{children:"docker-compose.yml"})," file is located, and run the following command:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"docker compose down\n"})}),"\n",(0,t.jsx)(n.h3,{id:"reading-the-logs",children:"Reading the logs"}),"\n",(0,t.jsx)(n.p,{children:"Open a terminal and run the following command:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"docker logs gamevault-backend\n"})})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},9246:(e,n,o)=>{o.d(n,{Z:()=>i,a:()=>a});var t=o(5271);const s={},r=t.createContext(s);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4145],{9287:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var t=o(2676),s=o(8358);const r={title:"Using Docker Compose",sidebar_position:2},a=void 0,i={id:"server-docs/setup/docker-compose",title:"Using Docker Compose",description:"Docker is a platform for developing, shipping, and running applications in containers, and Docker Compose is a tool for defining and managing multi-container Docker applications.",source:"@site/docs/server-docs/setup/docker-compose.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/docker-compose",permalink:"/docs/server-docs/setup/docker-compose",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/docker-compose.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:2,frontMatter:{title:"Using Docker Compose",sidebar_position:2},sidebar:"docs",previous:{title:"Setting up a GameVault Server",permalink:"/docs/server-docs/setup/"},next:{title:"Using CapRover",permalink:"/docs/server-docs/setup/caprover"}},l={},d=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Creating a Docker Compose file",id:"step-1-creating-a-docker-compose-file",level:2},{value:"Alternative Step 1: Running without a PostgreSQL Database",id:"alternative-step-1-running-without-a-postgresql-database",level:3},{value:"Step 2: Start the Service",id:"step-2-start-the-service",level:2},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the server",id:"stopping-the-server",level:3},{value:"Reading the logs",id:"reading-the-logs",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://www.docker.com",children:"Docker"})," is a platform for developing, shipping, and running applications in containers, and ",(0,t.jsx)(n.a,{href:"https://docs.docker.com/compose",children:"Docker Compose"})," is a tool for defining and managing multi-container Docker applications."]}),"\n",(0,t.jsx)(n.p,{children:"In this guide, you will learn how to set up GameVault using Docker and Docker Compose."}),"\n",(0,t.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://docs.docker.com/engine/install/",children:"Docker Engine"})," is installed on your system. (",(0,t.jsx)(n.a,{href:"https://docs.docker.com/get-docker/",children:"Docker Desktop"})," should work too, but this guide is tailored for Docker Engine. Steps might look different on Desktop, but the gist is the same.)"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"step-1-creating-a-docker-compose-file",children:"Step 1: Creating a Docker Compose file"}),"\n",(0,t.jsxs)(n.p,{children:["Create a new file named ",(0,t.jsx)(n.code,{children:"docker-compose.yml"})," in a directory of your choice and copy the following code:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:"services:\n gamevault-backend:\n image: phalcode/gamevault-backend:latest\n restart: unless-stopped\n environment:\n DB_HOST: db\n DB_USERNAME: gamevault\n DB_PASSWORD: YOURPASSWORDHERE\n volumes:\n # Mount the folder where your games are\n - /your/games/folder:/files\n # Mount the folder where GameVault should store its media\n - /your/media/folder:/media\n ports:\n - 8080:8080/tcp\n db:\n image: postgres:16\n restart: unless-stopped\n environment:\n POSTGRES_USER: gamevault\n POSTGRES_PASSWORD: YOURPASSWORDHERE\n POSTGRES_DB: gamevault\n volumes:\n # Mount the folder where your PostgreSQL database files should land\n - /your/database/folder:/var/lib/postgresql/data\n"})}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["Replace the variables (",(0,t.jsx)(n.code,{children:"YOURPASSWORDHERE"}),", ",(0,t.jsx)(n.code,{children:"etc."}),"), as well as the folder paths with what suits you, of course. You can change the port on the left side of the colon aswell."]})}),"\n",(0,t.jsx)(n.admonition,{type:"warning",children:(0,t.jsx)(n.p,{children:"Password (YOURPASSWORDHERE) can't be empty! else the database will not work. If you don't want a password, consider running without a PostgreSQL Database (Not recommended)"})}),"\n",(0,t.jsx)(n.h3,{id:"alternative-step-1-running-without-a-postgresql-database",children:"Alternative Step 1: Running without a PostgreSQL Database"}),"\n",(0,t.jsx)(n.p,{children:"We don't recommend it, but you can run GameVault without a PostgreSQL Database too using the following configuration:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-yaml",children:'services:\n gamevault-backend:\n image: phalcode/gamevault-backend:latest\n restart: unless-stopped\n environment:\n DB_SYSTEM: "SQLITE"\n volumes:\n - /your/games/folder:/files\n - /your/media/folder:/media\n - /your/sqlite/database/folder:/db\n ports:\n - 8080:8080/tcp\n'})}),"\n",(0,t.jsx)(n.admonition,{type:"note",children:(0,t.jsxs)(n.p,{children:["Replace the variables (",(0,t.jsx)(n.code,{children:"YOURPASSWORDHERE"}),", ",(0,t.jsx)(n.code,{children:"etc."}),"), as well as the folder paths with what suits you, of course. You can change the port on the left side of the colon aswell."]})}),"\n",(0,t.jsx)(n.h2,{id:"step-2-start-the-service",children:"Step 2: Start the Service"}),"\n",(0,t.jsxs)(n.p,{children:["Open a terminal, navigate to the directory where the ",(0,t.jsx)(n.code,{children:"docker-compose.yml"})," file is located, and run the following command:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"docker compose up -d\n"})}),"\n",(0,t.jsxs)(n.p,{children:["This will start the GameVault server and PostgreSQL server in the background. The ",(0,t.jsx)(n.code,{children:"-d"})," parameter detaches the process from the terminal."]}),"\n",(0,t.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsxs)(n.p,{children:["Congratulations! Your GameVault Server has been successfully set up using Docker and Docker Compose. You can now access it using your server's IP address followed by the designated port, such as ",(0,t.jsx)(n.code,{children:"http://192.168.0.15:8080"})," for example."]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,t.jsx)(n.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,t.jsx)(n.h3,{id:"stopping-the-server",children:"Stopping the server"}),"\n",(0,t.jsxs)(n.p,{children:["Open a terminal, navigate to the directory where the ",(0,t.jsx)(n.code,{children:"docker-compose.yml"})," file is located, and run the following command:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"docker compose down\n"})}),"\n",(0,t.jsx)(n.h3,{id:"reading-the-logs",children:"Reading the logs"}),"\n",(0,t.jsx)(n.p,{children:"Open a terminal and run the following command:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"docker logs gamevault-backend\n"})})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8358:(e,n,o)=>{o.d(n,{Z:()=>i,a:()=>a});var t=o(5271);const s={},r=t.createContext(s);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9019cc36.e6dd2667.js b/assets/js/9019cc36.071ddb15.js similarity index 97% rename from assets/js/9019cc36.e6dd2667.js rename to assets/js/9019cc36.071ddb15.js index c4b0c4dad..28245be3c 100644 --- a/assets/js/9019cc36.e6dd2667.js +++ b/assets/js/9019cc36.071ddb15.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9565],{9736:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var a=n(2676),r=n(9246);const i={title:"An update so major, we could have built the product from scratch.",authors:["alfagun74"],tags:["GameVault","Client Update","Server Update","metadata framework","plugin system","parental control","age restrictions","theme","app optimization","analytics","notes","community management"]},o=void 0,s={permalink:"/blog/2024/10/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-10-20.md",source:"@site/blog/2024-10-20.md",title:"An update so major, we could have built the product from scratch.",description:"Hello, GameVault Community!",date:"2024-10-20T00:00:00.000Z",tags:[{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"Client Update",permalink:"/blog/tags/client-update"},{inline:!0,label:"Server Update",permalink:"/blog/tags/server-update"},{inline:!0,label:"metadata framework",permalink:"/blog/tags/metadata-framework"},{inline:!0,label:"plugin system",permalink:"/blog/tags/plugin-system"},{inline:!0,label:"parental control",permalink:"/blog/tags/parental-control"},{inline:!0,label:"age restrictions",permalink:"/blog/tags/age-restrictions"},{inline:!0,label:"theme",permalink:"/blog/tags/theme"},{inline:!0,label:"app optimization",permalink:"/blog/tags/app-optimization"},{inline:!0,label:"analytics",permalink:"/blog/tags/analytics"},{inline:!0,label:"notes",permalink:"/blog/tags/notes"},{inline:!0,label:"community management",permalink:"/blog/tags/community-management"}],readingTime:2.515,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"An update so major, we could have built the product from scratch.",authors:["alfagun74"],tags:["GameVault","Client Update","Server Update","metadata framework","plugin system","parental control","age restrictions","theme","app optimization","analytics","notes","community management"]},unlisted:!1,nextItem:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",permalink:"/blog/2024/05/07/"}},l={authorsImageUrls:[void 0]},d=[{value:"What\u2019s New?",id:"whats-new",level:3},{value:"Major New Features",id:"major-new-features",level:3},{value:"Critical Update Info",id:"critical-update-info",level:3},{value:"Support Us",id:"support-us",level:3}];function u(e){const t={a:"a",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:(0,a.jsx)(t.strong,{children:"Hello, GameVault Community!"})}),"\n",(0,a.jsxs)(t.p,{children:["After six months of hard work, we\u2019re beyond excited to unveil our biggest update yet: ",(0,a.jsx)(t.strong,{children:"GameVault Client v1.12"})," and ",(0,a.jsx)(t.strong,{children:"GameVault Server v13"}),"! This release is so massive, it feels like we could\u2019ve built the product from scratch\u2014there\u2019s that much new ground covered. "]}),"\n",(0,a.jsx)(t.h3,{id:"whats-new",children:"What\u2019s New?"}),"\n",(0,a.jsxs)(t.p,{children:["We\u2019ve introduced some game-changing improvements. First and foremost, we\u2019ve moved away from unreliable third-party tools like RAWG and Google Image Scrapers for fetching video game metadata. Instead of just swapping one provider for another and making us dependant again, we\u2019ve built something much better: a brand-new ",(0,a.jsx)(t.strong,{children:"plugin system"})," on the backend, complete with an official partnership with ",(0,a.jsx)(t.strong,{children:"IGDB/Twitch"}),"."]}),"\n",(0,a.jsx)(t.p,{children:"The new plugin framework is incredibly flexible, allowing users to write their own metadata provider plugins. It supports an unlimited number of providers, prioritizes data effectively, and even fills in any gaps intelligently. And the cherry on top? Users now have full control over metadata\u2014if you want to tweak or edit a piece of info, you can do so without changing the source data. Your custom edits are saved separately, giving you full freedom."}),"\n",(0,a.jsx)(t.p,{children:"We\u2019ve been rigorously testing this system for 2\u20133 months, running an early access phase for about a month. While we\u2019ve optimized it as much as possible, we ask for your patience if any bugs pop up\u2014mastillke sure to back up before migrating!"}),"\n",(0,a.jsx)(t.h3,{id:"major-new-features",children:"Major New Features"}),"\n",(0,a.jsx)(t.p,{children:"Here\u2019s a quick rundown of some other incredible additions in this update:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Parental Controls & Age Restrictions:"})," Now, families can manage access based on age-appropriate content, giving more control over what\u2019s playable and viewable for children."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Built-in Media Player:"})," You can now watch trailers and gameplay videos directly in GameVault."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"UI Overhaul:"})," We\u2019ve refreshed the Game, Community, and Admin Tabs, along with a redesigned App Bar for a sleeker look."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Halloween Theme:"})," Just in time for spooky season! GameVault+ users can enjoy a themed Halloween skin."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Convenience Features:"})," We\u2019ve added default arguments and launch/install executables to streamline app functionality."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Markdown Support:"})," Both Notes and Server News now support markdown, making formatting a breeze and improving readability."]}),"\n"]}),"\n",(0,a.jsx)(t.h3,{id:"critical-update-info",children:"Critical Update Info"}),"\n",(0,a.jsx)(t.p,{children:"Before updating, please ensure compatibility between clients and servers:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Client v1.12"})," is required for servers running ",(0,a.jsx)(t.strong,{children:"v13 or above"}),"."]}),"\n",(0,a.jsxs)(t.li,{children:["Older clients (",(0,a.jsx)(t.strong,{children:"before v1.12"}),") won\u2019t work with server running on ",(0,a.jsx)(t.strong,{children:"Version 13 or above"}),"."]}),"\n"]}),"\n",(0,a.jsxs)(t.p,{children:["For a smooth update and a guide on how to use all these new features, check out the detailed ",(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-backend/blob/master/CHANGELOG.md#1300",children:"migration instructions"})," in the server changelogs. As always, if you hit any snags, feel free to reach out to us on ",(0,a.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),"."]}),"\n",(0,a.jsx)(t.h3,{id:"support-us",children:"Support Us"}),"\n",(0,a.jsxs)(t.p,{children:["If you\u2019d like to support our development and help us keep most of GameVault\u2019s features free, consider ",(0,a.jsxs)(t.a,{href:"https://gamevau.lt/gamevault-plus",children:["subscribing to ",(0,a.jsx)(t.strong,{children:"GameVault+"})]})," or making ",(0,a.jsx)(t.a,{href:"https://phalco.de/support-us",children:"a one-time donation"}),". Although GameVault+ at the time only offers a limited set premium features, your support helps us continue making the app accessible to all."]}),"\n",(0,a.jsx)(t.p,{children:"Thank you all for supporting and using our passion project! We hope you enjoy the latest features and enhancements we've added."})]})}function c(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},9246:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>o});var a=n(5271);const r={},i=a.createContext(r);function o(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9565],{2716:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var a=n(2676),r=n(8358);const i={title:"An update so major, we could have built the product from scratch.",authors:["alfagun74"],tags:["GameVault","Client Update","Server Update","metadata framework","plugin system","parental control","age restrictions","theme","app optimization","analytics","notes","community management"]},o=void 0,s={permalink:"/blog/2024/10/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-10-20.md",source:"@site/blog/2024-10-20.md",title:"An update so major, we could have built the product from scratch.",description:"Hello, GameVault Community!",date:"2024-10-20T00:00:00.000Z",tags:[{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"Client Update",permalink:"/blog/tags/client-update"},{inline:!0,label:"Server Update",permalink:"/blog/tags/server-update"},{inline:!0,label:"metadata framework",permalink:"/blog/tags/metadata-framework"},{inline:!0,label:"plugin system",permalink:"/blog/tags/plugin-system"},{inline:!0,label:"parental control",permalink:"/blog/tags/parental-control"},{inline:!0,label:"age restrictions",permalink:"/blog/tags/age-restrictions"},{inline:!0,label:"theme",permalink:"/blog/tags/theme"},{inline:!0,label:"app optimization",permalink:"/blog/tags/app-optimization"},{inline:!0,label:"analytics",permalink:"/blog/tags/analytics"},{inline:!0,label:"notes",permalink:"/blog/tags/notes"},{inline:!0,label:"community management",permalink:"/blog/tags/community-management"}],readingTime:2.515,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"An update so major, we could have built the product from scratch.",authors:["alfagun74"],tags:["GameVault","Client Update","Server Update","metadata framework","plugin system","parental control","age restrictions","theme","app optimization","analytics","notes","community management"]},unlisted:!1,nextItem:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",permalink:"/blog/2024/05/07/"}},l={authorsImageUrls:[void 0]},d=[{value:"What\u2019s New?",id:"whats-new",level:3},{value:"Major New Features",id:"major-new-features",level:3},{value:"Critical Update Info",id:"critical-update-info",level:3},{value:"Support Us",id:"support-us",level:3}];function u(e){const t={a:"a",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:(0,a.jsx)(t.strong,{children:"Hello, GameVault Community!"})}),"\n",(0,a.jsxs)(t.p,{children:["After six months of hard work, we\u2019re beyond excited to unveil our biggest update yet: ",(0,a.jsx)(t.strong,{children:"GameVault Client v1.12"})," and ",(0,a.jsx)(t.strong,{children:"GameVault Server v13"}),"! This release is so massive, it feels like we could\u2019ve built the product from scratch\u2014there\u2019s that much new ground covered. "]}),"\n",(0,a.jsx)(t.h3,{id:"whats-new",children:"What\u2019s New?"}),"\n",(0,a.jsxs)(t.p,{children:["We\u2019ve introduced some game-changing improvements. First and foremost, we\u2019ve moved away from unreliable third-party tools like RAWG and Google Image Scrapers for fetching video game metadata. Instead of just swapping one provider for another and making us dependant again, we\u2019ve built something much better: a brand-new ",(0,a.jsx)(t.strong,{children:"plugin system"})," on the backend, complete with an official partnership with ",(0,a.jsx)(t.strong,{children:"IGDB/Twitch"}),"."]}),"\n",(0,a.jsx)(t.p,{children:"The new plugin framework is incredibly flexible, allowing users to write their own metadata provider plugins. It supports an unlimited number of providers, prioritizes data effectively, and even fills in any gaps intelligently. And the cherry on top? Users now have full control over metadata\u2014if you want to tweak or edit a piece of info, you can do so without changing the source data. Your custom edits are saved separately, giving you full freedom."}),"\n",(0,a.jsx)(t.p,{children:"We\u2019ve been rigorously testing this system for 2\u20133 months, running an early access phase for about a month. While we\u2019ve optimized it as much as possible, we ask for your patience if any bugs pop up\u2014mastillke sure to back up before migrating!"}),"\n",(0,a.jsx)(t.h3,{id:"major-new-features",children:"Major New Features"}),"\n",(0,a.jsx)(t.p,{children:"Here\u2019s a quick rundown of some other incredible additions in this update:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Parental Controls & Age Restrictions:"})," Now, families can manage access based on age-appropriate content, giving more control over what\u2019s playable and viewable for children."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Built-in Media Player:"})," You can now watch trailers and gameplay videos directly in GameVault."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"UI Overhaul:"})," We\u2019ve refreshed the Game, Community, and Admin Tabs, along with a redesigned App Bar for a sleeker look."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Halloween Theme:"})," Just in time for spooky season! GameVault+ users can enjoy a themed Halloween skin."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Convenience Features:"})," We\u2019ve added default arguments and launch/install executables to streamline app functionality."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Markdown Support:"})," Both Notes and Server News now support markdown, making formatting a breeze and improving readability."]}),"\n"]}),"\n",(0,a.jsx)(t.h3,{id:"critical-update-info",children:"Critical Update Info"}),"\n",(0,a.jsx)(t.p,{children:"Before updating, please ensure compatibility between clients and servers:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Client v1.12"})," is required for servers running ",(0,a.jsx)(t.strong,{children:"v13 or above"}),"."]}),"\n",(0,a.jsxs)(t.li,{children:["Older clients (",(0,a.jsx)(t.strong,{children:"before v1.12"}),") won\u2019t work with server running on ",(0,a.jsx)(t.strong,{children:"Version 13 or above"}),"."]}),"\n"]}),"\n",(0,a.jsxs)(t.p,{children:["For a smooth update and a guide on how to use all these new features, check out the detailed ",(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-backend/blob/master/CHANGELOG.md#1300",children:"migration instructions"})," in the server changelogs. As always, if you hit any snags, feel free to reach out to us on ",(0,a.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),"."]}),"\n",(0,a.jsx)(t.h3,{id:"support-us",children:"Support Us"}),"\n",(0,a.jsxs)(t.p,{children:["If you\u2019d like to support our development and help us keep most of GameVault\u2019s features free, consider ",(0,a.jsxs)(t.a,{href:"https://gamevau.lt/gamevault-plus",children:["subscribing to ",(0,a.jsx)(t.strong,{children:"GameVault+"})]})," or making ",(0,a.jsx)(t.a,{href:"https://phalco.de/support-us",children:"a one-time donation"}),". Although GameVault+ at the time only offers a limited set premium features, your support helps us continue making the app accessible to all."]}),"\n",(0,a.jsx)(t.p,{children:"Thank you all for supporting and using our passion project! We hope you enjoy the latest features and enhancements we've added."})]})}function c(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},8358:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>o});var a=n(5271);const r={},i=a.createContext(r);function o(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9147d3af.0a76dcd5.js b/assets/js/9147d3af.0a76dcd5.js new file mode 100644 index 000000000..2bad7045d --- /dev/null +++ b/assets/js/9147d3af.0a76dcd5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5954],{8248:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>s,toc:()=>m});var a=t(2676),o=t(8358);const l={title:"Announcing GameVault+ (coming soon)",authors:["alfagun74"],tags:["startup","software","gaming","GameVault","subscription model","development","community","announcement"]},i=void 0,s={permalink:"/blog/2024/03/28/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-03-28.md",source:"@site/blog/2024-03-28.md",title:"Announcing GameVault+ (coming soon)",description:"Hey Everyone!",date:"2024-03-28T00:00:00.000Z",tags:[{inline:!0,label:"startup",permalink:"/blog/tags/startup"},{inline:!0,label:"software",permalink:"/blog/tags/software"},{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"subscription model",permalink:"/blog/tags/subscription-model"},{inline:!0,label:"development",permalink:"/blog/tags/development"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"}],readingTime:3.725,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Announcing GameVault+ (coming soon)",authors:["alfagun74"],tags:["startup","software","gaming","GameVault","subscription model","development","community","announcement"]},unlisted:!1,prevItem:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",permalink:"/blog/2024/04/01/2024-04-01/"},nextItem:{title:"Join the GameVault Early-Access Program Now!",permalink:"/blog/2023/12/09/"}},r={authorsImageUrls:[void 0]},m=[];function u(e){const n={a:"a",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Hey Everyone!"}),"\n",(0,a.jsxs)(n.p,{children:["It feels like it's been ages since we last caught up regarding the development of ",(0,a.jsx)(n.a,{href:"https://gamevau.lt",children:"GameVault (the self-hostable platform for drm-free videogames)"}),", but trust me, the silence from our end doesn't mean we've been slacking off. In fact,quite the opposite has been happening behind the scenes."]})]})}function c(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},8358:(e,n,t)=>{t.d(n,{Z:()=>s,a:()=>i});var a=t(5271);const o={},l=a.createContext(o);function i(e){const n=a.useContext(l);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9147d3af.9f6d0b70.js b/assets/js/9147d3af.9f6d0b70.js deleted file mode 100644 index eca54bb4d..000000000 --- a/assets/js/9147d3af.9f6d0b70.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5954],{115:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>s,toc:()=>m});var a=t(2676),o=t(9246);const l={title:"Announcing GameVault+ (coming soon)",authors:["alfagun74"],tags:["startup","software","gaming","GameVault","subscription model","development","community","announcement"]},i=void 0,s={permalink:"/blog/2024/03/28/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-03-28.md",source:"@site/blog/2024-03-28.md",title:"Announcing GameVault+ (coming soon)",description:"Hey Everyone!",date:"2024-03-28T00:00:00.000Z",tags:[{inline:!0,label:"startup",permalink:"/blog/tags/startup"},{inline:!0,label:"software",permalink:"/blog/tags/software"},{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"subscription model",permalink:"/blog/tags/subscription-model"},{inline:!0,label:"development",permalink:"/blog/tags/development"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"}],readingTime:3.725,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Announcing GameVault+ (coming soon)",authors:["alfagun74"],tags:["startup","software","gaming","GameVault","subscription model","development","community","announcement"]},unlisted:!1,prevItem:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",permalink:"/blog/2024/04/01/2024-04-01/"},nextItem:{title:"Join the GameVault Early-Access Program Now!",permalink:"/blog/2023/12/09/"}},r={authorsImageUrls:[void 0]},m=[];function u(e){const n={a:"a",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Hey Everyone!"}),"\n",(0,a.jsxs)(n.p,{children:["It feels like it's been ages since we last caught up regarding the development of ",(0,a.jsx)(n.a,{href:"https://gamevau.lt",children:"GameVault (the self-hostable platform for drm-free videogames)"}),", but trust me, the silence from our end doesn't mean we've been slacking off. In fact,quite the opposite has been happening behind the scenes."]})]})}function c(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},9246:(e,n,t)=>{t.d(n,{Z:()=>s,a:()=>i});var a=t(5271);const o={},l=a.createContext(o);function i(e){const n=a.useContext(l);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9404f843.3c294247.js b/assets/js/9404f843.c51f720e.js similarity index 98% rename from assets/js/9404f843.3c294247.js rename to assets/js/9404f843.c51f720e.js index 96c78c88e..b63131430 100644 --- a/assets/js/9404f843.3c294247.js +++ b/assets/js/9404f843.c51f720e.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4811],{7130:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var a=i(2676),t=i(9246);const l={sidebar_position:4,title:"Client APIs"},s=void 0,r={id:"gamevault-plus/client-apis",title:"Client APIs",description:"The GameVault Client APIs offer interfaces for external use of the GameVault client application for subscribers of GameVault+. Whether you're interacting via the command line, URI, or NamedPipe, you have access to various functionalities provided by the GameVault Client Application. This can be useful for third-party developers who want to integrate with the GameVault ecosystem. (e.g. Playnite Extension)",source:"@site/docs/gamevault-plus/client-apis.md",sourceDirName:"gamevault-plus",slug:"/gamevault-plus/client-apis",permalink:"/docs/gamevault-plus/client-apis",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/gamevault-plus/client-apis.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Client APIs"},sidebar:"docs",previous:{title:"Themes",permalink:"/docs/gamevault-plus/themes"},next:{title:"Licensing and Contributions",permalink:"/docs/license-contribute"}},d={},c=[{value:"Available APIs",id:"available-apis",level:2},{value:"CLI",id:"cli",level:3},{value:"URI",id:"uri",level:3},{value:"NamedPipe",id:"namedpipe",level:3},{value:"Usage",id:"usage",level:2},{value:"Available Actions & Parameters",id:"available-actions--parameters",level:2},{value:"URI "Query" Action",id:"uri-query-action",level:2},{value:"Command-line Examples",id:"command-line-examples",level:2},{value:"URI Examples",id:"uri-examples",level:2},{value:"Query Examples",id:"query-examples",level:2},{value:"C# Code Example",id:"c-code-example",level:2}];function o(e){const n={code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"The GameVault Client APIs offer interfaces for external use of the GameVault client application for subscribers of GameVault+. Whether you're interacting via the command line, URI, or NamedPipe, you have access to various functionalities provided by the GameVault Client Application. This can be useful for third-party developers who want to integrate with the GameVault ecosystem. (e.g. Playnite Extension)"}),"\n",(0,a.jsx)(n.p,{children:"This guide provides comprehensive information on utilizing various interfaces offered by the GameVault client application for third-party developers. Whether you're building extensions or integrating with the GameVault ecosystem, this documentation will guide you through the available APIs and their specifications."}),"\n",(0,a.jsx)(n.h2,{id:"available-apis",children:"Available APIs"}),"\n",(0,a.jsx)(n.h3,{id:"cli",children:"CLI"}),"\n",(0,a.jsx)(n.p,{children:"The Command Line Interface (CLI) provides a straightforward way to interact with the GameVault client application directly from the command line. It supports various actions and parameters for seamless integration into your workflows."}),"\n",(0,a.jsx)(n.h3,{id:"uri",children:"URI"}),"\n",(0,a.jsx)(n.p,{children:"The Uniform Resource Identifier (URI) handler allows for communication with the GameVault client application through custom URI schemes. By leveraging URI endpoints, you can trigger actions and pass parameters conveniently."}),"\n",(0,a.jsx)(n.h3,{id:"namedpipe",children:"NamedPipe"}),"\n",(0,a.jsx)(n.p,{children:"The NamedPipe interface facilitates communication between processes on the same machine. Through NamedPipe, you can send messages to and receive responses from the GameVault client application, enabling real-time interaction."}),"\n",(0,a.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,a.jsx)(n.p,{children:"The following sections detail how to use each API provided by the GameVault client application."}),"\n",(0,a.jsx)(n.h2,{id:"available-actions--parameters",children:"Available Actions & Parameters"}),"\n",(0,a.jsx)(n.p,{children:"Explore the list of actions and parameters supported by the GameVault client APIs. (Bold parameters are required, Asterisks indicate default values )"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"<none>"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Supported for direct command-line usage only."}),"\n",(0,a.jsxs)(n.li,{children:["Alias for ",(0,a.jsx)(n.code,{children:"show"})]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"show"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Starts and if the main application or a specific game."}),"\n",(0,a.jsxs)(n.li,{children:["Parameters:","\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"gameid=[id]"}),": Target a specific game to show."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"minimized=[true/false*]"}),": Run the application minimized to the tray."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"install"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Starts the download of a specific game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:["Additional parameters:","\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsxs)(n.strong,{children:[(0,a.jsx)(n.code,{children:"gameid=[id]"}),": Target a specific game to install."]})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"minimized=[true/false*]"}),": Run the application minimized to the tray."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"uninstall"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Uninstalls a specific game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:["Additional parameters:","\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsxs)(n.strong,{children:[(0,a.jsx)(n.code,{children:"gameid=[id]"}),": Target a specific game to uninstall."]})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"minimized=[true/false*]"}),": Run the application minimized to the tray."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"start"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Starts a specific game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:["Additional parameters:","\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsxs)(n.strong,{children:[(0,a.jsx)(n.code,{children:"gameid=[id]"}),": Target a specific game to start."]})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"minimized=[true/false*]"}),": Run the application minimized to the tray."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"autoinstall=[true/false*]"}),": Whether to automatically install the game if not already installed."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"help <action>"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Displays help for the command line interface or a specific action."}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"version"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Displays the version of the GameVault client application."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"uri-query-action",children:'URI "Query" Action'}),"\n",(0,a.jsx)(n.p,{children:'The URI "query" action allows you to retrieve information from the client-side app. It is not a replacement for server-side backend interaction but serves as a means to obtain simple information.'}),"\n",(0,a.jsxs)(n.p,{children:["When sending a request via URI, an additional action called ",(0,a.jsx)(n.code,{children:"query"})," is available, which lets you get information from the client-side app. This is ",(0,a.jsx)(n.strong,{children:"not"})," a replacement for the server-side backend and is just a way to get simple information. The specific value to query is provided in the ",(0,a.jsx)(n.code,{children:"query"})," parameter, with the following options available:"]}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"exists"}),": Check if the provided ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter exists locally or on the configured server (True/False)."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"installed"}),": Check if the provided ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter is installed (True/False)."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"downloaded"}),": Check if the provided ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter is downloaded (True/False)."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"getname"}),": Get the name of the game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"getinstalldirectory"}),": Get the install directory of the game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"getappversion"}),": Get the version of the application."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"getserverurl"}),": Get the URL that we're currently configured to point to."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"isloggedin"}),": Returns if the user is currently logged in (True/False)."]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"command-line-examples",children:"Command-line Examples"}),"\n",(0,a.jsx)(n.p,{children:"Explore examples of using the GameVault client APIs via the command line:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ps1",children:"# Launch GameVault\ngamevault.exe\n\n# Open GameVault in the background\ngamevault.exe --minimized=true\n\n# Show a specific game (ID 3)\ngamevault.exe show --gameid=3\n\n# Install a game (ID 3)\ngamevault.exe install --gameid=3\n\n# Uninstall a game (ID 3)\ngamevault.exe uninstall --gameid=3\n\n# Start a game (ID 3)\ngamevault.exe start --gameid=3\n\n# Start a game (ID 3) and bring GameVault into view\ngamevault.exe start --gameid=3 --minimized=false\n\n# Same as above without '='\ngamevault.exe start --gameid 3 --minimized false\n\n# Display help screen\ngamevault.exe help\n\n# Display help for 'start'\ngamevault.exe help start\n"})}),"\n",(0,a.jsx)(n.h2,{id:"uri-examples",children:"URI Examples"}),"\n",(0,a.jsx)(n.p,{children:"Discover examples of using the GameVault client APIs via URI:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-uri",children:"gamevault://show\ngamevault://show?minimized=true\ngamevault://install?gameid=3\ngamevault://uninstall?gameid=3\ngamevault://start?gameid=3\ngamevault://start?gameid=3&minimized=false\n"})}),"\n",(0,a.jsx)(n.h2,{id:"query-examples",children:"Query Examples"}),"\n",(0,a.jsx)(n.p,{children:"Explore examples of querying the GameVault client application through URI:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-uri",children:"gamevault://query?query=exists&gameid=3\ngamevault://query?query=installed&gameid=3\ngamevault://query?query=downloaded&gameid=3\ngamevault://query?query=getname&gameid=3\ngamevault://query?query=getinstalldirectory&gameid=3\ngamevault://query?query=getappversion\ngamevault://query?query=getserverurl\ngamevault://query?query=isloggedin\n"})}),"\n",(0,a.jsx)(n.h2,{id:"c-code-example",children:"C# Code Example"}),"\n",(0,a.jsx)(n.p,{children:"For developers working with C#, here's an example of interacting with the GameVault app through the NamedPipe:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-csharp",children:'using System;\nusing System.IO;\nusing System.IO.Pipes;\nusing System.Text;\nusing System.Threading;\nusing System.Threading.Tasks;\n\npublic static class GameVaultInteraction\n{\n public static async Task<string> SendPipeMessage(string message, CancellationToken cancellationToken, bool expectsResult = false, int timeout = 500)\n {\n string result = null;\n using var client = new NamedPipeClientStream("GameVault");\n StreamWriter writer = null;\n StreamReader reader = null;\n\n try\n {\n await client.ConnectAsync(timeout, cancellationToken);\n\n writer = new StreamWriter(client, Encoding.UTF8, 1024, leaveOpen: true) { AutoFlush = true };\n await writer.WriteLineAsync(message);\n\n if (expectsResult)\n {\n reader = new StreamReader(client, Encoding.UTF8, false, 1024, leaveOpen: true);\n result = await reader.ReadLineAsync();\n }\n }\n finally\n {\n SafeDispose(writer);\n SafeDispose(reader);\n SafeDispose(client);\n }\n\n return result;\n }\n\n private static void SafeDispose(IDisposable disposable)\n {\n if (disposable == null)\n return;\n\n try\n {\n disposable.Dispose();\n }\n catch (Exception) { }\n }\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(o,{...e})}):o(e)}},9246:(e,n,i)=>{i.d(n,{Z:()=>r,a:()=>s});var a=i(5271);const t={},l=a.createContext(t);function s(e){const n=a.useContext(l);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),a.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4811],{7130:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>c});var a=i(2676),t=i(8358);const l={sidebar_position:4,title:"Client APIs"},s=void 0,r={id:"gamevault-plus/client-apis",title:"Client APIs",description:"The GameVault Client APIs offer interfaces for external use of the GameVault client application for subscribers of GameVault+. Whether you're interacting via the command line, URI, or NamedPipe, you have access to various functionalities provided by the GameVault Client Application. This can be useful for third-party developers who want to integrate with the GameVault ecosystem. (e.g. Playnite Extension)",source:"@site/docs/gamevault-plus/client-apis.md",sourceDirName:"gamevault-plus",slug:"/gamevault-plus/client-apis",permalink:"/docs/gamevault-plus/client-apis",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/gamevault-plus/client-apis.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Client APIs"},sidebar:"docs",previous:{title:"Themes",permalink:"/docs/gamevault-plus/themes"},next:{title:"Licensing and Contributions",permalink:"/docs/license-contribute"}},d={},c=[{value:"Available APIs",id:"available-apis",level:2},{value:"CLI",id:"cli",level:3},{value:"URI",id:"uri",level:3},{value:"NamedPipe",id:"namedpipe",level:3},{value:"Usage",id:"usage",level:2},{value:"Available Actions & Parameters",id:"available-actions--parameters",level:2},{value:"URI "Query" Action",id:"uri-query-action",level:2},{value:"Command-line Examples",id:"command-line-examples",level:2},{value:"URI Examples",id:"uri-examples",level:2},{value:"Query Examples",id:"query-examples",level:2},{value:"C# Code Example",id:"c-code-example",level:2}];function o(e){const n={code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,t.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"The GameVault Client APIs offer interfaces for external use of the GameVault client application for subscribers of GameVault+. Whether you're interacting via the command line, URI, or NamedPipe, you have access to various functionalities provided by the GameVault Client Application. This can be useful for third-party developers who want to integrate with the GameVault ecosystem. (e.g. Playnite Extension)"}),"\n",(0,a.jsx)(n.p,{children:"This guide provides comprehensive information on utilizing various interfaces offered by the GameVault client application for third-party developers. Whether you're building extensions or integrating with the GameVault ecosystem, this documentation will guide you through the available APIs and their specifications."}),"\n",(0,a.jsx)(n.h2,{id:"available-apis",children:"Available APIs"}),"\n",(0,a.jsx)(n.h3,{id:"cli",children:"CLI"}),"\n",(0,a.jsx)(n.p,{children:"The Command Line Interface (CLI) provides a straightforward way to interact with the GameVault client application directly from the command line. It supports various actions and parameters for seamless integration into your workflows."}),"\n",(0,a.jsx)(n.h3,{id:"uri",children:"URI"}),"\n",(0,a.jsx)(n.p,{children:"The Uniform Resource Identifier (URI) handler allows for communication with the GameVault client application through custom URI schemes. By leveraging URI endpoints, you can trigger actions and pass parameters conveniently."}),"\n",(0,a.jsx)(n.h3,{id:"namedpipe",children:"NamedPipe"}),"\n",(0,a.jsx)(n.p,{children:"The NamedPipe interface facilitates communication between processes on the same machine. Through NamedPipe, you can send messages to and receive responses from the GameVault client application, enabling real-time interaction."}),"\n",(0,a.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,a.jsx)(n.p,{children:"The following sections detail how to use each API provided by the GameVault client application."}),"\n",(0,a.jsx)(n.h2,{id:"available-actions--parameters",children:"Available Actions & Parameters"}),"\n",(0,a.jsx)(n.p,{children:"Explore the list of actions and parameters supported by the GameVault client APIs. (Bold parameters are required, Asterisks indicate default values )"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"<none>"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Supported for direct command-line usage only."}),"\n",(0,a.jsxs)(n.li,{children:["Alias for ",(0,a.jsx)(n.code,{children:"show"})]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"show"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Starts and if the main application or a specific game."}),"\n",(0,a.jsxs)(n.li,{children:["Parameters:","\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"gameid=[id]"}),": Target a specific game to show."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"minimized=[true/false*]"}),": Run the application minimized to the tray."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"install"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Starts the download of a specific game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:["Additional parameters:","\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsxs)(n.strong,{children:[(0,a.jsx)(n.code,{children:"gameid=[id]"}),": Target a specific game to install."]})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"minimized=[true/false*]"}),": Run the application minimized to the tray."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"uninstall"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Uninstalls a specific game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:["Additional parameters:","\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsxs)(n.strong,{children:[(0,a.jsx)(n.code,{children:"gameid=[id]"}),": Target a specific game to uninstall."]})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"minimized=[true/false*]"}),": Run the application minimized to the tray."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"start"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Starts a specific game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"."]}),"\n",(0,a.jsxs)(n.li,{children:["Additional parameters:","\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:(0,a.jsxs)(n.strong,{children:[(0,a.jsx)(n.code,{children:"gameid=[id]"}),": Target a specific game to start."]})}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"minimized=[true/false*]"}),": Run the application minimized to the tray."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"autoinstall=[true/false*]"}),": Whether to automatically install the game if not already installed."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"help <action>"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Displays help for the command line interface or a specific action."}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(n.li,{children:["\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.code,{children:"version"})}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Displays the version of the GameVault client application."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"uri-query-action",children:'URI "Query" Action'}),"\n",(0,a.jsx)(n.p,{children:'The URI "query" action allows you to retrieve information from the client-side app. It is not a replacement for server-side backend interaction but serves as a means to obtain simple information.'}),"\n",(0,a.jsxs)(n.p,{children:["When sending a request via URI, an additional action called ",(0,a.jsx)(n.code,{children:"query"})," is available, which lets you get information from the client-side app. This is ",(0,a.jsx)(n.strong,{children:"not"})," a replacement for the server-side backend and is just a way to get simple information. The specific value to query is provided in the ",(0,a.jsx)(n.code,{children:"query"})," parameter, with the following options available:"]}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"exists"}),": Check if the provided ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter exists locally or on the configured server (True/False)."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"installed"}),": Check if the provided ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter is installed (True/False)."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"downloaded"}),": Check if the provided ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter is downloaded (True/False)."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"getname"}),": Get the name of the game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"getinstalldirectory"}),": Get the install directory of the game defined by ",(0,a.jsx)(n.code,{children:"gameid"}),"-parameter."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"getappversion"}),": Get the version of the application."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"getserverurl"}),": Get the URL that we're currently configured to point to."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"isloggedin"}),": Returns if the user is currently logged in (True/False)."]}),"\n"]}),"\n",(0,a.jsx)(n.h2,{id:"command-line-examples",children:"Command-line Examples"}),"\n",(0,a.jsx)(n.p,{children:"Explore examples of using the GameVault client APIs via the command line:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-ps1",children:"# Launch GameVault\ngamevault.exe\n\n# Open GameVault in the background\ngamevault.exe --minimized=true\n\n# Show a specific game (ID 3)\ngamevault.exe show --gameid=3\n\n# Install a game (ID 3)\ngamevault.exe install --gameid=3\n\n# Uninstall a game (ID 3)\ngamevault.exe uninstall --gameid=3\n\n# Start a game (ID 3)\ngamevault.exe start --gameid=3\n\n# Start a game (ID 3) and bring GameVault into view\ngamevault.exe start --gameid=3 --minimized=false\n\n# Same as above without '='\ngamevault.exe start --gameid 3 --minimized false\n\n# Display help screen\ngamevault.exe help\n\n# Display help for 'start'\ngamevault.exe help start\n"})}),"\n",(0,a.jsx)(n.h2,{id:"uri-examples",children:"URI Examples"}),"\n",(0,a.jsx)(n.p,{children:"Discover examples of using the GameVault client APIs via URI:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-uri",children:"gamevault://show\ngamevault://show?minimized=true\ngamevault://install?gameid=3\ngamevault://uninstall?gameid=3\ngamevault://start?gameid=3\ngamevault://start?gameid=3&minimized=false\n"})}),"\n",(0,a.jsx)(n.h2,{id:"query-examples",children:"Query Examples"}),"\n",(0,a.jsx)(n.p,{children:"Explore examples of querying the GameVault client application through URI:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-uri",children:"gamevault://query?query=exists&gameid=3\ngamevault://query?query=installed&gameid=3\ngamevault://query?query=downloaded&gameid=3\ngamevault://query?query=getname&gameid=3\ngamevault://query?query=getinstalldirectory&gameid=3\ngamevault://query?query=getappversion\ngamevault://query?query=getserverurl\ngamevault://query?query=isloggedin\n"})}),"\n",(0,a.jsx)(n.h2,{id:"c-code-example",children:"C# Code Example"}),"\n",(0,a.jsx)(n.p,{children:"For developers working with C#, here's an example of interacting with the GameVault app through the NamedPipe:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-csharp",children:'using System;\nusing System.IO;\nusing System.IO.Pipes;\nusing System.Text;\nusing System.Threading;\nusing System.Threading.Tasks;\n\npublic static class GameVaultInteraction\n{\n public static async Task<string> SendPipeMessage(string message, CancellationToken cancellationToken, bool expectsResult = false, int timeout = 500)\n {\n string result = null;\n using var client = new NamedPipeClientStream("GameVault");\n StreamWriter writer = null;\n StreamReader reader = null;\n\n try\n {\n await client.ConnectAsync(timeout, cancellationToken);\n\n writer = new StreamWriter(client, Encoding.UTF8, 1024, leaveOpen: true) { AutoFlush = true };\n await writer.WriteLineAsync(message);\n\n if (expectsResult)\n {\n reader = new StreamReader(client, Encoding.UTF8, false, 1024, leaveOpen: true);\n result = await reader.ReadLineAsync();\n }\n }\n finally\n {\n SafeDispose(writer);\n SafeDispose(reader);\n SafeDispose(client);\n }\n\n return result;\n }\n\n private static void SafeDispose(IDisposable disposable)\n {\n if (disposable == null)\n return;\n\n try\n {\n disposable.Dispose();\n }\n catch (Exception) { }\n }\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(o,{...e})}):o(e)}},8358:(e,n,i)=>{i.d(n,{Z:()=>r,a:()=>s});var a=i(5271);const t={},l=a.createContext(t);function s(e){const n=a.useContext(l);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),a.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9748c478.aaf9765e.js b/assets/js/9748c478.ab7b920b.js similarity index 98% rename from assets/js/9748c478.aaf9765e.js rename to assets/js/9748c478.ab7b920b.js index 7595ab0f3..eaf573759 100644 --- a/assets/js/9748c478.aaf9765e.js +++ b/assets/js/9748c478.ab7b920b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7807],{9004:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>r,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>h});var t=a(2676),s=a(9246);const l={title:"A New Name",authors:["alfagun74"],tags:["poll results","renaming app","community feedback","GameStash","GameVault","GameShelf","Harbor","GameHub","market analysis","new name announcement","GameVault domain","special thanks","Selfhosted Podcast","Self-Hosted Newsletter","transition process"]},i=void 0,o={permalink:"/blog/2023/07/15/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-15.md",source:"@site/blog/2023-07-15.md",title:"A New Name",description:"Hey everyone,",date:"2023-07-15T00:00:00.000Z",tags:[{inline:!0,label:"poll results",permalink:"/blog/tags/poll-results"},{inline:!0,label:"renaming app",permalink:"/blog/tags/renaming-app"},{inline:!0,label:"community feedback",permalink:"/blog/tags/community-feedback"},{inline:!0,label:"GameStash",permalink:"/blog/tags/game-stash"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameShelf",permalink:"/blog/tags/game-shelf"},{inline:!0,label:"Harbor",permalink:"/blog/tags/harbor"},{inline:!0,label:"GameHub",permalink:"/blog/tags/game-hub"},{inline:!0,label:"market analysis",permalink:"/blog/tags/market-analysis"},{inline:!0,label:"new name announcement",permalink:"/blog/tags/new-name-announcement"},{inline:!0,label:"GameVault domain",permalink:"/blog/tags/game-vault-domain"},{inline:!0,label:"special thanks",permalink:"/blog/tags/special-thanks"},{inline:!0,label:"Selfhosted Podcast",permalink:"/blog/tags/selfhosted-podcast"},{inline:!0,label:"Self-Hosted Newsletter",permalink:"/blog/tags/self-hosted-newsletter"},{inline:!0,label:"transition process",permalink:"/blog/tags/transition-process"}],readingTime:3.85,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A New Name",authors:["alfagun74"],tags:["poll results","renaming app","community feedback","GameStash","GameVault","GameShelf","Harbor","GameHub","market analysis","new name announcement","GameVault domain","special thanks","Selfhosted Podcast","Self-Hosted Newsletter","transition process"]},unlisted:!1,prevItem:{title:"Quick Migration Update and new Logo",permalink:"/blog/2023/07/19/"},nextItem:{title:"A Closer Look at GameVaults 'Source-Available' Nature",permalink:"/blog/2023/07/13/"}},r={authorsImageUrls:[void 0]},h=[{value:"Summary",id:"summary",level:2},{value:"Market Analysis",id:"market-analysis",level:2},{value:"1. GameStash",id:"1-gamestash",level:3},{value:"2. GameVault",id:"2-gamevault",level:3},{value:"3. GameShelf",id:"3-gameshelf",level:3},{value:"4. Harbor",id:"4-harbor",level:3},{value:"5. GameHub",id:"5-gamehub",level:3},{value:"What's Next?",id:"whats-next",level:2},{value:"Special Thanks \u2764\ufe0f",id:"special-thanks-\ufe0f",level:2}];function d(e){const n={a:"a",br:"br",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey everyone,"}),"\n",(0,t.jsx)(n.p,{children:"We are thrilled to announce that the poll for choosing a new name for our app is finally over. The process of transitioning to the new name will commence very soon, and we can't wait to share the exciting updates with you."}),"\n",(0,t.jsx)(n.p,{children:"But first, let's dive into the poll results and shed some light on the important facts without further delay:"}),"\n",(0,t.jsx)(n.h2,{id:"summary",children:"Summary"}),"\n",(0,t.jsx)(n.p,{children:"In total, 71 people participated in the poll, providing us with valuable data to draw conclusions from. Here's a summary of the key findings:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"52.1% of the community voted against using any terms related to piracy in the app. We understand and respect this choice because it would harm our business and attract the wrong users, as we have no affiliation with piracy."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"42.3% of the community voted to recommend the app under a different name but not with its current name. This feedback motivated us to rename the app, confirming that it wasn't just a few critics on Reddit. We want to expand our community to include the families, friends, and colleagues of these people. So please, help us spread the word about the name change!"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"36.6% of you said you wouldn't contribute to our app at all solely because of its name, even if you had the opportunity. We depend on these contributions to grow and improve, so we now encourage you to participate!"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Without further ado, here are the top 5 names that emerged as winners in the poll:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"GameStash (38%)"}),"\n",(0,t.jsx)(n.li,{children:"GameVault (35.2%)"}),"\n",(0,t.jsx)(n.li,{children:"GameShelf (31%)"}),"\n",(0,t.jsx)(n.li,{children:"Harbor (29.6%)"}),"\n",(0,t.jsx)(n.li,{children:"GameHub (28.2%)"}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"As mentioned earlier, we conducted the poll without conducting market analysis beforehand. However, we recognized the significance of making an informed decision for the benefit of the community. Consequently, we proceeded to analyze each name after the poll to ensure the chosen name resonates with our vision."}),"\n",(0,t.jsx)(n.p,{children:"Allow us to share the summarized results of our market analysis:"}),"\n",(0,t.jsx)(n.h2,{id:"market-analysis",children:"Market Analysis"}),"\n",(0,t.jsx)(n.h3,{id:"1-gamestash",children:"1. GameStash"}),"\n",(0,t.jsxs)(n.p,{children:["Google Search Results: ~33,600",(0,t.jsx)(n.br,{}),"\n","Possible Domains: gamestash.de"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["There's already an app called ",(0,t.jsx)(n.a,{href:"https://gamestash.app/",children:"GameStash"})," that offers similar features to ours."]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"2-gamevault",children:"2. GameVault"}),"\n",(0,t.jsxs)(n.p,{children:["Google Search Results: ~800,000",(0,t.jsx)(n.br,{}),"\n","Possible Domains: gamevau.lt, game-vault.de"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:['The term "GameVault" is associated with a popular online casino/gambling application called ',(0,t.jsx)(n.a,{href:"https://gamevault999.com/",children:"GameVault999"}),"."]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"3-gameshelf",children:"3. GameShelf"}),"\n",(0,t.jsxs)(n.p,{children:["Google Search Results: ~560,000",(0,t.jsx)(n.br,{}),"\n","Possible Domains: gameshelf.de"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:['The name "Gameshelf" is already used by two existing applications. One is a ',(0,t.jsx)(n.a,{href:"https://gameshelf.io/",children:"Board-Game-Collection Viewer"}),", and the other is a ",(0,t.jsx)(n.a,{href:"https://gameshelf.dev",children:"Gaming Backlog"})," app."]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"4-harbor",children:"4. Harbor"}),"\n",(0,t.jsxs)(n.p,{children:["Google Search Results: ~393,000,000",(0,t.jsx)(n.br,{}),"\n","Possible Domains: harborapp.de"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:'"Harbor" is a very common word, making it challenging to find a suitable domain that aligns with our brand identity.'}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Additionally, there's a well-known app called ",(0,t.jsx)(n.a,{href:"https://goharbor.io",children:"Harbor on the Market"})," related to Docker/Kubernetes."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"5-gamehub",children:"5. GameHub"}),"\n",(0,t.jsx)(n.p,{children:"Google Search Results: ~5,690,000\nPossible Domains: gamehubapp.de"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/tkashkin/GameHub",children:"GameHub"})," is a popular game library manager"]}),"\n",(0,t.jsx)(n.li,{children:"it also sounds like a popular adult site \ud83d\ude01"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"whats-next",children:"What's Next?"}),"\n",(0,t.jsx)(n.p,{children:"We understand your eagerness for a new name, and we are equally committed to distancing ourselves from the old one. Taking into account all the suggested names and feedback, we engaged in extensive internal brainstorming, free from outside influences."}),"\n",(0,t.jsx)(n.p,{children:"We sought a name that is descriptive, intuitive, and effectively conveys the purpose of our app. Additionally, we aimed for a name that is easily memorable and emphasizes the ownership and control of a self-hosted server, security, and exclusivity."}),"\n",(0,t.jsxs)(n.p,{children:["Introducing our new name: ",(0,t.jsx)(n.strong,{children:"GameVault"}),(0,t.jsx)(n.br,{}),"\n","Available soon under this domain: ",(0,t.jsx)(n.a,{href:"https://gamevau.lt",children:"gamevau.lt"})]}),"\n",(0,t.jsx)(n.p,{children:"We have already secured the domain and registered the name wherever possible. The transition process will commence shortly. We are eager to hear your thoughts on the new name. Do you like it?"}),"\n",(0,t.jsx)(n.h2,{id:"special-thanks-\ufe0f",children:"Special Thanks \u2764\ufe0f"}),"\n",(0,t.jsx)(n.p,{children:"Well, as you all know, this was quite a journey to get here, and we wanted to give our special thanks to:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Everybody who gave this project's idea a chance, even if the name was kind of weird."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Everybody who made suggestions on our ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," server and participated in the discussions."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Everybody who voted."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["A special shoutout to @KairuByte on ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," for coming up with the name GameVault."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["We would also like to extend our gratitude to ",(0,t.jsx)(n.a,{href:"https://selfhosted.show/101?t=2731",children:"The Selfhosted Podcast"})," for discussing our app. (Brent, we are excited to hear your thoughts on the new name from a marketing standpoint \ud83d\ude1c)"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Last but not least, thank you to ",(0,t.jsx)(n.a,{href:"https://selfh.st/newsletter/2023-07-07/",children:"The Self-Hosted Newsletter"})," for mentioning our release."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Thank you all for your continued support!"}),"\n",(0,t.jsxs)(n.p,{children:["We will keep you updated as the transition unfolds. In the meantime, head over to our ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," channel to celebrate and share your thoughts on the new name."]}),"\n",(0,t.jsx)(n.p,{children:"Stay tuned!"})]})}function c(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},9246:(e,n,a)=>{a.d(n,{Z:()=>o,a:()=>i});var t=a(5271);const s={},l=t.createContext(s);function i(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7807],{3326:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>r,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>h});var t=a(2676),s=a(8358);const l={title:"A New Name",authors:["alfagun74"],tags:["poll results","renaming app","community feedback","GameStash","GameVault","GameShelf","Harbor","GameHub","market analysis","new name announcement","GameVault domain","special thanks","Selfhosted Podcast","Self-Hosted Newsletter","transition process"]},i=void 0,o={permalink:"/blog/2023/07/15/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-15.md",source:"@site/blog/2023-07-15.md",title:"A New Name",description:"Hey everyone,",date:"2023-07-15T00:00:00.000Z",tags:[{inline:!0,label:"poll results",permalink:"/blog/tags/poll-results"},{inline:!0,label:"renaming app",permalink:"/blog/tags/renaming-app"},{inline:!0,label:"community feedback",permalink:"/blog/tags/community-feedback"},{inline:!0,label:"GameStash",permalink:"/blog/tags/game-stash"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameShelf",permalink:"/blog/tags/game-shelf"},{inline:!0,label:"Harbor",permalink:"/blog/tags/harbor"},{inline:!0,label:"GameHub",permalink:"/blog/tags/game-hub"},{inline:!0,label:"market analysis",permalink:"/blog/tags/market-analysis"},{inline:!0,label:"new name announcement",permalink:"/blog/tags/new-name-announcement"},{inline:!0,label:"GameVault domain",permalink:"/blog/tags/game-vault-domain"},{inline:!0,label:"special thanks",permalink:"/blog/tags/special-thanks"},{inline:!0,label:"Selfhosted Podcast",permalink:"/blog/tags/selfhosted-podcast"},{inline:!0,label:"Self-Hosted Newsletter",permalink:"/blog/tags/self-hosted-newsletter"},{inline:!0,label:"transition process",permalink:"/blog/tags/transition-process"}],readingTime:3.85,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A New Name",authors:["alfagun74"],tags:["poll results","renaming app","community feedback","GameStash","GameVault","GameShelf","Harbor","GameHub","market analysis","new name announcement","GameVault domain","special thanks","Selfhosted Podcast","Self-Hosted Newsletter","transition process"]},unlisted:!1,prevItem:{title:"Quick Migration Update and new Logo",permalink:"/blog/2023/07/19/"},nextItem:{title:"A Closer Look at GameVaults 'Source-Available' Nature",permalink:"/blog/2023/07/13/"}},r={authorsImageUrls:[void 0]},h=[{value:"Summary",id:"summary",level:2},{value:"Market Analysis",id:"market-analysis",level:2},{value:"1. GameStash",id:"1-gamestash",level:3},{value:"2. GameVault",id:"2-gamevault",level:3},{value:"3. GameShelf",id:"3-gameshelf",level:3},{value:"4. Harbor",id:"4-harbor",level:3},{value:"5. GameHub",id:"5-gamehub",level:3},{value:"What's Next?",id:"whats-next",level:2},{value:"Special Thanks \u2764\ufe0f",id:"special-thanks-\ufe0f",level:2}];function d(e){const n={a:"a",br:"br",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey everyone,"}),"\n",(0,t.jsx)(n.p,{children:"We are thrilled to announce that the poll for choosing a new name for our app is finally over. The process of transitioning to the new name will commence very soon, and we can't wait to share the exciting updates with you."}),"\n",(0,t.jsx)(n.p,{children:"But first, let's dive into the poll results and shed some light on the important facts without further delay:"}),"\n",(0,t.jsx)(n.h2,{id:"summary",children:"Summary"}),"\n",(0,t.jsx)(n.p,{children:"In total, 71 people participated in the poll, providing us with valuable data to draw conclusions from. Here's a summary of the key findings:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"52.1% of the community voted against using any terms related to piracy in the app. We understand and respect this choice because it would harm our business and attract the wrong users, as we have no affiliation with piracy."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"42.3% of the community voted to recommend the app under a different name but not with its current name. This feedback motivated us to rename the app, confirming that it wasn't just a few critics on Reddit. We want to expand our community to include the families, friends, and colleagues of these people. So please, help us spread the word about the name change!"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"36.6% of you said you wouldn't contribute to our app at all solely because of its name, even if you had the opportunity. We depend on these contributions to grow and improve, so we now encourage you to participate!"}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Without further ado, here are the top 5 names that emerged as winners in the poll:"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"GameStash (38%)"}),"\n",(0,t.jsx)(n.li,{children:"GameVault (35.2%)"}),"\n",(0,t.jsx)(n.li,{children:"GameShelf (31%)"}),"\n",(0,t.jsx)(n.li,{children:"Harbor (29.6%)"}),"\n",(0,t.jsx)(n.li,{children:"GameHub (28.2%)"}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"As mentioned earlier, we conducted the poll without conducting market analysis beforehand. However, we recognized the significance of making an informed decision for the benefit of the community. Consequently, we proceeded to analyze each name after the poll to ensure the chosen name resonates with our vision."}),"\n",(0,t.jsx)(n.p,{children:"Allow us to share the summarized results of our market analysis:"}),"\n",(0,t.jsx)(n.h2,{id:"market-analysis",children:"Market Analysis"}),"\n",(0,t.jsx)(n.h3,{id:"1-gamestash",children:"1. GameStash"}),"\n",(0,t.jsxs)(n.p,{children:["Google Search Results: ~33,600",(0,t.jsx)(n.br,{}),"\n","Possible Domains: gamestash.de"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["There's already an app called ",(0,t.jsx)(n.a,{href:"https://gamestash.app/",children:"GameStash"})," that offers similar features to ours."]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"2-gamevault",children:"2. GameVault"}),"\n",(0,t.jsxs)(n.p,{children:["Google Search Results: ~800,000",(0,t.jsx)(n.br,{}),"\n","Possible Domains: gamevau.lt, game-vault.de"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:['The term "GameVault" is associated with a popular online casino/gambling application called ',(0,t.jsx)(n.a,{href:"https://gamevault999.com/",children:"GameVault999"}),"."]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"3-gameshelf",children:"3. GameShelf"}),"\n",(0,t.jsxs)(n.p,{children:["Google Search Results: ~560,000",(0,t.jsx)(n.br,{}),"\n","Possible Domains: gameshelf.de"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:['The name "Gameshelf" is already used by two existing applications. One is a ',(0,t.jsx)(n.a,{href:"https://gameshelf.io/",children:"Board-Game-Collection Viewer"}),", and the other is a ",(0,t.jsx)(n.a,{href:"https://gameshelf.dev",children:"Gaming Backlog"})," app."]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"4-harbor",children:"4. Harbor"}),"\n",(0,t.jsxs)(n.p,{children:["Google Search Results: ~393,000,000",(0,t.jsx)(n.br,{}),"\n","Possible Domains: harborapp.de"]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:'"Harbor" is a very common word, making it challenging to find a suitable domain that aligns with our brand identity.'}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Additionally, there's a well-known app called ",(0,t.jsx)(n.a,{href:"https://goharbor.io",children:"Harbor on the Market"})," related to Docker/Kubernetes."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"5-gamehub",children:"5. GameHub"}),"\n",(0,t.jsx)(n.p,{children:"Google Search Results: ~5,690,000\nPossible Domains: gamehubapp.de"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://github.com/tkashkin/GameHub",children:"GameHub"})," is a popular game library manager"]}),"\n",(0,t.jsx)(n.li,{children:"it also sounds like a popular adult site \ud83d\ude01"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"whats-next",children:"What's Next?"}),"\n",(0,t.jsx)(n.p,{children:"We understand your eagerness for a new name, and we are equally committed to distancing ourselves from the old one. Taking into account all the suggested names and feedback, we engaged in extensive internal brainstorming, free from outside influences."}),"\n",(0,t.jsx)(n.p,{children:"We sought a name that is descriptive, intuitive, and effectively conveys the purpose of our app. Additionally, we aimed for a name that is easily memorable and emphasizes the ownership and control of a self-hosted server, security, and exclusivity."}),"\n",(0,t.jsxs)(n.p,{children:["Introducing our new name: ",(0,t.jsx)(n.strong,{children:"GameVault"}),(0,t.jsx)(n.br,{}),"\n","Available soon under this domain: ",(0,t.jsx)(n.a,{href:"https://gamevau.lt",children:"gamevau.lt"})]}),"\n",(0,t.jsx)(n.p,{children:"We have already secured the domain and registered the name wherever possible. The transition process will commence shortly. We are eager to hear your thoughts on the new name. Do you like it?"}),"\n",(0,t.jsx)(n.h2,{id:"special-thanks-\ufe0f",children:"Special Thanks \u2764\ufe0f"}),"\n",(0,t.jsx)(n.p,{children:"Well, as you all know, this was quite a journey to get here, and we wanted to give our special thanks to:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Everybody who gave this project's idea a chance, even if the name was kind of weird."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Everybody who made suggestions on our ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," server and participated in the discussions."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(n.p,{children:"Everybody who voted."}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["A special shoutout to @KairuByte on ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," for coming up with the name GameVault."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["We would also like to extend our gratitude to ",(0,t.jsx)(n.a,{href:"https://selfhosted.show/101?t=2731",children:"The Selfhosted Podcast"})," for discussing our app. (Brent, we are excited to hear your thoughts on the new name from a marketing standpoint \ud83d\ude1c)"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:["Last but not least, thank you to ",(0,t.jsx)(n.a,{href:"https://selfh.st/newsletter/2023-07-07/",children:"The Self-Hosted Newsletter"})," for mentioning our release."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"Thank you all for your continued support!"}),"\n",(0,t.jsxs)(n.p,{children:["We will keep you updated as the transition unfolds. In the meantime, head over to our ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," channel to celebrate and share your thoughts on the new name."]}),"\n",(0,t.jsx)(n.p,{children:"Stay tuned!"})]})}function c(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8358:(e,n,a)=>{a.d(n,{Z:()=>o,a:()=>i});var t=a(5271);const s={},l=t.createContext(s);function i(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/99f2b7e6.e538f75e.js b/assets/js/99f2b7e6.acd277ff.js similarity index 84% rename from assets/js/99f2b7e6.e538f75e.js rename to assets/js/99f2b7e6.acd277ff.js index 369f6cc57..106daea5a 100644 --- a/assets/js/99f2b7e6.e538f75e.js +++ b/assets/js/99f2b7e6.acd277ff.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7546],{6487:t=>{t.exports=JSON.parse('{"tag":{"label":"twitch.tv","permalink":"/blog/tags/twitch-tv","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/twitch-tv","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7546],{8222:t=>{t.exports=JSON.parse('{"tag":{"label":"twitch.tv","permalink":"/blog/tags/twitch-tv","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/twitch-tv","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/9d9f8394.719e69be.js b/assets/js/9d9f8394.1f32004b.js similarity index 98% rename from assets/js/9d9f8394.719e69be.js rename to assets/js/9d9f8394.1f32004b.js index 48f31b9b6..5872d6680 100644 --- a/assets/js/9d9f8394.719e69be.js +++ b/assets/js/9d9f8394.1f32004b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9360],{5465:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var n=r(2676),i=r(9246);const o={sidebar_position:99},t="Troubleshooting",a={id:"troubleshooting",title:"Troubleshooting",description:"Below, we will gradually list some common issues and corresponding solutions to help you maximize the potential of your app. If you can't find a solution to your problem here, feel free to open a ticket on our Github board or seek assistance via Discord. Alternatively, you may also directly email our company address if the issue is confidential.",source:"@site/docs/troubleshooting.md",sourceDirName:".",slug:"/troubleshooting",permalink:"/docs/troubleshooting",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/troubleshooting.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:99,frontMatter:{sidebar_position:99},sidebar:"docs",previous:{title:"Licensing and Contributions",permalink:"/docs/license-contribute"}},l={},d=[{value:"All-Rounder Solutions that Fix Most Problems",id:"all-rounder-solutions-that-fix-most-problems",level:2},{value:"Common Problems and Solutions",id:"common-problems-and-solutions",level:2},{value:"Incorrect Game Mapping",id:"incorrect-game-mapping",level:3},{value:"Server fails to save media / create SQLITE Database / index games / throws a Permissions Denied / No Permission / EACCES error",id:"server-fails-to-save-media--create-sqlite-database--index-games--throws-a-permissions-denied--no-permission--eacces-error",level:3},{value:"Unable to Connect to Server / 500 Internal Server Error",id:"unable-to-connect-to-server--500-internal-server-error",level:3},{value:"Initial Admin User is not working",id:"initial-admin-user-is-not-working",level:3},{value:"Games Not Appearing in the Installations / Servers List",id:"games-not-appearing-in-the-installations--servers-list",level:3},{value:"Missing Box Arts",id:"missing-box-arts",level:3},{value:"Lack of Metadata in Games",id:"lack-of-metadata-in-games",level:3},{value:"Lost my Admin Role",id:"lost-my-admin-role",level:3},{value:"Forgot my Admin Password",id:"forgot-my-admin-password",level:3},{value:"Game Downloads are slow",id:"game-downloads-are-slow",level:3}];function c(e){const s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"troubleshooting",children:"Troubleshooting"})}),"\n",(0,n.jsxs)(s.p,{children:["Below, we will gradually list some common issues and corresponding solutions to help you maximize the potential of your app. If you can't find a solution to your problem here, feel free to open a ticket on our Github board or seek assistance via ",(0,n.jsx)(s.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),". Alternatively, you may also directly ",(0,n.jsx)(s.a,{href:"mailto:contact@phalco.de",children:"email our company address"})," if the issue is confidential."]}),"\n",(0,n.jsx)(s.admonition,{title:"How to report an issue",type:"tip",children:(0,n.jsxs)(s.p,{children:["Always provide as much information as possible so that we can reproduce the problem, and ",(0,n.jsx)(s.strong,{children:"always"})," attach a full (from the start of the server to when the problem occurs) log file with the ",(0,n.jsx)(s.code,{children:"SERVER_LOG_LEVEL"})," env-var set to ",(0,n.jsx)(s.code,{children:"debug"}),". You ",(0,n.jsx)(s.strong,{children:"must not"})," shorten log files. It just makes it harder for us to understand what went wrong. We know they get big, but we know how to read them."]})}),"\n",(0,n.jsx)(s.h2,{id:"all-rounder-solutions-that-fix-most-problems",children:"All-Rounder Solutions that Fix Most Problems"}),"\n",(0,n.jsx)(s.p,{children:"I can't mention these in every single Section below, so before you try to solve anything, try these:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Check if the server is running healthy and is reachable from your client."}),"\n",(0,n.jsx)(s.li,{children:"Restart GameVault Client and Server."}),"\n",(0,n.jsxs)(s.li,{children:["Examine Client and Server Logs for error details. (Set ",(0,n.jsx)(s.code,{children:"SERVER_LOG_LEVEL"})," to ",(0,n.jsx)(s.code,{children:"debug"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Check ",(0,n.jsx)(s.a,{href:"/docs/server-docs/configuration",children:"Server for any issues with Configuration"}),"."]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"common-problems-and-solutions",children:"Common Problems and Solutions"}),"\n",(0,n.jsx)(s.h3,{id:"incorrect-game-mapping",children:"Incorrect Game Mapping"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Refer to ",(0,n.jsx)(s.a,{href:"/docs/client-docs/how-to-use#modifying-games",children:"this"})," for instructions on how to remap your games."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"server-fails-to-save-media--create-sqlite-database--index-games--throws-a-permissions-denied--no-permission--eacces-error",children:"Server fails to save media / create SQLITE Database / index games / throws a Permissions Denied / No Permission / EACCES error"}),"\n",(0,n.jsx)(s.p,{children:"This is most probably a permissions issue due to the fact that gamevault runs as a non-root user (1000:1000) by default for security purposes."}),"\n",(0,n.jsxs)(s.p,{children:["Either make sure this user has permissions to read/write to the folders you map in as volumes, or run GameVault with a user that has the permissions to do so. You can do this by using the ",(0,n.jsx)(s.code,{children:"PUID"})," & ",(0,n.jsx)(s.code,{children:"PGID"})," environment variables."]}),"\n",(0,n.jsx)(s.h3,{id:"unable-to-connect-to-server--500-internal-server-error",children:"Unable to Connect to Server / 500 Internal Server Error"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Ensure that you use the correct protocol (http or https) in the connection string, particularly if your server doesn't support SSL."}),"\n",(0,n.jsxs)(s.li,{children:["If you have disabled authentication in your server configuration, make sure to include the authentication header for user-specific requests. ",(0,n.jsx)(s.a,{href:"/docs/server-docs/configuration",children:"See here"})," for more information."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"initial-admin-user-is-not-working",children:"Initial Admin User is not working"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"You need to register the first user. It is automatically activated and granted admin permissions."}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"games-not-appearing-in-the-installations--servers-list",children:"Games Not Appearing in the Installations / Servers List"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/server-docs/adding-games",children:"Add Games to your server"})}),"\n",(0,n.jsx)(s.li,{children:"Clear the Searchbox"}),"\n",(0,n.jsx)(s.li,{children:"Clear all active Filters"}),"\n",(0,n.jsx)(s.li,{children:"Press F5 to trigger a new search"}),"\n",(0,n.jsxs)(s.li,{children:["For installations, verify your correct root folder is set ",(0,n.jsx)(s.a,{href:"/docs/client-docs/gui#data",children:"in the settings"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Verify your server's game id does not differ from the one in your installation folder (The game's server id can be found in the lower left corner of ",(0,n.jsx)(s.a,{href:"/docs/client-docs/gui#game-settings",children:"the game's settings"}),")."]}),"\n",(0,n.jsxs)(s.li,{children:["Verify ",(0,n.jsx)(s.a,{href:"/docs/server-docs/structure",children:"your file names are correct"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Check the Filesystem Permissions. See ",(0,n.jsx)(s.a,{href:"#server-fails-to-save-media--create-sqlite-database--index-games--throws-a-permissions-denied--no-permission--eacces-error",children:"here"})]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"missing-box-arts",children:"Missing Box Arts"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/docs/server-docs/metadata-enrichment/metadata",children:"Set up a Metadata Provider"})," that provides box art for your games."]}),"\n",(0,n.jsxs)(s.li,{children:["Clear media caches ",(0,n.jsx)(s.a,{href:"/docs/client-docs/gui#data",children:"in the settings."})]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"lack-of-metadata-in-games",children:"Lack of Metadata in Games"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/docs/server-docs/metadata-enrichment/metadata",children:"Set up a Metadata Provider"})," that provides metadata for your games."]}),"\n",(0,n.jsxs)(s.li,{children:["Verify if ",(0,n.jsx)(s.a,{href:"/docs/server-docs/configuration",children:"your Metadata Provider is disabled in your server configuration"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Verify if ",(0,n.jsx)(s.a,{href:"/docs/server-docs/structure",children:"your file names are correct"})]}),"\n",(0,n.jsxs)(s.li,{children:["Verify if you accidently marked your game as ",(0,n.jsx)(s.code,{children:"(NC)"})," (No Cache Flag)"]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"lost-my-admin-role",children:"Lost my Admin Role"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Refer to ",(0,n.jsx)(s.a,{href:"./server-docs/user-management#admin-role-recovery",children:"this"})," for instructions on how to regain admin privileges for your user."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"forgot-my-admin-password",children:"Forgot my Admin Password"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Refer to ",(0,n.jsx)(s.a,{href:"./server-docs/user-management#admin-password-recovery",children:"this"})," for instructions on how to reset the password of your admin user."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"game-downloads-are-slow",children:"Game Downloads are slow"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Make sure the Clients Bandwidth Speed Limit is unset under ",(0,n.jsx)(s.code,{children:"Settings -> Application"})]}),"\n",(0,n.jsxs)(s.li,{children:["Make sure the Servers Bandwidth Speed Limit is unset (",(0,n.jsx)(s.code,{children:"SERVER_MAX_DOWNLOAD_BANDWIDTH_IN_KBPS"})," environment variable unset or 0)"]}),"\n",(0,n.jsx)(s.li,{children:"Restart your Client and Server"}),"\n",(0,n.jsx)(s.li,{children:"If your server is in your LAN, make sure you don't mistakenly access it from WAN"}),"\n",(0,n.jsx)(s.li,{children:"Check your middle-mans: Proxies, VPNs and older Network Hardware could all affect the download speeds."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},9246:(e,s,r)=>{r.d(s,{Z:()=>a,a:()=>t});var n=r(5271);const i={},o=n.createContext(i);function t(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9360],{5465:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var n=r(2676),i=r(8358);const o={sidebar_position:99},t="Troubleshooting",a={id:"troubleshooting",title:"Troubleshooting",description:"Below, we will gradually list some common issues and corresponding solutions to help you maximize the potential of your app. If you can't find a solution to your problem here, feel free to open a ticket on our Github board or seek assistance via Discord. Alternatively, you may also directly email our company address if the issue is confidential.",source:"@site/docs/troubleshooting.md",sourceDirName:".",slug:"/troubleshooting",permalink:"/docs/troubleshooting",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/troubleshooting.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:99,frontMatter:{sidebar_position:99},sidebar:"docs",previous:{title:"Licensing and Contributions",permalink:"/docs/license-contribute"}},l={},d=[{value:"All-Rounder Solutions that Fix Most Problems",id:"all-rounder-solutions-that-fix-most-problems",level:2},{value:"Common Problems and Solutions",id:"common-problems-and-solutions",level:2},{value:"Incorrect Game Mapping",id:"incorrect-game-mapping",level:3},{value:"Server fails to save media / create SQLITE Database / index games / throws a Permissions Denied / No Permission / EACCES error",id:"server-fails-to-save-media--create-sqlite-database--index-games--throws-a-permissions-denied--no-permission--eacces-error",level:3},{value:"Unable to Connect to Server / 500 Internal Server Error",id:"unable-to-connect-to-server--500-internal-server-error",level:3},{value:"Initial Admin User is not working",id:"initial-admin-user-is-not-working",level:3},{value:"Games Not Appearing in the Installations / Servers List",id:"games-not-appearing-in-the-installations--servers-list",level:3},{value:"Missing Box Arts",id:"missing-box-arts",level:3},{value:"Lack of Metadata in Games",id:"lack-of-metadata-in-games",level:3},{value:"Lost my Admin Role",id:"lost-my-admin-role",level:3},{value:"Forgot my Admin Password",id:"forgot-my-admin-password",level:3},{value:"Game Downloads are slow",id:"game-downloads-are-slow",level:3}];function c(e){const s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"troubleshooting",children:"Troubleshooting"})}),"\n",(0,n.jsxs)(s.p,{children:["Below, we will gradually list some common issues and corresponding solutions to help you maximize the potential of your app. If you can't find a solution to your problem here, feel free to open a ticket on our Github board or seek assistance via ",(0,n.jsx)(s.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),". Alternatively, you may also directly ",(0,n.jsx)(s.a,{href:"mailto:contact@phalco.de",children:"email our company address"})," if the issue is confidential."]}),"\n",(0,n.jsx)(s.admonition,{title:"How to report an issue",type:"tip",children:(0,n.jsxs)(s.p,{children:["Always provide as much information as possible so that we can reproduce the problem, and ",(0,n.jsx)(s.strong,{children:"always"})," attach a full (from the start of the server to when the problem occurs) log file with the ",(0,n.jsx)(s.code,{children:"SERVER_LOG_LEVEL"})," env-var set to ",(0,n.jsx)(s.code,{children:"debug"}),". You ",(0,n.jsx)(s.strong,{children:"must not"})," shorten log files. It just makes it harder for us to understand what went wrong. We know they get big, but we know how to read them."]})}),"\n",(0,n.jsx)(s.h2,{id:"all-rounder-solutions-that-fix-most-problems",children:"All-Rounder Solutions that Fix Most Problems"}),"\n",(0,n.jsx)(s.p,{children:"I can't mention these in every single Section below, so before you try to solve anything, try these:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Check if the server is running healthy and is reachable from your client."}),"\n",(0,n.jsx)(s.li,{children:"Restart GameVault Client and Server."}),"\n",(0,n.jsxs)(s.li,{children:["Examine Client and Server Logs for error details. (Set ",(0,n.jsx)(s.code,{children:"SERVER_LOG_LEVEL"})," to ",(0,n.jsx)(s.code,{children:"debug"}),")"]}),"\n",(0,n.jsxs)(s.li,{children:["Check ",(0,n.jsx)(s.a,{href:"/docs/server-docs/configuration",children:"Server for any issues with Configuration"}),"."]}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"common-problems-and-solutions",children:"Common Problems and Solutions"}),"\n",(0,n.jsx)(s.h3,{id:"incorrect-game-mapping",children:"Incorrect Game Mapping"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Refer to ",(0,n.jsx)(s.a,{href:"/docs/client-docs/how-to-use#modifying-games",children:"this"})," for instructions on how to remap your games."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"server-fails-to-save-media--create-sqlite-database--index-games--throws-a-permissions-denied--no-permission--eacces-error",children:"Server fails to save media / create SQLITE Database / index games / throws a Permissions Denied / No Permission / EACCES error"}),"\n",(0,n.jsx)(s.p,{children:"This is most probably a permissions issue due to the fact that gamevault runs as a non-root user (1000:1000) by default for security purposes."}),"\n",(0,n.jsxs)(s.p,{children:["Either make sure this user has permissions to read/write to the folders you map in as volumes, or run GameVault with a user that has the permissions to do so. You can do this by using the ",(0,n.jsx)(s.code,{children:"PUID"})," & ",(0,n.jsx)(s.code,{children:"PGID"})," environment variables."]}),"\n",(0,n.jsx)(s.h3,{id:"unable-to-connect-to-server--500-internal-server-error",children:"Unable to Connect to Server / 500 Internal Server Error"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Ensure that you use the correct protocol (http or https) in the connection string, particularly if your server doesn't support SSL."}),"\n",(0,n.jsxs)(s.li,{children:["If you have disabled authentication in your server configuration, make sure to include the authentication header for user-specific requests. ",(0,n.jsx)(s.a,{href:"/docs/server-docs/configuration",children:"See here"})," for more information."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"initial-admin-user-is-not-working",children:"Initial Admin User is not working"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"You need to register the first user. It is automatically activated and granted admin permissions."}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"games-not-appearing-in-the-installations--servers-list",children:"Games Not Appearing in the Installations / Servers List"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:(0,n.jsx)(s.a,{href:"/docs/server-docs/adding-games",children:"Add Games to your server"})}),"\n",(0,n.jsx)(s.li,{children:"Clear the Searchbox"}),"\n",(0,n.jsx)(s.li,{children:"Clear all active Filters"}),"\n",(0,n.jsx)(s.li,{children:"Press F5 to trigger a new search"}),"\n",(0,n.jsxs)(s.li,{children:["For installations, verify your correct root folder is set ",(0,n.jsx)(s.a,{href:"/docs/client-docs/gui#data",children:"in the settings"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Verify your server's game id does not differ from the one in your installation folder (The game's server id can be found in the lower left corner of ",(0,n.jsx)(s.a,{href:"/docs/client-docs/gui#game-settings",children:"the game's settings"}),")."]}),"\n",(0,n.jsxs)(s.li,{children:["Verify ",(0,n.jsx)(s.a,{href:"/docs/server-docs/structure",children:"your file names are correct"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Check the Filesystem Permissions. See ",(0,n.jsx)(s.a,{href:"#server-fails-to-save-media--create-sqlite-database--index-games--throws-a-permissions-denied--no-permission--eacces-error",children:"here"})]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"missing-box-arts",children:"Missing Box Arts"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/docs/server-docs/metadata-enrichment/metadata",children:"Set up a Metadata Provider"})," that provides box art for your games."]}),"\n",(0,n.jsxs)(s.li,{children:["Clear media caches ",(0,n.jsx)(s.a,{href:"/docs/client-docs/gui#data",children:"in the settings."})]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"lack-of-metadata-in-games",children:"Lack of Metadata in Games"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"/docs/server-docs/metadata-enrichment/metadata",children:"Set up a Metadata Provider"})," that provides metadata for your games."]}),"\n",(0,n.jsxs)(s.li,{children:["Verify if ",(0,n.jsx)(s.a,{href:"/docs/server-docs/configuration",children:"your Metadata Provider is disabled in your server configuration"}),"."]}),"\n",(0,n.jsxs)(s.li,{children:["Verify if ",(0,n.jsx)(s.a,{href:"/docs/server-docs/structure",children:"your file names are correct"})]}),"\n",(0,n.jsxs)(s.li,{children:["Verify if you accidently marked your game as ",(0,n.jsx)(s.code,{children:"(NC)"})," (No Cache Flag)"]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"lost-my-admin-role",children:"Lost my Admin Role"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Refer to ",(0,n.jsx)(s.a,{href:"./server-docs/user-management#admin-role-recovery",children:"this"})," for instructions on how to regain admin privileges for your user."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"forgot-my-admin-password",children:"Forgot my Admin Password"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Refer to ",(0,n.jsx)(s.a,{href:"./server-docs/user-management#admin-password-recovery",children:"this"})," for instructions on how to reset the password of your admin user."]}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"game-downloads-are-slow",children:"Game Downloads are slow"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Make sure the Clients Bandwidth Speed Limit is unset under ",(0,n.jsx)(s.code,{children:"Settings -> Application"})]}),"\n",(0,n.jsxs)(s.li,{children:["Make sure the Servers Bandwidth Speed Limit is unset (",(0,n.jsx)(s.code,{children:"SERVER_MAX_DOWNLOAD_BANDWIDTH_IN_KBPS"})," environment variable unset or 0)"]}),"\n",(0,n.jsx)(s.li,{children:"Restart your Client and Server"}),"\n",(0,n.jsx)(s.li,{children:"If your server is in your LAN, make sure you don't mistakenly access it from WAN"}),"\n",(0,n.jsx)(s.li,{children:"Check your middle-mans: Proxies, VPNs and older Network Hardware could all affect the download speeds."}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8358:(e,s,r)=>{r.d(s,{Z:()=>a,a:()=>t});var n=r(5271);const i={},o=n.createContext(i);function t(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.3baef65c.js b/assets/js/9e4087bc.3baef65c.js deleted file mode 100644 index 260d98609..000000000 --- a/assets/js/9e4087bc.3baef65c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3608],{7579:(e,t,a)=>{a.r(t),a.d(t,{default:()=>m});a(5271);var r=a(9347),n=a(9665),s=a(947),i=a(4060),c=a(8849),l=a(6078),o=a(2676);function d(e){let{year:t,posts:a}=e;const n=(0,i.P)({day:"numeric",month:"long",timeZone:"UTC"});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.Z,{as:"h3",id:t,children:t}),(0,o.jsx)("ul",{children:a.map((e=>{return(0,o.jsx)("li",{children:(0,o.jsxs)(r.Z,{to:e.metadata.permalink,children:[(t=e.metadata.date,n.format(new Date(t)))," - ",e.metadata.title]})},e.metadata.date);var t}))})]})}function h(e){let{years:t}=e;return(0,o.jsx)("section",{className:"margin-vert--lg",children:(0,o.jsx)("div",{className:"container",children:(0,o.jsx)("div",{className:"row",children:t.map(((e,t)=>(0,o.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,o.jsx)(d,{...e})},t)))})})})}function m(e){let{archive:t}=e;const a=(0,n.I)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),r=(0,n.I)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),i=function(e){const t=e.reduce(((e,t)=>{const a=t.metadata.date.split("-")[0],r=e.get(a)??[];return e.set(a,[t,...r])}),new Map);return Array.from(t,(e=>{let[t,a]=e;return{year:t,posts:a}}))}(t.blogPosts);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.d,{title:a,description:r}),(0,o.jsxs)(c.Z,{children:[(0,o.jsx)("header",{className:"hero hero--primary",children:(0,o.jsxs)("div",{className:"container",children:[(0,o.jsx)(l.Z,{as:"h1",className:"hero__title",children:a}),(0,o.jsx)("p",{className:"hero__subtitle",children:r})]})}),(0,o.jsx)("main",{children:i.length>0&&(0,o.jsx)(h,{years:i})})]})]})}},4060:(e,t,a)=>{a.d(t,{P:()=>n});var r=a(2100);function n(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,r.Z)(),a=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,r.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:a,...e})}}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.c436fd83.js b/assets/js/9e4087bc.c436fd83.js new file mode 100644 index 000000000..d5d99ddaa --- /dev/null +++ b/assets/js/9e4087bc.c436fd83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3608],{7579:(e,t,a)=>{a.r(t),a.d(t,{default:()=>m});a(5271);var r=a(6527),n=a(2922),s=a(9967),i=a(1956),c=a(3557),l=a(3221),o=a(2676);function d(e){let{year:t,posts:a}=e;const n=(0,i.P)({day:"numeric",month:"long",timeZone:"UTC"});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.Z,{as:"h3",id:t,children:t}),(0,o.jsx)("ul",{children:a.map((e=>{return(0,o.jsx)("li",{children:(0,o.jsxs)(r.Z,{to:e.metadata.permalink,children:[(t=e.metadata.date,n.format(new Date(t)))," - ",e.metadata.title]})},e.metadata.date);var t}))})]})}function h(e){let{years:t}=e;return(0,o.jsx)("section",{className:"margin-vert--lg",children:(0,o.jsx)("div",{className:"container",children:(0,o.jsx)("div",{className:"row",children:t.map(((e,t)=>(0,o.jsx)("div",{className:"col col--4 margin-vert--lg",children:(0,o.jsx)(d,{...e})},t)))})})})}function m(e){let{archive:t}=e;const a=(0,n.I)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),r=(0,n.I)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),i=function(e){const t=e.reduce(((e,t)=>{const a=t.metadata.date.split("-")[0],r=e.get(a)??[];return e.set(a,[t,...r])}),new Map);return Array.from(t,(e=>{let[t,a]=e;return{year:t,posts:a}}))}(t.blogPosts);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.d,{title:a,description:r}),(0,o.jsxs)(c.Z,{children:[(0,o.jsx)("header",{className:"hero hero--primary",children:(0,o.jsxs)("div",{className:"container",children:[(0,o.jsx)(l.Z,{as:"h1",className:"hero__title",children:a}),(0,o.jsx)("p",{className:"hero__subtitle",children:r})]})}),(0,o.jsx)("main",{children:i.length>0&&(0,o.jsx)(h,{years:i})})]})]})}},1956:(e,t,a)=>{a.d(t,{P:()=>n});var r=a(6172);function n(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,r.Z)(),a=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,r.Z)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:a,...e})}}}]); \ No newline at end of file diff --git a/assets/js/a1072f2a.69a2bfa0.js b/assets/js/a1072f2a.6a61b3d0.js similarity index 98% rename from assets/js/a1072f2a.69a2bfa0.js rename to assets/js/a1072f2a.6a61b3d0.js index 814c4332a..089f1ab81 100644 --- a/assets/js/a1072f2a.69a2bfa0.js +++ b/assets/js/a1072f2a.6a61b3d0.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7650],{1674:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>d,toc:()=>o});var t=n(2676),s=n(9246);const a={sidebar_position:98},l="GUI Overview",d={id:"client-docs/gui",title:"GUI Overview",description:"This documentation provides a clear overview of the Graphical User Interface (GUI) for GameVault. The GUI encompasses various tabs, each offering distinct functionalities.",source:"@site/docs/client-docs/gui.md",sourceDirName:"client-docs",slug:"/client-docs/gui",permalink:"/docs/client-docs/gui",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/gui.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:98,frontMatter:{sidebar_position:98},sidebar:"docs",previous:{title:"Data Management",permalink:"/docs/client-docs/data"},next:{title:"Themes",permalink:"/docs/client-docs/themes"}},r={},o=[{value:"Setup Wizard",id:"setup-wizard",level:2},{value:"Library",id:"library",level:2},{value:"Game",id:"game",level:2},{value:"Game Settings",id:"game-settings",level:2},{value:"Your Computer",id:"your-computer",level:3},{value:"Installation",id:"installation",level:4},{value:"Launch Options",id:"launch-options",level:4},{value:"Server",id:"server",level:3},{value:"Edit Game Images",id:"edit-game-images",level:4},{value:"Metadata",id:"metadata",level:4},{value:"Custom Metadata",id:"custom-metadata",level:4},{value:"Downloads",id:"downloads",level:2},{value:"Community",id:"community",level:2},{value:"User Settings",id:"user-settings",level:2},{value:"Edit User Images",id:"edit-user-images",level:3},{value:"Edit Details",id:"edit-details",level:3},{value:"Settings",id:"settings",level:2},{value:"Application",id:"application",level:3},{value:"Installation",id:"installation-1",level:3},{value:"User",id:"user",level:3},{value:"Data",id:"data",level:3},{value:"Administration",id:"administration",level:2},{value:"News",id:"news",level:2}];function c(e){const i={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"gui-overview",children:"GUI Overview"})}),"\n",(0,t.jsx)(i.p,{children:"This documentation provides a clear overview of the Graphical User Interface (GUI) for GameVault. The GUI encompasses various tabs, each offering distinct functionalities."}),"\n",(0,t.jsx)(i.h2,{id:"setup-wizard",children:"Setup Wizard"}),"\n",(0,t.jsx)(i.p,{children:"The Setup Wizard is a sub-page that appears when the necessary settings for GameVault are not configured. It guides users through these settings with detailed explanations. Exiting the wizard is optional, as all settings can also be configured in the settings tab."}),"\n",(0,t.jsx)(i.h2,{id:"library",children:"Library"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Library Tab"",src:n(5665).Z+"",width:"2560",height:"1401"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Browse available and installed games."}),"\n",(0,t.jsx)(i.li,{children:"Expand or collapse sections with expanders."}),"\n",(0,t.jsx)(i.li,{children:"Launch installed games by clicking the play button on box art."}),"\n",(0,t.jsx)(i.li,{children:"Download available games by clicking the download button on box art."}),"\n",(0,t.jsx)(i.li,{children:"Access game settings directly with the Settings icon."}),"\n",(0,t.jsx)(i.li,{children:"The paged Library loads a maximum of 80 games at once for bandwidth efficiency."}),"\n",(0,t.jsx)(i.li,{children:"Use the dice icon to open a random game on the server."}),"\n",(0,t.jsx)(i.li,{children:"Employ the Filter icon for server game filtering."}),"\n",(0,t.jsx)(i.li,{children:"Utilize the search bar to find specific games."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"game",children:"Game"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Game Page"",src:n(7345).Z+"",width:"1920",height:"1040"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View comprehensive game details including a Media Player for Trailers/Gameplays/Screenshots"}),"\n",(0,t.jsx)(i.li,{children:"Descriptions and Notes can also be displayed as Markdown."}),"\n",(0,t.jsx)(i.li,{children:"Set progress states (e.g., completed or aborted)."}),"\n",(0,t.jsx)(i.li,{children:"Review personal progress and that of other users"}),"\n",(0,t.jsx)(i.li,{children:"Add games to the download queue or launch installed games."}),"\n",(0,t.jsx)(i.li,{children:"Bookmark the game or create a share link"}),"\n",(0,t.jsxs)(i.li,{children:["Navigate back to the Library Tab using the back-arrow button or ",(0,t.jsx)(i.code,{children:"ESC"})," key."]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"game-settings",children:"Game Settings"}),"\n",(0,t.jsx)(i.h3,{id:"your-computer",children:"Your Computer"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Settings affecting local game installations."}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"installation",children:"Installation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View installation directory."}),"\n",(0,t.jsx)(i.li,{children:"Uninstall games."}),"\n",(0,t.jsx)(i.li,{children:"Check disk usage for the game."}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"launch-options",children:"Launch Options"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Set default executable and launch parameters."}),"\n",(0,t.jsx)(i.li,{children:"Create desktop shortcuts."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"server",children:"Server"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Settings affecting all users on the server (visible to editors or higher)."}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"edit-game-images",children:"Edit Game Images"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Set a different thumbnail/background image using URLs or uploads. Has also a button to simplify the search for box/background images"}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"metadata",children:"Metadata"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Metadata"",src:n(413).Z+"",width:"1920",height:"1038"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View available metadata providers."}),"\n",(0,t.jsx)(i.li,{children:"Change metadata providers priority."}),"\n",(0,t.jsx)(i.li,{children:"Unmap metadata providers. If unmaped the header text will be grayed out a bit and the action buttons are disabled."}),"\n",(0,t.jsx)(i.li,{children:"Recache selected metadata provider."}),"\n",(0,t.jsx)(i.li,{children:'Switch metadata from selectd metadata providers in the "Remap Game" section.'}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"custom-metadata",children:"Custom Metadata"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Custom Metadata"",src:n(951).Z+"",width:"1920",height:"1039"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Have full control of all the specific game details such as description, genres, tags etc including a preview of the current set data."}),"\n",(0,t.jsx)(i.li,{children:"Click the relead icon beside a game detail to load the current values into the textbox."}),"\n",(0,t.jsxs)(i.li,{children:["Clear all user overwritten details by clicking the related button on the top right.","\n",(0,t.jsx)(i.admonition,{title:"Format",type:"note",children:(0,t.jsx)(i.p,{children:"Multiple entries such as genres, tags etc. must be separated by a comma."})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"downloads",children:"Downloads"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Downloads Tab"",src:n(8250).Z+"",width:"2560",height:"1401"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Monitor running and completed downloads."}),"\n",(0,t.jsx)(i.li,{children:"View download statistics and progress."}),"\n",(0,t.jsx)(i.li,{children:"Abort downloads."}),"\n",(0,t.jsx)(i.li,{children:"Extract game archives and view extraction progress."}),"\n",(0,t.jsx)(i.li,{children:"Perform installations based on game types."}),"\n",(0,t.jsx)(i.li,{children:"Open download folders and delete downloaded files."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"community",children:"Community"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Community Tab"",src:n(9263).Z+"",width:"2560",height:"1401"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View all users on the GameVault Server."}),"\n",(0,t.jsx)(i.li,{children:"Select users for detailed game progress information."}),"\n",(0,t.jsx)(i.li,{children:"Sort and delete progresses."}),"\n",(0,t.jsx)(i.li,{children:"Edit user details and reload progresses."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"user-settings",children:"User Settings"}),"\n",(0,t.jsx)(i.h3,{id:"edit-user-images",children:"Edit User Images"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Set avatar/background images using URLs or uploads."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"edit-details",children:"Edit Details"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View and update user details."}),"\n",(0,t.jsx)(i.li,{children:"Update passwords with confirmation."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"settings",children:"Settings"}),"\n",(0,t.jsx)(i.h3,{id:"application",children:"Application"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Configure server URL and startup options."}),"\n",(0,t.jsx)(i.li,{children:"Change curren client theme or open the theme folder to insert your own."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"installation-1",children:"Installation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Configure the donwload bandwidth limit."}),"\n",(0,t.jsx)(i.li,{children:"Set if you want to auto extract downloaded games and set a default password for encrypted archives."}),"\n",(0,t.jsx)(i.li,{children:"Set if portable games should be auto installed and if the install files should be auto deleted."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"user",children:"User"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Log In to GameVault Backend Server."}),"\n",(0,t.jsx)(i.li,{children:"Log Out from GameVault Backend Server."}),"\n",(0,t.jsx)(i.li,{children:"Register a new user on the GameVault Backend Server."}),"\n",(0,t.jsx)(i.li,{children:"Enter current User Settings"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"data",children:"Data"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Select GameVault root path and clear image and offline caches."}),"\n",(0,t.jsx)(i.li,{children:"Clear image/offline cache"}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"administration",children:"Administration"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Admin Tab"",src:n(7783).Z+"",width:"2560",height:"1401"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Visible to admins only."}),"\n",(0,t.jsx)(i.li,{children:"View, activate/deactivate, and edit user roles."}),"\n",(0,t.jsx)(i.li,{children:"Delete or restore users."}),"\n",(0,t.jsx)(i.li,{children:"Open Community Tab profile by clicking on users' avatars."}),"\n",(0,t.jsx)(i.li,{children:"Re-index games on the server."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"news",children:"News"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""News"",src:n(6550).Z+"",width:"1920",height:"1035"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"At the bottom left of the screen is a button with which you can display the latest news from gamevault or the server's own news."}),"\n",(0,t.jsx)(i.li,{children:"When new news are available the button will be marked with a red badged."}),"\n",(0,t.jsx)(i.li,{children:"News can also be displayed as Markdown."}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,s.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},7783:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/admin-0ad4037b89a248bffa4e939d647d326c.png"},9263:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/community-717286c80fce866c158ab595629a937a.png"},8250:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/downloads-895661ab44edeb12e017a72eb3442d34.png"},7345:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/game-45374cc5b999ec17b1ca3578f8ff926b.png"},951:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/gamesettings_custom_metadata-693ae3ed5dbea28c3afa3b4e88bea21a.png"},413:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/gamesettings_metadata-92dd4562e50f7332b17bf9b7f0915583.png"},5665:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/library-afce4846b08b60cecca986a39b1fa331.png"},6550:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/news-c0dbf35a1fb7b8c3573951a7649d2327.png"},9246:(e,i,n)=>{n.d(i,{Z:()=>d,a:()=>l});var t=n(5271);const s={},a=t.createContext(s);function l(e){const i=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[7650],{1674:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>d,toc:()=>o});var t=n(2676),s=n(8358);const a={sidebar_position:98},l="GUI Overview",d={id:"client-docs/gui",title:"GUI Overview",description:"This documentation provides a clear overview of the Graphical User Interface (GUI) for GameVault. The GUI encompasses various tabs, each offering distinct functionalities.",source:"@site/docs/client-docs/gui.md",sourceDirName:"client-docs",slug:"/client-docs/gui",permalink:"/docs/client-docs/gui",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/gui.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:98,frontMatter:{sidebar_position:98},sidebar:"docs",previous:{title:"Data Management",permalink:"/docs/client-docs/data"},next:{title:"Themes",permalink:"/docs/client-docs/themes"}},r={},o=[{value:"Setup Wizard",id:"setup-wizard",level:2},{value:"Library",id:"library",level:2},{value:"Game",id:"game",level:2},{value:"Game Settings",id:"game-settings",level:2},{value:"Your Computer",id:"your-computer",level:3},{value:"Installation",id:"installation",level:4},{value:"Launch Options",id:"launch-options",level:4},{value:"Server",id:"server",level:3},{value:"Edit Game Images",id:"edit-game-images",level:4},{value:"Metadata",id:"metadata",level:4},{value:"Custom Metadata",id:"custom-metadata",level:4},{value:"Downloads",id:"downloads",level:2},{value:"Community",id:"community",level:2},{value:"User Settings",id:"user-settings",level:2},{value:"Edit User Images",id:"edit-user-images",level:3},{value:"Edit Details",id:"edit-details",level:3},{value:"Settings",id:"settings",level:2},{value:"Application",id:"application",level:3},{value:"Installation",id:"installation-1",level:3},{value:"User",id:"user",level:3},{value:"Data",id:"data",level:3},{value:"Administration",id:"administration",level:2},{value:"News",id:"news",level:2}];function c(e){const i={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",img:"img",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.header,{children:(0,t.jsx)(i.h1,{id:"gui-overview",children:"GUI Overview"})}),"\n",(0,t.jsx)(i.p,{children:"This documentation provides a clear overview of the Graphical User Interface (GUI) for GameVault. The GUI encompasses various tabs, each offering distinct functionalities."}),"\n",(0,t.jsx)(i.h2,{id:"setup-wizard",children:"Setup Wizard"}),"\n",(0,t.jsx)(i.p,{children:"The Setup Wizard is a sub-page that appears when the necessary settings for GameVault are not configured. It guides users through these settings with detailed explanations. Exiting the wizard is optional, as all settings can also be configured in the settings tab."}),"\n",(0,t.jsx)(i.h2,{id:"library",children:"Library"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Library Tab"",src:n(5665).Z+"",width:"2560",height:"1401"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Browse available and installed games."}),"\n",(0,t.jsx)(i.li,{children:"Expand or collapse sections with expanders."}),"\n",(0,t.jsx)(i.li,{children:"Launch installed games by clicking the play button on box art."}),"\n",(0,t.jsx)(i.li,{children:"Download available games by clicking the download button on box art."}),"\n",(0,t.jsx)(i.li,{children:"Access game settings directly with the Settings icon."}),"\n",(0,t.jsx)(i.li,{children:"The paged Library loads a maximum of 80 games at once for bandwidth efficiency."}),"\n",(0,t.jsx)(i.li,{children:"Use the dice icon to open a random game on the server."}),"\n",(0,t.jsx)(i.li,{children:"Employ the Filter icon for server game filtering."}),"\n",(0,t.jsx)(i.li,{children:"Utilize the search bar to find specific games."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"game",children:"Game"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Game Page"",src:n(7345).Z+"",width:"1920",height:"1040"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View comprehensive game details including a Media Player for Trailers/Gameplays/Screenshots"}),"\n",(0,t.jsx)(i.li,{children:"Descriptions and Notes can also be displayed as Markdown."}),"\n",(0,t.jsx)(i.li,{children:"Set progress states (e.g., completed or aborted)."}),"\n",(0,t.jsx)(i.li,{children:"Review personal progress and that of other users"}),"\n",(0,t.jsx)(i.li,{children:"Add games to the download queue or launch installed games."}),"\n",(0,t.jsx)(i.li,{children:"Bookmark the game or create a share link"}),"\n",(0,t.jsxs)(i.li,{children:["Navigate back to the Library Tab using the back-arrow button or ",(0,t.jsx)(i.code,{children:"ESC"})," key."]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"game-settings",children:"Game Settings"}),"\n",(0,t.jsx)(i.h3,{id:"your-computer",children:"Your Computer"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Settings affecting local game installations."}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"installation",children:"Installation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View installation directory."}),"\n",(0,t.jsx)(i.li,{children:"Uninstall games."}),"\n",(0,t.jsx)(i.li,{children:"Check disk usage for the game."}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"launch-options",children:"Launch Options"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Set default executable and launch parameters."}),"\n",(0,t.jsx)(i.li,{children:"Create desktop shortcuts."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"server",children:"Server"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Settings affecting all users on the server (visible to editors or higher)."}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"edit-game-images",children:"Edit Game Images"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Set a different thumbnail/background image using URLs or uploads. Has also a button to simplify the search for box/background images"}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"metadata",children:"Metadata"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Metadata"",src:n(413).Z+"",width:"1920",height:"1038"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View available metadata providers."}),"\n",(0,t.jsx)(i.li,{children:"Change metadata providers priority."}),"\n",(0,t.jsx)(i.li,{children:"Unmap metadata providers. If unmaped the header text will be grayed out a bit and the action buttons are disabled."}),"\n",(0,t.jsx)(i.li,{children:"Recache selected metadata provider."}),"\n",(0,t.jsx)(i.li,{children:'Switch metadata from selectd metadata providers in the "Remap Game" section.'}),"\n"]}),"\n",(0,t.jsx)(i.h4,{id:"custom-metadata",children:"Custom Metadata"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Custom Metadata"",src:n(951).Z+"",width:"1920",height:"1039"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Have full control of all the specific game details such as description, genres, tags etc including a preview of the current set data."}),"\n",(0,t.jsx)(i.li,{children:"Click the relead icon beside a game detail to load the current values into the textbox."}),"\n",(0,t.jsxs)(i.li,{children:["Clear all user overwritten details by clicking the related button on the top right.","\n",(0,t.jsx)(i.admonition,{title:"Format",type:"note",children:(0,t.jsx)(i.p,{children:"Multiple entries such as genres, tags etc. must be separated by a comma."})}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"downloads",children:"Downloads"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Downloads Tab"",src:n(8250).Z+"",width:"2560",height:"1401"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Monitor running and completed downloads."}),"\n",(0,t.jsx)(i.li,{children:"View download statistics and progress."}),"\n",(0,t.jsx)(i.li,{children:"Abort downloads."}),"\n",(0,t.jsx)(i.li,{children:"Extract game archives and view extraction progress."}),"\n",(0,t.jsx)(i.li,{children:"Perform installations based on game types."}),"\n",(0,t.jsx)(i.li,{children:"Open download folders and delete downloaded files."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"community",children:"Community"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Community Tab"",src:n(9263).Z+"",width:"2560",height:"1401"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View all users on the GameVault Server."}),"\n",(0,t.jsx)(i.li,{children:"Select users for detailed game progress information."}),"\n",(0,t.jsx)(i.li,{children:"Sort and delete progresses."}),"\n",(0,t.jsx)(i.li,{children:"Edit user details and reload progresses."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"user-settings",children:"User Settings"}),"\n",(0,t.jsx)(i.h3,{id:"edit-user-images",children:"Edit User Images"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Set avatar/background images using URLs or uploads."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"edit-details",children:"Edit Details"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"View and update user details."}),"\n",(0,t.jsx)(i.li,{children:"Update passwords with confirmation."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"settings",children:"Settings"}),"\n",(0,t.jsx)(i.h3,{id:"application",children:"Application"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Configure server URL and startup options."}),"\n",(0,t.jsx)(i.li,{children:"Change curren client theme or open the theme folder to insert your own."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"installation-1",children:"Installation"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Configure the donwload bandwidth limit."}),"\n",(0,t.jsx)(i.li,{children:"Set if you want to auto extract downloaded games and set a default password for encrypted archives."}),"\n",(0,t.jsx)(i.li,{children:"Set if portable games should be auto installed and if the install files should be auto deleted."}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"user",children:"User"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Log In to GameVault Backend Server."}),"\n",(0,t.jsx)(i.li,{children:"Log Out from GameVault Backend Server."}),"\n",(0,t.jsx)(i.li,{children:"Register a new user on the GameVault Backend Server."}),"\n",(0,t.jsx)(i.li,{children:"Enter current User Settings"}),"\n"]}),"\n",(0,t.jsx)(i.h3,{id:"data",children:"Data"}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Select GameVault root path and clear image and offline caches."}),"\n",(0,t.jsx)(i.li,{children:"Clear image/offline cache"}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"administration",children:"Administration"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""Admin Tab"",src:n(7783).Z+"",width:"2560",height:"1401"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"Visible to admins only."}),"\n",(0,t.jsx)(i.li,{children:"View, activate/deactivate, and edit user roles."}),"\n",(0,t.jsx)(i.li,{children:"Delete or restore users."}),"\n",(0,t.jsx)(i.li,{children:"Open Community Tab profile by clicking on users' avatars."}),"\n",(0,t.jsx)(i.li,{children:"Re-index games on the server."}),"\n"]}),"\n",(0,t.jsx)(i.h2,{id:"news",children:"News"}),"\n",(0,t.jsx)(i.p,{children:(0,t.jsx)(i.img,{alt:""News"",src:n(6550).Z+"",width:"1920",height:"1035"})}),"\n",(0,t.jsxs)(i.ul,{children:["\n",(0,t.jsx)(i.li,{children:"At the bottom left of the screen is a button with which you can display the latest news from gamevault or the server's own news."}),"\n",(0,t.jsx)(i.li,{children:"When new news are available the button will be marked with a red badged."}),"\n",(0,t.jsx)(i.li,{children:"News can also be displayed as Markdown."}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,s.a)(),...e.components};return i?(0,t.jsx)(i,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},7783:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/admin-0ad4037b89a248bffa4e939d647d326c.png"},9263:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/community-717286c80fce866c158ab595629a937a.png"},8250:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/downloads-895661ab44edeb12e017a72eb3442d34.png"},7345:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/game-45374cc5b999ec17b1ca3578f8ff926b.png"},951:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/gamesettings_custom_metadata-693ae3ed5dbea28c3afa3b4e88bea21a.png"},413:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/gamesettings_metadata-92dd4562e50f7332b17bf9b7f0915583.png"},5665:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/library-afce4846b08b60cecca986a39b1fa331.png"},6550:(e,i,n)=>{n.d(i,{Z:()=>t});const t=n.p+"assets/images/news-c0dbf35a1fb7b8c3573951a7649d2327.png"},8358:(e,i,n)=>{n.d(i,{Z:()=>d,a:()=>l});var t=n(5271);const s={},a=t.createContext(s);function l(e){const i=t.useContext(a);return t.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function d(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),t.createElement(a.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a1216fa4.5ad0b577.js b/assets/js/a1216fa4.b3f075b9.js similarity index 97% rename from assets/js/a1216fa4.5ad0b577.js rename to assets/js/a1216fa4.b3f075b9.js index 299620bd2..c2ef4f572 100644 --- a/assets/js/a1216fa4.5ad0b577.js +++ b/assets/js/a1216fa4.b3f075b9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5662],{9973:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>c,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var a=t(2676),i=t(9246);const o={title:"Celebrating 600+ Installations and announcing the upcoming big feature",authors:["alfagun74"],tags:["GameVault milestone","official installations","Discord community growth","gratitude","feedback","love for GameVault","upcoming update","Installation Pipeline","simplifying game installation","GitHub issue","subscription to Updates role","Lemmy community launch","sharing blog posts","spreading the word","support request","continued support","celebration of achievements"]},l=void 0,s={permalink:"/blog/2023/07/24/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-24.md",source:"@site/blog/2023-07-24.md",title:"Celebrating 600+ Installations and announcing the upcoming big feature",description:"Hey everyone,",date:"2023-07-24T00:00:00.000Z",tags:[{inline:!0,label:"GameVault milestone",permalink:"/blog/tags/game-vault-milestone"},{inline:!0,label:"official installations",permalink:"/blog/tags/official-installations"},{inline:!0,label:"Discord community growth",permalink:"/blog/tags/discord-community-growth"},{inline:!0,label:"gratitude",permalink:"/blog/tags/gratitude"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"love for GameVault",permalink:"/blog/tags/love-for-game-vault"},{inline:!0,label:"upcoming update",permalink:"/blog/tags/upcoming-update"},{inline:!0,label:"Installation Pipeline",permalink:"/blog/tags/installation-pipeline"},{inline:!0,label:"simplifying game installation",permalink:"/blog/tags/simplifying-game-installation"},{inline:!0,label:"GitHub issue",permalink:"/blog/tags/git-hub-issue"},{inline:!0,label:"subscription to Updates role",permalink:"/blog/tags/subscription-to-updates-role"},{inline:!0,label:"Lemmy community launch",permalink:"/blog/tags/lemmy-community-launch"},{inline:!0,label:"sharing blog posts",permalink:"/blog/tags/sharing-blog-posts"},{inline:!0,label:"spreading the word",permalink:"/blog/tags/spreading-the-word"},{inline:!0,label:"support request",permalink:"/blog/tags/support-request"},{inline:!0,label:"continued support",permalink:"/blog/tags/continued-support"},{inline:!0,label:"celebration of achievements",permalink:"/blog/tags/celebration-of-achievements"}],readingTime:2.39,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",authors:["alfagun74"],tags:["GameVault milestone","official installations","Discord community growth","gratitude","feedback","love for GameVault","upcoming update","Installation Pipeline","simplifying game installation","GitHub issue","subscription to Updates role","Lemmy community launch","sharing blog posts","spreading the word","support request","continued support","celebration of achievements"]},unlisted:!1,prevItem:{title:"Please help us prioritize!",permalink:"/blog/2023/07/29/"},nextItem:{title:"The Migrations are finally completed",permalink:"/blog/2023/07/20/"}},r={authorsImageUrls:[void 0]},u=[{value:"GameVault's Installation Pipeline",id:"gamevaults-installation-pipeline",level:4},{value:"Join us on Lemmy",id:"join-us-on-lemmy",level:4},{value:"Share GameVault with Others",id:"share-gamevault-with-others",level:4},{value:"Support Us",id:"support-us",level:4}];function m(e){const n={a:"a",code:"code",h4:"h4",p:"p",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Hey everyone,"}),"\n",(0,a.jsxs)(n.p,{children:["We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application. What's even more amazing is that around 200 dedicated users, a third of these installations, have joined our ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," community to connect, chat, and share their experiences."]}),"\n",(0,a.jsx)(n.p,{children:"We want to express our immense gratitude for your incredible support, feedback, and love for GameVault. Your ongoing encouragement inspires us to push boundaries and enhance your gaming experience. We're thrilled to announce that an awesome update is being worked on right now - the highly anticipated release of GameVault's Installation Pipeline!"}),"\n",(0,a.jsx)(n.h4,{id:"gamevaults-installation-pipeline",children:"GameVault's Installation Pipeline"}),"\n",(0,a.jsxs)(n.p,{children:["The Installation Pipeline is designed to revolutionize how you install and manage your games. It was suggested by members on our ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord server"}),". We understand the challenges of navigating through different installation processes, especially for family members who may not be tech-savvy. With the Installation Pipeline, our goal is to simplify the entire process and make it user-friendly. Whether you're an experienced gamer or not, this update will make installing games easier for you."]}),"\n",(0,a.jsxs)(n.p,{children:["You can read the details ",(0,a.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-app/issues/18",children:"here on the GitHub issue"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["Stay tuned for its upcoming release, and to be among the first to try out this awesome feature, make sure to subscribe to the ",(0,a.jsx)(n.code,{children:"@Updates"})," Role on our ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord server"})," , if you haven't already. We'll ping you as soon as it's live!"]}),"\n",(0,a.jsx)(n.h4,{id:"join-us-on-lemmy",children:"Join us on Lemmy"}),"\n",(0,a.jsxs)(n.p,{children:["To further connect with our amazing community, we're excited to announce the launch of our ",(0,a.jsx)(n.a,{href:"https://lemmy.world/c/phalcode",children:"official Lemmy community"}),". From now on, we'll also regularly share new blog posts there, providing you with more ways to stay informed and engaged. Join the Lemmy forum and become part of the growing GameVault community!"]}),"\n",(0,a.jsx)(n.h4,{id:"share-gamevault-with-others",children:"Share GameVault with Others"}),"\n",(0,a.jsx)(n.p,{children:"As we celebrate this milestone and eagerly anticipate more exciting updates, we invite you to spread the word about GameVault among your friends, family, and gaming or self-hosting communities. Your personal recommendations and referrals have played a significant role in our journey so far, and we believe they'll continue to do so in the future."}),"\n",(0,a.jsx)(n.p,{children:"We want to express our heartfelt appreciation for the feature requests, discussions, and invaluable help on our GitHub. Your support and collaborative efforts help a lot."}),"\n",(0,a.jsx)(n.h4,{id:"support-us",children:"Support Us"}),"\n",(0,a.jsx)(n.p,{children:"As we move forward, we kindly ask for your continued support. GameVault's success is currently solely built upon our incredible community, and your encouragement is what fuels us. If you love our app and believe in our vision, please consider supporting us in any way you can. It could even be something simple like a rating on the Microsoft Store. Your backing empowers us to keep our hard work going."}),"\n",(0,a.jsx)(n.p,{children:"We're eagerly looking forward to celebrating more achievements with all of you."}),"\n",(0,a.jsx)(n.p,{children:"Stay tuned, stay connected, and let's continue this journey together!"})]})}function c(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},9246:(e,n,t)=>{t.d(n,{Z:()=>s,a:()=>l});var a=t(5271);const i={},o=a.createContext(i);function l(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5662],{6746:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>l,default:()=>c,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var a=t(2676),i=t(8358);const o={title:"Celebrating 600+ Installations and announcing the upcoming big feature",authors:["alfagun74"],tags:["GameVault milestone","official installations","Discord community growth","gratitude","feedback","love for GameVault","upcoming update","Installation Pipeline","simplifying game installation","GitHub issue","subscription to Updates role","Lemmy community launch","sharing blog posts","spreading the word","support request","continued support","celebration of achievements"]},l=void 0,s={permalink:"/blog/2023/07/24/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-24.md",source:"@site/blog/2023-07-24.md",title:"Celebrating 600+ Installations and announcing the upcoming big feature",description:"Hey everyone,",date:"2023-07-24T00:00:00.000Z",tags:[{inline:!0,label:"GameVault milestone",permalink:"/blog/tags/game-vault-milestone"},{inline:!0,label:"official installations",permalink:"/blog/tags/official-installations"},{inline:!0,label:"Discord community growth",permalink:"/blog/tags/discord-community-growth"},{inline:!0,label:"gratitude",permalink:"/blog/tags/gratitude"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"love for GameVault",permalink:"/blog/tags/love-for-game-vault"},{inline:!0,label:"upcoming update",permalink:"/blog/tags/upcoming-update"},{inline:!0,label:"Installation Pipeline",permalink:"/blog/tags/installation-pipeline"},{inline:!0,label:"simplifying game installation",permalink:"/blog/tags/simplifying-game-installation"},{inline:!0,label:"GitHub issue",permalink:"/blog/tags/git-hub-issue"},{inline:!0,label:"subscription to Updates role",permalink:"/blog/tags/subscription-to-updates-role"},{inline:!0,label:"Lemmy community launch",permalink:"/blog/tags/lemmy-community-launch"},{inline:!0,label:"sharing blog posts",permalink:"/blog/tags/sharing-blog-posts"},{inline:!0,label:"spreading the word",permalink:"/blog/tags/spreading-the-word"},{inline:!0,label:"support request",permalink:"/blog/tags/support-request"},{inline:!0,label:"continued support",permalink:"/blog/tags/continued-support"},{inline:!0,label:"celebration of achievements",permalink:"/blog/tags/celebration-of-achievements"}],readingTime:2.39,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",authors:["alfagun74"],tags:["GameVault milestone","official installations","Discord community growth","gratitude","feedback","love for GameVault","upcoming update","Installation Pipeline","simplifying game installation","GitHub issue","subscription to Updates role","Lemmy community launch","sharing blog posts","spreading the word","support request","continued support","celebration of achievements"]},unlisted:!1,prevItem:{title:"Please help us prioritize!",permalink:"/blog/2023/07/29/"},nextItem:{title:"The Migrations are finally completed",permalink:"/blog/2023/07/20/"}},r={authorsImageUrls:[void 0]},u=[{value:"GameVault's Installation Pipeline",id:"gamevaults-installation-pipeline",level:4},{value:"Join us on Lemmy",id:"join-us-on-lemmy",level:4},{value:"Share GameVault with Others",id:"share-gamevault-with-others",level:4},{value:"Support Us",id:"support-us",level:4}];function m(e){const n={a:"a",code:"code",h4:"h4",p:"p",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Hey everyone,"}),"\n",(0,a.jsxs)(n.p,{children:["We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application. What's even more amazing is that around 200 dedicated users, a third of these installations, have joined our ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," community to connect, chat, and share their experiences."]}),"\n",(0,a.jsx)(n.p,{children:"We want to express our immense gratitude for your incredible support, feedback, and love for GameVault. Your ongoing encouragement inspires us to push boundaries and enhance your gaming experience. We're thrilled to announce that an awesome update is being worked on right now - the highly anticipated release of GameVault's Installation Pipeline!"}),"\n",(0,a.jsx)(n.h4,{id:"gamevaults-installation-pipeline",children:"GameVault's Installation Pipeline"}),"\n",(0,a.jsxs)(n.p,{children:["The Installation Pipeline is designed to revolutionize how you install and manage your games. It was suggested by members on our ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord server"}),". We understand the challenges of navigating through different installation processes, especially for family members who may not be tech-savvy. With the Installation Pipeline, our goal is to simplify the entire process and make it user-friendly. Whether you're an experienced gamer or not, this update will make installing games easier for you."]}),"\n",(0,a.jsxs)(n.p,{children:["You can read the details ",(0,a.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-app/issues/18",children:"here on the GitHub issue"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["Stay tuned for its upcoming release, and to be among the first to try out this awesome feature, make sure to subscribe to the ",(0,a.jsx)(n.code,{children:"@Updates"})," Role on our ",(0,a.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord server"})," , if you haven't already. We'll ping you as soon as it's live!"]}),"\n",(0,a.jsx)(n.h4,{id:"join-us-on-lemmy",children:"Join us on Lemmy"}),"\n",(0,a.jsxs)(n.p,{children:["To further connect with our amazing community, we're excited to announce the launch of our ",(0,a.jsx)(n.a,{href:"https://lemmy.world/c/phalcode",children:"official Lemmy community"}),". From now on, we'll also regularly share new blog posts there, providing you with more ways to stay informed and engaged. Join the Lemmy forum and become part of the growing GameVault community!"]}),"\n",(0,a.jsx)(n.h4,{id:"share-gamevault-with-others",children:"Share GameVault with Others"}),"\n",(0,a.jsx)(n.p,{children:"As we celebrate this milestone and eagerly anticipate more exciting updates, we invite you to spread the word about GameVault among your friends, family, and gaming or self-hosting communities. Your personal recommendations and referrals have played a significant role in our journey so far, and we believe they'll continue to do so in the future."}),"\n",(0,a.jsx)(n.p,{children:"We want to express our heartfelt appreciation for the feature requests, discussions, and invaluable help on our GitHub. Your support and collaborative efforts help a lot."}),"\n",(0,a.jsx)(n.h4,{id:"support-us",children:"Support Us"}),"\n",(0,a.jsx)(n.p,{children:"As we move forward, we kindly ask for your continued support. GameVault's success is currently solely built upon our incredible community, and your encouragement is what fuels us. If you love our app and believe in our vision, please consider supporting us in any way you can. It could even be something simple like a rating on the Microsoft Store. Your backing empowers us to keep our hard work going."}),"\n",(0,a.jsx)(n.p,{children:"We're eagerly looking forward to celebrating more achievements with all of you."}),"\n",(0,a.jsx)(n.p,{children:"Stay tuned, stay connected, and let's continue this journey together!"})]})}function c(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},8358:(e,n,t)=>{t.d(n,{Z:()=>s,a:()=>l});var a=t(5271);const i={},o=a.createContext(i);function l(e){const n=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),a.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a1f57275.99519fb9.js b/assets/js/a1f57275.f5d129b3.js similarity index 96% rename from assets/js/a1f57275.99519fb9.js rename to assets/js/a1f57275.f5d129b3.js index 388869d0c..be00713dc 100644 --- a/assets/js/a1f57275.99519fb9.js +++ b/assets/js/a1f57275.f5d129b3.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5325],{9909:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>i,default:()=>g,frontMatter:()=>l,metadata:()=>r,toc:()=>m});var n=t(2676),o=t(9246);const l={title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",authors:["alfagun74"],tags:["gaming","GameVault","source-available","self-hosted","alternative","cloud-based game platforms","DRM-free games","file server","multi-user authentication","metadata","RAWG API","health monitoring","API","Discord server","Reddit forum","Lemmy forum"]},i=void 0,r={permalink:"/blog/2023/07/01/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-01.md",source:"@site/blog/2023-07-01.md",title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",description:"Hey Guys,",date:"2023-07-01T00:00:00.000Z",tags:[{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"source-available",permalink:"/blog/tags/source-available"},{inline:!0,label:"self-hosted",permalink:"/blog/tags/self-hosted"},{inline:!0,label:"alternative",permalink:"/blog/tags/alternative"},{inline:!0,label:"cloud-based game platforms",permalink:"/blog/tags/cloud-based-game-platforms"},{inline:!0,label:"DRM-free games",permalink:"/blog/tags/drm-free-games"},{inline:!0,label:"file server",permalink:"/blog/tags/file-server"},{inline:!0,label:"multi-user authentication",permalink:"/blog/tags/multi-user-authentication"},{inline:!0,label:"metadata",permalink:"/blog/tags/metadata"},{inline:!0,label:"RAWG API",permalink:"/blog/tags/rawg-api"},{inline:!0,label:"health monitoring",permalink:"/blog/tags/health-monitoring"},{inline:!0,label:"API",permalink:"/blog/tags/api"},{inline:!0,label:"Discord server",permalink:"/blog/tags/discord-server"},{inline:!0,label:"Reddit forum",permalink:"/blog/tags/reddit-forum"},{inline:!0,label:"Lemmy forum",permalink:"/blog/tags/lemmy-forum"}],readingTime:1.78,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",authors:["alfagun74"],tags:["gaming","GameVault","source-available","self-hosted","alternative","cloud-based game platforms","DRM-free games","file server","multi-user authentication","metadata","RAWG API","health monitoring","API","Discord server","Reddit forum","Lemmy forum"]},unlisted:!1,prevItem:{title:"Choosing a New, Family-Friendly Name for this project!",permalink:"/blog/2023/07/08/"}},s={authorsImageUrls:[void 0]},m=[];function u(e){const a={a:"a",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey Guys,"}),"\n",(0,n.jsx)(a.p,{children:"Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community. "}),"\n",(0,n.jsx)(a.p,{children:"With GameVault, you can play and track games together with your friends on a shared file server, free from any restrictions that traditional game platforms may impose. We have designed it to work with DRM-free games, providing a unique solution for those who want a more flexible and open approach to gaming. Think of it like Jellyfin, but for Videogames."}),"\n",(0,n.jsx)(a.p,{children:"GameVault offers a self-hosted approach that gives you complete control over your gaming experience. The platform enables you to browse your server's game collection, securely download games, launch and play them, and even track your playtimes and progress - regardless of whether the server is offline. Additionally, you can compare stats and play states with other users on the server."}),"\n",(0,n.jsx)(a.p,{children:"Our server features offer automatic indexing of games on the file system into a database, enrichment of games with metadata like tags and genres using RAWG API, multi-user authentication, and configurable logging. We have also implemented health monitoring, full-text search, filters, sorting, pagination, and a fully documented API. The GameVault platform is highly configurable to suit your needs."}),"\n",(0,n.jsxs)(a.p,{children:["We are thrilled that you have found us, and we invite you to try GameVault today. We would be grateful for any contributions, feedback, bug reports, and feature requests you might have. You can also support us by donating using the links provided on our website. If you have any questions or would like to connect with other GameVault users, please join our ",(0,n.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),", Reddit and Lemmy communities - links to which are available in the footer."]}),"\n",(0,n.jsx)(a.p,{children:"We are passionate about creating a gaming experience that is more open, flexible, and enjoyable for everyone. We hope you will join us on this journey and experience the benefits of a truly source-available alternative to traditional game platforms with GameVault."})]})}function g(e={}){const{wrapper:a}={...(0,o.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>i});var n=t(5271);const o={},l=n.createContext(o);function i(e){const a=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(l.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5325],{2688:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>i,default:()=>g,frontMatter:()=>l,metadata:()=>r,toc:()=>m});var n=t(2676),o=t(8358);const l={title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",authors:["alfagun74"],tags:["gaming","GameVault","source-available","self-hosted","alternative","cloud-based game platforms","DRM-free games","file server","multi-user authentication","metadata","RAWG API","health monitoring","API","Discord server","Reddit forum","Lemmy forum"]},i=void 0,r={permalink:"/blog/2023/07/01/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-01.md",source:"@site/blog/2023-07-01.md",title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",description:"Hey Guys,",date:"2023-07-01T00:00:00.000Z",tags:[{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"source-available",permalink:"/blog/tags/source-available"},{inline:!0,label:"self-hosted",permalink:"/blog/tags/self-hosted"},{inline:!0,label:"alternative",permalink:"/blog/tags/alternative"},{inline:!0,label:"cloud-based game platforms",permalink:"/blog/tags/cloud-based-game-platforms"},{inline:!0,label:"DRM-free games",permalink:"/blog/tags/drm-free-games"},{inline:!0,label:"file server",permalink:"/blog/tags/file-server"},{inline:!0,label:"multi-user authentication",permalink:"/blog/tags/multi-user-authentication"},{inline:!0,label:"metadata",permalink:"/blog/tags/metadata"},{inline:!0,label:"RAWG API",permalink:"/blog/tags/rawg-api"},{inline:!0,label:"health monitoring",permalink:"/blog/tags/health-monitoring"},{inline:!0,label:"API",permalink:"/blog/tags/api"},{inline:!0,label:"Discord server",permalink:"/blog/tags/discord-server"},{inline:!0,label:"Reddit forum",permalink:"/blog/tags/reddit-forum"},{inline:!0,label:"Lemmy forum",permalink:"/blog/tags/lemmy-forum"}],readingTime:1.78,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",authors:["alfagun74"],tags:["gaming","GameVault","source-available","self-hosted","alternative","cloud-based game platforms","DRM-free games","file server","multi-user authentication","metadata","RAWG API","health monitoring","API","Discord server","Reddit forum","Lemmy forum"]},unlisted:!1,prevItem:{title:"Choosing a New, Family-Friendly Name for this project!",permalink:"/blog/2023/07/08/"}},s={authorsImageUrls:[void 0]},m=[];function u(e){const a={a:"a",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey Guys,"}),"\n",(0,n.jsx)(a.p,{children:"Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community. "}),"\n",(0,n.jsx)(a.p,{children:"With GameVault, you can play and track games together with your friends on a shared file server, free from any restrictions that traditional game platforms may impose. We have designed it to work with DRM-free games, providing a unique solution for those who want a more flexible and open approach to gaming. Think of it like Jellyfin, but for Videogames."}),"\n",(0,n.jsx)(a.p,{children:"GameVault offers a self-hosted approach that gives you complete control over your gaming experience. The platform enables you to browse your server's game collection, securely download games, launch and play them, and even track your playtimes and progress - regardless of whether the server is offline. Additionally, you can compare stats and play states with other users on the server."}),"\n",(0,n.jsx)(a.p,{children:"Our server features offer automatic indexing of games on the file system into a database, enrichment of games with metadata like tags and genres using RAWG API, multi-user authentication, and configurable logging. We have also implemented health monitoring, full-text search, filters, sorting, pagination, and a fully documented API. The GameVault platform is highly configurable to suit your needs."}),"\n",(0,n.jsxs)(a.p,{children:["We are thrilled that you have found us, and we invite you to try GameVault today. We would be grateful for any contributions, feedback, bug reports, and feature requests you might have. You can also support us by donating using the links provided on our website. If you have any questions or would like to connect with other GameVault users, please join our ",(0,n.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),", Reddit and Lemmy communities - links to which are available in the footer."]}),"\n",(0,n.jsx)(a.p,{children:"We are passionate about creating a gaming experience that is more open, flexible, and enjoyable for everyone. We hope you will join us on this journey and experience the benefits of a truly source-available alternative to traditional game platforms with GameVault."})]})}function g(e={}){const{wrapper:a}={...(0,o.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>i});var n=t(5271);const o={},l=n.createContext(o);function i(e){const a=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(l.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.87c8d08d.js b/assets/js/a6aa9e1f.87c8d08d.js new file mode 100644 index 000000000..90b9b8e50 --- /dev/null +++ b/assets/js/a6aa9e1f.87c8d08d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3089],{8602:(e,t,a)=>{a.r(t),a.d(t,{default:()=>j});a(5271);var n=a(4814),s=a(6172),r=a(9967),l=a(3509),i=a(6566),o=a(3400),c=a(8625),d=a(2740),m=a(2791),g=a(5023),u=a(2676);function h(e){const t=(0,g.CS)(e);return(0,u.jsx)(m.Z,{children:(0,u.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}function x(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,s.Z)(),{blogDescription:n,blogTitle:l,permalink:i}=t,o="/"===i?a:l;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(r.d,{title:o,description:n}),(0,u.jsx)(c.Z,{tag:"blog_posts_list"})]})}function p(e){const{metadata:t,items:a,sidebar:n}=e;return(0,u.jsxs)(i.Z,{sidebar:n,children:[(0,u.jsx)(d.Z,{items:a}),(0,u.jsx)(o.Z,{metadata:t})]})}function j(e){return(0,u.jsxs)(r.FG,{className:(0,n.Z)(l.k.wrapper.blogPages,l.k.page.blogListPage),children:[(0,u.jsx)(x,{...e}),(0,u.jsx)(h,{...e}),(0,u.jsx)(p,{...e})]})}},3400:(e,t,a)=>{a.d(t,{Z:()=>l});a(5271);var n=a(2922),s=a(5066),r=a(2676);function l(e){const{metadata:t}=e,{previousPage:a,nextPage:l}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,n.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[a&&(0,r.jsx)(s.Z,{permalink:a,title:(0,r.jsx)(n.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),l&&(0,r.jsx)(s.Z,{permalink:l,title:(0,r.jsx)(n.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},9449:(e,t,a)=>{a.d(t,{Z:()=>R});a(5271);var n=a(4814),s=a(5023),r=a(2676);function l(e){let{children:t,className:a}=e;return(0,r.jsx)("article",{className:a,children:t})}var i=a(6527);const o={title:"title_c9tz"};function c(e){let{className:t}=e;const{metadata:a,isBlogPostPage:l}=(0,s.nO)(),{permalink:c,title:d}=a,m=l?"h1":"h2";return(0,r.jsx)(m,{className:(0,n.Z)(o.title,t),children:l?d:(0,r.jsx)(i.Z,{to:c,children:d})})}var d=a(2922),m=a(2351),g=a(1956);const u={container:"container_xAnX"};function h(e){let{readingTime:t}=e;const a=function(){const{selectMessage:e}=(0,m.c)();return t=>{const a=Math.ceil(t);return e(a,(0,d.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:a}))}}();return(0,r.jsx)(r.Fragment,{children:a(t)})}function x(e){let{date:t,formattedDate:a}=e;return(0,r.jsx)("time",{dateTime:t,children:a})}function p(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:a}=(0,s.nO)(),{date:l,readingTime:i}=a,o=(0,g.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,n.Z)(u.container,"margin-vert--md",t),children:[(0,r.jsx)(x,{date:l,formattedDate:(c=l,o.format(new Date(c)))}),void 0!==i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p,{}),(0,r.jsx)(h,{readingTime:i})]})]});var c}var b=a(8059);const f={authorCol:"authorCol_btVC",imageOnlyAuthorRow:"imageOnlyAuthorRow_fBnr",imageOnlyAuthorCol:"imageOnlyAuthorCol_Y2d8"};function Z(e){let{className:t}=e;const{metadata:{authors:a},assets:l}=(0,s.nO)();if(0===a.length)return null;const i=a.every((e=>{let{name:t}=e;return!t})),o=1===a.length;return(0,r.jsx)("div",{className:(0,n.Z)("margin-top--md margin-bottom--sm",i?f.imageOnlyAuthorRow:"row",t),children:a.map(((e,t)=>(0,r.jsx)("div",{className:(0,n.Z)(!i&&(o?"col col--12":"col col--6"),i?f.imageOnlyAuthorCol:f.authorCol),children:(0,r.jsx)(b.Z,{author:{...e,imageURL:l.authorsImageUrls[t]??e.imageURL}})},t)))})}function v(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(c,{}),(0,r.jsx)(j,{}),(0,r.jsx)(Z,{})]})}var N=a(5678),w=a(2714);function k(e){let{children:t,className:a}=e;const{isBlogPostPage:l}=(0,s.nO)();return(0,r.jsx)("div",{id:l?N.uR:void 0,className:(0,n.Z)("markdown",a),children:(0,r.jsx)(w.Z,{children:t})})}var T=a(3509),P=a(3362),y=a(9813);function O(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function A(e){const{blogPostTitle:t,...a}=e;return(0,r.jsx)(i.Z,{"aria-label":(0,d.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...a,children:(0,r.jsx)(O,{})})}function C(){const{metadata:e,isBlogPostPage:t}=(0,s.nO)(),{tags:a,title:l,editUrl:i,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,m=!t&&o,g=a.length>0;if(!(g||m||i))return null;if(t){const e=!!(i||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[g&&(0,r.jsx)("div",{className:(0,n.Z)("row","margin-top--sm",T.k.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(y.Z,{tags:a})})}),e&&(0,r.jsx)(P.Z,{className:(0,n.Z)("margin-top--sm",T.k.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[g&&(0,r.jsx)("div",{className:(0,n.Z)("col",{"col--9":m}),children:(0,r.jsx)(y.Z,{tags:a})}),m&&(0,r.jsx)("div",{className:(0,n.Z)("col text--right",{"col--3":g}),children:(0,r.jsx)(A,{blogPostTitle:l,to:e.permalink})})]})}function R(e){let{children:t,className:a}=e;const i=function(){const{isBlogPostPage:e}=(0,s.nO)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(l,{className:(0,n.Z)(i,a),children:[(0,r.jsx)(v,{}),(0,r.jsx)(k,{children:t}),(0,r.jsx)(C,{})]})}},2740:(e,t,a)=>{a.d(t,{Z:()=>l});a(5271);var n=a(5023),s=a(9449),r=a(2676);function l(e){let{items:t,component:a=s.Z}=e;return(0,r.jsx)(r.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,r.jsx)(n.n4,{content:t,children:(0,r.jsx)(a,{children:(0,r.jsx)(t,{})})},t.metadata.permalink)}))})}}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.9337288d.js b/assets/js/a6aa9e1f.9337288d.js deleted file mode 100644 index c88261845..000000000 --- a/assets/js/a6aa9e1f.9337288d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3089],{8602:(e,t,a)=>{a.r(t),a.d(t,{default:()=>j});a(5271);var n=a(4814),s=a(2100),r=a(947),l=a(8832),i=a(9935),o=a(3400),c=a(8625),d=a(2740),m=a(5363),g=a(5117),u=a(2676);function h(e){const t=(0,g.CS)(e);return(0,u.jsx)(m.Z,{children:(0,u.jsx)("script",{type:"application/ld+json",children:JSON.stringify(t)})})}function x(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,s.Z)(),{blogDescription:n,blogTitle:l,permalink:i}=t,o="/"===i?a:l;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(r.d,{title:o,description:n}),(0,u.jsx)(c.Z,{tag:"blog_posts_list"})]})}function p(e){const{metadata:t,items:a,sidebar:n}=e;return(0,u.jsxs)(i.Z,{sidebar:n,children:[(0,u.jsx)(d.Z,{items:a}),(0,u.jsx)(o.Z,{metadata:t})]})}function j(e){return(0,u.jsxs)(r.FG,{className:(0,n.Z)(l.k.wrapper.blogPages,l.k.page.blogListPage),children:[(0,u.jsx)(x,{...e}),(0,u.jsx)(h,{...e}),(0,u.jsx)(p,{...e})]})}},3400:(e,t,a)=>{a.d(t,{Z:()=>l});a(5271);var n=a(9665),s=a(5066),r=a(2676);function l(e){const{metadata:t}=e,{previousPage:a,nextPage:l}=t;return(0,r.jsxs)("nav",{className:"pagination-nav","aria-label":(0,n.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"}),children:[a&&(0,r.jsx)(s.Z,{permalink:a,title:(0,r.jsx)(n.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)",children:"Newer entries"})}),l&&(0,r.jsx)(s.Z,{permalink:l,title:(0,r.jsx)(n.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)",children:"Older entries"}),isNext:!0})]})}},2924:(e,t,a)=>{a.d(t,{Z:()=>R});a(5271);var n=a(4814),s=a(5117),r=a(2676);function l(e){let{children:t,className:a}=e;return(0,r.jsx)("article",{className:a,children:t})}var i=a(9347);const o={title:"title_c9tz"};function c(e){let{className:t}=e;const{metadata:a,isBlogPostPage:l}=(0,s.nO)(),{permalink:c,title:d}=a,m=l?"h1":"h2";return(0,r.jsx)(m,{className:(0,n.Z)(o.title,t),children:l?d:(0,r.jsx)(i.Z,{to:c,children:d})})}var d=a(9665),m=a(5416),g=a(4060);const u={container:"container_xAnX"};function h(e){let{readingTime:t}=e;const a=function(){const{selectMessage:e}=(0,m.c)();return t=>{const a=Math.ceil(t);return e(a,(0,d.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:a}))}}();return(0,r.jsx)(r.Fragment,{children:a(t)})}function x(e){let{date:t,formattedDate:a}=e;return(0,r.jsx)("time",{dateTime:t,children:a})}function p(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function j(e){let{className:t}=e;const{metadata:a}=(0,s.nO)(),{date:l,readingTime:i}=a,o=(0,g.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,n.Z)(u.container,"margin-vert--md",t),children:[(0,r.jsx)(x,{date:l,formattedDate:(c=l,o.format(new Date(c)))}),void 0!==i&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p,{}),(0,r.jsx)(h,{readingTime:i})]})]});var c}var b=a(7981);const f={authorCol:"authorCol_btVC",imageOnlyAuthorRow:"imageOnlyAuthorRow_fBnr",imageOnlyAuthorCol:"imageOnlyAuthorCol_Y2d8"};function Z(e){let{className:t}=e;const{metadata:{authors:a},assets:l}=(0,s.nO)();if(0===a.length)return null;const i=a.every((e=>{let{name:t}=e;return!t})),o=1===a.length;return(0,r.jsx)("div",{className:(0,n.Z)("margin-top--md margin-bottom--sm",i?f.imageOnlyAuthorRow:"row",t),children:a.map(((e,t)=>(0,r.jsx)("div",{className:(0,n.Z)(!i&&(o?"col col--12":"col col--6"),i?f.imageOnlyAuthorCol:f.authorCol),children:(0,r.jsx)(b.Z,{author:{...e,imageURL:l.authorsImageUrls[t]??e.imageURL}})},t)))})}function v(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(c,{}),(0,r.jsx)(j,{}),(0,r.jsx)(Z,{})]})}var N=a(5678),w=a(8431);function k(e){let{children:t,className:a}=e;const{isBlogPostPage:l}=(0,s.nO)();return(0,r.jsx)("div",{id:l?N.uR:void 0,className:(0,n.Z)("markdown",a),children:(0,r.jsx)(w.Z,{children:t})})}var T=a(8832),P=a(2006),y=a(9261);function O(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function A(e){const{blogPostTitle:t,...a}=e;return(0,r.jsx)(i.Z,{"aria-label":(0,d.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...a,children:(0,r.jsx)(O,{})})}function C(){const{metadata:e,isBlogPostPage:t}=(0,s.nO)(),{tags:a,title:l,editUrl:i,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,m=!t&&o,g=a.length>0;if(!(g||m||i))return null;if(t){const e=!!(i||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[g&&(0,r.jsx)("div",{className:(0,n.Z)("row","margin-top--sm",T.k.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(y.Z,{tags:a})})}),e&&(0,r.jsx)(P.Z,{className:(0,n.Z)("margin-top--sm",T.k.blog.blogFooterEditMetaRow),editUrl:i,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[g&&(0,r.jsx)("div",{className:(0,n.Z)("col",{"col--9":m}),children:(0,r.jsx)(y.Z,{tags:a})}),m&&(0,r.jsx)("div",{className:(0,n.Z)("col text--right",{"col--3":g}),children:(0,r.jsx)(A,{blogPostTitle:l,to:e.permalink})})]})}function R(e){let{children:t,className:a}=e;const i=function(){const{isBlogPostPage:e}=(0,s.nO)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(l,{className:(0,n.Z)(i,a),children:[(0,r.jsx)(v,{}),(0,r.jsx)(k,{children:t}),(0,r.jsx)(C,{})]})}},2740:(e,t,a)=>{a.d(t,{Z:()=>l});a(5271);var n=a(5117),s=a(2924),r=a(2676);function l(e){let{items:t,component:a=s.Z}=e;return(0,r.jsx)(r.Fragment,{children:t.map((e=>{let{content:t}=e;return(0,r.jsx)(n.n4,{content:t,children:(0,r.jsx)(a,{children:(0,r.jsx)(t,{})})},t.metadata.permalink)}))})}}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.7d869959.js b/assets/js/a7bd4aaa.7d869959.js deleted file mode 100644 index eb6cd9a08..000000000 --- a/assets/js/a7bd4aaa.7d869959.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8518],{2767:(n,e,s)=>{s.r(e),s.d(e,{default:()=>d});s(5271);var r=s(947),o=s(3092),t=s(327),c=s(7677),a=s(8625),i=s(2676);function u(n){const{version:e}=n;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Z,{version:e.version,tag:(0,o.J)(e.pluginId,e.version)}),(0,i.jsx)(r.d,{children:e.noIndex&&(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){const{version:e,route:s}=n;return(0,i.jsx)(r.FG,{className:e.className,children:(0,i.jsx)(t.q,{version:e,children:(0,c.H)(s.routes)})})}function d(n){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(u,{...n}),(0,i.jsx)(l,{...n})]})}}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.b6217e6b.js b/assets/js/a7bd4aaa.b6217e6b.js new file mode 100644 index 000000000..56ec77b2f --- /dev/null +++ b/assets/js/a7bd4aaa.b6217e6b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8518],{2767:(n,e,s)=>{s.r(e),s.d(e,{default:()=>d});s(5271);var r=s(9967),o=s(684),t=s(5219),c=s(7677),a=s(8625),i=s(2676);function u(n){const{version:e}=n;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.Z,{version:e.version,tag:(0,o.J)(e.pluginId,e.version)}),(0,i.jsx)(r.d,{children:e.noIndex&&(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(n){const{version:e,route:s}=n;return(0,i.jsx)(r.FG,{className:e.className,children:(0,i.jsx)(t.q,{version:e,children:(0,c.H)(s.routes)})})}function d(n){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(u,{...n}),(0,i.jsx)(l,{...n})]})}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.4436cafa.js b/assets/js/a94703ab.4436cafa.js new file mode 100644 index 000000000..aa74d916f --- /dev/null +++ b/assets/js/a94703ab.4436cafa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4368],{7872:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(5271),o=n(4814),i=n(9967),s=n(3509),l=n(4376),r=n(1081),c=n(2922),d=n(1309),u=n(4890);const m={backToTopButton:"backToTopButton_WX52",backToTopButtonShow:"backToTopButtonShow_OIBR"};var b=n(2676);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.Ct)();return(0,d.RF)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.S)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",s.k.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(9276),x=n(3225),f=n(3320),j=n(9364),_=n(698);function v(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const k={collapseSidebarButton:"collapseSidebarButton_t0mP",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_yoHO"};function g(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",k.collapseSidebarButton),onClick:t,children:(0,b.jsx)(v,{className:k.collapseSidebarButtonIcon})})}var C=n(6701),S=n(8274);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var B=n(3955),Z=n(6422),A=n(6527),y=n(6594);function L(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function w(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.L)(),_=function(e){const t=(0,y.Z)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.LM)(e):void 0),[e,t])}(t),v=(0,l._F)(t,i),k=(0,Z.Mg)(x,i),{collapsed:g,setCollapsed:C}=(0,B.u)({initialState:()=>!!h&&(!v&&t.collapsed)}),{expandedItem:T,setExpandedItem:w}=function(){const e=(0,a.useContext)(N);if(e===I)throw new S.i6("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!g),w(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.D9)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:v,collapsed:g,updateCollapsed:E}),(0,a.useEffect)((()=>{h&&null!=T&&T!==c&&f&&C(!0)}),[h,T,c,C,f]),(0,b.jsxs)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemCategory,s.k.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":g},p),children:[(0,b.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":k}),children:[(0,b.jsx)(A.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":v}),onClick:h?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":k?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!g:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(L,{collapsed:g,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(B.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:(0,b.jsx)(V,{items:u,tabIndex:g?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var E=n(374),H=n(2366);const M={menuExternalLink:"menuExternalLink_EnPB"};function R(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l._F)(t,a),x=(0,E.Z)(d);return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(A.Z,{className:(0,o.Z)("menu__link",!x&&M.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(H.Z,{})]})},u)}const P={menuHtmlItem:"menuHtmlItem_KuMc"};function W(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(n),l&&[P.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function F(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(w,{item:t,...n});case"html":return(0,b.jsx)(W,{item:t,...n});default:return(0,b.jsx)(R,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.f)(t,n.activePath);return(0,b.jsx)(T,{children:a.map(((e,t)=>(0,b.jsx)(F,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(D),U={menu:"menu_R21V",menuWithAnnouncementBar:"menuWithAnnouncementBar_BzAP"};function z(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.n)(),[t,n]=(0,a.useState)(e);return(0,d.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,l&&U.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const Y="sidebar_bUer",K="sidebarWithHideableNavbar_SoJA",O="sidebarHidden_UCvX",X="sidebarLogo_rxVR";function q(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.L)();return(0,b.jsxs)("div",{className:(0,o.Z)(Y,s&&K,i&&O),children:[s&&(0,b.jsx)(_.Z,{tabIndex:-1,className:X}),(0,b.jsx)(z,{path:t,sidebar:n}),l&&(0,b.jsx)(g,{onClick:a})]})}const G=a.memo(q);var J=n(3158),Q=n(8568);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,Q.e)();return(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(J.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(G,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_RF0L",expandButtonIcon:"expandButtonIcon_KM58"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(v,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_HC4d",docSidebarContainerHidden:"docSidebarContainerHidden_ZfRM",sidebarViewport:"sidebarViewport_N_1E"};function se(e){let{children:t}=e;const n=(0,r.V)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.TH)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.n)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.Z)(s.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.Z)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer__7rY",docMainContainerEnhanced:"docMainContainerEnhanced_dowq",docItemWrapperEnhanced:"docItemWrapperEnhanced_ApAT"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.V)();return(0,b.jsx)("main",{className:(0,o.Z)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_rWX7",docsWrapper:"docsWrapper_n3t2"};function ue(e){let{children:t}=e;const n=(0,r.V)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(195);function be(e){const t=(0,l.SN)(e);if(!t)return(0,b.jsx)(me.Z,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.FG,{className:(0,o.Z)(s.k.page.docsDocPage),children:(0,b.jsx)(r.b,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},195:(e,t,n)=>{n.d(t,{Z:()=>l});n(5271);var a=n(4814),o=n(2922),i=n(3221),s=n(2676);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.Z)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.Z,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.4490eea1.js b/assets/js/a94703ab.4490eea1.js deleted file mode 100644 index d30ee94dc..000000000 --- a/assets/js/a94703ab.4490eea1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4368],{3745:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(5271),o=n(4814),i=n(947),s=n(8832),l=n(3077),r=n(7076),c=n(9665),d=n(5266),u=n(6137);const m={backToTopButton:"backToTopButton_WX52",backToTopButtonShow:"backToTopButtonShow_OIBR"};var b=n(2676);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.Ct)();return(0,d.RF)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.S)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",s.k.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(5874),x=n(3225),f=n(8652),j=n(5996),_=n(698);function v(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const k={collapseSidebarButton:"collapseSidebarButton_t0mP",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_yoHO"};function g(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",k.collapseSidebarButton),onClick:t,children:(0,b.jsx)(v,{className:k.collapseSidebarButtonIcon})})}var C=n(7891),S=n(1669);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var B=n(5647),Z=n(9322),A=n(9347),y=n(1951);function L(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function w(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.L)(),_=function(e){const t=(0,y.Z)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.LM)(e):void 0),[e,t])}(t),v=(0,l._F)(t,i),k=(0,Z.Mg)(x,i),{collapsed:g,setCollapsed:C}=(0,B.u)({initialState:()=>!!h&&(!v&&t.collapsed)}),{expandedItem:T,setExpandedItem:w}=function(){const e=(0,a.useContext)(N);if(e===I)throw new S.i6("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!g),w(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.D9)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:v,collapsed:g,updateCollapsed:E}),(0,a.useEffect)((()=>{h&&null!=T&&T!==c&&f&&C(!0)}),[h,T,c,C,f]),(0,b.jsxs)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemCategory,s.k.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":g},p),children:[(0,b.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":k}),children:[(0,b.jsx)(A.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":v}),onClick:h?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":k?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!g:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(L,{collapsed:g,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(B.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:(0,b.jsx)(V,{items:u,tabIndex:g?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var E=n(8642),H=n(127);const M={menuExternalLink:"menuExternalLink_EnPB"};function R(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l._F)(t,a),x=(0,E.Z)(d);return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(A.Z,{className:(0,o.Z)("menu__link",!x&&M.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(H.Z,{})]})},u)}const P={menuHtmlItem:"menuHtmlItem_KuMc"};function W(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(n),l&&[P.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function F(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(w,{item:t,...n});case"html":return(0,b.jsx)(W,{item:t,...n});default:return(0,b.jsx)(R,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.f)(t,n.activePath);return(0,b.jsx)(T,{children:a.map(((e,t)=>(0,b.jsx)(F,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(D),U={menu:"menu_R21V",menuWithAnnouncementBar:"menuWithAnnouncementBar_BzAP"};function z(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.n)(),[t,n]=(0,a.useState)(e);return(0,d.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,l&&U.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const Y="sidebar_bUer",K="sidebarWithHideableNavbar_SoJA",O="sidebarHidden_UCvX",X="sidebarLogo_rxVR";function q(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.L)();return(0,b.jsxs)("div",{className:(0,o.Z)(Y,s&&K,i&&O),children:[s&&(0,b.jsx)(_.Z,{tabIndex:-1,className:X}),(0,b.jsx)(z,{path:t,sidebar:n}),l&&(0,b.jsx)(g,{onClick:a})]})}const G=a.memo(q);var J=n(2466),Q=n(7270);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,Q.e)();return(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(J.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(G,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_RF0L",expandButtonIcon:"expandButtonIcon_KM58"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(v,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_HC4d",docSidebarContainerHidden:"docSidebarContainerHidden_ZfRM",sidebarViewport:"sidebarViewport_N_1E"};function se(e){let{children:t}=e;const n=(0,r.V)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.TH)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.n)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.Z)(s.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.Z)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer__7rY",docMainContainerEnhanced:"docMainContainerEnhanced_dowq",docItemWrapperEnhanced:"docItemWrapperEnhanced_ApAT"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.V)();return(0,b.jsx)("main",{className:(0,o.Z)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_rWX7",docsWrapper:"docsWrapper_n3t2"};function ue(e){let{children:t}=e;const n=(0,r.V)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(195);function be(e){const t=(0,l.SN)(e);if(!t)return(0,b.jsx)(me.Z,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.FG,{className:(0,o.Z)(s.k.page.docsDocPage),children:(0,b.jsx)(r.b,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},195:(e,t,n)=>{n.d(t,{Z:()=>l});n(5271);var a=n(4814),o=n(9665),i=n(6078),s=n(2676);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.Z)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.Z,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/b1d7f5b9.358c8814.js b/assets/js/b1d7f5b9.fba9eb2b.js similarity index 94% rename from assets/js/b1d7f5b9.358c8814.js rename to assets/js/b1d7f5b9.fba9eb2b.js index c32c2ee17..232a661c7 100644 --- a/assets/js/b1d7f5b9.358c8814.js +++ b/assets/js/b1d7f5b9.fba9eb2b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4039],{9490:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>o});var a=s(2676),n=s(9246);const i={sidebar_position:7},r="Game Indexing",d={id:"server-docs/indexing",title:"Game Indexing",description:"The server watches the files directory (by default /files) and creates an index of all games, when changes occur. The indexing can also be triggered via API.",source:"@site/docs/server-docs/indexing.md",sourceDirName:"server-docs",slug:"/server-docs/indexing",permalink:"/docs/server-docs/indexing",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/indexing.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:7,frontMatter:{sidebar_position:7},sidebar:"docs",previous:{title:"User Management",permalink:"/docs/server-docs/user-management"},next:{title:"Enriching your Games with Metadata",permalink:"/docs/server-docs/metadata-enrichment/metadata"}},c={},o=[];function l(e){const t={code:"code",h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"game-indexing",children:"Game Indexing"})}),"\n",(0,a.jsxs)(t.p,{children:["The server watches the files directory (by default ",(0,a.jsx)(t.code,{children:"/files"}),") and creates an index of all games, when changes occur. The indexing can also be triggered via API."]}),"\n",(0,a.jsx)(t.p,{children:"The indexing algorithm follows these steps:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"It recursively scans all game files for changes in the files directory."}),"\n",(0,a.jsxs)(t.li,{children:["For each changed game file:","\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"It checks if the exact same game already exists in the database, either based on the file path or a combination of the title and release year. If it does, the game is skipped, as it is already indexed."}),"\n",(0,a.jsx)(t.li,{children:"It checks if the game exists in the database but was previously deleted, again based on the file path or a combination of the title and release year. If so, it restores the game and updates its information with the current file's details, such as size, title, year, early access flag, path, and version."}),"\n",(0,a.jsx)(t.li,{children:"It checks if the game already exists in the database. If so, it updates the game's information with the current file's details. Such as version, game-type or early-access flag."}),"\n",(0,a.jsx)(t.li,{children:"If the game does not exist in the database at all, it indexes the game."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"Finally, a simple integrity check is performed to ensure that the games in the database also exist in the files directory, and vice versa."})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},9246:(e,t,s)=>{s.d(t,{Z:()=>d,a:()=>r});var a=s(5271);const n={},i=a.createContext(n);function r(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4039],{9490:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>o});var a=s(2676),n=s(8358);const i={sidebar_position:7},r="Game Indexing",d={id:"server-docs/indexing",title:"Game Indexing",description:"The server watches the files directory (by default /files) and creates an index of all games, when changes occur. The indexing can also be triggered via API.",source:"@site/docs/server-docs/indexing.md",sourceDirName:"server-docs",slug:"/server-docs/indexing",permalink:"/docs/server-docs/indexing",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/indexing.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:7,frontMatter:{sidebar_position:7},sidebar:"docs",previous:{title:"User Management",permalink:"/docs/server-docs/user-management"},next:{title:"Enriching your Games with Metadata",permalink:"/docs/server-docs/metadata-enrichment/metadata"}},c={},o=[];function l(e){const t={code:"code",h1:"h1",header:"header",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"game-indexing",children:"Game Indexing"})}),"\n",(0,a.jsxs)(t.p,{children:["The server watches the files directory (by default ",(0,a.jsx)(t.code,{children:"/files"}),") and creates an index of all games, when changes occur. The indexing can also be triggered via API."]}),"\n",(0,a.jsx)(t.p,{children:"The indexing algorithm follows these steps:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"It recursively scans all game files for changes in the files directory."}),"\n",(0,a.jsxs)(t.li,{children:["For each changed game file:","\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"It checks if the exact same game already exists in the database, either based on the file path or a combination of the title and release year. If it does, the game is skipped, as it is already indexed."}),"\n",(0,a.jsx)(t.li,{children:"It checks if the game exists in the database but was previously deleted, again based on the file path or a combination of the title and release year. If so, it restores the game and updates its information with the current file's details, such as size, title, year, early access flag, path, and version."}),"\n",(0,a.jsx)(t.li,{children:"It checks if the game already exists in the database. If so, it updates the game's information with the current file's details. Such as version, game-type or early-access flag."}),"\n",(0,a.jsx)(t.li,{children:"If the game does not exist in the database at all, it indexes the game."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"Finally, a simple integrity check is performed to ensure that the games in the database also exist in the files directory, and vice versa."})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},8358:(e,t,s)=>{s.d(t,{Z:()=>d,a:()=>r});var a=s(5271);const n={},i=a.createContext(n);function r(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b28c3188.4a70d5e9.js b/assets/js/b28c3188.df155f5f.js similarity index 99% rename from assets/js/b28c3188.4a70d5e9.js rename to assets/js/b28c3188.df155f5f.js index d6882c45b..74116cffc 100644 --- a/assets/js/b28c3188.4a70d5e9.js +++ b/assets/js/b28c3188.df155f5f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3559],{1234:(e,d,s)=>{s.r(d),s.d(d,{assets:()=>l,contentTitle:()=>t,default:()=>x,frontMatter:()=>n,metadata:()=>c,toc:()=>h});var r=s(2676),i=s(9246);const n={sidebar_position:2},t="Configuration",c={id:"server-docs/configuration",title:"Configuration",description:"Check out configuration.ts for all possible environment variables in case we forgot to update this page.",source:"@site/docs/server-docs/configuration.md",sourceDirName:"server-docs",slug:"/server-docs/configuration",permalink:"/docs/server-docs/configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/configuration.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Using Native Approach",permalink:"/docs/server-docs/setup/native"},next:{title:"File and Folder Structure",permalink:"/docs/server-docs/structure"}},l={},h=[{value:"Configuration Properties",id:"configuration-properties",level:2},{value:"SERVER",id:"server",level:2},{value:"VOLUMES",id:"volumes",level:2},{value:"DB",id:"db",level:2},{value:"USERS",id:"users",level:2},{value:"PARENTAL",id:"parental",level:2},{value:"GAMES",id:"games",level:2},{value:"MEDIA",id:"media",level:2},{value:"METADATA",id:"metadata",level:2},{value:"TESTING",id:"testing",level:2}];function o(e){const d={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.header,{children:(0,r.jsx)(d.h1,{id:"configuration",children:"Configuration"})}),"\n",(0,r.jsx)(d.admonition,{type:"tip",children:(0,r.jsxs)(d.p,{children:["Check out ",(0,r.jsx)(d.a,{href:"https://github.com/Phalcode/gamevault-backend/blob/master/src/configuration.ts",children:"configuration.ts"})," for all possible environment variables in case we forgot to update this page."]})}),"\n",(0,r.jsx)(d.p,{children:"All configuration properties of your GameVault server are passed as environment variables or via a .env file. The following tables describe the available properties, their default values, explanations, and possible values."}),"\n",(0,r.jsx)(d.h2,{id:"configuration-properties",children:"Configuration Properties"}),"\n",(0,r.jsxs)(d.p,{children:["This page describes the various configuration properties used in the application. These properties can be configured in the environment variables or in a ",(0,r.jsx)(d.code,{children:".env"})," file."]}),"\n",(0,r.jsx)(d.h2,{id:"server",children:"SERVER"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"PUID"})}),(0,r.jsx)(d.td,{children:"The User-Identifer that should be used."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1000"})}),(0,r.jsx)(d.td,{children:"Any user id (number)"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"PGID"})}),(0,r.jsx)(d.td,{children:"The Group-Identifer that should be used."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1000"})}),(0,r.jsx)(d.td,{children:"Any group id (number)"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_PORT"})}),(0,r.jsx)(d.td,{children:"The port the server should use. (Only relevant if the server is run without docker on bare metal.)"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"8080"})}),(0,r.jsx)(d.td,{children:"Any non-reserved free port (1024 to 49151)"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_LOG_LEVEL"})}),(0,r.jsx)(d.td,{children:"The log level of the server."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"info"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"debug"}),", ",(0,r.jsx)(d.code,{children:"info"}),", ",(0,r.jsx)(d.code,{children:"warn"}),", ",(0,r.jsx)(d.code,{children:"error"}),", ",(0,r.jsx)(d.code,{children:"fatal"}),", ",(0,r.jsx)(d.code,{children:"off"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_LOG_FILES_ENABLED"})}),(0,r.jsxs)(d.td,{children:["If the server should also write the logs to the ",(0,r.jsx)(d.code,{children:"VOLUMES_LOGS"})," directory via rolling file logger."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"true"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_REQUEST_LOG_FORMAT"})}),(0,r.jsxs)(d.td,{children:["The ",(0,r.jsx)(d.a,{href:"https://www.npmjs.com/package/morgan#predefined-formats",children:"morgan log format"})," for incoming HTTP Requests"]}),(0,r.jsx)(d.td,{children:"Custom Log Format"}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"short"}),", ",(0,r.jsx)(d.code,{children:"combined"})," ",(0,r.jsx)(d.a,{href:"https://www.npmjs.com/package/morgan#predefined-formats",children:"and many more"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_CORS_ALLOWED_ORIGINS"})}),(0,r.jsx)(d.td,{children:"Allowed CORS origins for the server."}),(0,r.jsx)(d.td,{children:"All Origins"}),(0,r.jsx)(d.td,{children:"A comma-separated list of origins"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_REGISTRATION_DISABLED"})}),(0,r.jsx)(d.td,{children:"If registration is enabled or not."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_ACCOUNT_ACTIVATION_DISABLED"})}),(0,r.jsx)(d.td,{children:"If accounts need to be activated by an admin before using them."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_ADMIN_USERNAME"})}),(0,r.jsxs)(d.td,{children:["Used for role recovery of existing users. The Server grants Admin Role to an existing User with this Username on register or startup. ",(0,r.jsx)(d.strong,{children:"\u26a0\ufe0f This won't register a new account!"})]}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any username"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_ADMIN_PASSWORD"})}),(0,r.jsxs)(d.td,{children:["Used for password recovery of existing users. Resets the password of the existing user with the username set in ",(0,r.jsx)(d.code,{children:"SERVER_ADMIN_USERNAME"})," to this password on startup. ",(0,r.jsx)(d.strong,{children:"\u26a0\ufe0f This won't register a new account!"})]}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any password (No Length Validation)"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_API_DOCS_ENABLED"})}),(0,r.jsxs)(d.td,{children:["Enables the API Documentation on ",(0,r.jsx)(d.code,{children:"/api/docs"}),", ",(0,r.jsx)(d.code,{children:"/api/docs-json"})," & ",(0,r.jsx)(d.code,{children:"/api/docs/yaml"}),"."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_MAX_DOWNLOAD_BANDWIDTH_IN_KBPS"})}),(0,r.jsx)(d.td,{children:"Maximum bandwidth for downloads on this server in KB/s."}),(0,r.jsx)(d.td,{children:"- (Unlimited)"}),(0,r.jsx)(d.td,{children:"Any Number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_ONLINE_ACTIVITIES_DISABLED"})}),(0,r.jsx)(d.td,{children:'Whether or not the server should listen to online activities like "ONLINE", "BUSY", "PLAYING" etc. If this is set to true, all users will always be shown as offline.'}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_STACK_TRACE_LIMIT"})}),(0,r.jsx)(d.td,{children:"Configures the maximum number of stack frames to display in error stack traces, with a higher value providing more detailed debugging information."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"10"})}),(0,r.jsx)(d.td,{children:"Any Number"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"volumes",children:"VOLUMES"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_CONFIG"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for configuring GameVault."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/config"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_FILES"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for game files."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/files"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_MEDIA"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for media."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/media"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_LOGS"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for logs."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/logs"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_SQLITEDB"})}),(0,r.jsxs)(d.td,{children:["Folder inside container used for ",(0,r.jsx)(d.code,{children:"SQLITE"})," database. (Not needed if ",(0,r.jsx)(d.code,{children:"DB_SYSTEM"})," is set to ",(0,r.jsx)(d.code,{children:"POSTGRESQL"}),")"]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/db"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_PLUGINS"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for plugins."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/plugins"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"db",children:"DB"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_SYSTEM"})}),(0,r.jsx)(d.td,{children:"The database system used (POSTGRESQL or SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"POSTGRESQL"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"POSTGRESQL"}),", ",(0,r.jsx)(d.code,{children:"SQLITE"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_HOST"})}),(0,r.jsx)(d.td,{children:"The host of the database (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"localhost"})}),(0,r.jsx)(d.td,{children:"Any valid host name"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_PORT"})}),(0,r.jsx)(d.td,{children:"The port of the database (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"5432"})}),(0,r.jsx)(d.td,{children:"Any valid port number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_USERNAME"})}),(0,r.jsx)(d.td,{children:"The username for the database (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"default"})}),(0,r.jsx)(d.td,{children:"Any valid username"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_PASSWORD"})}),(0,r.jsx)(d.td,{children:"The password for the database (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"default"})}),(0,r.jsx)(d.td,{children:"Any valid password"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_DATABASE"})}),(0,r.jsx)(d.td,{children:"The database name (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"gamevault"})}),(0,r.jsx)(d.td,{children:"Any valid database name"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_DEBUG"})}),(0,r.jsx)(d.td,{children:"Log all SQL Statements sent to the database."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_SYNCHRONIZE"})}),(0,r.jsx)(d.td,{children:"Force synchronizes the database with the entities. (This could break your database!)"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_ENABLED"})}),(0,r.jsx)(d.td,{children:"Enables TLS for the database. (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_REJECT_UNAUTHORIZED_ENABLED"})}),(0,r.jsx)(d.td,{children:"Whether the database will reject TLS connections that do not present a valid, trusted certificate."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_KEY_PATH"})}),(0,r.jsx)(d.td,{children:"The file path to the private key used for securing TLS connections to the database."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any file path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_CERTIFICATE_PATH"})}),(0,r.jsx)(d.td,{children:"The file path to the TLS certificate used for authenticating the database server."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any file path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_CA_CERTIFICATE_PATH"})}),(0,r.jsx)(d.td,{children:"The file path to the CA certificate used for verifying client certificates in TLS connections."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any file path"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"users",children:"USERS"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"USERS_REQUIRE_EMAIL"})}),(0,r.jsxs)(d.td,{children:["Require ",(0,r.jsx)(d.strong,{children:"Email"})," for new registrations."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"USERS_REQUIRE_FIRST_NAME"})}),(0,r.jsxs)(d.td,{children:["Require ",(0,r.jsx)(d.strong,{children:"First Name"})," for new registrations."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"USERS_REQUIRE_LAST_NAME"})}),(0,r.jsxs)(d.td,{children:["Require ",(0,r.jsx)(d.strong,{children:"Last Name"})," for new registrations."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"USERS_REQUIRE_BIRTH_DATE"})}),(0,r.jsxs)(d.td,{children:["Require ",(0,r.jsx)(d.strong,{children:"Birth Date"})," for new registrations. (",(0,r.jsxs)(d.strong,{children:["Automatically set to ",(0,r.jsx)(d.code,{children:"true"})," when ",(0,r.jsx)(d.code,{children:"PARENTAL_AGE_RESTRICTION_ENABLED"})," is true"]}),")"]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"parental",children:"PARENTAL"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"PARENTAL_AGE_RESTRICTION_ENABLED"})}),(0,r.jsx)(d.td,{children:"Determines whether age-based parental restrictions are enforced."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"PARENTAL_AGE_OF_MAJORITY"})}),(0,r.jsx)(d.td,{children:"The age at which an individual is legally recognized as an adult for parental restrictions."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"18"})}),(0,r.jsx)(d.td,{children:"Any number"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"games",children:"GAMES"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"GAMES_INDEX_INTERVAL_IN_MINUTES"})}),(0,r.jsx)(d.td,{children:"The index interval, measured in minutes, decides how frequently the server should check for changes in games in the /files directory. This used to be essential before we implemented the filewatcher to the server. Nowadays, it's optional for rare situations where the filewatcher might miss changes. If set to 0, it won't regularly trigger reindexing and solely depend on the filewatcher."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"60"})}),(0,r.jsx)(d.td,{children:"Any number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"GAMES_SUPPORTED_FILE_FORMATS"})}),(0,r.jsx)(d.td,{children:"Comma-Seperated list of supported file-types GameVault should detect."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.a,{href:"/docs/server-docs/structure#supported-archive-formats",children:"All Supported Formats"})}),(0,r.jsx)(d.td,{children:'".zip,.7z,.rar"'})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"GAMES_SEARCH_RECURSIVE"})}),(0,r.jsx)(d.td,{children:"If indexer should search for games in subfolders."}),(0,r.jsx)(d.td,{children:"true"}),(0,r.jsx)(d.td,{children:'"true", "false'})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"GAMES_DEFAULT_ARCHIVE_PASSWORD"})}),(0,r.jsx)(d.td,{children:"A default password for archives. Useful if you always use the same password for your games and want Game Type Detection to work with the encrypted files. Without this game type detection on encrypted archives depends on the file extension and if the headers are encrypted"}),(0,r.jsx)(d.td,{children:'"Anything"'}),(0,r.jsx)(d.td,{children:"Any string"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"media",children:"MEDIA"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"MEDIA_MAX_SIZE"})}),(0,r.jsx)(d.td,{children:"The maximum size for media uploads. Set it to 0 to disable media uploads."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"10 mb"})}),(0,r.jsx)(d.td,{children:'e.g. "10 mb", "5 gb", "300 kb"'})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"MEDIA_SUPPORTED_FORMATS"})}),(0,r.jsx)(d.td,{children:"List of supported media formats (MIME Types) on this server, separated by commas."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.a,{href:"/docs/server-docs/media#supported-formats",children:"See here"})}),(0,r.jsx)(d.td,{children:"Comma separated list of MIME Types."})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"MEDIA_GC_DISABLED"})}),(0,r.jsx)(d.td,{children:"Whether or not media garbage collection is enabled. (Deletes unused media)"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"MEDIA_GC_INTERVAL_IN_MINUTES"})}),(0,r.jsx)(d.td,{children:"The interval in minutes for media garbage collection."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"60"})}),(0,r.jsx)(d.td,{children:"Any number"})]})]})]}),"\n",(0,r.jsx)(d.p,{children:"Here are the descriptions for the metadata properties:"}),"\n",(0,r.jsx)(d.h2,{id:"metadata",children:"METADATA"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_TTL_IN_DAYS"})}),(0,r.jsx)(d.td,{children:"The number of days metadata is considered fresh before requiring an update."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"30"})}),(0,r.jsx)(d.td,{children:"Any number of days"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_ENABLED"})}),(0,r.jsx)(d.td,{children:"Enables or disables the built-in integration with IGDB for metadata retrieval."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"true"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_PRIORITY"})}),(0,r.jsx)(d.td,{children:"The priority level for IGDB metadata sources when multiple metadata sources are available."}),(0,r.jsx)(d.td,{children:"1"}),(0,r.jsx)(d.td,{children:"Any number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_REQUEST_INTERVAL_MS"})}),(0,r.jsxs)(d.td,{children:["The interval, in milliseconds, to wait between consecutive requests to prevent exceeding rate limits. This delay will be applied ",(0,r.jsx)(d.strong,{children:"before"})," each call to the provider."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"250"})}),(0,r.jsx)(d.td,{children:"Any number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_ID"})}),(0,r.jsx)(d.td,{children:"The Client-ID used for authenticating requests to the IGDB API."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Your Client ID"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_SECRET"})}),(0,r.jsx)(d.td,{children:"The Client-Secret used for authenticating requests to the IGDB API."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Your Client Secret"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"testing",children:"TESTING"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"TESTING_AUTHENTICATION_DISABLED"})}),(0,r.jsxs)(d.td,{children:["If ",(0,r.jsx)(d.code,{children:"true"}),", the API will accept any auth header. Useful for testing without authentication."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"TESTING_MOCK_FILES"})}),(0,r.jsxs)(d.td,{children:["If ",(0,r.jsx)(d.code,{children:"true"}),", the server will mock all files or ignore filesystem functionalities. Useful for testing without real files."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"TESTING_IN_MEMORY_DB"})}),(0,r.jsxs)(d.td,{children:["If ",(0,r.jsx)(d.code,{children:"true"}),", the server will use an in-memory database. Useful for testing without creating an actual database. Only works with SQLITE."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"TESTING_MOCK_PROVIDERS"})}),(0,r.jsxs)(d.td,{children:["If ",(0,r.jsx)(d.code,{children:"true"}),", the server will create two mock providers. (-9999 and 9999 Priority) Useful for testing metadata-merges."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]})]})]})]})}function x(e={}){const{wrapper:d}={...(0,i.a)(),...e.components};return d?(0,r.jsx)(d,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},9246:(e,d,s)=>{s.d(d,{Z:()=>c,a:()=>t});var r=s(5271);const i={},n=r.createContext(i);function t(e){const d=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function c(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(n.Provider,{value:d},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3559],{1234:(e,d,s)=>{s.r(d),s.d(d,{assets:()=>l,contentTitle:()=>t,default:()=>x,frontMatter:()=>n,metadata:()=>c,toc:()=>h});var r=s(2676),i=s(8358);const n={sidebar_position:2},t="Configuration",c={id:"server-docs/configuration",title:"Configuration",description:"Check out configuration.ts for all possible environment variables in case we forgot to update this page.",source:"@site/docs/server-docs/configuration.md",sourceDirName:"server-docs",slug:"/server-docs/configuration",permalink:"/docs/server-docs/configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/configuration.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"docs",previous:{title:"Using Native Approach",permalink:"/docs/server-docs/setup/native"},next:{title:"File and Folder Structure",permalink:"/docs/server-docs/structure"}},l={},h=[{value:"Configuration Properties",id:"configuration-properties",level:2},{value:"SERVER",id:"server",level:2},{value:"VOLUMES",id:"volumes",level:2},{value:"DB",id:"db",level:2},{value:"USERS",id:"users",level:2},{value:"PARENTAL",id:"parental",level:2},{value:"GAMES",id:"games",level:2},{value:"MEDIA",id:"media",level:2},{value:"METADATA",id:"metadata",level:2},{value:"TESTING",id:"testing",level:2}];function o(e){const d={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.header,{children:(0,r.jsx)(d.h1,{id:"configuration",children:"Configuration"})}),"\n",(0,r.jsx)(d.admonition,{type:"tip",children:(0,r.jsxs)(d.p,{children:["Check out ",(0,r.jsx)(d.a,{href:"https://github.com/Phalcode/gamevault-backend/blob/master/src/configuration.ts",children:"configuration.ts"})," for all possible environment variables in case we forgot to update this page."]})}),"\n",(0,r.jsx)(d.p,{children:"All configuration properties of your GameVault server are passed as environment variables or via a .env file. The following tables describe the available properties, their default values, explanations, and possible values."}),"\n",(0,r.jsx)(d.h2,{id:"configuration-properties",children:"Configuration Properties"}),"\n",(0,r.jsxs)(d.p,{children:["This page describes the various configuration properties used in the application. These properties can be configured in the environment variables or in a ",(0,r.jsx)(d.code,{children:".env"})," file."]}),"\n",(0,r.jsx)(d.h2,{id:"server",children:"SERVER"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"PUID"})}),(0,r.jsx)(d.td,{children:"The User-Identifer that should be used."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1000"})}),(0,r.jsx)(d.td,{children:"Any user id (number)"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"PGID"})}),(0,r.jsx)(d.td,{children:"The Group-Identifer that should be used."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1000"})}),(0,r.jsx)(d.td,{children:"Any group id (number)"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_PORT"})}),(0,r.jsx)(d.td,{children:"The port the server should use. (Only relevant if the server is run without docker on bare metal.)"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"8080"})}),(0,r.jsx)(d.td,{children:"Any non-reserved free port (1024 to 49151)"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_LOG_LEVEL"})}),(0,r.jsx)(d.td,{children:"The log level of the server."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"info"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"debug"}),", ",(0,r.jsx)(d.code,{children:"info"}),", ",(0,r.jsx)(d.code,{children:"warn"}),", ",(0,r.jsx)(d.code,{children:"error"}),", ",(0,r.jsx)(d.code,{children:"fatal"}),", ",(0,r.jsx)(d.code,{children:"off"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_LOG_FILES_ENABLED"})}),(0,r.jsxs)(d.td,{children:["If the server should also write the logs to the ",(0,r.jsx)(d.code,{children:"VOLUMES_LOGS"})," directory via rolling file logger."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"true"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_REQUEST_LOG_FORMAT"})}),(0,r.jsxs)(d.td,{children:["The ",(0,r.jsx)(d.a,{href:"https://www.npmjs.com/package/morgan#predefined-formats",children:"morgan log format"})," for incoming HTTP Requests"]}),(0,r.jsx)(d.td,{children:"Custom Log Format"}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"short"}),", ",(0,r.jsx)(d.code,{children:"combined"})," ",(0,r.jsx)(d.a,{href:"https://www.npmjs.com/package/morgan#predefined-formats",children:"and many more"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_CORS_ALLOWED_ORIGINS"})}),(0,r.jsx)(d.td,{children:"Allowed CORS origins for the server."}),(0,r.jsx)(d.td,{children:"All Origins"}),(0,r.jsx)(d.td,{children:"A comma-separated list of origins"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_REGISTRATION_DISABLED"})}),(0,r.jsx)(d.td,{children:"If registration is enabled or not."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_ACCOUNT_ACTIVATION_DISABLED"})}),(0,r.jsx)(d.td,{children:"If accounts need to be activated by an admin before using them."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_ADMIN_USERNAME"})}),(0,r.jsxs)(d.td,{children:["Used for role recovery of existing users. The Server grants Admin Role to an existing User with this Username on register or startup. ",(0,r.jsx)(d.strong,{children:"\u26a0\ufe0f This won't register a new account!"})]}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any username"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_ADMIN_PASSWORD"})}),(0,r.jsxs)(d.td,{children:["Used for password recovery of existing users. Resets the password of the existing user with the username set in ",(0,r.jsx)(d.code,{children:"SERVER_ADMIN_USERNAME"})," to this password on startup. ",(0,r.jsx)(d.strong,{children:"\u26a0\ufe0f This won't register a new account!"})]}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any password (No Length Validation)"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_API_DOCS_ENABLED"})}),(0,r.jsxs)(d.td,{children:["Enables the API Documentation on ",(0,r.jsx)(d.code,{children:"/api/docs"}),", ",(0,r.jsx)(d.code,{children:"/api/docs-json"})," & ",(0,r.jsx)(d.code,{children:"/api/docs/yaml"}),"."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_MAX_DOWNLOAD_BANDWIDTH_IN_KBPS"})}),(0,r.jsx)(d.td,{children:"Maximum bandwidth for downloads on this server in KB/s."}),(0,r.jsx)(d.td,{children:"- (Unlimited)"}),(0,r.jsx)(d.td,{children:"Any Number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_ONLINE_ACTIVITIES_DISABLED"})}),(0,r.jsx)(d.td,{children:'Whether or not the server should listen to online activities like "ONLINE", "BUSY", "PLAYING" etc. If this is set to true, all users will always be shown as offline.'}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"SERVER_STACK_TRACE_LIMIT"})}),(0,r.jsx)(d.td,{children:"Configures the maximum number of stack frames to display in error stack traces, with a higher value providing more detailed debugging information."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"10"})}),(0,r.jsx)(d.td,{children:"Any Number"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"volumes",children:"VOLUMES"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_CONFIG"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for configuring GameVault."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/config"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_FILES"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for game files."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/files"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_MEDIA"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for media."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/media"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_LOGS"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for logs."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/logs"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_SQLITEDB"})}),(0,r.jsxs)(d.td,{children:["Folder inside container used for ",(0,r.jsx)(d.code,{children:"SQLITE"})," database. (Not needed if ",(0,r.jsx)(d.code,{children:"DB_SYSTEM"})," is set to ",(0,r.jsx)(d.code,{children:"POSTGRESQL"}),")"]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/db"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"VOLUMES_PLUGINS"})}),(0,r.jsx)(d.td,{children:"Folder inside container used for plugins."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/plugins"})}),(0,r.jsx)(d.td,{children:"Any valid folder path"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"db",children:"DB"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_SYSTEM"})}),(0,r.jsx)(d.td,{children:"The database system used (POSTGRESQL or SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"POSTGRESQL"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"POSTGRESQL"}),", ",(0,r.jsx)(d.code,{children:"SQLITE"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_HOST"})}),(0,r.jsx)(d.td,{children:"The host of the database (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"localhost"})}),(0,r.jsx)(d.td,{children:"Any valid host name"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_PORT"})}),(0,r.jsx)(d.td,{children:"The port of the database (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"5432"})}),(0,r.jsx)(d.td,{children:"Any valid port number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_USERNAME"})}),(0,r.jsx)(d.td,{children:"The username for the database (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"default"})}),(0,r.jsx)(d.td,{children:"Any valid username"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_PASSWORD"})}),(0,r.jsx)(d.td,{children:"The password for the database (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"default"})}),(0,r.jsx)(d.td,{children:"Any valid password"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_DATABASE"})}),(0,r.jsx)(d.td,{children:"The database name (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"gamevault"})}),(0,r.jsx)(d.td,{children:"Any valid database name"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_DEBUG"})}),(0,r.jsx)(d.td,{children:"Log all SQL Statements sent to the database."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_SYNCHRONIZE"})}),(0,r.jsx)(d.td,{children:"Force synchronizes the database with the entities. (This could break your database!)"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_ENABLED"})}),(0,r.jsx)(d.td,{children:"Enables TLS for the database. (not needed for SQLITE)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_REJECT_UNAUTHORIZED_ENABLED"})}),(0,r.jsx)(d.td,{children:"Whether the database will reject TLS connections that do not present a valid, trusted certificate."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_KEY_PATH"})}),(0,r.jsx)(d.td,{children:"The file path to the private key used for securing TLS connections to the database."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any file path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_CERTIFICATE_PATH"})}),(0,r.jsx)(d.td,{children:"The file path to the TLS certificate used for authenticating the database server."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any file path"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"DB_TLS_CA_CERTIFICATE_PATH"})}),(0,r.jsx)(d.td,{children:"The file path to the CA certificate used for verifying client certificates in TLS connections."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Any file path"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"users",children:"USERS"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"USERS_REQUIRE_EMAIL"})}),(0,r.jsxs)(d.td,{children:["Require ",(0,r.jsx)(d.strong,{children:"Email"})," for new registrations."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"USERS_REQUIRE_FIRST_NAME"})}),(0,r.jsxs)(d.td,{children:["Require ",(0,r.jsx)(d.strong,{children:"First Name"})," for new registrations."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"USERS_REQUIRE_LAST_NAME"})}),(0,r.jsxs)(d.td,{children:["Require ",(0,r.jsx)(d.strong,{children:"Last Name"})," for new registrations."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"USERS_REQUIRE_BIRTH_DATE"})}),(0,r.jsxs)(d.td,{children:["Require ",(0,r.jsx)(d.strong,{children:"Birth Date"})," for new registrations. (",(0,r.jsxs)(d.strong,{children:["Automatically set to ",(0,r.jsx)(d.code,{children:"true"})," when ",(0,r.jsx)(d.code,{children:"PARENTAL_AGE_RESTRICTION_ENABLED"})," is true"]}),")"]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"parental",children:"PARENTAL"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"PARENTAL_AGE_RESTRICTION_ENABLED"})}),(0,r.jsx)(d.td,{children:"Determines whether age-based parental restrictions are enforced."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"PARENTAL_AGE_OF_MAJORITY"})}),(0,r.jsx)(d.td,{children:"The age at which an individual is legally recognized as an adult for parental restrictions."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"18"})}),(0,r.jsx)(d.td,{children:"Any number"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"games",children:"GAMES"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"GAMES_INDEX_INTERVAL_IN_MINUTES"})}),(0,r.jsx)(d.td,{children:"The index interval, measured in minutes, decides how frequently the server should check for changes in games in the /files directory. This used to be essential before we implemented the filewatcher to the server. Nowadays, it's optional for rare situations where the filewatcher might miss changes. If set to 0, it won't regularly trigger reindexing and solely depend on the filewatcher."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"60"})}),(0,r.jsx)(d.td,{children:"Any number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"GAMES_SUPPORTED_FILE_FORMATS"})}),(0,r.jsx)(d.td,{children:"Comma-Seperated list of supported file-types GameVault should detect."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.a,{href:"/docs/server-docs/structure#supported-archive-formats",children:"All Supported Formats"})}),(0,r.jsx)(d.td,{children:'".zip,.7z,.rar"'})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"GAMES_SEARCH_RECURSIVE"})}),(0,r.jsx)(d.td,{children:"If indexer should search for games in subfolders."}),(0,r.jsx)(d.td,{children:"true"}),(0,r.jsx)(d.td,{children:'"true", "false'})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"GAMES_DEFAULT_ARCHIVE_PASSWORD"})}),(0,r.jsx)(d.td,{children:"A default password for archives. Useful if you always use the same password for your games and want Game Type Detection to work with the encrypted files. Without this game type detection on encrypted archives depends on the file extension and if the headers are encrypted"}),(0,r.jsx)(d.td,{children:'"Anything"'}),(0,r.jsx)(d.td,{children:"Any string"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"media",children:"MEDIA"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"MEDIA_MAX_SIZE"})}),(0,r.jsx)(d.td,{children:"The maximum size for media uploads. Set it to 0 to disable media uploads."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"10 mb"})}),(0,r.jsx)(d.td,{children:'e.g. "10 mb", "5 gb", "300 kb"'})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"MEDIA_SUPPORTED_FORMATS"})}),(0,r.jsx)(d.td,{children:"List of supported media formats (MIME Types) on this server, separated by commas."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.a,{href:"/docs/server-docs/media#supported-formats",children:"See here"})}),(0,r.jsx)(d.td,{children:"Comma separated list of MIME Types."})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"MEDIA_GC_DISABLED"})}),(0,r.jsx)(d.td,{children:"Whether or not media garbage collection is enabled. (Deletes unused media)"}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"MEDIA_GC_INTERVAL_IN_MINUTES"})}),(0,r.jsx)(d.td,{children:"The interval in minutes for media garbage collection."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"60"})}),(0,r.jsx)(d.td,{children:"Any number"})]})]})]}),"\n",(0,r.jsx)(d.p,{children:"Here are the descriptions for the metadata properties:"}),"\n",(0,r.jsx)(d.h2,{id:"metadata",children:"METADATA"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_TTL_IN_DAYS"})}),(0,r.jsx)(d.td,{children:"The number of days metadata is considered fresh before requiring an update."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"30"})}),(0,r.jsx)(d.td,{children:"Any number of days"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_ENABLED"})}),(0,r.jsx)(d.td,{children:"Enables or disables the built-in integration with IGDB for metadata retrieval."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"true"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_PRIORITY"})}),(0,r.jsx)(d.td,{children:"The priority level for IGDB metadata sources when multiple metadata sources are available."}),(0,r.jsx)(d.td,{children:"1"}),(0,r.jsx)(d.td,{children:"Any number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_REQUEST_INTERVAL_MS"})}),(0,r.jsxs)(d.td,{children:["The interval, in milliseconds, to wait between consecutive requests to prevent exceeding rate limits. This delay will be applied ",(0,r.jsx)(d.strong,{children:"before"})," each call to the provider."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"250"})}),(0,r.jsx)(d.td,{children:"Any number"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_ID"})}),(0,r.jsx)(d.td,{children:"The Client-ID used for authenticating requests to the IGDB API."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Your Client ID"})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"METADATA_IGDB_CLIENT_SECRET"})}),(0,r.jsx)(d.td,{children:"The Client-Secret used for authenticating requests to the IGDB API."}),(0,r.jsx)(d.td,{children:"-"}),(0,r.jsx)(d.td,{children:"Your Client Secret"})]})]})]}),"\n",(0,r.jsx)(d.h2,{id:"testing",children:"TESTING"}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Property"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default"}),(0,r.jsx)(d.th,{children:"Possible Values"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"TESTING_AUTHENTICATION_DISABLED"})}),(0,r.jsxs)(d.td,{children:["If ",(0,r.jsx)(d.code,{children:"true"}),", the API will accept any auth header. Useful for testing without authentication."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"TESTING_MOCK_FILES"})}),(0,r.jsxs)(d.td,{children:["If ",(0,r.jsx)(d.code,{children:"true"}),", the server will mock all files or ignore filesystem functionalities. Useful for testing without real files."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"TESTING_IN_MEMORY_DB"})}),(0,r.jsxs)(d.td,{children:["If ",(0,r.jsx)(d.code,{children:"true"}),", the server will use an in-memory database. Useful for testing without creating an actual database. Only works with SQLITE."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"TESTING_MOCK_PROVIDERS"})}),(0,r.jsxs)(d.td,{children:["If ",(0,r.jsx)(d.code,{children:"true"}),", the server will create two mock providers. (-9999 and 9999 Priority) Useful for testing metadata-merges."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"true"}),", ",(0,r.jsx)(d.code,{children:"false"})]})]})]})]})]})}function x(e={}){const{wrapper:d}={...(0,i.a)(),...e.components};return d?(0,r.jsx)(d,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}},8358:(e,d,s)=>{s.d(d,{Z:()=>c,a:()=>t});var r=s(5271);const i={},n=r.createContext(i);function t(e){const d=r.useContext(n);return r.useMemo((function(){return"function"==typeof e?e(d):{...d,...e}}),[d,e])}function c(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(n.Provider,{value:d},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b4068411.710112df.js b/assets/js/b4068411.d07d7e08.js similarity index 97% rename from assets/js/b4068411.710112df.js rename to assets/js/b4068411.d07d7e08.js index 32886215e..00393bd5f 100644 --- a/assets/js/b4068411.710112df.js +++ b/assets/js/b4068411.d07d7e08.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8042],{176:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var s=o(2676),n=o(9246);const r={title:"Using CapRover",sidebar_position:3},a=void 0,i={id:"server-docs/setup/caprover",title:"Using CapRover",description:"CapRover is an open-source platform that simplifies the deployment and management of web applications through containerization, providing a user-friendly interface for developers.",source:"@site/docs/server-docs/setup/caprover.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/caprover",permalink:"/docs/server-docs/setup/caprover",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/caprover.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:3,frontMatter:{title:"Using CapRover",sidebar_position:3},sidebar:"docs",previous:{title:"Using Docker Compose",permalink:"/docs/server-docs/setup/docker-compose"},next:{title:"Using TrueNAS Scale",permalink:"/docs/server-docs/setup/truenas-scale"}},p={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Log in to your CapRover Dashboard",id:"step-1-log-in-to-your-caprover-dashboard",level:2},{value:"Step 2: Navigate to the One-Click-Apps/Databases",id:"step-2-navigate-to-the-one-click-appsdatabases",level:2},{value:"Step 3: Connect Phalcode's third-party repository",id:"step-3-connect-phalcodes-third-party-repository",level:2},{value:"Step 4: Install our GameVault One-Click-App",id:"step-4-install-our-gamevault-one-click-app",level:2},{value:"Step 5: Enable WebSocket Support",id:"step-5-enable-websocket-support",level:2},{value:"Step 6: Configuring Volumes",id:"step-6-configuring-volumes",level:2},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Reading the Logs",id:"reading-the-logs",level:3}];function l(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"https://caprover.com",children:"CapRover"})," is an open-source platform that simplifies the deployment and management of web applications through containerization, providing a user-friendly interface for developers."]}),"\n",(0,s.jsxs)(t.p,{children:["Setting up a GameVault Server on CapRover is just a click away because we have created a CapRover ",(0,s.jsx)(t.a,{href:"https://caprover.com/docs/one-click-apps.html",children:"One-Click-App"})," Integration for this purpose. However, our app hasn't gained enough prominence to be included in the official ",(0,s.jsx)(t.a,{href:"https://caprover.com/docs/one-click-apps.html",children:"One-Click-App"})," Repository of CapRover. So, we decided to create our own ",(0,s.jsx)(t.a,{href:"https://github.com/Phalcode/caprover-one-click-apps",children:"third-party repository"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["In this guide, you will learn how to connect to our ",(0,s.jsx)(t.a,{href:"https://github.com/Phalcode/caprover-one-click-apps",children:"third-party repository"})," and install GameVault on your CapRover Instance."]}),"\n",(0,s.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["A running ",(0,s.jsx)(t.a,{href:"https://caprover.com",children:"CapRover"})," Server"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"step-1-log-in-to-your-caprover-dashboard",children:"Step 1: Log in to your CapRover Dashboard"}),"\n",(0,s.jsx)(t.p,{children:"Log in to your CapRover dashboard."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 1",src:o(1549).Z+"",width:"1917",height:"1038"})}),"\n",(0,s.jsx)(t.h2,{id:"step-2-navigate-to-the-one-click-appsdatabases",children:"Step 2: Navigate to the One-Click-Apps/Databases"}),"\n",(0,s.jsx)(t.p,{children:'Go to "Apps" and click on "One-Click Apps/Databases."'}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 2",src:o(1719).Z+"",width:"1896",height:"558"})}),"\n",(0,s.jsx)(t.h2,{id:"step-3-connect-phalcodes-third-party-repository",children:"Step 3: Connect Phalcode's third-party repository"}),"\n",(0,s.jsxs)(t.p,{children:['Scroll down to the bottom. Under "3rd party repositories," copy and paste the following link: ',(0,s.jsx)(t.code,{children:"https://phalcode.github.io/caprover-one-click-apps"}),'. Click the "Connect New Repository" button.']}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 3",src:o(5607).Z+"",width:"1885",height:"1021"})}),"\n",(0,s.jsx)(t.h2,{id:"step-4-install-our-gamevault-one-click-app",children:"Step 4: Install our GameVault One-Click-App"}),"\n",(0,s.jsx)(t.p,{children:"Now, all you need to do is search for 'GameVault' using the search box and follow the installation wizard."}),"\n",(0,s.jsx)(t.p,{children:"If you can't find GameVault in the list, try reloading the page and search again."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 4",src:o(1537).Z+"",width:"1895",height:"1044"})}),"\n",(0,s.jsx)(t.h2,{id:"step-5-enable-websocket-support",children:"Step 5: Enable WebSocket Support"}),"\n",(0,s.jsx)(t.p,{children:'Go to "Apps" and click on the GameVault App you just created. Make sure WebSocket Support is enabled.'}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 5",src:o(7451).Z+"",width:"1896",height:"1039"})}),"\n",(0,s.jsx)(t.h2,{id:"step-6-configuring-volumes",children:"Step 6: Configuring Volumes"}),"\n",(0,s.jsx)(t.p,{children:"Configure your mounted volumes as you like."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 6",src:o(4476).Z+"",width:"1896",height:"815"})}),"\n",(0,s.jsx)(t.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsx)(t.p,{children:"You have now successfully set up your GameVault Server using CapRover."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,s.jsx)(t.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,s.jsx)(t.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,s.jsx)(t.p,{children:'Navigate to "Apps" and select the GameVault App you have created.'}),"\n",(0,s.jsx)(t.p,{children:'Click on "App Configs".'}),"\n",(0,s.jsx)(t.p,{children:'Set "Instance Count" to 0.'}),"\n",(0,s.jsx)(t.h3,{id:"reading-the-logs",children:"Reading the Logs"}),"\n",(0,s.jsx)(t.p,{children:'Navigate to "Apps" and choose the GameVault App you have created.'}),"\n",(0,s.jsx)(t.p,{children:'Click on "Deployment".'}),"\n",(0,s.jsx)(t.p,{children:'You should now see the logs. If needed, click on "View App Logs" first.'})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1549:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover1-b2e08c5a64d4fc667209502af5bd7d18.png"},1719:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover2-1ad3c8c65512162cf8b296ad9696ef97.png"},5607:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover3-61b95eef2e0c46c890e880b0f4958e52.png"},1537:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover4-282b9233c452d0493f0e290320b23fa2.png"},7451:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover5-7c38f01362e6e9aaf3bab20273c7c82d.png"},4476:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover6-9b25099f9bb4f31ace08f01a557a69c5.png"},9246:(e,t,o)=>{o.d(t,{Z:()=>i,a:()=>a});var s=o(5271);const n={},r=s.createContext(n);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8042],{176:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>i,toc:()=>c});var s=o(2676),n=o(8358);const r={title:"Using CapRover",sidebar_position:3},a=void 0,i={id:"server-docs/setup/caprover",title:"Using CapRover",description:"CapRover is an open-source platform that simplifies the deployment and management of web applications through containerization, providing a user-friendly interface for developers.",source:"@site/docs/server-docs/setup/caprover.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/caprover",permalink:"/docs/server-docs/setup/caprover",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/caprover.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:3,frontMatter:{title:"Using CapRover",sidebar_position:3},sidebar:"docs",previous:{title:"Using Docker Compose",permalink:"/docs/server-docs/setup/docker-compose"},next:{title:"Using TrueNAS Scale",permalink:"/docs/server-docs/setup/truenas-scale"}},p={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Step 1: Log in to your CapRover Dashboard",id:"step-1-log-in-to-your-caprover-dashboard",level:2},{value:"Step 2: Navigate to the One-Click-Apps/Databases",id:"step-2-navigate-to-the-one-click-appsdatabases",level:2},{value:"Step 3: Connect Phalcode's third-party repository",id:"step-3-connect-phalcodes-third-party-repository",level:2},{value:"Step 4: Install our GameVault One-Click-App",id:"step-4-install-our-gamevault-one-click-app",level:2},{value:"Step 5: Enable WebSocket Support",id:"step-5-enable-websocket-support",level:2},{value:"Step 6: Configuring Volumes",id:"step-6-configuring-volumes",level:2},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Reading the Logs",id:"reading-the-logs",level:3}];function l(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"https://caprover.com",children:"CapRover"})," is an open-source platform that simplifies the deployment and management of web applications through containerization, providing a user-friendly interface for developers."]}),"\n",(0,s.jsxs)(t.p,{children:["Setting up a GameVault Server on CapRover is just a click away because we have created a CapRover ",(0,s.jsx)(t.a,{href:"https://caprover.com/docs/one-click-apps.html",children:"One-Click-App"})," Integration for this purpose. However, our app hasn't gained enough prominence to be included in the official ",(0,s.jsx)(t.a,{href:"https://caprover.com/docs/one-click-apps.html",children:"One-Click-App"})," Repository of CapRover. So, we decided to create our own ",(0,s.jsx)(t.a,{href:"https://github.com/Phalcode/caprover-one-click-apps",children:"third-party repository"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["In this guide, you will learn how to connect to our ",(0,s.jsx)(t.a,{href:"https://github.com/Phalcode/caprover-one-click-apps",children:"third-party repository"})," and install GameVault on your CapRover Instance."]}),"\n",(0,s.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["A running ",(0,s.jsx)(t.a,{href:"https://caprover.com",children:"CapRover"})," Server"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"step-1-log-in-to-your-caprover-dashboard",children:"Step 1: Log in to your CapRover Dashboard"}),"\n",(0,s.jsx)(t.p,{children:"Log in to your CapRover dashboard."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 1",src:o(1549).Z+"",width:"1917",height:"1038"})}),"\n",(0,s.jsx)(t.h2,{id:"step-2-navigate-to-the-one-click-appsdatabases",children:"Step 2: Navigate to the One-Click-Apps/Databases"}),"\n",(0,s.jsx)(t.p,{children:'Go to "Apps" and click on "One-Click Apps/Databases."'}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 2",src:o(1719).Z+"",width:"1896",height:"558"})}),"\n",(0,s.jsx)(t.h2,{id:"step-3-connect-phalcodes-third-party-repository",children:"Step 3: Connect Phalcode's third-party repository"}),"\n",(0,s.jsxs)(t.p,{children:['Scroll down to the bottom. Under "3rd party repositories," copy and paste the following link: ',(0,s.jsx)(t.code,{children:"https://phalcode.github.io/caprover-one-click-apps"}),'. Click the "Connect New Repository" button.']}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 3",src:o(5607).Z+"",width:"1885",height:"1021"})}),"\n",(0,s.jsx)(t.h2,{id:"step-4-install-our-gamevault-one-click-app",children:"Step 4: Install our GameVault One-Click-App"}),"\n",(0,s.jsx)(t.p,{children:"Now, all you need to do is search for 'GameVault' using the search box and follow the installation wizard."}),"\n",(0,s.jsx)(t.p,{children:"If you can't find GameVault in the list, try reloading the page and search again."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 4",src:o(1537).Z+"",width:"1895",height:"1044"})}),"\n",(0,s.jsx)(t.h2,{id:"step-5-enable-websocket-support",children:"Step 5: Enable WebSocket Support"}),"\n",(0,s.jsx)(t.p,{children:'Go to "Apps" and click on the GameVault App you just created. Make sure WebSocket Support is enabled.'}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 5",src:o(7451).Z+"",width:"1896",height:"1039"})}),"\n",(0,s.jsx)(t.h2,{id:"step-6-configuring-volumes",children:"Step 6: Configuring Volumes"}),"\n",(0,s.jsx)(t.p,{children:"Configure your mounted volumes as you like."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.img,{alt:"Step 6",src:o(4476).Z+"",width:"1896",height:"815"})}),"\n",(0,s.jsx)(t.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,s.jsx)(t.p,{children:"You have now successfully set up your GameVault Server using CapRover."}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,s.jsx)(t.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,s.jsx)(t.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,s.jsx)(t.p,{children:'Navigate to "Apps" and select the GameVault App you have created.'}),"\n",(0,s.jsx)(t.p,{children:'Click on "App Configs".'}),"\n",(0,s.jsx)(t.p,{children:'Set "Instance Count" to 0.'}),"\n",(0,s.jsx)(t.h3,{id:"reading-the-logs",children:"Reading the Logs"}),"\n",(0,s.jsx)(t.p,{children:'Navigate to "Apps" and choose the GameVault App you have created.'}),"\n",(0,s.jsx)(t.p,{children:'Click on "Deployment".'}),"\n",(0,s.jsx)(t.p,{children:'You should now see the logs. If needed, click on "View App Logs" first.'})]})}function d(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1549:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover1-b2e08c5a64d4fc667209502af5bd7d18.png"},1719:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover2-1ad3c8c65512162cf8b296ad9696ef97.png"},5607:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover3-61b95eef2e0c46c890e880b0f4958e52.png"},1537:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover4-282b9233c452d0493f0e290320b23fa2.png"},7451:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover5-7c38f01362e6e9aaf3bab20273c7c82d.png"},4476:(e,t,o)=>{o.d(t,{Z:()=>s});const s=o.p+"assets/images/caprover6-9b25099f9bb4f31ace08f01a557a69c5.png"},8358:(e,t,o)=>{o.d(t,{Z:()=>i,a:()=>a});var s=o(5271);const n={},r=s.createContext(n);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b493ea72.99bcac67.js b/assets/js/b493ea72.002e1b38.js similarity index 95% rename from assets/js/b493ea72.99bcac67.js rename to assets/js/b493ea72.002e1b38.js index a79698ce1..46bdfb2f3 100644 --- a/assets/js/b493ea72.99bcac67.js +++ b/assets/js/b493ea72.002e1b38.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4781],{3313:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var t=o(2676),i=o(9246);const r={title:"The Migrations are finally completed",authors:["alfagun74"],tags:["app name migration","Microsoft Store publication","surge of new users","Discord server promotion","spreading the word","logo deciphering","box representation","keyhole representation","logo concept discussion","Discord channel"]},s=void 0,a={permalink:"/blog/2023/07/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-20.md",source:"@site/blog/2023-07-20.md",title:"The Migrations are finally completed",description:"Hey folks,",date:"2023-07-20T00:00:00.000Z",tags:[{inline:!0,label:"app name migration",permalink:"/blog/tags/app-name-migration"},{inline:!0,label:"Microsoft Store publication",permalink:"/blog/tags/microsoft-store-publication"},{inline:!0,label:"surge of new users",permalink:"/blog/tags/surge-of-new-users"},{inline:!0,label:"Discord server promotion",permalink:"/blog/tags/discord-server-promotion"},{inline:!0,label:"spreading the word",permalink:"/blog/tags/spreading-the-word"},{inline:!0,label:"logo deciphering",permalink:"/blog/tags/logo-deciphering"},{inline:!0,label:"box representation",permalink:"/blog/tags/box-representation"},{inline:!0,label:"keyhole representation",permalink:"/blog/tags/keyhole-representation"},{inline:!0,label:"logo concept discussion",permalink:"/blog/tags/logo-concept-discussion"},{inline:!0,label:"Discord channel",permalink:"/blog/tags/discord-channel"}],readingTime:.615,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"The Migrations are finally completed",authors:["alfagun74"],tags:["app name migration","Microsoft Store publication","surge of new users","Discord server promotion","spreading the word","logo deciphering","box representation","keyhole representation","logo concept discussion","Discord channel"]},unlisted:!1,prevItem:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",permalink:"/blog/2023/07/24/"},nextItem:{title:"Quick Migration Update and new Logo",permalink:"/blog/2023/07/19/"}},l={authorsImageUrls:[void 0]},c=[];function g(e){const n={a:"a",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey folks,"}),"\n",(0,t.jsx)(n.p,{children:"Great news. We've successfully migrated our App name in its entirety and will resume advertising as soon as it's published on the Microsoft Store. "}),"\n",(0,t.jsxs)(n.p,{children:["Just a heads up, there might be a surge of new users joining the ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," server due to us promoting GameVault across all available platforms now."]}),"\n",(0,t.jsx)(n.p,{children:"You're welcome to join in and spread the word about GameVault with your friends, family, social network, or colleagues!"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Let's decipher the mystery behind the new logo:"}),"\n",(0,t.jsx)(n.img,{alt:"logo",src:o(4474).Z+"",width:"1000",height:"103"})]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"The Box represents a Vault with a Keyhole, but it also symbolizes a game dice."}),"\n",(0,t.jsx)(n.li,{children:"The Keyhole represents a Keyhole, and simultaneously signifies a game piece."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Did you find the logo concept creative? Share your thoughts on ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"discord"}),"!"]})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(g,{...e})}):g(e)}},4474:(e,n,o)=>{o.d(n,{Z:()=>t});const t=o.p+"assets/images/logo-text-and-image-sbs-6a7a4b169bd1cf62f643469e715ae759.png"},9246:(e,n,o)=>{o.d(n,{Z:()=>a,a:()=>s});var t=o(5271);const i={},r=t.createContext(i);function s(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4781],{9794:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var t=o(2676),i=o(8358);const r={title:"The Migrations are finally completed",authors:["alfagun74"],tags:["app name migration","Microsoft Store publication","surge of new users","Discord server promotion","spreading the word","logo deciphering","box representation","keyhole representation","logo concept discussion","Discord channel"]},s=void 0,a={permalink:"/blog/2023/07/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-20.md",source:"@site/blog/2023-07-20.md",title:"The Migrations are finally completed",description:"Hey folks,",date:"2023-07-20T00:00:00.000Z",tags:[{inline:!0,label:"app name migration",permalink:"/blog/tags/app-name-migration"},{inline:!0,label:"Microsoft Store publication",permalink:"/blog/tags/microsoft-store-publication"},{inline:!0,label:"surge of new users",permalink:"/blog/tags/surge-of-new-users"},{inline:!0,label:"Discord server promotion",permalink:"/blog/tags/discord-server-promotion"},{inline:!0,label:"spreading the word",permalink:"/blog/tags/spreading-the-word"},{inline:!0,label:"logo deciphering",permalink:"/blog/tags/logo-deciphering"},{inline:!0,label:"box representation",permalink:"/blog/tags/box-representation"},{inline:!0,label:"keyhole representation",permalink:"/blog/tags/keyhole-representation"},{inline:!0,label:"logo concept discussion",permalink:"/blog/tags/logo-concept-discussion"},{inline:!0,label:"Discord channel",permalink:"/blog/tags/discord-channel"}],readingTime:.615,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"The Migrations are finally completed",authors:["alfagun74"],tags:["app name migration","Microsoft Store publication","surge of new users","Discord server promotion","spreading the word","logo deciphering","box representation","keyhole representation","logo concept discussion","Discord channel"]},unlisted:!1,prevItem:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",permalink:"/blog/2023/07/24/"},nextItem:{title:"Quick Migration Update and new Logo",permalink:"/blog/2023/07/19/"}},l={authorsImageUrls:[void 0]},c=[];function g(e){const n={a:"a",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey folks,"}),"\n",(0,t.jsx)(n.p,{children:"Great news. We've successfully migrated our App name in its entirety and will resume advertising as soon as it's published on the Microsoft Store. "}),"\n",(0,t.jsxs)(n.p,{children:["Just a heads up, there might be a surge of new users joining the ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," server due to us promoting GameVault across all available platforms now."]}),"\n",(0,t.jsx)(n.p,{children:"You're welcome to join in and spread the word about GameVault with your friends, family, social network, or colleagues!"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Let's decipher the mystery behind the new logo:"}),"\n",(0,t.jsx)(n.img,{alt:"logo",src:o(4474).Z+"",width:"1000",height:"103"})]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"The Box represents a Vault with a Keyhole, but it also symbolizes a game dice."}),"\n",(0,t.jsx)(n.li,{children:"The Keyhole represents a Keyhole, and simultaneously signifies a game piece."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Did you find the logo concept creative? Share your thoughts on ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"discord"}),"!"]})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(g,{...e})}):g(e)}},4474:(e,n,o)=>{o.d(n,{Z:()=>t});const t=o.p+"assets/images/logo-text-and-image-sbs-6a7a4b169bd1cf62f643469e715ae759.png"},8358:(e,n,o)=>{o.d(n,{Z:()=>a,a:()=>s});var t=o(5271);const i={},r=t.createContext(i);function s(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b7026fb3.48429419.js b/assets/js/b7026fb3.9d4162c0.js similarity index 97% rename from assets/js/b7026fb3.48429419.js rename to assets/js/b7026fb3.9d4162c0.js index 56d2cf8d4..3579967d3 100644 --- a/assets/js/b7026fb3.48429419.js +++ b/assets/js/b7026fb3.9d4162c0.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[752],{7821:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>s,metadata:()=>o,toc:()=>p});var n=t(2676),i=t(9246);const s={title:"Battling Harassment and Trolls in Our App Community",authors:["alfagun74"],tags:["harassment","blackmail","threats","spam","trolls","negative narratives","safe environment","racist","developers","public","creepy behavior","app","support","financial assistance","motivation","GameVault app","bugs","feature requests","improvement","success","engagement"]},r=void 0,o={permalink:"/blog/2023/07/09/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-09.md",source:"@site/blog/2023-07-09.md",title:"Battling Harassment and Trolls in Our App Community",description:"Hey folks,",date:"2023-07-09T00:00:00.000Z",tags:[{inline:!0,label:"harassment",permalink:"/blog/tags/harassment"},{inline:!0,label:"blackmail",permalink:"/blog/tags/blackmail"},{inline:!0,label:"threats",permalink:"/blog/tags/threats"},{inline:!0,label:"spam",permalink:"/blog/tags/spam"},{inline:!0,label:"trolls",permalink:"/blog/tags/trolls"},{inline:!0,label:"negative narratives",permalink:"/blog/tags/negative-narratives"},{inline:!0,label:"safe environment",permalink:"/blog/tags/safe-environment"},{inline:!0,label:"racist",permalink:"/blog/tags/racist"},{inline:!0,label:"developers",permalink:"/blog/tags/developers"},{inline:!0,label:"public",permalink:"/blog/tags/public"},{inline:!0,label:"creepy behavior",permalink:"/blog/tags/creepy-behavior"},{inline:!0,label:"app",permalink:"/blog/tags/app"},{inline:!0,label:"support",permalink:"/blog/tags/support"},{inline:!0,label:"financial assistance",permalink:"/blog/tags/financial-assistance"},{inline:!0,label:"motivation",permalink:"/blog/tags/motivation"},{inline:!0,label:"GameVault app",permalink:"/blog/tags/game-vault-app"},{inline:!0,label:"bugs",permalink:"/blog/tags/bugs"},{inline:!0,label:"feature requests",permalink:"/blog/tags/feature-requests"},{inline:!0,label:"improvement",permalink:"/blog/tags/improvement"},{inline:!0,label:"success",permalink:"/blog/tags/success"},{inline:!0,label:"engagement",permalink:"/blog/tags/engagement"}],readingTime:1.955,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Battling Harassment and Trolls in Our App Community",authors:["alfagun74"],tags:["harassment","blackmail","threats","spam","trolls","negative narratives","safe environment","racist","developers","public","creepy behavior","app","support","financial assistance","motivation","GameVault app","bugs","feature requests","improvement","success","engagement"]},unlisted:!1,prevItem:{title:"A Closer Look at GameVaults 'Source-Available' Nature",permalink:"/blog/2023/07/13/"},nextItem:{title:"Choosing a New, Family-Friendly Name for this project!",permalink:"/blog/2023/07/08/"}},l={authorsImageUrls:[void 0]},p=[];function u(e){const a={a:"a",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey folks,"}),"\n",(0,n.jsx)(a.p,{children:"We have an important update to share with you all while our poll is in progress. It has come to our attention that a group of individuals has been engaging in harassing, blackmailing, and threatening behavior towards us. "}),"\n",(0,n.jsxs)(a.p,{children:["It began with spam on our Issue Trackers and ",(0,n.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),' Server but this situation has escalated to the point where these individuals went so far as to search me up on LinkedIn and threaten to inform my employer with baseless accusations of racism because of trivial reasons like the branch name in our github project being "master". Moreover, we have received reports that these trolls have extended their actions directly to other members of this server, attempting to spread negative narratives and disrupting the community atmosphere.']}),"\n",(0,n.jsxs)(a.p,{children:["To address this issue, we kindly request that you promptly report any encounters with these trolls to both ",(0,n.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," and our dedicated team of moderators. By doing so, we can take appropriate measures to handle the situation and maintain a safe environment for all."]}),"\n",(0,n.jsx)(a.p,{children:"We would like to emphasize that we are not racist individuals, but rather developers who decided to share our hard work with the community, hoping to bring joy and utility to everyone. Unfortunately, we did not anticipate encountering such creepy behavior when we made the project public. It has made us question whether it was the right decision to open up our work in the first place."}),"\n",(0,n.jsxs)(a.p,{children:["If you appreciate our efforts and would like to support us and the app, we humbly ask for your financial assistance. Even a small contribution of five bucks on ",(0,n.jsx)(a.a,{href:"https://ko-fi.com/phalcode",children:"Kofi"})," would go a long way in helping us maintain our motivation and dedication. Alternatively, if monetary support isn't possible, we would be incredibly grateful if you could share kind words about how the GameVault app has positively impacted your life in the #chat channel. Your encouragement means the world to us. \ud83e\udd70"]}),"\n",(0,n.jsx)(a.p,{children:"In addition, we encourage you to continue reporting any bugs you encounter and submitting feature requests in the respective GitHub trackers. With your valuable input, we can continue improving the app and making it even better."}),"\n",(0,n.jsx)(a.p,{children:"Remember, the success of this project relies on your support and engagement. Let's stand together against these trolls and ensure a positive and inclusive community experience. Thank you for your attention and understanding."})]})}function c(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>o,a:()=>r});var n=t(5271);const i={},s=n.createContext(i);function r(e){const a=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[752],{2660:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>s,metadata:()=>o,toc:()=>p});var n=t(2676),i=t(8358);const s={title:"Battling Harassment and Trolls in Our App Community",authors:["alfagun74"],tags:["harassment","blackmail","threats","spam","trolls","negative narratives","safe environment","racist","developers","public","creepy behavior","app","support","financial assistance","motivation","GameVault app","bugs","feature requests","improvement","success","engagement"]},r=void 0,o={permalink:"/blog/2023/07/09/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-09.md",source:"@site/blog/2023-07-09.md",title:"Battling Harassment and Trolls in Our App Community",description:"Hey folks,",date:"2023-07-09T00:00:00.000Z",tags:[{inline:!0,label:"harassment",permalink:"/blog/tags/harassment"},{inline:!0,label:"blackmail",permalink:"/blog/tags/blackmail"},{inline:!0,label:"threats",permalink:"/blog/tags/threats"},{inline:!0,label:"spam",permalink:"/blog/tags/spam"},{inline:!0,label:"trolls",permalink:"/blog/tags/trolls"},{inline:!0,label:"negative narratives",permalink:"/blog/tags/negative-narratives"},{inline:!0,label:"safe environment",permalink:"/blog/tags/safe-environment"},{inline:!0,label:"racist",permalink:"/blog/tags/racist"},{inline:!0,label:"developers",permalink:"/blog/tags/developers"},{inline:!0,label:"public",permalink:"/blog/tags/public"},{inline:!0,label:"creepy behavior",permalink:"/blog/tags/creepy-behavior"},{inline:!0,label:"app",permalink:"/blog/tags/app"},{inline:!0,label:"support",permalink:"/blog/tags/support"},{inline:!0,label:"financial assistance",permalink:"/blog/tags/financial-assistance"},{inline:!0,label:"motivation",permalink:"/blog/tags/motivation"},{inline:!0,label:"GameVault app",permalink:"/blog/tags/game-vault-app"},{inline:!0,label:"bugs",permalink:"/blog/tags/bugs"},{inline:!0,label:"feature requests",permalink:"/blog/tags/feature-requests"},{inline:!0,label:"improvement",permalink:"/blog/tags/improvement"},{inline:!0,label:"success",permalink:"/blog/tags/success"},{inline:!0,label:"engagement",permalink:"/blog/tags/engagement"}],readingTime:1.955,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Battling Harassment and Trolls in Our App Community",authors:["alfagun74"],tags:["harassment","blackmail","threats","spam","trolls","negative narratives","safe environment","racist","developers","public","creepy behavior","app","support","financial assistance","motivation","GameVault app","bugs","feature requests","improvement","success","engagement"]},unlisted:!1,prevItem:{title:"A Closer Look at GameVaults 'Source-Available' Nature",permalink:"/blog/2023/07/13/"},nextItem:{title:"Choosing a New, Family-Friendly Name for this project!",permalink:"/blog/2023/07/08/"}},l={authorsImageUrls:[void 0]},p=[];function u(e){const a={a:"a",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey folks,"}),"\n",(0,n.jsx)(a.p,{children:"We have an important update to share with you all while our poll is in progress. It has come to our attention that a group of individuals has been engaging in harassing, blackmailing, and threatening behavior towards us. "}),"\n",(0,n.jsxs)(a.p,{children:["It began with spam on our Issue Trackers and ",(0,n.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),' Server but this situation has escalated to the point where these individuals went so far as to search me up on LinkedIn and threaten to inform my employer with baseless accusations of racism because of trivial reasons like the branch name in our github project being "master". Moreover, we have received reports that these trolls have extended their actions directly to other members of this server, attempting to spread negative narratives and disrupting the community atmosphere.']}),"\n",(0,n.jsxs)(a.p,{children:["To address this issue, we kindly request that you promptly report any encounters with these trolls to both ",(0,n.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," and our dedicated team of moderators. By doing so, we can take appropriate measures to handle the situation and maintain a safe environment for all."]}),"\n",(0,n.jsx)(a.p,{children:"We would like to emphasize that we are not racist individuals, but rather developers who decided to share our hard work with the community, hoping to bring joy and utility to everyone. Unfortunately, we did not anticipate encountering such creepy behavior when we made the project public. It has made us question whether it was the right decision to open up our work in the first place."}),"\n",(0,n.jsxs)(a.p,{children:["If you appreciate our efforts and would like to support us and the app, we humbly ask for your financial assistance. Even a small contribution of five bucks on ",(0,n.jsx)(a.a,{href:"https://ko-fi.com/phalcode",children:"Kofi"})," would go a long way in helping us maintain our motivation and dedication. Alternatively, if monetary support isn't possible, we would be incredibly grateful if you could share kind words about how the GameVault app has positively impacted your life in the #chat channel. Your encouragement means the world to us. \ud83e\udd70"]}),"\n",(0,n.jsx)(a.p,{children:"In addition, we encourage you to continue reporting any bugs you encounter and submitting feature requests in the respective GitHub trackers. With your valuable input, we can continue improving the app and making it even better."}),"\n",(0,n.jsx)(a.p,{children:"Remember, the success of this project relies on your support and engagement. Let's stand together against these trolls and ensure a positive and inclusive community experience. Thank you for your attention and understanding."})]})}function c(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>o,a:()=>r});var n=t(5271);const i={},s=n.createContext(i);function r(e){const a=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function o(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),n.createElement(s.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b8ecf3c5.09bf15f5.js b/assets/js/b8ecf3c5.46500aec.js similarity index 98% rename from assets/js/b8ecf3c5.09bf15f5.js rename to assets/js/b8ecf3c5.46500aec.js index d300b898a..a432075ae 100644 --- a/assets/js/b8ecf3c5.09bf15f5.js +++ b/assets/js/b8ecf3c5.46500aec.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9847],{6262:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var o=t(2676),i=t(9246);const l={sidebar_position:1},s="Setting up a GameVault Client",r={id:"client-docs/setup",title:"Setting up a GameVault Client",description:"If you want to use GameVault to download and install games on your computer, you need to follow these steps.",source:"@site/docs/client-docs/setup.md",sourceDirName:"client-docs",slug:"/client-docs/setup",permalink:"/docs/client-docs/setup",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/setup.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",previous:{title:"Server News",permalink:"/docs/server-docs/server-news"},next:{title:"How to Use",permalink:"/docs/client-docs/how-to-use"}},a={},d=[{value:"Installation",id:"installation",level:2},{value:"Recommended Installation Option",id:"recommended-installation-option",level:3},{value:"Alternative Installation Options",id:"alternative-installation-options",level:3},{value:"Option 1: Obtain Pre-Built Artifacts from Github",id:"option-1-obtain-pre-built-artifacts-from-github",level:4},{value:"Option 2: Linux Installation",id:"option-2-linux-installation",level:4},{value:"Option 3: Self-Compiling on Windows",id:"option-3-self-compiling-on-windows",level:4},{value:"Option 4: Extracting from the .appxbundle",id:"option-4-extracting-from-the-appxbundle",level:4},{value:"Initial Configuration",id:"initial-configuration",level:2},{value:"Step 1: Select the Root Folder",id:"step-1-select-the-root-folder",level:3},{value:"Step 2: Entering the Selfhosted Backend Server URL",id:"step-2-entering-the-selfhosted-backend-server-url",level:3},{value:"Option 1: Self-hosted GameVault Server",id:"option-1-self-hosted-gamevault-server",level:4},{value:"Option 2: Using the Demo Server",id:"option-2-using-the-demo-server",level:4},{value:"Step 3: Log In or Register",id:"step-3-log-in-or-register",level:3},{value:"Option 1: Login",id:"option-1-login",level:4},{value:"Option 2: Register",id:"option-2-register",level:4},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"setting-up-a-gamevault-client",children:"Setting up a GameVault Client"})}),"\n",(0,o.jsx)(n.p,{children:"If you want to use GameVault to download and install games on your computer, you need to follow these steps."}),"\n",(0,o.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,o.jsx)(n.h3,{id:"recommended-installation-option",children:"Recommended Installation Option"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Requirement:"})," Windows 10/11 Operating System with Microsoft Store installed"]}),"\n",(0,o.jsxs)(n.p,{children:["To begin, install the GameVault application from ",(0,o.jsx)(n.a,{href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",children:"the official Microsoft Store"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"Experienced users can also simply run this command in the PowerShell:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-ps",children:"winget install gamevault\n"})}),"\n",(0,o.jsxs)(n.p,{children:["This process should be straightforward and will only consume a few minutes of your time. After installing, feel free to continue at ",(0,o.jsx)(n.a,{href:"#initial-configuration",children:"Initial Configuration"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"alternative-installation-options",children:"Alternative Installation Options"}),"\n",(0,o.jsx)(n.p,{children:"If you for some reason prefer not to use the Microsoft Store or if you are operating on a different platform, there are multiple other methods available for installing the GameVault Client Application."}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:["Please not that any other method than installing it from the Microsoft Store is ",(0,o.jsx)(n.strong,{children:"unsupported"})," and ",(0,o.jsx)(n.strong,{children:"unrecommended"})," and should only be used as a last resort. Also be aware ",(0,o.jsx)(n.a,{href:"/docs/client-docs/updating-client#other-sources",children:"that you will be responsible for managing updates manually!"})]})}),"\n",(0,o.jsx)(n.h4,{id:"option-1-obtain-pre-built-artifacts-from-github",children:"Option 1: Obtain Pre-Built Artifacts from Github"}),"\n",(0,o.jsxs)(n.p,{children:["Access the most recent Pre-Built Artifact ",(0,o.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-app/releases/latest",children:"here."})]}),"\n",(0,o.jsx)(n.admonition,{title:"Antivirus/Smartscreen Warning",type:"note",children:(0,o.jsxs)(n.p,{children:["Your Antivirus or Windows Smartscreen may attempt to prevent you from running our pre-built application, because it is a suspicious-looking binary compiled by an unfamiliar source. This is because we lack a Code Signing Certificate due to budget constraints. You can safely disregard this warning and proceed to run the App by selecting ",(0,o.jsx)(n.code,{children:"More Details"})," and then choosing ",(0,o.jsx)(n.code,{children:"Run Anyway"}),"."]})}),"\n",(0,o.jsx)(n.h4,{id:"option-2-linux-installation",children:"Option 2: Linux Installation"}),"\n",(0,o.jsxs)(n.p,{children:["To run GameVault on Linux utilizing Wine, follow this community-driven method. Visit ",(0,o.jsx)(n.a,{href:"/docs/advanced-usage/linux-client",children:"this"})," page for more details."]}),"\n",(0,o.jsx)(n.h4,{id:"option-3-self-compiling-on-windows",children:"Option 3: Self-Compiling on Windows"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"Install Visual Studio IDE"}),"\n",(0,o.jsx)(n.li,{children:"Include the 2017 build system"}),"\n",(0,o.jsx)(n.li,{children:"Clone the gamevault-app source code"}),"\n",(0,o.jsxs)(n.li,{children:["Open Visual Studio and choose the ",(0,o.jsx)(n.code,{children:".sln"})," file"]}),"\n",(0,o.jsxs)(n.li,{children:["Pick ",(0,o.jsx)(n.code,{children:"Release"})," from the Dropdown menu."]}),"\n",(0,o.jsx)(n.li,{children:"Build > Build gamevault"}),"\n",(0,o.jsx)(n.li,{children:"Utilize the output files."}),"\n"]}),"\n",(0,o.jsx)(n.h4,{id:"option-4-extracting-from-the-appxbundle",children:"Option 4: Extracting from the .appxbundle"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Go to ",(0,o.jsx)(n.a,{href:"https://store.rg-adguard.net",children:"https://store.rg-adguard.net"})]}),"\n",(0,o.jsxs)(n.li,{children:["Paste ",(0,o.jsx)(n.code,{children:"https://www.microsoft.com/store/apps/9PCKDV76GL75"})," in the search box"]}),"\n",(0,o.jsx)(n.li,{children:"Download the current .appxbundle"}),"\n",(0,o.jsxs)(n.li,{children:["Extract the .appxbundle, followed by the ",(0,o.jsx)(n.code,{children:"ReleasePackage_[VERSION]_x64.appx"})," file."]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"initial-configuration",children:"Initial Configuration"}),"\n",(0,o.jsx)(n.p,{children:"Once you have installed and launched GameVault, you need to do some initial configuration to get it up and running properly."}),"\n",(0,o.jsx)(n.h3,{id:"step-1-select-the-root-folder",children:"Step 1: Select the Root Folder"}),"\n",(0,o.jsxs)(n.p,{children:["In this step, you will choose the location where all your downloaded and installed games will be stored. This folder will act as the central location for your game library. We recommend you to have a read on the ",(0,o.jsx)(n.a,{href:"/docs/client-docs/how-to-use",children:'"How to Use" Chapter'})," to understand how the root folder works."]}),"\n",(0,o.jsx)(n.p,{children:"To select the root folder, follow the instructions below:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:'Click the "Select Root Path" button.'}),"\n",(0,o.jsx)(n.li,{children:"Navigate to the desired location on your computer."}),"\n",(0,o.jsx)(n.li,{children:"Choose a folder with sufficient storage space to store your game collection."}),"\n",(0,o.jsx)(n.li,{children:'Once you have selected the folder, click "Next" to proceed.'}),"\n",(0,o.jsxs)(n.li,{children:["GameVault will automatically generate a Subfolder called ",(0,o.jsx)(n.code,{children:"GameVault"})," in your selected Folder with some initial data."]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"step-2-entering-the-selfhosted-backend-server-url",children:"Step 2: Entering the Selfhosted Backend Server URL"}),"\n",(0,o.jsx)(n.p,{children:"To connect your GameVault application to the backend server, you need to provide the URL of the server. Depending on your setup, follow one of the two options below:"}),"\n",(0,o.jsx)(n.h4,{id:"option-1-self-hosted-gamevault-server",children:"Option 1: Self-hosted GameVault Server"}),"\n",(0,o.jsx)(n.p,{children:"If you have your own self-hosted GameVault server, please enter its URL in the provided field. Follow the instructions below:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"Enter the URL of your self-hosted GameVault server in the provided field."}),"\n",(0,o.jsx)(n.li,{children:"Make sure you have the correct URL and it is accessible."}),"\n",(0,o.jsx)(n.li,{children:'Click "Next" to proceed.'}),"\n"]}),"\n",(0,o.jsx)(n.h4,{id:"option-2-using-the-demo-server",children:"Option 2: Using the Demo Server"}),"\n",(0,o.jsx)(n.p,{children:"If you only want to try out GameVault, without setting up your own server, you can use our demo server. There open-source videogames available. Keep in mind that you will have mostly read-only non-admin rights on that server. To use the demo server, follow the instructions below:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:'Enter "demo.gamevau.lt" as the URL in the provided field.'}),"\n",(0,o.jsx)(n.li,{children:"This will allow you to explore the features and functionality of GameVault."}),"\n",(0,o.jsx)(n.li,{children:'Click "Next" to proceed'}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{title:"Demo Server Credentials",type:"info",children:(0,o.jsxs)(n.p,{children:["Username: ",(0,o.jsx)(n.strong,{children:"demo"}),(0,o.jsx)(n.br,{}),"\n","Password: ",(0,o.jsx)(n.strong,{children:"demodemo"})]})}),"\n",(0,o.jsx)(n.h3,{id:"step-3-log-in-or-register",children:"Step 3: Log In or Register"}),"\n",(0,o.jsx)(n.p,{children:"In this step, you will need to log in to your GameVault account on the selected backend server. Choose one of the following options based on your situation:"}),"\n",(0,o.jsx)(n.h4,{id:"option-1-login",children:"Option 1: Login"}),"\n",(0,o.jsx)(n.p,{children:"If you already have a GameVault account on the selected server, follow these steps:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:'Select "Login" from the options.'}),"\n",(0,o.jsx)(n.li,{children:"Enter your login credentials (username and password) in the provided fields."}),"\n",(0,o.jsx)(n.li,{children:"Ensure that the credentials are specific to the GameVault backend server you have chosen."}),"\n",(0,o.jsx)(n.li,{children:'Click "Log in" to proceed.'}),"\n"]}),"\n",(0,o.jsx)(n.h4,{id:"option-2-register",children:"Option 2: Register"}),"\n",(0,o.jsx)(n.p,{children:"If you don't have an account on the selected GameVault backend server, follow these steps:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:'Click the "Register" button.'}),"\n",(0,o.jsx)(n.li,{children:"Follow the instructions provided to create your GameVault account on the backend server."}),"\n",(0,o.jsx)(n.li,{children:"The server administrators may have to activate your account before you can use it to log in. Contact them if necessary."}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(n.p,{children:"Congratulations! You have successfully installed and completed the initial configuration of GameVault. You are now ready to explore and enjoy the features and functionality of the app. If you have any further questions or need assistance, refer to the remaining chapters of this documentation or reach out to our support team for help."}),"\n",(0,o.jsxs)(n.p,{children:["We specifically recommend to read the ",(0,o.jsx)(n.a,{href:"/docs/client-docs/how-to-use",children:'"How to Use" Chapter'})," to understand how GameVault works."]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},9246:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>s});var o=t(5271);const i={},l=o.createContext(i);function s(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9847],{6262:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var o=t(2676),i=t(8358);const l={sidebar_position:1},s="Setting up a GameVault Client",r={id:"client-docs/setup",title:"Setting up a GameVault Client",description:"If you want to use GameVault to download and install games on your computer, you need to follow these steps.",source:"@site/docs/client-docs/setup.md",sourceDirName:"client-docs",slug:"/client-docs/setup",permalink:"/docs/client-docs/setup",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/setup.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"docs",previous:{title:"Server News",permalink:"/docs/server-docs/server-news"},next:{title:"How to Use",permalink:"/docs/client-docs/how-to-use"}},a={},d=[{value:"Installation",id:"installation",level:2},{value:"Recommended Installation Option",id:"recommended-installation-option",level:3},{value:"Alternative Installation Options",id:"alternative-installation-options",level:3},{value:"Option 1: Obtain Pre-Built Artifacts from Github",id:"option-1-obtain-pre-built-artifacts-from-github",level:4},{value:"Option 2: Linux Installation",id:"option-2-linux-installation",level:4},{value:"Option 3: Self-Compiling on Windows",id:"option-3-self-compiling-on-windows",level:4},{value:"Option 4: Extracting from the .appxbundle",id:"option-4-extracting-from-the-appxbundle",level:4},{value:"Initial Configuration",id:"initial-configuration",level:2},{value:"Step 1: Select the Root Folder",id:"step-1-select-the-root-folder",level:3},{value:"Step 2: Entering the Selfhosted Backend Server URL",id:"step-2-entering-the-selfhosted-backend-server-url",level:3},{value:"Option 1: Self-hosted GameVault Server",id:"option-1-self-hosted-gamevault-server",level:4},{value:"Option 2: Using the Demo Server",id:"option-2-using-the-demo-server",level:4},{value:"Step 3: Log In or Register",id:"step-3-log-in-or-register",level:3},{value:"Option 1: Login",id:"option-1-login",level:4},{value:"Option 2: Register",id:"option-2-register",level:4},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"setting-up-a-gamevault-client",children:"Setting up a GameVault Client"})}),"\n",(0,o.jsx)(n.p,{children:"If you want to use GameVault to download and install games on your computer, you need to follow these steps."}),"\n",(0,o.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,o.jsx)(n.h3,{id:"recommended-installation-option",children:"Recommended Installation Option"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Requirement:"})," Windows 10/11 Operating System with Microsoft Store installed"]}),"\n",(0,o.jsxs)(n.p,{children:["To begin, install the GameVault application from ",(0,o.jsx)(n.a,{href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",children:"the official Microsoft Store"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"Experienced users can also simply run this command in the PowerShell:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-ps",children:"winget install gamevault\n"})}),"\n",(0,o.jsxs)(n.p,{children:["This process should be straightforward and will only consume a few minutes of your time. After installing, feel free to continue at ",(0,o.jsx)(n.a,{href:"#initial-configuration",children:"Initial Configuration"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"alternative-installation-options",children:"Alternative Installation Options"}),"\n",(0,o.jsx)(n.p,{children:"If you for some reason prefer not to use the Microsoft Store or if you are operating on a different platform, there are multiple other methods available for installing the GameVault Client Application."}),"\n",(0,o.jsx)(n.admonition,{type:"warning",children:(0,o.jsxs)(n.p,{children:["Please not that any other method than installing it from the Microsoft Store is ",(0,o.jsx)(n.strong,{children:"unsupported"})," and ",(0,o.jsx)(n.strong,{children:"unrecommended"})," and should only be used as a last resort. Also be aware ",(0,o.jsx)(n.a,{href:"/docs/client-docs/updating-client#other-sources",children:"that you will be responsible for managing updates manually!"})]})}),"\n",(0,o.jsx)(n.h4,{id:"option-1-obtain-pre-built-artifacts-from-github",children:"Option 1: Obtain Pre-Built Artifacts from Github"}),"\n",(0,o.jsxs)(n.p,{children:["Access the most recent Pre-Built Artifact ",(0,o.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-app/releases/latest",children:"here."})]}),"\n",(0,o.jsx)(n.admonition,{title:"Antivirus/Smartscreen Warning",type:"note",children:(0,o.jsxs)(n.p,{children:["Your Antivirus or Windows Smartscreen may attempt to prevent you from running our pre-built application, because it is a suspicious-looking binary compiled by an unfamiliar source. This is because we lack a Code Signing Certificate due to budget constraints. You can safely disregard this warning and proceed to run the App by selecting ",(0,o.jsx)(n.code,{children:"More Details"})," and then choosing ",(0,o.jsx)(n.code,{children:"Run Anyway"}),"."]})}),"\n",(0,o.jsx)(n.h4,{id:"option-2-linux-installation",children:"Option 2: Linux Installation"}),"\n",(0,o.jsxs)(n.p,{children:["To run GameVault on Linux utilizing Wine, follow this community-driven method. Visit ",(0,o.jsx)(n.a,{href:"/docs/advanced-usage/linux-client",children:"this"})," page for more details."]}),"\n",(0,o.jsx)(n.h4,{id:"option-3-self-compiling-on-windows",children:"Option 3: Self-Compiling on Windows"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"Install Visual Studio IDE"}),"\n",(0,o.jsx)(n.li,{children:"Include the 2017 build system"}),"\n",(0,o.jsx)(n.li,{children:"Clone the gamevault-app source code"}),"\n",(0,o.jsxs)(n.li,{children:["Open Visual Studio and choose the ",(0,o.jsx)(n.code,{children:".sln"})," file"]}),"\n",(0,o.jsxs)(n.li,{children:["Pick ",(0,o.jsx)(n.code,{children:"Release"})," from the Dropdown menu."]}),"\n",(0,o.jsx)(n.li,{children:"Build > Build gamevault"}),"\n",(0,o.jsx)(n.li,{children:"Utilize the output files."}),"\n"]}),"\n",(0,o.jsx)(n.h4,{id:"option-4-extracting-from-the-appxbundle",children:"Option 4: Extracting from the .appxbundle"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:["Go to ",(0,o.jsx)(n.a,{href:"https://store.rg-adguard.net",children:"https://store.rg-adguard.net"})]}),"\n",(0,o.jsxs)(n.li,{children:["Paste ",(0,o.jsx)(n.code,{children:"https://www.microsoft.com/store/apps/9PCKDV76GL75"})," in the search box"]}),"\n",(0,o.jsx)(n.li,{children:"Download the current .appxbundle"}),"\n",(0,o.jsxs)(n.li,{children:["Extract the .appxbundle, followed by the ",(0,o.jsx)(n.code,{children:"ReleasePackage_[VERSION]_x64.appx"})," file."]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"initial-configuration",children:"Initial Configuration"}),"\n",(0,o.jsx)(n.p,{children:"Once you have installed and launched GameVault, you need to do some initial configuration to get it up and running properly."}),"\n",(0,o.jsx)(n.h3,{id:"step-1-select-the-root-folder",children:"Step 1: Select the Root Folder"}),"\n",(0,o.jsxs)(n.p,{children:["In this step, you will choose the location where all your downloaded and installed games will be stored. This folder will act as the central location for your game library. We recommend you to have a read on the ",(0,o.jsx)(n.a,{href:"/docs/client-docs/how-to-use",children:'"How to Use" Chapter'})," to understand how the root folder works."]}),"\n",(0,o.jsx)(n.p,{children:"To select the root folder, follow the instructions below:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:'Click the "Select Root Path" button.'}),"\n",(0,o.jsx)(n.li,{children:"Navigate to the desired location on your computer."}),"\n",(0,o.jsx)(n.li,{children:"Choose a folder with sufficient storage space to store your game collection."}),"\n",(0,o.jsx)(n.li,{children:'Once you have selected the folder, click "Next" to proceed.'}),"\n",(0,o.jsxs)(n.li,{children:["GameVault will automatically generate a Subfolder called ",(0,o.jsx)(n.code,{children:"GameVault"})," in your selected Folder with some initial data."]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"step-2-entering-the-selfhosted-backend-server-url",children:"Step 2: Entering the Selfhosted Backend Server URL"}),"\n",(0,o.jsx)(n.p,{children:"To connect your GameVault application to the backend server, you need to provide the URL of the server. Depending on your setup, follow one of the two options below:"}),"\n",(0,o.jsx)(n.h4,{id:"option-1-self-hosted-gamevault-server",children:"Option 1: Self-hosted GameVault Server"}),"\n",(0,o.jsx)(n.p,{children:"If you have your own self-hosted GameVault server, please enter its URL in the provided field. Follow the instructions below:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"Enter the URL of your self-hosted GameVault server in the provided field."}),"\n",(0,o.jsx)(n.li,{children:"Make sure you have the correct URL and it is accessible."}),"\n",(0,o.jsx)(n.li,{children:'Click "Next" to proceed.'}),"\n"]}),"\n",(0,o.jsx)(n.h4,{id:"option-2-using-the-demo-server",children:"Option 2: Using the Demo Server"}),"\n",(0,o.jsx)(n.p,{children:"If you only want to try out GameVault, without setting up your own server, you can use our demo server. There open-source videogames available. Keep in mind that you will have mostly read-only non-admin rights on that server. To use the demo server, follow the instructions below:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:'Enter "demo.gamevau.lt" as the URL in the provided field.'}),"\n",(0,o.jsx)(n.li,{children:"This will allow you to explore the features and functionality of GameVault."}),"\n",(0,o.jsx)(n.li,{children:'Click "Next" to proceed'}),"\n"]}),"\n",(0,o.jsx)(n.admonition,{title:"Demo Server Credentials",type:"info",children:(0,o.jsxs)(n.p,{children:["Username: ",(0,o.jsx)(n.strong,{children:"demo"}),(0,o.jsx)(n.br,{}),"\n","Password: ",(0,o.jsx)(n.strong,{children:"demodemo"})]})}),"\n",(0,o.jsx)(n.h3,{id:"step-3-log-in-or-register",children:"Step 3: Log In or Register"}),"\n",(0,o.jsx)(n.p,{children:"In this step, you will need to log in to your GameVault account on the selected backend server. Choose one of the following options based on your situation:"}),"\n",(0,o.jsx)(n.h4,{id:"option-1-login",children:"Option 1: Login"}),"\n",(0,o.jsx)(n.p,{children:"If you already have a GameVault account on the selected server, follow these steps:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:'Select "Login" from the options.'}),"\n",(0,o.jsx)(n.li,{children:"Enter your login credentials (username and password) in the provided fields."}),"\n",(0,o.jsx)(n.li,{children:"Ensure that the credentials are specific to the GameVault backend server you have chosen."}),"\n",(0,o.jsx)(n.li,{children:'Click "Log in" to proceed.'}),"\n"]}),"\n",(0,o.jsx)(n.h4,{id:"option-2-register",children:"Option 2: Register"}),"\n",(0,o.jsx)(n.p,{children:"If you don't have an account on the selected GameVault backend server, follow these steps:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:'Click the "Register" button.'}),"\n",(0,o.jsx)(n.li,{children:"Follow the instructions provided to create your GameVault account on the backend server."}),"\n",(0,o.jsx)(n.li,{children:"The server administrators may have to activate your account before you can use it to log in. Contact them if necessary."}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,o.jsx)(n.p,{children:"Congratulations! You have successfully installed and completed the initial configuration of GameVault. You are now ready to explore and enjoy the features and functionality of the app. If you have any further questions or need assistance, refer to the remaining chapters of this documentation or reach out to our support team for help."}),"\n",(0,o.jsxs)(n.p,{children:["We specifically recommend to read the ",(0,o.jsx)(n.a,{href:"/docs/client-docs/how-to-use",children:'"How to Use" Chapter'})," to understand how GameVault works."]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8358:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>s});var o=t(5271);const i={},l=o.createContext(i);function s(e){const n=o.useContext(l);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ba3af7ad.8b7a6fe1.js b/assets/js/ba3af7ad.82300781.js similarity index 95% rename from assets/js/ba3af7ad.8b7a6fe1.js rename to assets/js/ba3af7ad.82300781.js index 80e842183..821fb496d 100644 --- a/assets/js/ba3af7ad.8b7a6fe1.js +++ b/assets/js/ba3af7ad.82300781.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1814],{3358:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>m,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>s});var l=n(2676),t=n(9246);const i={title:"Choosing a New, Family-Friendly Name for this project!",authors:["alfagun74"],tags:["source-available","gaming platform","GameVault","new name","family-friendly","poll","AI-generated names","feedback","inclusivity","user participation","announcement","decision-making","community","platform values","voting","future development"]},o=void 0,r={permalink:"/blog/2023/07/08/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-08.md",source:"@site/blog/2023-07-08.md",title:"Choosing a New, Family-Friendly Name for this project!",description:"Hello, everyone!",date:"2023-07-08T00:00:00.000Z",tags:[{inline:!0,label:"source-available",permalink:"/blog/tags/source-available"},{inline:!0,label:"gaming platform",permalink:"/blog/tags/gaming-platform"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"new name",permalink:"/blog/tags/new-name"},{inline:!0,label:"family-friendly",permalink:"/blog/tags/family-friendly"},{inline:!0,label:"poll",permalink:"/blog/tags/poll"},{inline:!0,label:"AI-generated names",permalink:"/blog/tags/ai-generated-names"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"inclusivity",permalink:"/blog/tags/inclusivity"},{inline:!0,label:"user participation",permalink:"/blog/tags/user-participation"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"},{inline:!0,label:"decision-making",permalink:"/blog/tags/decision-making"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"platform values",permalink:"/blog/tags/platform-values"},{inline:!0,label:"voting",permalink:"/blog/tags/voting"},{inline:!0,label:"future development",permalink:"/blog/tags/future-development"}],readingTime:1.26,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Choosing a New, Family-Friendly Name for this project!",authors:["alfagun74"],tags:["source-available","gaming platform","GameVault","new name","family-friendly","poll","AI-generated names","feedback","inclusivity","user participation","announcement","decision-making","community","platform values","voting","future development"]},unlisted:!1,prevItem:{title:"Battling Harassment and Trolls in Our App Community",permalink:"/blog/2023/07/09/"},nextItem:{title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",permalink:"/blog/2023/07/01/"}},m={authorsImageUrls:[void 0]},s=[];function g(e){const a={a:"a",p:"p",...(0,t.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.p,{children:"Hello, everyone!"}),"\n",(0,l.jsxs)(a.p,{children:["We have an important announcement to share about our ",(0,l.jsx)(a.a,{href:"https://en.wikipedia.org/wiki/Source-available_software",children:"source-available"})," gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values."]})]})}function u(e={}){const{wrapper:a}={...(0,t.a)(),...e.components};return a?(0,l.jsx)(a,{...e,children:(0,l.jsx)(g,{...e})}):g(e)}},9246:(e,a,n)=>{n.d(a,{Z:()=>r,a:()=>o});var l=n(5271);const t={},i=l.createContext(t);function o(e){const a=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),l.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1814],{5040:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>m,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>s});var l=n(2676),t=n(8358);const i={title:"Choosing a New, Family-Friendly Name for this project!",authors:["alfagun74"],tags:["source-available","gaming platform","GameVault","new name","family-friendly","poll","AI-generated names","feedback","inclusivity","user participation","announcement","decision-making","community","platform values","voting","future development"]},o=void 0,r={permalink:"/blog/2023/07/08/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-08.md",source:"@site/blog/2023-07-08.md",title:"Choosing a New, Family-Friendly Name for this project!",description:"Hello, everyone!",date:"2023-07-08T00:00:00.000Z",tags:[{inline:!0,label:"source-available",permalink:"/blog/tags/source-available"},{inline:!0,label:"gaming platform",permalink:"/blog/tags/gaming-platform"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"new name",permalink:"/blog/tags/new-name"},{inline:!0,label:"family-friendly",permalink:"/blog/tags/family-friendly"},{inline:!0,label:"poll",permalink:"/blog/tags/poll"},{inline:!0,label:"AI-generated names",permalink:"/blog/tags/ai-generated-names"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"inclusivity",permalink:"/blog/tags/inclusivity"},{inline:!0,label:"user participation",permalink:"/blog/tags/user-participation"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"},{inline:!0,label:"decision-making",permalink:"/blog/tags/decision-making"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"platform values",permalink:"/blog/tags/platform-values"},{inline:!0,label:"voting",permalink:"/blog/tags/voting"},{inline:!0,label:"future development",permalink:"/blog/tags/future-development"}],readingTime:1.26,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Choosing a New, Family-Friendly Name for this project!",authors:["alfagun74"],tags:["source-available","gaming platform","GameVault","new name","family-friendly","poll","AI-generated names","feedback","inclusivity","user participation","announcement","decision-making","community","platform values","voting","future development"]},unlisted:!1,prevItem:{title:"Battling Harassment and Trolls in Our App Community",permalink:"/blog/2023/07/09/"},nextItem:{title:"Introducing GameVault \ud83d\ude80 - The self-hosted gaming platform for DRM-free games",permalink:"/blog/2023/07/01/"}},m={authorsImageUrls:[void 0]},s=[];function g(e){const a={a:"a",p:"p",...(0,t.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.p,{children:"Hello, everyone!"}),"\n",(0,l.jsxs)(a.p,{children:["We have an important announcement to share about our ",(0,l.jsx)(a.a,{href:"https://en.wikipedia.org/wiki/Source-available_software",children:"source-available"})," gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values."]})]})}function u(e={}){const{wrapper:a}={...(0,t.a)(),...e.components};return a?(0,l.jsx)(a,{...e,children:(0,l.jsx)(g,{...e})}):g(e)}},8358:(e,a,n)=>{n.d(a,{Z:()=>r,a:()=>o});var l=n(5271);const t={},i=l.createContext(t);function o(e){const a=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),l.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ba57e113.9e9cbc48.js b/assets/js/ba57e113.941d714f.js similarity index 97% rename from assets/js/ba57e113.9e9cbc48.js rename to assets/js/ba57e113.941d714f.js index ddcc6de16..473a7ccd6 100644 --- a/assets/js/ba57e113.9e9cbc48.js +++ b/assets/js/ba57e113.941d714f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5948],{2826:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=n(2676),o=n(9246);const r={sidebar_position:97},s="Licensing and Contributions",a={id:"license-contribute",title:"Licensing and Contributions",description:"License",source:"@site/docs/license-contribute.md",sourceDirName:".",slug:"/license-contribute",permalink:"/docs/license-contribute",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/license-contribute.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:97,frontMatter:{sidebar_position:97},sidebar:"docs",previous:{title:"Client APIs",permalink:"/docs/gamevault-plus/client-apis"},next:{title:"Troubleshooting",permalink:"/docs/troubleshooting"}},l={},c=[{value:"License",id:"license",level:2},{value:"Why is GameVault not open-source?",id:"why-is-gamevault-not-open-source",level:3},{value:"Contributing to GameVault",id:"contributing-to-gamevault",level:2},{value:"Publishing Adaptations of GameVault",id:"publishing-adaptations-of-gamevault",level:2},{value:"Community Forks",id:"community-forks",level:2},{value:"gamevault-app",id:"gamevault-app",level:3},{value:"gamevault-backend",id:"gamevault-backend",level:3},{value:"Contributors to this Documentation",id:"contributors-to-this-documentation",level:2}];function d(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"licensing-and-contributions",children:"Licensing and Contributions"})}),"\n",(0,i.jsx)(t.h2,{id:"license",children:"License"}),"\n",(0,i.jsxs)(t.p,{children:["GameVault is licensed under the ",(0,i.jsx)(t.a,{href:"https://creativecommons.org/licenses/by-nc-sa/4.0/",children:"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"})," with the exception of the some components, like extensions and plugins."]}),"\n",(0,i.jsx)(t.p,{children:"This means you are free to use, adapt, and share the work as long as you give appropriate credit, do not use it for commercial purposes, and distribute any derivative works under the same license."}),"\n",(0,i.jsxs)(t.p,{children:["This also means that ",(0,i.jsx)(t.strong,{children:"GameVault is not considered open-source"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"why-is-gamevault-not-open-source",children:"Why is GameVault not open-source?"}),"\n",(0,i.jsxs)(t.p,{children:['While GameVault is often confused with open-source software, it falls under the category of "source-available" software, providing access to its code for exploration and modification without fully meeting the criteria of open source. This decision is made to balance transparency and protection against unauthorized commercial exploitation, ensuring sustainability and revenue generation to support its development. See ',(0,i.jsx)(t.a,{href:"/blog/2023/07/13",children:"here"})," for more details."]}),"\n",(0,i.jsx)(t.h2,{id:"contributing-to-gamevault",children:"Contributing to GameVault"}),"\n",(0,i.jsx)(t.p,{children:"Everybody can contribute to GameVault."}),"\n",(0,i.jsx)(t.p,{children:"We welcome all contributions, whether it's a comment, a feature request, a bug report, or any other input. Share your thoughts on your blog, news article, forum, social media (e.g., Twitter, Facebook, Instagram), or online communities and discussion boards. Engage with others through videos or podcasts, create content to show how GameVault has positively affected your life, or write a detailed review highlighting its benefits. Your words and actions will bring us joy."}),"\n",(0,i.jsx)(t.p,{children:"Besides rating GameVault on the Microsoft Store or recommending it to a friend, you can also spread the word through different channels. Take part in relevant technology conferences or events and mention GameVault during discussions or presentations. Collaborate with fellow developers or tech enthusiasts in online coding communities like GitHub, Stack Overflow, or Reddit to promote GameVault and demonstrate its features."}),"\n",(0,i.jsx)(t.p,{children:"As we constantly strive to enhance GameVault's performance and features, your assistance is crucial. If you're a developer, please consider opening a pull request on our GitHub repository to contribute directly to the codebase. Alternatively, if you encounter any issues or have suggestions, feel free to create an issue and provide detailed feedback. Your expertise and insights will greatly support our ongoing development efforts."}),"\n",(0,i.jsx)(t.p,{children:"Before contributing any code, please read and accept the terms outlined in the CONTRIBUTING.md file of each project you want to contribute to. These terms include recognizing Phalcode as the owner of your contribution and transferring all rights and responsibilities to us. This ensures everything is legally clear and simple for everyone involved. This also means we can monetize your contribution, so that we can keep this project alive."}),"\n",(0,i.jsx)(t.h2,{id:"publishing-adaptations-of-gamevault",children:"Publishing Adaptations of GameVault"}),"\n",(0,i.jsx)(t.p,{children:"Commercial adaptations of GameVault are not permitted due to licensing restrictions. However, we encourage the creation of derivatives for non-commercial projects under certain conditions."}),"\n",(0,i.jsx)(t.p,{children:"GameVault is developed commercially, and any third-party software using our trademarks GameVault\u2122 or Phalcode\u2122 without our consent is unauthorized. We take measures to protect our intellectual property rights and brand integrity, preventing any unauthorized products from being associated with us."}),"\n",(0,i.jsx)(t.p,{children:"To maintain our reputation and protect our customers' interests, it's essential for third-party developers to avoid creating misleading products. Users may mistakenly believe these products are endorsed or developed by us, posing potential issues for safety and support. As a German GbR (Partnership), we hold full personal liability for our products, underscoring the need to retain control over our brand and software."}),"\n",(0,i.jsx)(t.p,{children:'We welcome creativity from third-party developers, encouraging them to create derivatives with distinct names like "GameVaulTux" or "GameVault Snake Edition". However, it\'s crucial to clearly indicate these as unofficial versions in the product description.'}),"\n",(0,i.jsx)(t.p,{children:"For those intending to publish an official product under our brand, acknowledgment of Phalcode as the sole rights holder and the transfer of all associated liabilities, rights, and responsibilities to us through a formal agreement is required. This aligns with our approach to handling contributions, ensuring clarity and legal compliance for all parties involved."}),"\n",(0,i.jsx)(t.h2,{id:"community-forks",children:"Community Forks"}),"\n",(0,i.jsx)(t.p,{children:"Here you can find an incomplete list of community-driven forks of our Projects. You can add your fork here by submitting a pull-request."}),"\n",(0,i.jsx)(t.h3,{id:"gamevault-app",children:"gamevault-app"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Github Repository"}),(0,i.jsx)(t.th,{children:"Downloads"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"-"}),(0,i.jsx)(t.td,{children:"-"}),(0,i.jsx)(t.td,{children:"-"})]})})]}),"\n",(0,i.jsx)(t.h3,{id:"gamevault-backend",children:"gamevault-backend"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Github Repository"}),(0,i.jsx)(t.th,{children:"Container Image"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"-"}),(0,i.jsx)(t.td,{children:"-"}),(0,i.jsx)(t.td,{children:"-"})]})})]}),"\n",(0,i.jsx)(t.h2,{id:"contributors-to-this-documentation",children:"Contributors to this Documentation"}),"\n",(0,i.jsx)(t.p,{children:"If you contributed to these docs, feel free to append your github username to the list below."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"@Alfagun74"}),"\n",(0,i.jsx)(t.li,{children:"@Yelo420"}),"\n",(0,i.jsx)(t.li,{children:"@46620"}),"\n",(0,i.jsx)(t.li,{children:"@xstar97"}),"\n",(0,i.jsx)(t.li,{children:"@Ronald-Diemicke"}),"\n",(0,i.jsx)(t.li,{children:"@FletcherAU"}),"\n",(0,i.jsx)(t.li,{children:"@Toylerrr"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},9246:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>s});var i=n(5271);const o={},r=i.createContext(o);function s(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5948],{2826:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=n(2676),o=n(8358);const r={sidebar_position:97},s="Licensing and Contributions",a={id:"license-contribute",title:"Licensing and Contributions",description:"License",source:"@site/docs/license-contribute.md",sourceDirName:".",slug:"/license-contribute",permalink:"/docs/license-contribute",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/license-contribute.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:97,frontMatter:{sidebar_position:97},sidebar:"docs",previous:{title:"Client APIs",permalink:"/docs/gamevault-plus/client-apis"},next:{title:"Troubleshooting",permalink:"/docs/troubleshooting"}},l={},c=[{value:"License",id:"license",level:2},{value:"Why is GameVault not open-source?",id:"why-is-gamevault-not-open-source",level:3},{value:"Contributing to GameVault",id:"contributing-to-gamevault",level:2},{value:"Publishing Adaptations of GameVault",id:"publishing-adaptations-of-gamevault",level:2},{value:"Community Forks",id:"community-forks",level:2},{value:"gamevault-app",id:"gamevault-app",level:3},{value:"gamevault-backend",id:"gamevault-backend",level:3},{value:"Contributors to this Documentation",id:"contributors-to-this-documentation",level:2}];function d(e){const t={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"licensing-and-contributions",children:"Licensing and Contributions"})}),"\n",(0,i.jsx)(t.h2,{id:"license",children:"License"}),"\n",(0,i.jsxs)(t.p,{children:["GameVault is licensed under the ",(0,i.jsx)(t.a,{href:"https://creativecommons.org/licenses/by-nc-sa/4.0/",children:"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"})," with the exception of the some components, like extensions and plugins."]}),"\n",(0,i.jsx)(t.p,{children:"This means you are free to use, adapt, and share the work as long as you give appropriate credit, do not use it for commercial purposes, and distribute any derivative works under the same license."}),"\n",(0,i.jsxs)(t.p,{children:["This also means that ",(0,i.jsx)(t.strong,{children:"GameVault is not considered open-source"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"why-is-gamevault-not-open-source",children:"Why is GameVault not open-source?"}),"\n",(0,i.jsxs)(t.p,{children:['While GameVault is often confused with open-source software, it falls under the category of "source-available" software, providing access to its code for exploration and modification without fully meeting the criteria of open source. This decision is made to balance transparency and protection against unauthorized commercial exploitation, ensuring sustainability and revenue generation to support its development. See ',(0,i.jsx)(t.a,{href:"/blog/2023/07/13",children:"here"})," for more details."]}),"\n",(0,i.jsx)(t.h2,{id:"contributing-to-gamevault",children:"Contributing to GameVault"}),"\n",(0,i.jsx)(t.p,{children:"Everybody can contribute to GameVault."}),"\n",(0,i.jsx)(t.p,{children:"We welcome all contributions, whether it's a comment, a feature request, a bug report, or any other input. Share your thoughts on your blog, news article, forum, social media (e.g., Twitter, Facebook, Instagram), or online communities and discussion boards. Engage with others through videos or podcasts, create content to show how GameVault has positively affected your life, or write a detailed review highlighting its benefits. Your words and actions will bring us joy."}),"\n",(0,i.jsx)(t.p,{children:"Besides rating GameVault on the Microsoft Store or recommending it to a friend, you can also spread the word through different channels. Take part in relevant technology conferences or events and mention GameVault during discussions or presentations. Collaborate with fellow developers or tech enthusiasts in online coding communities like GitHub, Stack Overflow, or Reddit to promote GameVault and demonstrate its features."}),"\n",(0,i.jsx)(t.p,{children:"As we constantly strive to enhance GameVault's performance and features, your assistance is crucial. If you're a developer, please consider opening a pull request on our GitHub repository to contribute directly to the codebase. Alternatively, if you encounter any issues or have suggestions, feel free to create an issue and provide detailed feedback. Your expertise and insights will greatly support our ongoing development efforts."}),"\n",(0,i.jsx)(t.p,{children:"Before contributing any code, please read and accept the terms outlined in the CONTRIBUTING.md file of each project you want to contribute to. These terms include recognizing Phalcode as the owner of your contribution and transferring all rights and responsibilities to us. This ensures everything is legally clear and simple for everyone involved. This also means we can monetize your contribution, so that we can keep this project alive."}),"\n",(0,i.jsx)(t.h2,{id:"publishing-adaptations-of-gamevault",children:"Publishing Adaptations of GameVault"}),"\n",(0,i.jsx)(t.p,{children:"Commercial adaptations of GameVault are not permitted due to licensing restrictions. However, we encourage the creation of derivatives for non-commercial projects under certain conditions."}),"\n",(0,i.jsx)(t.p,{children:"GameVault is developed commercially, and any third-party software using our trademarks GameVault\u2122 or Phalcode\u2122 without our consent is unauthorized. We take measures to protect our intellectual property rights and brand integrity, preventing any unauthorized products from being associated with us."}),"\n",(0,i.jsx)(t.p,{children:"To maintain our reputation and protect our customers' interests, it's essential for third-party developers to avoid creating misleading products. Users may mistakenly believe these products are endorsed or developed by us, posing potential issues for safety and support. As a German GbR (Partnership), we hold full personal liability for our products, underscoring the need to retain control over our brand and software."}),"\n",(0,i.jsx)(t.p,{children:'We welcome creativity from third-party developers, encouraging them to create derivatives with distinct names like "GameVaulTux" or "GameVault Snake Edition". However, it\'s crucial to clearly indicate these as unofficial versions in the product description.'}),"\n",(0,i.jsx)(t.p,{children:"For those intending to publish an official product under our brand, acknowledgment of Phalcode as the sole rights holder and the transfer of all associated liabilities, rights, and responsibilities to us through a formal agreement is required. This aligns with our approach to handling contributions, ensuring clarity and legal compliance for all parties involved."}),"\n",(0,i.jsx)(t.h2,{id:"community-forks",children:"Community Forks"}),"\n",(0,i.jsx)(t.p,{children:"Here you can find an incomplete list of community-driven forks of our Projects. You can add your fork here by submitting a pull-request."}),"\n",(0,i.jsx)(t.h3,{id:"gamevault-app",children:"gamevault-app"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Github Repository"}),(0,i.jsx)(t.th,{children:"Downloads"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"-"}),(0,i.jsx)(t.td,{children:"-"}),(0,i.jsx)(t.td,{children:"-"})]})})]}),"\n",(0,i.jsx)(t.h3,{id:"gamevault-backend",children:"gamevault-backend"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Github Repository"}),(0,i.jsx)(t.th,{children:"Container Image"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"-"}),(0,i.jsx)(t.td,{children:"-"}),(0,i.jsx)(t.td,{children:"-"})]})})]}),"\n",(0,i.jsx)(t.h2,{id:"contributors-to-this-documentation",children:"Contributors to this Documentation"}),"\n",(0,i.jsx)(t.p,{children:"If you contributed to these docs, feel free to append your github username to the list below."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"@Alfagun74"}),"\n",(0,i.jsx)(t.li,{children:"@Yelo420"}),"\n",(0,i.jsx)(t.li,{children:"@46620"}),"\n",(0,i.jsx)(t.li,{children:"@xstar97"}),"\n",(0,i.jsx)(t.li,{children:"@Ronald-Diemicke"}),"\n",(0,i.jsx)(t.li,{children:"@FletcherAU"}),"\n",(0,i.jsx)(t.li,{children:"@Toylerrr"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8358:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>s});var i=n(5271);const o={},r=i.createContext(o);function s(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bcc2422e.cc2251a8.js b/assets/js/bcc2422e.cc2251a8.js new file mode 100644 index 000000000..6aa7e80a7 --- /dev/null +++ b/assets/js/bcc2422e.cc2251a8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8704],{939:e=>{e.exports=JSON.parse('{"tag":{"label":"UI Redesign","permalink":"/blog/tags/ui-redesign","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/ui-redesign","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/bcc2422e.e71b5aaf.js b/assets/js/bcc2422e.e71b5aaf.js deleted file mode 100644 index ac88ade0f..000000000 --- a/assets/js/bcc2422e.e71b5aaf.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8704],{2246:e=>{e.exports=JSON.parse('{"tag":{"label":"UI Redesign","permalink":"/blog/tags/ui-redesign","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/ui-redesign","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/c332f8df.f1eb30cb.js b/assets/js/c332f8df.d52fc2ac.js similarity index 96% rename from assets/js/c332f8df.f1eb30cb.js rename to assets/js/c332f8df.d52fc2ac.js index 5e63f38c8..62a62cd84 100644 --- a/assets/js/c332f8df.f1eb30cb.js +++ b/assets/js/c332f8df.d52fc2ac.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8258],{8667:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var t=i(2676),a=i(9246);const o={title:"Quick Migration Update and new Logo",authors:["alfagun74"],tags:["name migration progress","backend application migration","documentation migration","domain acquisition","Subreddit migration","Lemmy community","Client Application update","testing","new logo","speculation","Discord channel","migration finalization"]},l=void 0,r={permalink:"/blog/2023/07/19/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-19.md",source:"@site/blog/2023-07-19.md",title:"Quick Migration Update and new Logo",description:"Hey guys,",date:"2023-07-19T00:00:00.000Z",tags:[{inline:!0,label:"name migration progress",permalink:"/blog/tags/name-migration-progress"},{inline:!0,label:"backend application migration",permalink:"/blog/tags/backend-application-migration"},{inline:!0,label:"documentation migration",permalink:"/blog/tags/documentation-migration"},{inline:!0,label:"domain acquisition",permalink:"/blog/tags/domain-acquisition"},{inline:!0,label:"Subreddit migration",permalink:"/blog/tags/subreddit-migration"},{inline:!0,label:"Lemmy community",permalink:"/blog/tags/lemmy-community"},{inline:!0,label:"Client Application update",permalink:"/blog/tags/client-application-update"},{inline:!0,label:"testing",permalink:"/blog/tags/testing"},{inline:!0,label:"new logo",permalink:"/blog/tags/new-logo"},{inline:!0,label:"speculation",permalink:"/blog/tags/speculation"},{inline:!0,label:"Discord channel",permalink:"/blog/tags/discord-channel"},{inline:!0,label:"migration finalization",permalink:"/blog/tags/migration-finalization"}],readingTime:.965,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Quick Migration Update and new Logo",authors:["alfagun74"],tags:["name migration progress","backend application migration","documentation migration","domain acquisition","Subreddit migration","Lemmy community","Client Application update","testing","new logo","speculation","Discord channel","migration finalization"]},unlisted:!1,prevItem:{title:"The Migrations are finally completed",permalink:"/blog/2023/07/20/"},nextItem:{title:"A New Name",permalink:"/blog/2023/07/15/"}},s={authorsImageUrls:[void 0]},c=[];function d(e){const n={a:"a",code:"code",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey guys,"}),"\n",(0,t.jsx)(n.p,{children:"We have a brief update on the progress of the name migration."}),"\n",(0,t.jsxs)(n.p,{children:["We've successfully completed the migration of the backend application, which is now accessible as ",(0,t.jsx)(n.code,{children:"gamevault-backend"}),". "]}),"\n",(0,t.jsx)(n.p,{children:"Furthermore, we've migrated the documentation and acquired this domain gamevau.lt. We've set up redirects for our previous domain and the demo server as well."}),"\n",(0,t.jsxs)(n.p,{children:["Lastly we migrated our Subreddit to ",(0,t.jsx)(n.a,{href:"https://reddit.com/r/Phalcode",children:"r/Phalcode"})," and opened up a new community on ",(0,t.jsx)(n.a,{href:"https://lemmy.world/c/phalcode",children:"Lemmy"}),". All further Updates and discussions regarding GameVault can be found there."]}),"\n",(0,t.jsx)(n.p,{children:"We're nearly finished, you might say."}),"\n",(0,t.jsx)(n.p,{children:"The only remaining task is the Client Application. We're actively working on it and currently testing the application on our developer edition. Soon, you'll be able to seamlessly update your client with the new name and appearance."}),"\n",(0,t.jsx)(n.p,{children:"In the meantime, our graphic designer has crafted a fresh logo for our new name, GameVault."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"logo",src:i(4474).Z+"",width:"1000",height:"103"})}),"\n",(0,t.jsx)(n.p,{children:"To make good use of your time while the migrations are in progress, what do you speculate the new logo represents?"}),"\n",(0,t.jsxs)(n.p,{children:["Share your theories in gamevaults #chat channel on ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"discord"}),"! We'll reveal the answer and shoutout the winner(s) in the next blog post, once the migration is finalized!"]}),"\n",(0,t.jsx)(n.p,{children:"Until then \u270c\ufe0f"})]})}function m(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4474:(e,n,i)=>{i.d(n,{Z:()=>t});const t=i.p+"assets/images/logo-text-and-image-sbs-6a7a4b169bd1cf62f643469e715ae759.png"},9246:(e,n,i)=>{i.d(n,{Z:()=>r,a:()=>l});var t=i(5271);const a={},o=t.createContext(a);function l(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[8258],{8314:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>c});var t=i(2676),a=i(8358);const o={title:"Quick Migration Update and new Logo",authors:["alfagun74"],tags:["name migration progress","backend application migration","documentation migration","domain acquisition","Subreddit migration","Lemmy community","Client Application update","testing","new logo","speculation","Discord channel","migration finalization"]},l=void 0,r={permalink:"/blog/2023/07/19/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-19.md",source:"@site/blog/2023-07-19.md",title:"Quick Migration Update and new Logo",description:"Hey guys,",date:"2023-07-19T00:00:00.000Z",tags:[{inline:!0,label:"name migration progress",permalink:"/blog/tags/name-migration-progress"},{inline:!0,label:"backend application migration",permalink:"/blog/tags/backend-application-migration"},{inline:!0,label:"documentation migration",permalink:"/blog/tags/documentation-migration"},{inline:!0,label:"domain acquisition",permalink:"/blog/tags/domain-acquisition"},{inline:!0,label:"Subreddit migration",permalink:"/blog/tags/subreddit-migration"},{inline:!0,label:"Lemmy community",permalink:"/blog/tags/lemmy-community"},{inline:!0,label:"Client Application update",permalink:"/blog/tags/client-application-update"},{inline:!0,label:"testing",permalink:"/blog/tags/testing"},{inline:!0,label:"new logo",permalink:"/blog/tags/new-logo"},{inline:!0,label:"speculation",permalink:"/blog/tags/speculation"},{inline:!0,label:"Discord channel",permalink:"/blog/tags/discord-channel"},{inline:!0,label:"migration finalization",permalink:"/blog/tags/migration-finalization"}],readingTime:.965,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Quick Migration Update and new Logo",authors:["alfagun74"],tags:["name migration progress","backend application migration","documentation migration","domain acquisition","Subreddit migration","Lemmy community","Client Application update","testing","new logo","speculation","Discord channel","migration finalization"]},unlisted:!1,prevItem:{title:"The Migrations are finally completed",permalink:"/blog/2023/07/20/"},nextItem:{title:"A New Name",permalink:"/blog/2023/07/15/"}},s={authorsImageUrls:[void 0]},c=[];function d(e){const n={a:"a",code:"code",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Hey guys,"}),"\n",(0,t.jsx)(n.p,{children:"We have a brief update on the progress of the name migration."}),"\n",(0,t.jsxs)(n.p,{children:["We've successfully completed the migration of the backend application, which is now accessible as ",(0,t.jsx)(n.code,{children:"gamevault-backend"}),". "]}),"\n",(0,t.jsx)(n.p,{children:"Furthermore, we've migrated the documentation and acquired this domain gamevau.lt. We've set up redirects for our previous domain and the demo server as well."}),"\n",(0,t.jsxs)(n.p,{children:["Lastly we migrated our Subreddit to ",(0,t.jsx)(n.a,{href:"https://reddit.com/r/Phalcode",children:"r/Phalcode"})," and opened up a new community on ",(0,t.jsx)(n.a,{href:"https://lemmy.world/c/phalcode",children:"Lemmy"}),". All further Updates and discussions regarding GameVault can be found there."]}),"\n",(0,t.jsx)(n.p,{children:"We're nearly finished, you might say."}),"\n",(0,t.jsx)(n.p,{children:"The only remaining task is the Client Application. We're actively working on it and currently testing the application on our developer edition. Soon, you'll be able to seamlessly update your client with the new name and appearance."}),"\n",(0,t.jsx)(n.p,{children:"In the meantime, our graphic designer has crafted a fresh logo for our new name, GameVault."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"logo",src:i(4474).Z+"",width:"1000",height:"103"})}),"\n",(0,t.jsx)(n.p,{children:"To make good use of your time while the migrations are in progress, what do you speculate the new logo represents?"}),"\n",(0,t.jsxs)(n.p,{children:["Share your theories in gamevaults #chat channel on ",(0,t.jsx)(n.a,{href:"https://discord.gg/NEdNen2dSu",children:"discord"}),"! We'll reveal the answer and shoutout the winner(s) in the next blog post, once the migration is finalized!"]}),"\n",(0,t.jsx)(n.p,{children:"Until then \u270c\ufe0f"})]})}function m(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},4474:(e,n,i)=>{i.d(n,{Z:()=>t});const t=i.p+"assets/images/logo-text-and-image-sbs-6a7a4b169bd1cf62f643469e715ae759.png"},8358:(e,n,i)=>{i.d(n,{Z:()=>r,a:()=>l});var t=i(5271);const a={},o=t.createContext(a);function l(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:l(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c4f5d8e4.327ad0bf.js b/assets/js/c4f5d8e4.327ad0bf.js new file mode 100644 index 000000000..cdc9cc342 --- /dev/null +++ b/assets/js/c4f5d8e4.327ad0bf.js @@ -0,0 +1 @@ +(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4195],{2452:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>P});var i=a(6172),n=a(4814);a(5271);const o={features:"features_t9lD"},r=a.p+"assets/images/admin-0ad4037b89a248bffa4e939d647d326c.png",s=a.p+"assets/images/community-717286c80fce866c158ab595629a937a.png",l=a.p+"assets/images/game-45374cc5b999ec17b1ca3578f8ff926b.png",c=a.p+"assets/images/github-0cf1393534e30fd4eb2411670f3e9234.png",u=a.p+"assets/images/installation-318f17d2cf4b9f87ccafd406a2bdb009.png",d=a.p+"assets/images/library-afce4846b08b60cecca986a39b1fa331.png",h=a.p+"assets/medias/admin-3adfe380e11d3351a3ba7eb4e25ce685.mp4",m=a.p+"assets/medias/community-c59d264ef301a24c508f40a02340fd3c.mp4",p=a.p+"assets/medias/game-08b3dace3b1757584d3a82bab9bc7f93.mp4",f=a.p+"assets/medias/installation-b349635775bda338fd4babf0d8519e2c.mp4",g=a.p+"assets/medias/library-82c4106d4da1f0466e2995c53b6df7c0.mp4";var v=a(2676);const x=[{title:"\ud83d\udc6f Build Your Community",img:r,video:h,description:(0,v.jsx)(v.Fragment,{children:"Share your platform with your friends and family so they can enjoy your library, too. Administrate your users and games."})},{title:"\ud83c\udfae Browse Your Games",img:d,video:g,description:(0,v.jsx)(v.Fragment,{children:"Browse your server's beautifully organized library to download, install and play your collection of video games of all kinds!"})},{title:"\u23f1\ufe0f Track Your Progress",img:s,video:m,description:(0,v.jsx)(v.Fragment,{children:"See how long you or your friends have been playing a game, find out what they are and keep track of what you've already completed or abandoned."})},{title:"\ud83d\udd0e Automatic Metadata Enrichment",img:l,video:p,description:(0,v.jsx)(v.Fragment,{children:"GameVault automatically enriches your game with all the juicy information and and images from the largest video game database."})},{title:"\ud83d\udce6 Easy To Use",img:u,video:f,description:(0,v.jsxs)("div",{children:[(0,v.jsx)("a",{href:"https://www.reddit.com/r/github/s/BhVD6gIscZ",children:"You don't give a fuck about the fucking code?"}),(0,v.jsx)("br",{}),"Our application is officially available in the"," ",(0,v.jsx)("a",{href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",children:"Microsoft Store"}),". Also, ","",(0,v.jsx)("a",{href:"/docs/client-docs/how-to-use.md#2-installing-the-game",children:"installing games"})," and ",(0,v.jsx)("a",{href:"/docs/server-docs/setup",children:"setting up a server using our Docker image"})," ","is just as easy!"]})},{title:"\ud83d\udc65 Join The Movement",img:c,description:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)("a",{target:"_blank",href:"https://discord.gg/NEdNen2dSu",children:"Join our growing community"})," ",", star us on GitHub, or even ",(0,v.jsx)("a",{href:"/docs/contribute",children:"contribute"})," ","to our source-available project! Everyone can help!"]})}];function y(e){let{title:t,img:a,video:i,description:o}=e;return(0,v.jsxs)("div",{className:(0,n.Z)("col col--4"),children:[(0,v.jsx)("div",{className:"text--center",children:i?(0,v.jsx)("video",{className:"w-full max-w-screen-sm rounded-xl",muted:!0,autoPlay:!0,controls:!0,loop:!0,src:i}):(0,v.jsx)("img",{className:"rounded-xl",alt:t,src:a})}),(0,v.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,v.jsx)("h3",{children:t}),(0,v.jsx)("p",{children:o})]})]})}function b(){return(0,v.jsx)("section",{className:o.features,children:(0,v.jsx)("div",{className:"container",children:(0,v.jsx)("div",{className:"row",children:x.map(((e,t)=>(0,v.jsx)(y,{...e},t)))})})})}var w=a(3557),j=a(1714);function N(e){let{className:t,...a}=e;return(0,v.jsx)("div",{className:(0,n.Z)("mx-auto max-w-7xl px-4 sm:px-6 lg:px-8",t),...a})}var k=a(6527);const E=[[{question:"Does GameVault combine my gaming platforms in one place?",answer:"No, GameVault is not for combining games from different platforms into one app. Rather, it's for managing your own gaming platform with your own game files hosted on your server."},{question:"Is GameVault open-source?",answer:"No, GameVault is source-available, meaning the code is open for you to explore and modify for personal use. However, you may not use it for commercial purposes."},{question:"Is GameVault a tool for piracy?",answer:"No, it isn't. GameVault is designed to manage legally obtained DRM-free games. While it can technically be used with illegally obtained games, we do not endorse or support piracy. We encourage users to comply with copyright laws. Unlawful use is strictly improper and unauthorized."}],[{question:"Does GameVault work with games from Steam, Epic Games, Microsoft, etc.?",answer:"Usually not. GameVault is made for games you own and only works with DRM-free games, either pure game files or installers. Most platforms use DRM, but there are exceptions like GOG and Humble Bundle that don\u2019t."},{question:"Is there a native client for Mac or Linux?",answer:"No, apart from emulation or community-maintained clients, there is currently no native Linux or Mac GameVault client application."},{question:"Does GameVault have anything to do with gambling?",answer:"No, absolutely not. There's just a gambling app with a similar name on the market. If you're struggling with gambling addiction, please seek help."}],[{question:"Does GameVault stream games?",answer:"No, GameVault has nothing to do with streaming. It's simply an app to organize and browse your game library in a Steam-like experience and share it with your community."},{question:"Does GameVault cost any money?",answer:"No, the core features of GameVault are and will always be free. However, we do offer a paid GameVault+ subscription for some additional extra features, which you can subscribe to if you'd like to continuously support our work."},{question:"What was the former name of GameVault?",answer:"The first rule of GameVault is: you do not talk about the former name of GameVault."}]];function I(){return(0,v.jsx)("section",{id:"faq","aria-labelledby":"faq-title",className:"relative overflow-hidden py-16",children:(0,v.jsxs)(N,{className:"relative",children:[(0,v.jsxs)("div",{className:"mx-auto lg:mx-0",children:[(0,v.jsx)("h2",{id:"faq-title",className:"font-display text-3xl tracking-tight sm:text-4xl",children:"Frequently asked questions"}),(0,v.jsxs)("p",{className:"mt-4 text-lg tracking-tight text-text-light",children:["If you can\u2019t find what you\u2019re looking for here, check out the"," ",(0,v.jsx)(k.Z,{href:"https://gamevau.lt/docs/intro",children:"Docs"})," or contact us via"," ",(0,v.jsx)(k.Z,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),","," ",(0,v.jsx)(k.Z,{href:"https://github.com/Phalcode/gamevault-app/discussions",children:"GitHub"}),", or ",(0,v.jsx)(k.Z,{href:"mailto:contact@phalco.de",children:"Email"})]})]}),(0,v.jsx)("ul",{className:"list-none mx-auto mt-16 grid max-w-2xl grid-cols-1 gap-8 lg:max-w-none lg:grid-cols-3",children:E.map(((e,t)=>(0,v.jsx)("li",{children:(0,v.jsx)("ul",{className:"list-none flex flex-col gap-y-8",children:e.map(((e,t)=>(0,v.jsxs)("li",{children:[(0,v.jsx)("h3",{className:"font-display text-lg leading-7",children:e.question}),(0,v.jsx)("p",{className:"mt-4 text-sm text-text-light",children:e.answer})]},t)))})},t)))})]})})}const S={solid:"group inline-flex items-center justify-center rounded-full py-2 px-4 text-sm font-semibold focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 !no-underline",outline:"group inline-flex ring-1 items-center justify-center rounded-full py-2 px-4 text-sm focus:outline-none"},C={solid:{primary:"bg-primary-default text-white hover:bg-primary-darker hover:text-text-inverse active:bg-primary-darkest active:text-text-inverse focus-visible:outline-primary-darkest",white:"bg-white text-slate-900 hover:bg-indigo-50 active:bg-indigo-200 active:text-slate-600 focus-visible:outline-white"},outline:{slate:"ring-slate-200 text-slate-700 hover:text-slate-900 hover:ring-slate-300 active:bg-slate-100 active:text-slate-600 focus-visible:outline-indigo-600 focus-visible:ring-slate-300",white:"ring-slate-700 text-white hover:ring-slate-500 active:ring-slate-700 active:text-slate-400 focus-visible:outline-white"}};function V(e){let{className:t,...a}=e;return a.variant??="solid",a.color??="primary",t=(0,n.Z)(S[a.variant],"outline"===a.variant?C.outline[a.color]:"solid"===a.variant?C.solid[a.color]:void 0,t),void 0===a.href?(0,v.jsx)("button",{className:t,...a}):(0,v.jsx)(k.Z,{className:t,...a})}function L(){return(0,v.jsxs)(N,{className:"pb-16 pt-20 text-center",children:[(0,v.jsx)("img",{src:"/img/logo.png",className:"h-48 nozoom",alt:"Logo"}),(0,v.jsxs)("h1",{className:"mx-auto max-w-4xl font-display text-5xl font-medium tracking-tight sm:text-7xl",children:["Create"," ",(0,v.jsxs)("span",{className:"relative whitespace-nowrap text-primary-darker",children:[(0,v.jsx)("svg",{"aria-hidden":"true",viewBox:"0 0 418 42",className:"absolute left-0 top-2/3 h-[0.58em] w-full fill-primary-default opacity-30",preserveAspectRatio:"none",children:(0,v.jsx)("path",{d:"M203.371.916c-26.013-2.078-76.686 1.963-124.73 9.946L67.3 12.749C35.421 18.062 18.2 21.766 6.004 25.934 1.244 27.561.828 27.778.874 28.61c.07 1.214.828 1.121 9.595-1.176 9.072-2.377 17.15-3.92 39.246-7.496C123.565 7.986 157.869 4.492 195.942 5.046c7.461.108 19.25 1.696 19.17 2.582-.107 1.183-7.874 4.31-25.75 10.366-21.992 7.45-35.43 12.534-36.701 13.884-2.173 2.308-.202 4.407 4.442 4.734 2.654.187 3.263.157 15.593-.78 35.401-2.686 57.944-3.488 88.365-3.143 46.327.526 75.721 2.23 130.788 7.584 19.787 1.924 20.814 1.98 24.557 1.332l.066-.011c1.201-.203 1.53-1.825.399-2.335-2.911-1.31-4.893-1.604-22.048-3.261-57.509-5.556-87.871-7.36-132.059-7.842-23.239-.254-33.617-.116-50.627.674-11.629.54-42.371 2.494-46.696 2.967-2.359.259 8.133-3.625 26.504-9.81 23.239-7.825 27.934-10.149 28.304-14.005.417-4.348-3.529-6-16.878-7.066Z"})}),(0,v.jsx)("span",{className:"relative",children:"your own"})]})," ","gaming platform."]}),(0,v.jsxs)("p",{className:"mx-auto mt-6 max-w-2xl text-lg tracking-tight text-text-light",children:["Hoarding video games is fun, but a chaotic list of files on a network share is not. ",(0,v.jsx)("br",{})," Let GameVault organize everything for you and enjoy a Steam-like experience within the comfort of your own server."]}),(0,v.jsxs)("div",{className:"mt-10 flex justify-center gap-x-6",children:[(0,v.jsx)(V,{className:"w-52",href:"/docs/intro",children:"Learn more"}),(0,v.jsx)(V,{className:"w-52",href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",target:"_blank",children:"Download Client"})]})]})}function P(){j.init("K6k7j6GHClhh"),j.trackViews();const{siteConfig:e}=(0,i.Z)();return(0,v.jsxs)(w.Z,{title:`${e.title}`,description:"the self-hosted gaming platform for drm-free games",children:[(0,v.jsx)("noscript",{children:(0,v.jsx)("img",{src:"https://api.swetrix.com/log/noscript?pid=K6k7j6GHClhh",alt:""})}),(0,v.jsxs)("main",{children:[(0,v.jsx)("section",{className:"bg-background-dark",children:(0,v.jsx)(L,{})}),(0,v.jsx)("br",{}),(0,v.jsx)(N,{children:(0,v.jsx)(b,{})}),(0,v.jsx)(I,{}),(0,v.jsx)("p",{className:"text--center text-xs font-bolder tracking-tighter",children:"*In case you're wondering, all depicted games on this website are placeholders and not real"})]})]})}},1714:function(e,t){!function(e){"use strict";var t=function(){return(t=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var n in t=arguments[a])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)};function a(e,t,a,i){return new(a=a||Promise)((function(n,o){function r(e){try{l(i.next(e))}catch(e){o(e)}}function s(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):((t=e.value)instanceof a?t:new a((function(e){e(t)}))).then(r,s)}l((i=i.apply(e,t||[])).next())}))}function i(e,t){var a,i,n,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},r={next:s(0),throw:s(1),return:s(2)};return"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(l){var c=[s,l];if(a)throw new TypeError("Generator is already executing.");for(;o=r&&c[r=0]?0:o;)try{if(a=1,i&&(n=2&c[0]?i.return:c[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,c[1])).done)return n;switch(i=0,(c=n?[2&c[0],n.value]:c)[0]){case 0:case 1:n=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,i=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(n=0<(n=o.trys).length&&n[n.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!n||c[1]>n[0]&&c[1]<n[3]))o.label=c[1];else if(6===c[0]&&o.label<n[1])o.label=n[1],n=c;else{if(!(n&&o.label<n[2])){n[2]&&o.ops.pop(),o.trys.pop();continue}o.label=n[2],o.ops.push(c)}}c=t.call(e,o)}catch(l){c=[6,l],i=0}finally{a=n=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function n(e){return(e=location.search.match(e))&&e[2]||void 0}function o(){return void 0!==navigator.languages?navigator.languages[0]:navigator.language}function r(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(a){}}function s(){return document.referrer||void 0}function l(){return n(p)}function c(){return n(g)}function u(){return n(f)}function d(){return n(v)}function h(){return n(x)}function m(e){var t,a=location.pathname||"";return e.hash&&(a+=-1<(t=location.hash.indexOf("?"))?location.hash.substring(0,t):location.hash),e.search&&(t=location.hash.indexOf("?"),a+=location.search||(-1<t?location.hash.substring(t):"")),a}var p=/[?&](ref|source|utm_source)=([^?&]+)/,f=/[?&](utm_campaign)=([^?&]+)/,g=/[?&](utm_medium)=([^?&]+)/,v=/[?&](utm_term)=([^?&]+)/,x=/[?&](utm_content)=([^?&]+)/,y={stop:function(){}},b=(w.prototype.captureError=function(e){var t;"number"==typeof(null==(t=this.errorsOptions)?void 0:t.sampleRate)&&this.errorsOptions.sampleRate>Math.random()||this.submitError({filename:e.filename,lineno:e.lineno,colno:e.colno,name:(null==(t=e.error)?void 0:t.name)||"Error",message:(null==(t=e.error)?void 0:t.message)||e.message},!0)},w.prototype.trackErrors=function(e){var t=this;return this.errorListenerExists||!this.canTrack()?y:(this.errorsOptions=e,window.addEventListener("error",this.captureError),this.errorListenerExists=!0,{stop:function(){window.removeEventListener("error",t.captureError)}})},w.prototype.submitError=function(e,a){var i={pid:this.projectID},n=t({pg:this.activePage||m({hash:null==(n=this.pageViewsOptions)?void 0:n.hash,search:null==(n=this.pageViewsOptions)?void 0:n.search}),lc:o(),tz:r()},e);if(a&&null!=(e=this.errorsOptions)&&e.callback){if(!1===(a=this.errorsOptions.callback(n)))return;a&&"object"==typeof a&&Object.assign(n,a)}Object.assign(n,i),this.sendRequest("error",n)},w.prototype.track=function(e){return a(this,void 0,void 0,(function(){var a;return i(this,(function(i){switch(i.label){case 0:return this.canTrack()?(a=t(t({},e),{pid:this.projectID,pg:this.activePage,lc:o(),tz:r(),ref:s(),so:l(),me:c(),ca:u(),te:d(),co:h()}),[4,this.sendRequest("custom",a)]):[2];case 1:return i.sent(),[2]}}))}))},w.prototype.trackPageViews=function(e){var t,a,i;return this.canTrack()?(this.pageData||(null!=(this.pageViewsOptions=e)&&e.unique||(t=setInterval(this.trackPathChange,2e3)),setTimeout(this.heartbeat,3e3),a=setInterval(this.heartbeat,28e3),i=m({hash:null==e?void 0:e.hash,search:null==e?void 0:e.search}),this.pageData={path:i,actions:{stop:function(){clearInterval(t),clearInterval(a)}}},this.trackPage(i,null==e?void 0:e.unique)),this.pageData.actions):y},w.prototype.getPerformanceStats=function(){var e;return this.canTrack()&&!this.perfStatsCollected&&null!=(e=window.performance)&&e.getEntriesByType&&(e=window.performance.getEntriesByType("navigation")[0])?(this.perfStatsCollected=!0,{dns:e.domainLookupEnd-e.domainLookupStart,tls:e.secureConnectionStart?e.requestStart-e.secureConnectionStart:0,conn:e.secureConnectionStart?e.secureConnectionStart-e.connectStart:e.connectEnd-e.connectStart,response:e.responseEnd-e.responseStart,render:e.domComplete-e.domContentLoadedEventEnd,dom_load:e.domContentLoadedEventEnd-e.responseEnd,page_load:e.loadEventStart,ttfb:e.responseStart-e.requestStart}):{}},w.prototype.heartbeat=function(){var e;(null!=(e=this.pageViewsOptions)&&e.heartbeatOnBackground||"hidden"!==document.visibilityState)&&(e={pid:this.projectID},this.sendRequest("hb",e))},w.prototype.trackPathChange=function(){var e;this.pageData&&(e=m({hash:null==(e=this.pageViewsOptions)?void 0:e.hash,search:null==(e=this.pageViewsOptions)?void 0:e.search}),this.pageData.path!==e)&&this.trackPage(e,!1)},w.prototype.getPreviousPage=function(){if(this.activePage)return this.activePage;if("function"==typeof URL){var e=s();if(!e)return null;var t=location.host;try{var a=new URL(e),i=a.host,n=a.pathname;return t!==i?null:n}catch(e){}}return null},w.prototype.trackPage=function(e,t){var a;void 0===t&&(t=!1),this.pageData&&(this.pageData.path=e,a=this.getPerformanceStats(),this.activePage=e,this.submitPageView({pg:e},t,a,!0))},w.prototype.submitPageView=function(e,a,i,n){var m=this.getPreviousPage();if(i={pid:this.projectID,perf:i,unique:a},a=t({lc:o(),tz:r(),ref:s(),so:l(),me:c(),ca:u(),te:d(),co:h(),prev:m},e),n&&null!=(m=this.pageViewsOptions)&&m.callback){if(!1===(e=this.pageViewsOptions.callback(a)))return;e&&"object"==typeof e&&Object.assign(a,e)}Object.assign(a,i),this.sendRequest("",a)},w.prototype.canTrack=function(){var e;return!(null!=(e=this.options)&&e.disabled||"undefined"==typeof window||null!=(e=this.options)&&e.respectDNT&&"1"===(null==(e=window.navigator)?void 0:e.doNotTrack)||(null==(e=this.options)||!e.devMode)&&("localhost"===(null===location||void 0===location?void 0:location.hostname)||"127.0.0.1"===(null===location||void 0===location?void 0:location.hostname)||""===(null===location||void 0===location?void 0:location.hostname))||null!==navigator&&void 0!==navigator&&navigator.webdriver)},w.prototype.sendRequest=function(e,t){return a(this,void 0,void 0,(function(){var a;return i(this,(function(i){switch(i.label){case 0:return a=(null==(a=this.options)?void 0:a.apiURL)||"https://api.swetrix.com/log",[4,fetch("".concat(a,"/").concat(e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})];case 1:return i.sent(),[2]}}))}))},w);function w(e,t){this.projectID=e,this.options=t,this.pageData=null,this.pageViewsOptions=null,this.errorsOptions=null,this.perfStatsCollected=!1,this.activePage=null,this.errorListenerExists=!1,this.trackPathChange=this.trackPathChange.bind(this),this.heartbeat=this.heartbeat.bind(this),this.captureError=this.captureError.bind(this)}e.LIB_INSTANCE=null,e.init=function(t,a){return e.LIB_INSTANCE||(e.LIB_INSTANCE=new b(t,a)),e.LIB_INSTANCE},e.pageview=function(t){e.LIB_INSTANCE&&e.LIB_INSTANCE.submitPageView(t.payload,Boolean(t.unique),{})},e.track=function(t){return a(this,void 0,void 0,(function(){return i(this,(function(a){switch(a.label){case 0:return e.LIB_INSTANCE?[4,e.LIB_INSTANCE.track(t)]:[2];case 1:return a.sent(),[2]}}))}))},e.trackError=function(t){e.LIB_INSTANCE&&e.LIB_INSTANCE.submitError(t,!1)},e.trackErrors=function(t){return e.LIB_INSTANCE?e.LIB_INSTANCE.trackErrors(t):y},e.trackPageview=function(t,a,i){e.LIB_INSTANCE&&e.LIB_INSTANCE.submitPageView({pg:t,prev:a||null},Boolean(i),{})},e.trackViews=function(t){return new Promise((function(a){e.LIB_INSTANCE?"undefined"==typeof document||"complete"===document.readyState?a(e.LIB_INSTANCE.trackPageViews(t)):window.addEventListener("load",(function(){a(e.LIB_INSTANCE.trackPageViews(t))})):a(y)}))},Object.defineProperty(e,"__esModule",{value:!0})}(t)}}]); \ No newline at end of file diff --git a/assets/js/c4f5d8e4.6d5feb5c.js b/assets/js/c4f5d8e4.6d5feb5c.js deleted file mode 100644 index 2cd35185a..000000000 --- a/assets/js/c4f5d8e4.6d5feb5c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4195],{9853:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>C});n(5271);var a=n(4814),r=n(9347),o=n(2100),i=n(8849);const s={features:"features_t9lD"},c=n.p+"assets/images/admin-0ad4037b89a248bffa4e939d647d326c.png",l=n.p+"assets/images/community-717286c80fce866c158ab595629a937a.png",u=n.p+"assets/images/game-45374cc5b999ec17b1ca3578f8ff926b.png",d=n.p+"assets/images/github-0cf1393534e30fd4eb2411670f3e9234.png",h=n.p+"assets/images/installation-318f17d2cf4b9f87ccafd406a2bdb009.png",p=n.p+"assets/images/library-afce4846b08b60cecca986a39b1fa331.png",m=n.p+"assets/medias/admin-3adfe380e11d3351a3ba7eb4e25ce685.mp4",g=n.p+"assets/medias/community-c59d264ef301a24c508f40a02340fd3c.mp4",f=n.p+"assets/medias/game-08b3dace3b1757584d3a82bab9bc7f93.mp4",v=n.p+"assets/medias/installation-b349635775bda338fd4babf0d8519e2c.mp4",b=n.p+"assets/medias/library-82c4106d4da1f0466e2995c53b6df7c0.mp4";var y=n(2676);const w=[{title:"\ud83d\udc6f Build Your Community",img:c,video:m,description:(0,y.jsx)(y.Fragment,{children:"Share your platform with your friends and family so they can enjoy your library, too. Administrate your users and games."})},{title:"\ud83c\udfae Browse Your Games",img:p,video:b,description:(0,y.jsx)(y.Fragment,{children:"Browse your server's beautifully organized library to download, install and play your collection of video games of all kinds!"})},{title:"\u23f1\ufe0f Track Your Progress",img:l,video:g,description:(0,y.jsx)(y.Fragment,{children:"See how long you or your friends have been playing a game, find out what they are and keep track of what you've already completed or abandoned."})},{title:"\ud83d\udd0e Automatic Metadata Enrichment",img:u,video:f,description:(0,y.jsx)(y.Fragment,{children:"GameVault automatically enriches your game with all the juicy information and and images from the largest video game database."})},{title:"\ud83d\udce6 Easy To Use",img:h,video:v,description:(0,y.jsxs)("div",{children:[(0,y.jsx)("a",{href:"https://www.reddit.com/r/github/s/BhVD6gIscZ",children:"You don't give a fuck about the fucking code?"}),(0,y.jsx)("br",{}),"Our application is officially available in the"," ",(0,y.jsx)("a",{href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",children:"Microsoft Store"}),". Also, ","",(0,y.jsx)("a",{href:"/docs/client-docs/how-to-use.md#2-installing-the-game",children:"installing games"})," and ",(0,y.jsx)("a",{href:"/docs/server-docs/setup",children:"setting up a server using our Docker image"})," ","is just as easy!"]})},{title:"\ud83d\udc65 Join The Movement",img:d,description:(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("a",{target:"_blank",href:"https://discord.gg/NEdNen2dSu",children:"Join our growing community"})," ",", star us on GitHub, or even ",(0,y.jsx)("a",{href:"/docs/contribute",children:"contribute"})," ","to our source-available project! Everyone can help!"]})}];function x(e){let{title:t,img:n,video:r,description:o}=e;return(0,y.jsxs)("div",{className:(0,a.Z)("col col--4"),children:[(0,y.jsx)("div",{className:"text--center",children:r?(0,y.jsx)("video",{className:"w-full max-w-screen-sm rounded-xl",muted:!0,autoPlay:!0,controls:!0,loop:!0,src:r}):(0,y.jsx)("img",{className:"rounded-xl",alt:t,src:n})}),(0,y.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,y.jsx)("h3",{children:t}),(0,y.jsx)("p",{children:o})]})]})}function j(){return(0,y.jsx)("section",{className:s.features,children:(0,y.jsx)("div",{className:"container",children:(0,y.jsx)("div",{className:"row",children:w.map(((e,t)=>(0,y.jsx)(x,{...e},t)))})})})}var N=n(7266);const k={heroBanner:"heroBanner_qdFl"};var E=n(7931);function I(){const{colorMode:e}=(0,E.I)();return"dark"===e?(0,y.jsx)("img",{src:"/img/logo-text-white.svg",className:"h-16 nozoom",alt:"Logo"}):(0,y.jsx)("img",{src:"/img/logo-text-black.svg",className:"h-16 nozoom",alt:"Logo"})}function S(){const{siteConfig:e}=(0,o.Z)();return(0,y.jsxs)("header",{className:(0,a.Z)("hero",k.heroBanner),children:[(0,y.jsx)("noscript",{children:(0,y.jsx)("img",{src:"https://api.swetrix.com/log/noscript?pid=K6k7j6GHClhh",alt:""})}),(0,y.jsxs)("div",{className:"container",children:[(0,y.jsxs)("div",{className:"flex flex-col justify-center items-center text-7xl font-semibold gap-4",children:[(0,y.jsx)("img",{src:"/img/logo.png",className:"h-48 nozoom",alt:"Logo"}),(0,y.jsx)(I,{})]}),(0,y.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,y.jsxs)("div",{className:"grid sm:grid-cols-2 gap-4 lg:max-w-[50%] sm:mx-auto",children:[(0,y.jsx)(r.Z,{className:"button button--secondary button--lg",to:"/docs/intro",children:"Introduction"}),(0,y.jsx)("a",{className:"button button--secondary button--lg",href:"https://www.microsoft.com/store/apps/9PCKDV76GL75",target:"_blank",children:"Download Client"}),(0,y.jsx)("a",{className:"inline-flex justify-center",href:"https://www.producthunt.com/posts/gamevault",target:"_blank",children:(0,y.jsx)("img",{src:"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=400344&theme=neutral",alt:"GameVault on ProductHunt",className:"nozoom"})}),(0,y.jsx)("a",{className:"inline-flex justify-center",href:"https://discord.gg/NEdNen2dSu",target:"_blank",children:(0,y.jsx)("img",{src:"/img/discord.svg",alt:"Join us on Discord",className:"nozoom"})})]})]})]})}function C(){N.init("K6k7j6GHClhh"),N.trackViews();const{siteConfig:e}=(0,o.Z)();return(0,y.jsxs)(i.Z,{title:`${e.title}`,description:"the self-hosted gaming platform for drm-free games",children:[(0,y.jsx)(S,{}),(0,y.jsxs)("main",{children:[(0,y.jsxs)("section",{children:[(0,y.jsx)("br",{}),(0,y.jsx)("h2",{id:"heroTitle",className:"text--center",children:"Create your own gaming platform"}),(0,y.jsx)("h3",{id:"heroSubtitle",className:"text--center",children:"Do you have games on your server and need an application to download, install, share, launch and track them?"}),(0,y.jsx)("h3",{id:"heroSubtitle",className:"text--center",children:"Then you have come to the right place!"})]}),(0,y.jsx)(j,{}),(0,y.jsx)("p",{className:"text--center text-xs font-bolder tracking-tighter",children:"*all depicted games are placeholders and not real"})]})]})}},7266:function(e,t){!function(e){"use strict";var t=function(){return(t=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function n(e,t,n,a){return new(n=n||Promise)((function(r,o){function i(e){try{c(a.next(e))}catch(e){o(e)}}function s(e){try{c(a.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):((t=e.value)instanceof n?t:new n((function(e){e(t)}))).then(i,s)}c((a=a.apply(e,t||[])).next())}))}function a(e,t){var n,a,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i={next:s(0),throw:s(1),return:s(2)};return"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(s){return function(c){var l=[s,c];if(n)throw new TypeError("Generator is already executing.");for(;o=i&&l[i=0]?0:o;)try{if(n=1,a&&(r=2&l[0]?a.return:l[0]?a.throw||((r=a.return)&&r.call(a),0):a.next)&&!(r=r.call(a,l[1])).done)return r;switch(a=0,(l=r?[2&l[0],r.value]:l)[0]){case 0:case 1:r=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,a=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(r=0<(r=o.trys).length&&r[r.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]<r[3]))o.label=l[1];else if(6===l[0]&&o.label<r[1])o.label=r[1],r=l;else{if(!(r&&o.label<r[2])){r[2]&&o.ops.pop(),o.trys.pop();continue}o.label=r[2],o.ops.push(l)}}l=t.call(e,o)}catch(c){l=[6,c],a=0}finally{n=r=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function r(e){return(e=location.search.match(e))&&e[2]||void 0}function o(){return void 0!==navigator.languages?navigator.languages[0]:navigator.language}function i(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(n){}}function s(){return document.referrer||void 0}function c(){return r(h)}function l(){return r(m)}function u(){return r(p)}function d(e){var t,n=location.pathname||"";return e.hash&&(n+=-1<(t=location.hash.indexOf("?"))?location.hash.substring(0,t):location.hash),e.search&&(t=location.hash.indexOf("?"),n+=location.search||(-1<t?location.hash.substring(t):"")),n}var h=/[?&](ref|source|utm_source)=([^?&]+)/,p=/[?&](utm_campaign)=([^?&]+)/,m=/[?&](utm_medium)=([^?&]+)/,g={stop:function(){}},f=(v.prototype.captureError=function(e){var t;"number"==typeof(null==(t=this.errorsOptions)?void 0:t.sampleRate)&&this.errorsOptions.sampleRate>Math.random()||this.submitError({filename:e.filename,lineno:e.lineno,colno:e.colno,name:(null==(t=e.error)?void 0:t.name)||"Error",message:(null==(t=e.error)?void 0:t.message)||e.message},!0)},v.prototype.trackErrors=function(e){var t=this;return this.errorListenerExists||!this.canTrack()?g:(this.errorsOptions=e,window.addEventListener("error",this.captureError),this.errorListenerExists=!0,{stop:function(){window.removeEventListener("error",t.captureError)}})},v.prototype.submitError=function(e,n){var a={pid:this.projectID},r=t({pg:this.activePage||d({hash:null==(r=this.pageViewsOptions)?void 0:r.hash,search:null==(r=this.pageViewsOptions)?void 0:r.search}),lc:o(),tz:i()},e);if(n&&null!=(e=this.errorsOptions)&&e.callback){if(!1===(n=this.errorsOptions.callback(r)))return;n&&"object"==typeof n&&Object.assign(r,n)}Object.assign(r,a),this.sendRequest("error",r)},v.prototype.track=function(e){return n(this,void 0,void 0,(function(){var n;return a(this,(function(a){switch(a.label){case 0:return this.canTrack()?(n=t(t({},e),{pid:this.projectID,pg:this.activePage,lc:o(),tz:i(),ref:s(),so:c(),me:l(),ca:u()}),[4,this.sendRequest("custom",n)]):[2];case 1:return a.sent(),[2]}}))}))},v.prototype.trackPageViews=function(e){var t,n,a;return this.canTrack()?(this.pageData||(null!=(this.pageViewsOptions=e)&&e.unique||(t=setInterval(this.trackPathChange,2e3)),setTimeout(this.heartbeat,3e3),n=setInterval(this.heartbeat,28e3),a=d({hash:null==e?void 0:e.hash,search:null==e?void 0:e.search}),this.pageData={path:a,actions:{stop:function(){clearInterval(t),clearInterval(n)}}},this.trackPage(a,null==e?void 0:e.unique)),this.pageData.actions):g},v.prototype.getPerformanceStats=function(){var e;return this.canTrack()&&!this.perfStatsCollected&&null!=(e=window.performance)&&e.getEntriesByType&&(e=window.performance.getEntriesByType("navigation")[0])?(this.perfStatsCollected=!0,{dns:e.domainLookupEnd-e.domainLookupStart,tls:e.secureConnectionStart?e.requestStart-e.secureConnectionStart:0,conn:e.secureConnectionStart?e.secureConnectionStart-e.connectStart:e.connectEnd-e.connectStart,response:e.responseEnd-e.responseStart,render:e.domComplete-e.domContentLoadedEventEnd,dom_load:e.domContentLoadedEventEnd-e.responseEnd,page_load:e.loadEventStart,ttfb:e.responseStart-e.requestStart}):{}},v.prototype.heartbeat=function(){var e;(null!=(e=this.pageViewsOptions)&&e.heartbeatOnBackground||"hidden"!==document.visibilityState)&&(e={pid:this.projectID},this.sendRequest("hb",e))},v.prototype.trackPathChange=function(){var e;this.pageData&&(e=d({hash:null==(e=this.pageViewsOptions)?void 0:e.hash,search:null==(e=this.pageViewsOptions)?void 0:e.search}),this.pageData.path!==e)&&this.trackPage(e,!1)},v.prototype.getPreviousPage=function(){if(this.activePage)return this.activePage;if("function"==typeof URL){var e=s();if(!e)return null;var t=location.host;try{var n=new URL(e),a=n.host,r=n.pathname;return t!==a?null:r}catch(e){}}return null},v.prototype.trackPage=function(e,t){var n;void 0===t&&(t=!1),this.pageData&&(this.pageData.path=e,n=this.getPerformanceStats(),this.activePage=e,this.submitPageView({pg:e},t,n,!0))},v.prototype.submitPageView=function(e,n,a,r){var d=this.getPreviousPage();if(a={pid:this.projectID,perf:a,unique:n},n=t({lc:o(),tz:i(),ref:s(),so:c(),me:l(),ca:u(),prev:d},e),r&&null!=(d=this.pageViewsOptions)&&d.callback){if(!1===(e=this.pageViewsOptions.callback(n)))return;e&&"object"==typeof e&&Object.assign(n,e)}Object.assign(n,a),this.sendRequest("",n)},v.prototype.canTrack=function(){var e;return!(null!=(e=this.options)&&e.disabled||"undefined"==typeof window||null!=(e=this.options)&&e.respectDNT&&"1"===(null==(e=window.navigator)?void 0:e.doNotTrack)||(null==(e=this.options)||!e.devMode)&&("localhost"===(null===location||void 0===location?void 0:location.hostname)||"127.0.0.1"===(null===location||void 0===location?void 0:location.hostname)||""===(null===location||void 0===location?void 0:location.hostname))||null!==navigator&&void 0!==navigator&&navigator.webdriver)},v.prototype.sendRequest=function(e,t){return n(this,void 0,void 0,(function(){var n;return a(this,(function(a){switch(a.label){case 0:return n=(null==(n=this.options)?void 0:n.apiURL)||"https://api.swetrix.com/log",[4,fetch("".concat(n,"/").concat(e),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})];case 1:return a.sent(),[2]}}))}))},v);function v(e,t){this.projectID=e,this.options=t,this.pageData=null,this.pageViewsOptions=null,this.errorsOptions=null,this.perfStatsCollected=!1,this.activePage=null,this.errorListenerExists=!1,this.trackPathChange=this.trackPathChange.bind(this),this.heartbeat=this.heartbeat.bind(this),this.captureError=this.captureError.bind(this)}e.LIB_INSTANCE=null,e.init=function(t,n){return e.LIB_INSTANCE||(e.LIB_INSTANCE=new f(t,n)),e.LIB_INSTANCE},e.pageview=function(t){e.LIB_INSTANCE&&e.LIB_INSTANCE.submitPageView(t.payload,Boolean(t.unique),{})},e.track=function(t){return n(this,void 0,void 0,(function(){return a(this,(function(n){switch(n.label){case 0:return e.LIB_INSTANCE?[4,e.LIB_INSTANCE.track(t)]:[2];case 1:return n.sent(),[2]}}))}))},e.trackError=function(t){e.LIB_INSTANCE&&e.LIB_INSTANCE.submitError(t,!1)},e.trackErrors=function(t){return e.LIB_INSTANCE?e.LIB_INSTANCE.trackErrors(t):g},e.trackPageview=function(t,n,a){e.LIB_INSTANCE&&e.LIB_INSTANCE.submitPageView({pg:t,prev:n||null},Boolean(a),{})},e.trackViews=function(t){return new Promise((function(n){e.LIB_INSTANCE?"undefined"==typeof document||"complete"===document.readyState?n(e.LIB_INSTANCE.trackPageViews(t)):window.addEventListener("load",(function(){n(e.LIB_INSTANCE.trackPageViews(t))})):n(g)}))},Object.defineProperty(e,"__esModule",{value:!0})}(t)}}]); \ No newline at end of file diff --git a/assets/js/c89c7974.36d99de2.js b/assets/js/c89c7974.b21109b7.js similarity index 95% rename from assets/js/c89c7974.36d99de2.js rename to assets/js/c89c7974.b21109b7.js index 4633c888c..0f7e8c8c4 100644 --- a/assets/js/c89c7974.36d99de2.js +++ b/assets/js/c89c7974.b21109b7.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5865],{433:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=a(2676),i=a(9246);const o={sidebar_position:4},s="REST API Usage",r={id:"advanced-usage/rest-api",title:"REST API Usage",description:"The GameVault Backend Server offers a fully documented REST API for use to everyone. With the API, you can build your own GameVault clients or 3rd party integrations and manage your libraries automatically.",source:"@site/docs/advanced-usage/rest-api.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/rest-api",permalink:"/docs/advanced-usage/rest-api",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/rest-api.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Themes",permalink:"/docs/client-docs/themes"},next:{title:"Early Access Program",permalink:"/docs/advanced-usage/early-access-program"}},c={},d=[{value:"Register a Bot User",id:"register-a-bot-user",level:2},{value:"OpenAPI Specification",id:"openapi-specification",level:2},{value:"Authentication",id:"authentication",level:2}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"rest-api-usage",children:"REST API Usage"})}),"\n",(0,n.jsx)(t.p,{children:"The GameVault Backend Server offers a fully documented REST API for use to everyone. With the API, you can build your own GameVault clients or 3rd party integrations and manage your libraries automatically."}),"\n",(0,n.jsx)(t.h2,{id:"register-a-bot-user",children:"Register a Bot User"}),"\n",(0,n.jsxs)(t.p,{children:["To use the GameVault API, it is recommended to register a separate user with the username prefix ",(0,n.jsx)(t.code,{children:"gvbot_"})," (e.g. ",(0,n.jsx)(t.code,{children:"gvbot_image_downloader"}),"). The bot user will not appear in the public user list. This user will be used to authenticate your API requests. You can do this by using the Register Form in the settings tab of the GameVault App."]}),"\n",(0,n.jsx)(t.h2,{id:"openapi-specification",children:"OpenAPI Specification"}),"\n",(0,n.jsxs)(t.p,{children:["You can check out the API specification at ",(0,n.jsx)(t.code,{children:"/api/docs"})," after making sure the server environment variable ",(0,n.jsx)(t.code,{children:"SERVER_API_DOCS_ENABLED"})," is set to ",(0,n.jsx)(t.code,{children:"true"}),". There is also a hosted version of the latest API Documentation available at ",(0,n.jsx)(t.a,{href:"https://demo.gamevau.lt/api/docs",children:"demo.gamevau.lt/api/docs"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"The API documentation provides a complete guide on how to use the API, including authentication, endpoints, and parameters."}),"\n",(0,n.jsxs)(t.p,{children:["You can also download the OpenAPI Specification in different formats using ",(0,n.jsx)(t.code,{children:"example.com/api/docs-json"})," or ",(0,n.jsx)(t.code,{children:"example.com/api/docs-yaml"}),". This is useful for importing the Calls into a tool like Postman or generate the client code using the openapi-generator."]}),"\n",(0,n.jsx)(t.h2,{id:"authentication",children:"Authentication"}),"\n",(0,n.jsx)(t.p,{children:"Almost all requests to the API require basic-auth authentication. You will need to include it in the Authentication header of each request."})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},9246:(e,t,a)=>{a.d(t,{Z:()=>r,a:()=>s});var n=a(5271);const i={},o=n.createContext(i);function s(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5865],{433:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=a(2676),i=a(8358);const o={sidebar_position:4},s="REST API Usage",r={id:"advanced-usage/rest-api",title:"REST API Usage",description:"The GameVault Backend Server offers a fully documented REST API for use to everyone. With the API, you can build your own GameVault clients or 3rd party integrations and manage your libraries automatically.",source:"@site/docs/advanced-usage/rest-api.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/rest-api",permalink:"/docs/advanced-usage/rest-api",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/rest-api.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"docs",previous:{title:"Themes",permalink:"/docs/client-docs/themes"},next:{title:"Early Access Program",permalink:"/docs/advanced-usage/early-access-program"}},c={},d=[{value:"Register a Bot User",id:"register-a-bot-user",level:2},{value:"OpenAPI Specification",id:"openapi-specification",level:2},{value:"Authentication",id:"authentication",level:2}];function l(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",header:"header",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"rest-api-usage",children:"REST API Usage"})}),"\n",(0,n.jsx)(t.p,{children:"The GameVault Backend Server offers a fully documented REST API for use to everyone. With the API, you can build your own GameVault clients or 3rd party integrations and manage your libraries automatically."}),"\n",(0,n.jsx)(t.h2,{id:"register-a-bot-user",children:"Register a Bot User"}),"\n",(0,n.jsxs)(t.p,{children:["To use the GameVault API, it is recommended to register a separate user with the username prefix ",(0,n.jsx)(t.code,{children:"gvbot_"})," (e.g. ",(0,n.jsx)(t.code,{children:"gvbot_image_downloader"}),"). The bot user will not appear in the public user list. This user will be used to authenticate your API requests. You can do this by using the Register Form in the settings tab of the GameVault App."]}),"\n",(0,n.jsx)(t.h2,{id:"openapi-specification",children:"OpenAPI Specification"}),"\n",(0,n.jsxs)(t.p,{children:["You can check out the API specification at ",(0,n.jsx)(t.code,{children:"/api/docs"})," after making sure the server environment variable ",(0,n.jsx)(t.code,{children:"SERVER_API_DOCS_ENABLED"})," is set to ",(0,n.jsx)(t.code,{children:"true"}),". There is also a hosted version of the latest API Documentation available at ",(0,n.jsx)(t.a,{href:"https://demo.gamevau.lt/api/docs",children:"demo.gamevau.lt/api/docs"}),"."]}),"\n",(0,n.jsx)(t.p,{children:"The API documentation provides a complete guide on how to use the API, including authentication, endpoints, and parameters."}),"\n",(0,n.jsxs)(t.p,{children:["You can also download the OpenAPI Specification in different formats using ",(0,n.jsx)(t.code,{children:"example.com/api/docs-json"})," or ",(0,n.jsx)(t.code,{children:"example.com/api/docs-yaml"}),". This is useful for importing the Calls into a tool like Postman or generate the client code using the openapi-generator."]}),"\n",(0,n.jsx)(t.h2,{id:"authentication",children:"Authentication"}),"\n",(0,n.jsx)(t.p,{children:"Almost all requests to the API require basic-auth authentication. You will need to include it in the Authentication header of each request."})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},8358:(e,t,a)=>{a.d(t,{Z:()=>r,a:()=>s});var n=a(5271);const i={},o=n.createContext(i);function s(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c9d2adb2.371857cd.js b/assets/js/c9d2adb2.8fdf7464.js similarity index 95% rename from assets/js/c9d2adb2.371857cd.js rename to assets/js/c9d2adb2.8fdf7464.js index ec57abbfb..228714185 100644 --- a/assets/js/c9d2adb2.371857cd.js +++ b/assets/js/c9d2adb2.8fdf7464.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2701],{5956:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>r});var i=t(2676),l=t(9246);const s={sidebar_position:2,title:"Client Setup"},o=void 0,a={id:"gamevault-plus/client-setup",title:"Client Setup",description:"Setting up your GameVault+ License within your GameVault Client Application is simple and easy.",source:"@site/docs/gamevault-plus/client-setup.md",sourceDirName:"gamevault-plus",slug:"/gamevault-plus/client-setup",permalink:"/docs/gamevault-plus/client-setup",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/gamevault-plus/client-setup.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Client Setup"},sidebar:"docs",previous:{title:"Introduction",permalink:"/docs/gamevault-plus/introduction"},next:{title:"Themes",permalink:"/docs/gamevault-plus/themes"}},c={},r=[{value:"Linking Your Phalcode Account",id:"linking-your-phalcode-account",level:2},{value:"Retrieving Your License",id:"retrieving-your-license",level:2},{value:"Offline Usage",id:"offline-usage",level:3}];function u(e){const n={code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",...(0,l.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Setting up your GameVault+ License within your GameVault Client Application is simple and easy."}),"\n",(0,i.jsx)(n.h2,{id:"linking-your-phalcode-account",children:"Linking Your Phalcode Account"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Open the GameVault Client Application and go to the ",(0,i.jsx)(n.code,{children:"Settings"})," tab. Then, click on the ",(0,i.jsx)(n.code,{children:"GameVault+"})," button."]}),"\n",(0,i.jsxs)(n.li,{children:["Click the ",(0,i.jsx)(n.code,{children:"Log In"})," button and enter your credentials to sign in."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Your credentials will be securely stored within the application for future use."}),"\n",(0,i.jsx)(n.p,{children:"From now on, each time you start the application, it will automatically attempt to log in using the stored credentials and retrieve your licenses. If the credentials are no longer valid, you will be prompted to log in again."}),"\n",(0,i.jsx)(n.h2,{id:"retrieving-your-license",children:"Retrieving Your License"}),"\n",(0,i.jsx)(n.p,{children:"Upon successful login, the client will try to fetch your GameVault+ license."}),"\n",(0,i.jsx)(n.p,{children:"If a valid license is found, you will see your license details and a button to manage your subscription in the GameVault+ Settings. If no license is found, an error message will be displayed."}),"\n",(0,i.jsxs)(n.p,{children:["You can also manually request to refresh your licenses using the ",(0,i.jsx)(n.code,{children:"Refresh"})," button."]}),"\n",(0,i.jsx)(n.h3,{id:"offline-usage",children:"Offline Usage"}),"\n",(0,i.jsx)(n.p,{children:"Once the initial setup is complete, GameVault+ can be used offline."}),"\n",(0,i.jsx)(n.p,{children:"When a valid license is detected during the setup process, an encrypted copy of the license is stored within the application, enabling offline usage. You can access GameVault+ offline with its license until the license expires."}),"\n",(0,i.jsx)(n.p,{children:"Your offline licenses are renewed each time you log in, as long as an internet connection is available."})]})}function d(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},9246:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>o});var i=t(5271);const l={},s=i.createContext(l);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2701],{5956:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>r});var i=t(2676),l=t(8358);const s={sidebar_position:2,title:"Client Setup"},o=void 0,a={id:"gamevault-plus/client-setup",title:"Client Setup",description:"Setting up your GameVault+ License within your GameVault Client Application is simple and easy.",source:"@site/docs/gamevault-plus/client-setup.md",sourceDirName:"gamevault-plus",slug:"/gamevault-plus/client-setup",permalink:"/docs/gamevault-plus/client-setup",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/gamevault-plus/client-setup.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Client Setup"},sidebar:"docs",previous:{title:"Introduction",permalink:"/docs/gamevault-plus/introduction"},next:{title:"Themes",permalink:"/docs/gamevault-plus/themes"}},c={},r=[{value:"Linking Your Phalcode Account",id:"linking-your-phalcode-account",level:2},{value:"Retrieving Your License",id:"retrieving-your-license",level:2},{value:"Offline Usage",id:"offline-usage",level:3}];function u(e){const n={code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",...(0,l.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Setting up your GameVault+ License within your GameVault Client Application is simple and easy."}),"\n",(0,i.jsx)(n.h2,{id:"linking-your-phalcode-account",children:"Linking Your Phalcode Account"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Open the GameVault Client Application and go to the ",(0,i.jsx)(n.code,{children:"Settings"})," tab. Then, click on the ",(0,i.jsx)(n.code,{children:"GameVault+"})," button."]}),"\n",(0,i.jsxs)(n.li,{children:["Click the ",(0,i.jsx)(n.code,{children:"Log In"})," button and enter your credentials to sign in."]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Your credentials will be securely stored within the application for future use."}),"\n",(0,i.jsx)(n.p,{children:"From now on, each time you start the application, it will automatically attempt to log in using the stored credentials and retrieve your licenses. If the credentials are no longer valid, you will be prompted to log in again."}),"\n",(0,i.jsx)(n.h2,{id:"retrieving-your-license",children:"Retrieving Your License"}),"\n",(0,i.jsx)(n.p,{children:"Upon successful login, the client will try to fetch your GameVault+ license."}),"\n",(0,i.jsx)(n.p,{children:"If a valid license is found, you will see your license details and a button to manage your subscription in the GameVault+ Settings. If no license is found, an error message will be displayed."}),"\n",(0,i.jsxs)(n.p,{children:["You can also manually request to refresh your licenses using the ",(0,i.jsx)(n.code,{children:"Refresh"})," button."]}),"\n",(0,i.jsx)(n.h3,{id:"offline-usage",children:"Offline Usage"}),"\n",(0,i.jsx)(n.p,{children:"Once the initial setup is complete, GameVault+ can be used offline."}),"\n",(0,i.jsx)(n.p,{children:"When a valid license is detected during the setup process, an encrypted copy of the license is stored within the application, enabling offline usage. You can access GameVault+ offline with its license until the license expires."}),"\n",(0,i.jsx)(n.p,{children:"Your offline licenses are renewed each time you log in, as long as an internet connection is available."})]})}function d(e={}){const{wrapper:n}={...(0,l.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},8358:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>o});var i=t(5271);const l={},s=i.createContext(l);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.3a091c2c.js b/assets/js/ccc49370.3a091c2c.js new file mode 100644 index 000000000..0ee9bbea8 --- /dev/null +++ b/assets/js/ccc49370.3a091c2c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6103],{9449:(e,t,n)=>{n.d(t,{Z:()=>w});n(5271);var a=n(4814),s=n(5023),r=n(2676);function i(e){let{children:t,className:n}=e;return(0,r.jsx)("article",{className:n,children:t})}var l=n(6527);const o={title:"title_c9tz"};function c(e){let{className:t}=e;const{metadata:n,isBlogPostPage:i}=(0,s.nO)(),{permalink:c,title:d}=n,m=i?"h1":"h2";return(0,r.jsx)(m,{className:(0,a.Z)(o.title,t),children:i?d:(0,r.jsx)(l.Z,{to:c,children:d})})}var d=n(2922),m=n(2351),u=n(1956);const g={container:"container_xAnX"};function h(e){let{readingTime:t}=e;const n=function(){const{selectMessage:e}=(0,m.c)();return t=>{const n=Math.ceil(t);return e(n,(0,d.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:n(t)})}function x(e){let{date:t,formattedDate:n}=e;return(0,r.jsx)("time",{dateTime:t,children:n})}function f(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function p(e){let{className:t}=e;const{metadata:n}=(0,s.nO)(),{date:i,readingTime:l}=n,o=(0,u.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,a.Z)(g.container,"margin-vert--md",t),children:[(0,r.jsx)(x,{date:i,formattedDate:(c=i,o.format(new Date(c)))}),void 0!==l&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f,{}),(0,r.jsx)(h,{readingTime:l})]})]});var c}var v=n(8059);const j={authorCol:"authorCol_btVC",imageOnlyAuthorRow:"imageOnlyAuthorRow_fBnr",imageOnlyAuthorCol:"imageOnlyAuthorCol_Y2d8"};function b(e){let{className:t}=e;const{metadata:{authors:n},assets:i}=(0,s.nO)();if(0===n.length)return null;const l=n.every((e=>{let{name:t}=e;return!t})),o=1===n.length;return(0,r.jsx)("div",{className:(0,a.Z)("margin-top--md margin-bottom--sm",l?j.imageOnlyAuthorRow:"row",t),children:n.map(((e,t)=>(0,r.jsx)("div",{className:(0,a.Z)(!l&&(o?"col col--12":"col col--6"),l?j.imageOnlyAuthorCol:j.authorCol),children:(0,r.jsx)(v.Z,{author:{...e,imageURL:i.authorsImageUrls[t]??e.imageURL}})},t)))})}function N(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(c,{}),(0,r.jsx)(p,{}),(0,r.jsx)(b,{})]})}var Z=n(5678),L=n(2714);function y(e){let{children:t,className:n}=e;const{isBlogPostPage:i}=(0,s.nO)();return(0,r.jsx)("div",{id:i?Z.uR:void 0,className:(0,a.Z)("markdown",n),children:(0,r.jsx)(L.Z,{children:t})})}var k=n(3509),C=n(3362),_=n(9813);function T(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function H(e){const{blogPostTitle:t,...n}=e;return(0,r.jsx)(l.Z,{"aria-label":(0,d.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(T,{})})}function O(){const{metadata:e,isBlogPostPage:t}=(0,s.nO)(),{tags:n,title:i,editUrl:l,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,m=!t&&o,u=n.length>0;if(!(u||m||l))return null;if(t){const e=!!(l||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[u&&(0,r.jsx)("div",{className:(0,a.Z)("row","margin-top--sm",k.k.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(_.Z,{tags:n})})}),e&&(0,r.jsx)(C.Z,{className:(0,a.Z)("margin-top--sm",k.k.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[u&&(0,r.jsx)("div",{className:(0,a.Z)("col",{"col--9":m}),children:(0,r.jsx)(_.Z,{tags:n})}),m&&(0,r.jsx)("div",{className:(0,a.Z)("col text--right",{"col--3":u}),children:(0,r.jsx)(H,{blogPostTitle:i,to:e.permalink})})]})}function w(e){let{children:t,className:n}=e;const l=function(){const{isBlogPostPage:e}=(0,s.nO)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(i,{className:(0,a.Z)(l,n),children:[(0,r.jsx)(N,{}),(0,r.jsx)(y,{children:t}),(0,r.jsx)(O,{})]})}},6509:(e,t,n)=>{n.r(t),n.d(t,{default:()=>j});n(5271);var a=n(4814),s=n(9967),r=n(3509),i=n(5023),l=n(6566),o=n(9449),c=n(2922),d=n(5066),m=n(2676);function u(e){const{nextItem:t,prevItem:n}=e;return(0,m.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[n&&(0,m.jsx)(d.Z,{...n,subLabel:(0,m.jsx)(c.Z,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer post"})}),t&&(0,m.jsx)(d.Z,{...t,subLabel:(0,m.jsx)(c.Z,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older post"}),isNext:!0})]})}function g(){const{assets:e,metadata:t}=(0,i.nO)(),{title:n,description:a,date:r,tags:l,authors:o,frontMatter:c}=t,{keywords:d}=c,u=e.image??c.image;return(0,m.jsxs)(s.d,{title:n,description:a,keywords:d,image:u,children:[(0,m.jsx)("meta",{property:"og:type",content:"article"}),(0,m.jsx)("meta",{property:"article:published_time",content:r}),o.some((e=>e.url))&&(0,m.jsx)("meta",{property:"article:author",content:o.map((e=>e.url)).filter(Boolean).join(",")}),l.length>0&&(0,m.jsx)("meta",{property:"article:tag",content:l.map((e=>e.label)).join(",")})]})}var h=n(2791);function x(){const e=(0,i.iZ)();return(0,m.jsx)(h.Z,{children:(0,m.jsx)("script",{type:"application/ld+json",children:JSON.stringify(e)})})}var f=n(9298),p=n(1892);function v(e){let{sidebar:t,children:n}=e;const{metadata:a,toc:s}=(0,i.nO)(),{nextItem:r,prevItem:c,frontMatter:d}=a,{hide_table_of_contents:g,toc_min_heading_level:h,toc_max_heading_level:x}=d;return(0,m.jsxs)(l.Z,{sidebar:t,toc:!g&&s.length>0?(0,m.jsx)(f.Z,{toc:s,minHeadingLevel:h,maxHeadingLevel:x}):void 0,children:[(0,m.jsx)(p.Z,{metadata:a}),(0,m.jsx)(o.Z,{children:n}),(r||c)&&(0,m.jsx)(u,{nextItem:r,prevItem:c})]})}function j(e){const t=e.content;return(0,m.jsx)(i.n4,{content:e.content,isBlogPostPage:!0,children:(0,m.jsxs)(s.FG,{className:(0,a.Z)(r.k.wrapper.blogPages,r.k.page.blogPostPage),children:[(0,m.jsx)(g,{}),(0,m.jsx)(x,{}),(0,m.jsx)(v,{sidebar:e.sidebar,children:(0,m.jsx)(t,{})})]})})}},7491:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var a=n(4814),s=n(4022),r=n(3509),i=n(44),l=n(2676);function o(e){let{className:t}=e;return(0,l.jsx)(i.Z,{type:"caution",title:(0,l.jsx)(s.cI,{}),className:(0,a.Z)(t,r.k.common.unlistedBanner),children:(0,l.jsx)(s.eU,{})})}function c(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.T$,{}),(0,l.jsx)(o,{...e})]})}},1892:(e,t,n)=>{n.d(t,{Z:()=>d});n(5271);var a=n(4814),s=n(4022),r=n(3509),i=n(44),l=n(2676);function o(e){let{className:t}=e;return(0,l.jsx)(i.Z,{type:"caution",title:(0,l.jsx)(s.ht,{}),className:(0,a.Z)(t,r.k.common.draftBanner),children:(0,l.jsx)(s.xo,{})})}var c=n(7491);function d(e){let{metadata:t}=e;const{unlisted:n,frontMatter:a}=t;return(0,l.jsxs)(l.Fragment,{children:[(n||a.unlisted)&&(0,l.jsx)(c.Z,{}),a.draft&&(0,l.jsx)(o,{})]})}},9298:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var a=n(4814),s=n(783);const r={tableOfContents:"tableOfContents_tnIz",docItemContainer:"docItemContainer_YM2y"};var i=n(2676);const l="table-of-contents__link toc-highlight",o="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,a.Z)(r.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)(s.Z,{...n,linkClassName:l,linkActiveClassName:o})})}},783:(e,t,n)=>{n.d(t,{Z:()=>x});var a=n(5271),s=n(9364);function r(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...s}=e;n>=0?t[n].children.push(s):a.push(s)})),a}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function l(e){const t=e.getBoundingClientRect();return t.top===t.bottom?l(e.parentNode):t}function o(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>l(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(l(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function c(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:t}}=(0,s.L)();return(0,a.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,a.useRef)(void 0),n=c();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:s,minHeadingLevel:r,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let s=t;s<=n;s+=1)a.push(`h${s}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:r,maxHeadingLevel:i}),c=o(l,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(s),e.classList.add(s),t.current=e):e.classList.remove(s)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}var m=n(6527),u=n(2676);function g(e){let{toc:t,className:n,linkClassName:a,isChild:s}=e;return t.length?(0,u.jsx)("ul",{className:s?void 0:n,children:t.map((e=>(0,u.jsxs)("li",{children:[(0,u.jsx)(m.Z,{to:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,u.jsx)(g,{isChild:!0,toc:e.children,className:n,linkClassName:a})]},e.id)))}):null}const h=a.memo(g);function x(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:c,maxHeadingLevel:m,...g}=e;const x=(0,s.L)(),f=c??x.tableOfContents.minHeadingLevel,p=m??x.tableOfContents.maxHeadingLevel,v=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return(0,a.useMemo)((()=>i({toc:r(t),minHeadingLevel:n,maxHeadingLevel:s})),[t,n,s])}({toc:t,minHeadingLevel:f,maxHeadingLevel:p});return d((0,a.useMemo)((()=>{if(l&&o)return{linkClassName:l,linkActiveClassName:o,minHeadingLevel:f,maxHeadingLevel:p}}),[l,o,f,p])),(0,u.jsx)(h,{toc:v,className:n,linkClassName:l,...g})}},4022:(e,t,n)=>{n.d(t,{T$:()=>o,cI:()=>i,eU:()=>l,ht:()=>c,xo:()=>d});n(5271);var a=n(2922),s=n(2791),r=n(2676);function i(){return(0,r.jsx)(a.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,r.jsx)(a.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,r.jsx)(s.Z,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,r.jsx)(a.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,r.jsx)(a.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.4427e1f7.js b/assets/js/ccc49370.4427e1f7.js deleted file mode 100644 index d8c2fa035..000000000 --- a/assets/js/ccc49370.4427e1f7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6103],{2924:(e,t,n)=>{n.d(t,{Z:()=>w});n(5271);var a=n(4814),s=n(5117),r=n(2676);function i(e){let{children:t,className:n}=e;return(0,r.jsx)("article",{className:n,children:t})}var l=n(9347);const o={title:"title_c9tz"};function c(e){let{className:t}=e;const{metadata:n,isBlogPostPage:i}=(0,s.nO)(),{permalink:c,title:d}=n,m=i?"h1":"h2";return(0,r.jsx)(m,{className:(0,a.Z)(o.title,t),children:i?d:(0,r.jsx)(l.Z,{to:c,children:d})})}var d=n(9665),m=n(5416),u=n(4060);const g={container:"container_xAnX"};function h(e){let{readingTime:t}=e;const n=function(){const{selectMessage:e}=(0,m.c)();return t=>{const n=Math.ceil(t);return e(n,(0,d.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:n}))}}();return(0,r.jsx)(r.Fragment,{children:n(t)})}function x(e){let{date:t,formattedDate:n}=e;return(0,r.jsx)("time",{dateTime:t,children:n})}function f(){return(0,r.jsx)(r.Fragment,{children:" \xb7 "})}function p(e){let{className:t}=e;const{metadata:n}=(0,s.nO)(),{date:i,readingTime:l}=n,o=(0,u.P)({day:"numeric",month:"long",year:"numeric",timeZone:"UTC"});return(0,r.jsxs)("div",{className:(0,a.Z)(g.container,"margin-vert--md",t),children:[(0,r.jsx)(x,{date:i,formattedDate:(c=i,o.format(new Date(c)))}),void 0!==l&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(f,{}),(0,r.jsx)(h,{readingTime:l})]})]});var c}var v=n(7981);const j={authorCol:"authorCol_btVC",imageOnlyAuthorRow:"imageOnlyAuthorRow_fBnr",imageOnlyAuthorCol:"imageOnlyAuthorCol_Y2d8"};function b(e){let{className:t}=e;const{metadata:{authors:n},assets:i}=(0,s.nO)();if(0===n.length)return null;const l=n.every((e=>{let{name:t}=e;return!t})),o=1===n.length;return(0,r.jsx)("div",{className:(0,a.Z)("margin-top--md margin-bottom--sm",l?j.imageOnlyAuthorRow:"row",t),children:n.map(((e,t)=>(0,r.jsx)("div",{className:(0,a.Z)(!l&&(o?"col col--12":"col col--6"),l?j.imageOnlyAuthorCol:j.authorCol),children:(0,r.jsx)(v.Z,{author:{...e,imageURL:i.authorsImageUrls[t]??e.imageURL}})},t)))})}function N(){return(0,r.jsxs)("header",{children:[(0,r.jsx)(c,{}),(0,r.jsx)(p,{}),(0,r.jsx)(b,{})]})}var Z=n(5678),L=n(8431);function y(e){let{children:t,className:n}=e;const{isBlogPostPage:i}=(0,s.nO)();return(0,r.jsx)("div",{id:i?Z.uR:void 0,className:(0,a.Z)("markdown",n),children:(0,r.jsx)(L.Z,{children:t})})}var k=n(8832),C=n(2006),_=n(9261);function T(){return(0,r.jsx)("b",{children:(0,r.jsx)(d.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts",children:"Read more"})})}function H(e){const{blogPostTitle:t,...n}=e;return(0,r.jsx)(l.Z,{"aria-label":(0,d.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t}),...n,children:(0,r.jsx)(T,{})})}function O(){const{metadata:e,isBlogPostPage:t}=(0,s.nO)(),{tags:n,title:i,editUrl:l,hasTruncateMarker:o,lastUpdatedBy:c,lastUpdatedAt:d}=e,m=!t&&o,u=n.length>0;if(!(u||m||l))return null;if(t){const e=!!(l||d||c);return(0,r.jsxs)("footer",{className:"docusaurus-mt-lg",children:[u&&(0,r.jsx)("div",{className:(0,a.Z)("row","margin-top--sm",k.k.blog.blogFooterEditMetaRow),children:(0,r.jsx)("div",{className:"col",children:(0,r.jsx)(_.Z,{tags:n})})}),e&&(0,r.jsx)(C.Z,{className:(0,a.Z)("margin-top--sm",k.k.blog.blogFooterEditMetaRow),editUrl:l,lastUpdatedAt:d,lastUpdatedBy:c})]})}return(0,r.jsxs)("footer",{className:"row docusaurus-mt-lg",children:[u&&(0,r.jsx)("div",{className:(0,a.Z)("col",{"col--9":m}),children:(0,r.jsx)(_.Z,{tags:n})}),m&&(0,r.jsx)("div",{className:(0,a.Z)("col text--right",{"col--3":u}),children:(0,r.jsx)(H,{blogPostTitle:i,to:e.permalink})})]})}function w(e){let{children:t,className:n}=e;const l=function(){const{isBlogPostPage:e}=(0,s.nO)();return e?void 0:"margin-bottom--xl"}();return(0,r.jsxs)(i,{className:(0,a.Z)(l,n),children:[(0,r.jsx)(N,{}),(0,r.jsx)(y,{children:t}),(0,r.jsx)(O,{})]})}},6509:(e,t,n)=>{n.r(t),n.d(t,{default:()=>j});n(5271);var a=n(4814),s=n(947),r=n(8832),i=n(5117),l=n(9935),o=n(2924),c=n(9665),d=n(5066),m=n(2676);function u(e){const{nextItem:t,prevItem:n}=e;return(0,m.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,c.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"}),children:[n&&(0,m.jsx)(d.Z,{...n,subLabel:(0,m.jsx)(c.Z,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post",children:"Newer post"})}),t&&(0,m.jsx)(d.Z,{...t,subLabel:(0,m.jsx)(c.Z,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post",children:"Older post"}),isNext:!0})]})}function g(){const{assets:e,metadata:t}=(0,i.nO)(),{title:n,description:a,date:r,tags:l,authors:o,frontMatter:c}=t,{keywords:d}=c,u=e.image??c.image;return(0,m.jsxs)(s.d,{title:n,description:a,keywords:d,image:u,children:[(0,m.jsx)("meta",{property:"og:type",content:"article"}),(0,m.jsx)("meta",{property:"article:published_time",content:r}),o.some((e=>e.url))&&(0,m.jsx)("meta",{property:"article:author",content:o.map((e=>e.url)).filter(Boolean).join(",")}),l.length>0&&(0,m.jsx)("meta",{property:"article:tag",content:l.map((e=>e.label)).join(",")})]})}var h=n(5363);function x(){const e=(0,i.iZ)();return(0,m.jsx)(h.Z,{children:(0,m.jsx)("script",{type:"application/ld+json",children:JSON.stringify(e)})})}var f=n(4410),p=n(1892);function v(e){let{sidebar:t,children:n}=e;const{metadata:a,toc:s}=(0,i.nO)(),{nextItem:r,prevItem:c,frontMatter:d}=a,{hide_table_of_contents:g,toc_min_heading_level:h,toc_max_heading_level:x}=d;return(0,m.jsxs)(l.Z,{sidebar:t,toc:!g&&s.length>0?(0,m.jsx)(f.Z,{toc:s,minHeadingLevel:h,maxHeadingLevel:x}):void 0,children:[(0,m.jsx)(p.Z,{metadata:a}),(0,m.jsx)(o.Z,{children:n}),(r||c)&&(0,m.jsx)(u,{nextItem:r,prevItem:c})]})}function j(e){const t=e.content;return(0,m.jsx)(i.n4,{content:e.content,isBlogPostPage:!0,children:(0,m.jsxs)(s.FG,{className:(0,a.Z)(r.k.wrapper.blogPages,r.k.page.blogPostPage),children:[(0,m.jsx)(g,{}),(0,m.jsx)(x,{}),(0,m.jsx)(v,{sidebar:e.sidebar,children:(0,m.jsx)(t,{})})]})})}},7491:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var a=n(4814),s=n(1787),r=n(8832),i=n(1255),l=n(2676);function o(e){let{className:t}=e;return(0,l.jsx)(i.Z,{type:"caution",title:(0,l.jsx)(s.cI,{}),className:(0,a.Z)(t,r.k.common.unlistedBanner),children:(0,l.jsx)(s.eU,{})})}function c(e){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(s.T$,{}),(0,l.jsx)(o,{...e})]})}},1892:(e,t,n)=>{n.d(t,{Z:()=>d});n(5271);var a=n(4814),s=n(1787),r=n(8832),i=n(1255),l=n(2676);function o(e){let{className:t}=e;return(0,l.jsx)(i.Z,{type:"caution",title:(0,l.jsx)(s.ht,{}),className:(0,a.Z)(t,r.k.common.draftBanner),children:(0,l.jsx)(s.xo,{})})}var c=n(7491);function d(e){let{metadata:t}=e;const{unlisted:n,frontMatter:a}=t;return(0,l.jsxs)(l.Fragment,{children:[(n||a.unlisted)&&(0,l.jsx)(c.Z,{}),a.draft&&(0,l.jsx)(o,{})]})}},4410:(e,t,n)=>{n.d(t,{Z:()=>c});n(5271);var a=n(4814),s=n(5830);const r={tableOfContents:"tableOfContents_tnIz",docItemContainer:"docItemContainer_YM2y"};var i=n(2676);const l="table-of-contents__link toc-highlight",o="table-of-contents__link--active";function c(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,a.Z)(r.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)(s.Z,{...n,linkClassName:l,linkActiveClassName:o})})}},5830:(e,t,n)=>{n.d(t,{Z:()=>x});var a=n(5271),s=n(5996);function r(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...s}=e;n>=0?t[n].children.push(s):a.push(s)})),a}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function l(e){const t=e.getBoundingClientRect();return t.top===t.bottom?l(e.parentNode):t}function o(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>l(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(l(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function c(){const e=(0,a.useRef)(0),{navbar:{hideOnScroll:t}}=(0,s.L)();return(0,a.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,a.useRef)(void 0),n=c();(0,a.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:s,minHeadingLevel:r,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let s=t;s<=n;s+=1)a.push(`h${s}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:r,maxHeadingLevel:i}),c=o(l,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(s),e.classList.add(s),t.current=e):e.classList.remove(s)}(e,e===d)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}var m=n(9347),u=n(2676);function g(e){let{toc:t,className:n,linkClassName:a,isChild:s}=e;return t.length?(0,u.jsx)("ul",{className:s?void 0:n,children:t.map((e=>(0,u.jsxs)("li",{children:[(0,u.jsx)(m.Z,{to:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,u.jsx)(g,{isChild:!0,toc:e.children,className:n,linkClassName:a})]},e.id)))}):null}const h=a.memo(g);function x(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:l="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:c,maxHeadingLevel:m,...g}=e;const x=(0,s.L)(),f=c??x.tableOfContents.minHeadingLevel,p=m??x.tableOfContents.maxHeadingLevel,v=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return(0,a.useMemo)((()=>i({toc:r(t),minHeadingLevel:n,maxHeadingLevel:s})),[t,n,s])}({toc:t,minHeadingLevel:f,maxHeadingLevel:p});return d((0,a.useMemo)((()=>{if(l&&o)return{linkClassName:l,linkActiveClassName:o,minHeadingLevel:f,maxHeadingLevel:p}}),[l,o,f,p])),(0,u.jsx)(h,{toc:v,className:n,linkClassName:l,...g})}},1787:(e,t,n)=>{n.d(t,{T$:()=>o,cI:()=>i,eU:()=>l,ht:()=>c,xo:()=>d});n(5271);var a=n(9665),s=n(5363),r=n(2676);function i(){return(0,r.jsx)(a.Z,{id:"theme.contentVisibility.unlistedBanner.title",description:"The unlisted content banner title",children:"Unlisted page"})}function l(){return(0,r.jsx)(a.Z,{id:"theme.contentVisibility.unlistedBanner.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function o(){return(0,r.jsx)(s.Z,{children:(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function c(){return(0,r.jsx)(a.Z,{id:"theme.contentVisibility.draftBanner.title",description:"The draft content banner title",children:"Draft page"})}function d(){return(0,r.jsx)(a.Z,{id:"theme.contentVisibility.draftBanner.message",description:"The draft content banner message",children:"This page is a draft. It will only be visible in dev and be excluded from the production build."})}}}]); \ No newline at end of file diff --git a/assets/js/cd59c184.4380dd54.js b/assets/js/cd59c184.9ebb86c4.js similarity index 96% rename from assets/js/cd59c184.4380dd54.js rename to assets/js/cd59c184.9ebb86c4.js index 442359a2a..4d6537b04 100644 --- a/assets/js/cd59c184.4380dd54.js +++ b/assets/js/cd59c184.9ebb86c4.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3112],{1990:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var n=t(2676),l=t(9246);const i={title:"GameVault+ out now",authors:["alfagun74"],tags:["gaming","self-hosted","platform","DRM-free","video games","GameVault","GameVault+","subscription","community-driven","updates","announcement","early access","release","features","sustainability","partnerships","Discord","feedback","improvement","development"]},o=void 0,r={permalink:"/blog/2024/04/14/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-04-14.md",source:"@site/blog/2024-04-14.md",title:"GameVault+ out now",description:"Hey everyone!",date:"2024-04-14T00:00:00.000Z",tags:[{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"self-hosted",permalink:"/blog/tags/self-hosted"},{inline:!0,label:"platform",permalink:"/blog/tags/platform"},{inline:!0,label:"DRM-free",permalink:"/blog/tags/drm-free"},{inline:!0,label:"video games",permalink:"/blog/tags/video-games"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameVault+",permalink:"/blog/tags/game-vault"},{inline:!0,label:"subscription",permalink:"/blog/tags/subscription"},{inline:!0,label:"community-driven",permalink:"/blog/tags/community-driven"},{inline:!0,label:"updates",permalink:"/blog/tags/updates"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"},{inline:!0,label:"early access",permalink:"/blog/tags/early-access"},{inline:!0,label:"release",permalink:"/blog/tags/release"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"sustainability",permalink:"/blog/tags/sustainability"},{inline:!0,label:"partnerships",permalink:"/blog/tags/partnerships"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"improvement",permalink:"/blog/tags/improvement"},{inline:!0,label:"development",permalink:"/blog/tags/development"}],readingTime:1.18,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"GameVault+ out now",authors:["alfagun74"],tags:["gaming","self-hosted","platform","DRM-free","video games","GameVault","GameVault+","subscription","community-driven","updates","announcement","early access","release","features","sustainability","partnerships","Discord","feedback","improvement","development"]},unlisted:!1,prevItem:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",permalink:"/blog/2024/05/07/"},nextItem:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",permalink:"/blog/2024/04/01/2024-04-01/"}},s={authorsImageUrls:[void 0]},u=[];function m(e){const a={p:"p",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey everyone!"}),"\n",(0,n.jsx)(a.p,{children:"We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support."}),"\n",(0,n.jsx)(a.p,{children:"GameVault+ is our way of saying thank you to our dedicated supporters while also ensuring the sustainability of our platform. For a small monthly fee, you'll gain access to premium features designed to enhance your gaming experience within GameVault. We're starting with features like animated profile pictures, custom themes, and activation of the GameVault Client API, with more exciting additions planned for the future."}),"\n",(0,n.jsx)(a.p,{children:"But our work doesn't stop here. We're committed to refining GameVault+ based on your feedback, as well as addressing key areas of improvement in the platform. This includes exploring partnerships with reputable video game databases to enhance our data offerings and refactoring our client application for optimal performance."}),"\n",(0,n.jsx)(a.p,{children:"And most importantly, we want you, our community, to have a say in the future direction of GameVault. That's why we're opening up the floor for feature suggestions through our Discord channel. Your input will help shape the next big updates to GameVault."}),"\n",(0,n.jsx)(a.p,{children:"Thank you all for your support and enthusiasm. We're excited to continue this journey with you and to make gaming even more enjoyable for everyone. Stay tuned for more updates, and happy gaming!"})]})}function p(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>o});var n=t(5271);const l={},i=n.createContext(l);function o(e){const a=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),n.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[3112],{1634:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var n=t(2676),l=t(8358);const i={title:"GameVault+ out now",authors:["alfagun74"],tags:["gaming","self-hosted","platform","DRM-free","video games","GameVault","GameVault+","subscription","community-driven","updates","announcement","early access","release","features","sustainability","partnerships","Discord","feedback","improvement","development"]},o=void 0,r={permalink:"/blog/2024/04/14/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-04-14.md",source:"@site/blog/2024-04-14.md",title:"GameVault+ out now",description:"Hey everyone!",date:"2024-04-14T00:00:00.000Z",tags:[{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"self-hosted",permalink:"/blog/tags/self-hosted"},{inline:!0,label:"platform",permalink:"/blog/tags/platform"},{inline:!0,label:"DRM-free",permalink:"/blog/tags/drm-free"},{inline:!0,label:"video games",permalink:"/blog/tags/video-games"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameVault+",permalink:"/blog/tags/game-vault"},{inline:!0,label:"subscription",permalink:"/blog/tags/subscription"},{inline:!0,label:"community-driven",permalink:"/blog/tags/community-driven"},{inline:!0,label:"updates",permalink:"/blog/tags/updates"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"},{inline:!0,label:"early access",permalink:"/blog/tags/early-access"},{inline:!0,label:"release",permalink:"/blog/tags/release"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"sustainability",permalink:"/blog/tags/sustainability"},{inline:!0,label:"partnerships",permalink:"/blog/tags/partnerships"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"improvement",permalink:"/blog/tags/improvement"},{inline:!0,label:"development",permalink:"/blog/tags/development"}],readingTime:1.18,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"GameVault+ out now",authors:["alfagun74"],tags:["gaming","self-hosted","platform","DRM-free","video games","GameVault","GameVault+","subscription","community-driven","updates","announcement","early access","release","features","sustainability","partnerships","Discord","feedback","improvement","development"]},unlisted:!1,prevItem:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",permalink:"/blog/2024/05/07/"},nextItem:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",permalink:"/blog/2024/04/01/2024-04-01/"}},s={authorsImageUrls:[void 0]},u=[];function m(e){const a={p:"p",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey everyone!"}),"\n",(0,n.jsx)(a.p,{children:"We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support."}),"\n",(0,n.jsx)(a.p,{children:"GameVault+ is our way of saying thank you to our dedicated supporters while also ensuring the sustainability of our platform. For a small monthly fee, you'll gain access to premium features designed to enhance your gaming experience within GameVault. We're starting with features like animated profile pictures, custom themes, and activation of the GameVault Client API, with more exciting additions planned for the future."}),"\n",(0,n.jsx)(a.p,{children:"But our work doesn't stop here. We're committed to refining GameVault+ based on your feedback, as well as addressing key areas of improvement in the platform. This includes exploring partnerships with reputable video game databases to enhance our data offerings and refactoring our client application for optimal performance."}),"\n",(0,n.jsx)(a.p,{children:"And most importantly, we want you, our community, to have a say in the future direction of GameVault. That's why we're opening up the floor for feature suggestions through our Discord channel. Your input will help shape the next big updates to GameVault."}),"\n",(0,n.jsx)(a.p,{children:"Thank you all for your support and enthusiasm. We're excited to continue this journey with you and to make gaming even more enjoyable for everyone. Stay tuned for more updates, and happy gaming!"})]})}function p(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>o});var n=t(5271);const l={},i=n.createContext(l);function o(e){const a=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),n.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cddec16f.8f857718.js b/assets/js/cddec16f.cdf55724.js similarity index 97% rename from assets/js/cddec16f.8f857718.js rename to assets/js/cddec16f.cdf55724.js index 9cd557745..4060e1e2f 100644 --- a/assets/js/cddec16f.8f857718.js +++ b/assets/js/cddec16f.cdf55724.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5316],{3964:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var t=s(2676),i=s(9246);const r={title:"Using Native Approach",sidebar_position:99},a=void 0,l={id:"server-docs/setup/native",title:"Using Native Approach",description:"Container technology presents an efficient and scalable solution by encapsulating applications and their dependencies. This ensures consistent performance across diverse environments and streamlines deployment, management, and scalability.",source:"@site/docs/server-docs/setup/native.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/native",permalink:"/docs/server-docs/setup/native",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/native.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:99,frontMatter:{title:"Using Native Approach",sidebar_position:99},sidebar:"docs",previous:{title:"Using Synology Container Manager",permalink:"/docs/server-docs/setup/synology-container-manager"},next:{title:"Configuration",permalink:"/docs/server-docs/configuration"}},o={},d=[{value:"Prerequisites",id:"prerequisites",level:3},{value:"Step 1: Clone the Source Code",id:"step-1-clone-the-source-code",level:3},{value:"Step 2: Install Dependencies",id:"step-2-install-dependencies",level:3},{value:"Step 3: Set up an .env File",id:"step-3-set-up-an-env-file",level:3},{value:"Step 4: Build and Start the Server",id:"step-4-build-and-start-the-server",level:3},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Updating the Server",id:"updating-the-server",level:3}];function c(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Container technology presents an efficient and scalable solution by encapsulating applications and their dependencies. This ensures consistent performance across diverse environments and streamlines deployment, management, and scalability."}),"\n",(0,t.jsx)(n.p,{children:"Although we strongly discourage it, if none of the alternative installation methods are suitable for you, GameVault can also be installed directly on your system without using containers. The example provided here uses Debian."}),"\n",(0,t.jsx)(n.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://nodejs.org/",children:"Node.js"})," must be installed on your system (check the required version ",(0,t.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-backend/blob/master/Dockerfile#L1",children:"here"}),")."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://www.postgresql.org/",children:"PostgreSQL"})," database (or configure SQLITE later on)."]}),"\n",(0,t.jsxs)(n.li,{children:["Install necessary packages: ",(0,t.jsx)(n.a,{href:"https://packages.debian.org/en/sid/p7zip-full",children:(0,t.jsx)(n.code,{children:"p7zip-full"})})," and ",(0,t.jsx)(n.a,{href:"https://packages.debian.org/en/sid/p7zip-rar",children:(0,t.jsx)(n.code,{children:"p7zip-rar"})})," (non-free-repository) (or their equivalents in your distribution)."]}),"\n",(0,t.jsxs)(n.li,{children:["Install the ",(0,t.jsx)(n.a,{href:"https://pnpm.io/",children:"parallel node package manager"}),": ",(0,t.jsx)(n.code,{children:"npm i -g pnpm"}),"."]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"step-1-clone-the-source-code",children:"Step 1: Clone the Source Code"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"cd ~\ngit clone https://github.com/Phalcode/gamevault-backend.git\ncd gamevault-backend\n"})}),"\n",(0,t.jsx)(n.h3,{id:"step-2-install-dependencies",children:"Step 2: Install Dependencies"}),"\n",(0,t.jsx)(n.p,{children:"Now we need to install all necessary node dependencies."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm install\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Your server files are now in the ",(0,t.jsx)(n.code,{children:"dist/"})," folder."]}),"\n",(0,t.jsx)(n.h3,{id:"step-3-set-up-an-env-file",children:"Step 3: Set up an .env File"}),"\n",(0,t.jsxs)(n.p,{children:["Create a .env file in the ",(0,t.jsx)(n.code,{children:"dist/src/"})," directory and ",(0,t.jsx)(n.a,{href:"/docs/server-docs/configuration",children:"configure your GameVault as desired"})," or set them in your system/VM directly."]}),"\n",(0,t.jsx)(n.p,{children:"Example with SQLITE:"}),"\n",(0,t.jsx)(n.p,{children:"First create the necessary folders or just use existing ones in your config:"}),"\n",(0,t.jsx)(n.p,{children:"For example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"cd ~\nmkdir -p gamevault-db gamevault-media gamevault-games gamevault-logs gamevault-plugins\n"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ini",children:"#/gamevault-backend/.env\nDB_SYSTEM=SQLITE\nVOLUMES_SQLITEDB=/path/for/database/files\nVOLUMES_FILES=/path/for/gane/files\nVOLUMES_MEDIA=/path/for/media/files\nVOLUMES_LOGS=/path/for/log/files\nVOLUMES_PLUGINS=/path/for/plugin/files\n"})}),"\n",(0,t.jsx)(n.h3,{id:"step-4-build-and-start-the-server",children:"Step 4: Build and Start the Server"}),"\n",(0,t.jsx)(n.p,{children:"To start the server, run:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm start\n"})}),"\n",(0,t.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsx)(n.p,{children:"You have now successfully set up your GameVault Server."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,t.jsx)(n.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,t.jsx)(n.p,{children:"Don't put/change anything except the .env file inside the gamevault-backend folder if you don't know what you're doing."}),"\n",(0,t.jsx)(n.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,t.jsx)(n.p,{children:"Press CTRL + C to stop the server."}),"\n",(0,t.jsx)(n.h3,{id:"updating-the-server",children:"Updating the Server"}),"\n",(0,t.jsx)(n.p,{children:"You can update the server by running"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"git pull\n"})}),"\n",(0,t.jsx)(n.p,{children:"inside of your gamevault-backend git repository. It will auto update to the latest version."}),"\n",(0,t.jsx)(n.p,{children:"You can update to a specific version by using:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"git fetch --all --tags --prune\ngit checkout tags/9.0.0\n"})}),"\n",(0,t.jsx)(n.p,{children:"for example."})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},9246:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>a});var t=s(5271);const i={},r=t.createContext(i);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5316],{3964:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var t=s(2676),i=s(8358);const r={title:"Using Native Approach",sidebar_position:99},a=void 0,l={id:"server-docs/setup/native",title:"Using Native Approach",description:"Container technology presents an efficient and scalable solution by encapsulating applications and their dependencies. This ensures consistent performance across diverse environments and streamlines deployment, management, and scalability.",source:"@site/docs/server-docs/setup/native.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/native",permalink:"/docs/server-docs/setup/native",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/native.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:99,frontMatter:{title:"Using Native Approach",sidebar_position:99},sidebar:"docs",previous:{title:"Using Synology Container Manager",permalink:"/docs/server-docs/setup/synology-container-manager"},next:{title:"Configuration",permalink:"/docs/server-docs/configuration"}},o={},d=[{value:"Prerequisites",id:"prerequisites",level:3},{value:"Step 1: Clone the Source Code",id:"step-1-clone-the-source-code",level:3},{value:"Step 2: Install Dependencies",id:"step-2-install-dependencies",level:3},{value:"Step 3: Set up an .env File",id:"step-3-set-up-an-env-file",level:3},{value:"Step 4: Build and Start the Server",id:"step-4-build-and-start-the-server",level:3},{value:"Conclusion",id:"conclusion",level:2},{value:"Additional Info",id:"additional-info",level:2},{value:"Stopping the Server",id:"stopping-the-server",level:3},{value:"Updating the Server",id:"updating-the-server",level:3}];function c(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"Container technology presents an efficient and scalable solution by encapsulating applications and their dependencies. This ensures consistent performance across diverse environments and streamlines deployment, management, and scalability."}),"\n",(0,t.jsx)(n.p,{children:"Although we strongly discourage it, if none of the alternative installation methods are suitable for you, GameVault can also be installed directly on your system without using containers. The example provided here uses Debian."}),"\n",(0,t.jsx)(n.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://nodejs.org/",children:"Node.js"})," must be installed on your system (check the required version ",(0,t.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-backend/blob/master/Dockerfile#L1",children:"here"}),")."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://www.postgresql.org/",children:"PostgreSQL"})," database (or configure SQLITE later on)."]}),"\n",(0,t.jsxs)(n.li,{children:["Install necessary packages: ",(0,t.jsx)(n.a,{href:"https://packages.debian.org/en/sid/p7zip-full",children:(0,t.jsx)(n.code,{children:"p7zip-full"})})," and ",(0,t.jsx)(n.a,{href:"https://packages.debian.org/en/sid/p7zip-rar",children:(0,t.jsx)(n.code,{children:"p7zip-rar"})})," (non-free-repository) (or their equivalents in your distribution)."]}),"\n",(0,t.jsxs)(n.li,{children:["Install the ",(0,t.jsx)(n.a,{href:"https://pnpm.io/",children:"parallel node package manager"}),": ",(0,t.jsx)(n.code,{children:"npm i -g pnpm"}),"."]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"step-1-clone-the-source-code",children:"Step 1: Clone the Source Code"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"cd ~\ngit clone https://github.com/Phalcode/gamevault-backend.git\ncd gamevault-backend\n"})}),"\n",(0,t.jsx)(n.h3,{id:"step-2-install-dependencies",children:"Step 2: Install Dependencies"}),"\n",(0,t.jsx)(n.p,{children:"Now we need to install all necessary node dependencies."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm install\n"})}),"\n",(0,t.jsxs)(n.p,{children:["Your server files are now in the ",(0,t.jsx)(n.code,{children:"dist/"})," folder."]}),"\n",(0,t.jsx)(n.h3,{id:"step-3-set-up-an-env-file",children:"Step 3: Set up an .env File"}),"\n",(0,t.jsxs)(n.p,{children:["Create a .env file in the ",(0,t.jsx)(n.code,{children:"dist/src/"})," directory and ",(0,t.jsx)(n.a,{href:"/docs/server-docs/configuration",children:"configure your GameVault as desired"})," or set them in your system/VM directly."]}),"\n",(0,t.jsx)(n.p,{children:"Example with SQLITE:"}),"\n",(0,t.jsx)(n.p,{children:"First create the necessary folders or just use existing ones in your config:"}),"\n",(0,t.jsx)(n.p,{children:"For example:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"cd ~\nmkdir -p gamevault-db gamevault-media gamevault-games gamevault-logs gamevault-plugins\n"})}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ini",children:"#/gamevault-backend/.env\nDB_SYSTEM=SQLITE\nVOLUMES_SQLITEDB=/path/for/database/files\nVOLUMES_FILES=/path/for/gane/files\nVOLUMES_MEDIA=/path/for/media/files\nVOLUMES_LOGS=/path/for/log/files\nVOLUMES_PLUGINS=/path/for/plugin/files\n"})}),"\n",(0,t.jsx)(n.h3,{id:"step-4-build-and-start-the-server",children:"Step 4: Build and Start the Server"}),"\n",(0,t.jsx)(n.p,{children:"To start the server, run:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"pnpm start\n"})}),"\n",(0,t.jsx)(n.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsx)(n.p,{children:"You have now successfully set up your GameVault Server."}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"/docs/server-docs/setup/#what-next",children:"Click here to continue."})}),"\n",(0,t.jsx)(n.h2,{id:"additional-info",children:"Additional Info"}),"\n",(0,t.jsx)(n.p,{children:"Don't put/change anything except the .env file inside the gamevault-backend folder if you don't know what you're doing."}),"\n",(0,t.jsx)(n.h3,{id:"stopping-the-server",children:"Stopping the Server"}),"\n",(0,t.jsx)(n.p,{children:"Press CTRL + C to stop the server."}),"\n",(0,t.jsx)(n.h3,{id:"updating-the-server",children:"Updating the Server"}),"\n",(0,t.jsx)(n.p,{children:"You can update the server by running"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"git pull\n"})}),"\n",(0,t.jsx)(n.p,{children:"inside of your gamevault-backend git repository. It will auto update to the latest version."}),"\n",(0,t.jsx)(n.p,{children:"You can update to a specific version by using:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"git fetch --all --tags --prune\ngit checkout tags/9.0.0\n"})}),"\n",(0,t.jsx)(n.p,{children:"for example."})]})}function p(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8358:(e,n,s)=>{s.d(n,{Z:()=>l,a:()=>a});var t=s(5271);const i={},r=t.createContext(i);function a(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d9d4e1f1.f6b2f69f.js b/assets/js/d9d4e1f1.ca60091f.js similarity index 93% rename from assets/js/d9d4e1f1.f6b2f69f.js rename to assets/js/d9d4e1f1.ca60091f.js index f7350cc81..2f2a7898f 100644 --- a/assets/js/d9d4e1f1.f6b2f69f.js +++ b/assets/js/d9d4e1f1.ca60091f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5300],{1156:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>g,frontMatter:()=>l,metadata:()=>i,toc:()=>u});var a=n(2676),o=n(9246);const l={title:"A Look Back and a Glimpse Forward",authors:["alfagun74"],tags:["Game Development","Software Updates","Gaming Community","UI Redesign","Development Milestones","Tech Progress","Future Features","GameVault Journey","Coding Chronicle","November Update"]},r=void 0,i={permalink:"/blog/2023/11/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-11-20.md",source:"@site/blog/2023-11-20.md",title:"A Look Back and a Glimpse Forward",description:"Hello,",date:"2023-11-20T00:00:00.000Z",tags:[{inline:!0,label:"Game Development",permalink:"/blog/tags/game-development"},{inline:!0,label:"Software Updates",permalink:"/blog/tags/software-updates"},{inline:!0,label:"Gaming Community",permalink:"/blog/tags/gaming-community"},{inline:!0,label:"UI Redesign",permalink:"/blog/tags/ui-redesign"},{inline:!0,label:"Development Milestones",permalink:"/blog/tags/development-milestones"},{inline:!0,label:"Tech Progress",permalink:"/blog/tags/tech-progress"},{inline:!0,label:"Future Features",permalink:"/blog/tags/future-features"},{inline:!0,label:"GameVault Journey",permalink:"/blog/tags/game-vault-journey"},{inline:!0,label:"Coding Chronicle",permalink:"/blog/tags/coding-chronicle"},{inline:!0,label:"November Update",permalink:"/blog/tags/november-update"}],readingTime:2.26,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A Look Back and a Glimpse Forward",authors:["alfagun74"],tags:["Game Development","Software Updates","Gaming Community","UI Redesign","Development Milestones","Tech Progress","Future Features","GameVault Journey","Coding Chronicle","November Update"]},unlisted:!1,prevItem:{title:"Join the GameVault Early-Access Program Now!",permalink:"/blog/2023/12/09/"},nextItem:{title:"Please help us prioritize!",permalink:"/blog/2023/07/29/"}},s={authorsImageUrls:[void 0]},u=[];function m(e){const t={a:"a",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Hello,"}),"\n",(0,a.jsxs)(t.p,{children:["It's been a while since we caught up here, but if you've been following the action on ",(0,a.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),", you're up to speed. Nevertheless, this blog remains your spot for the key updates and announements."]})]})}function g(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},9246:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>r});var a=n(5271);const o={},l=a.createContext(o);function r(e){const t=a.useContext(l);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),a.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5300],{8256:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>g,frontMatter:()=>l,metadata:()=>i,toc:()=>u});var a=n(2676),o=n(8358);const l={title:"A Look Back and a Glimpse Forward",authors:["alfagun74"],tags:["Game Development","Software Updates","Gaming Community","UI Redesign","Development Milestones","Tech Progress","Future Features","GameVault Journey","Coding Chronicle","November Update"]},r=void 0,i={permalink:"/blog/2023/11/20/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-11-20.md",source:"@site/blog/2023-11-20.md",title:"A Look Back and a Glimpse Forward",description:"Hello,",date:"2023-11-20T00:00:00.000Z",tags:[{inline:!0,label:"Game Development",permalink:"/blog/tags/game-development"},{inline:!0,label:"Software Updates",permalink:"/blog/tags/software-updates"},{inline:!0,label:"Gaming Community",permalink:"/blog/tags/gaming-community"},{inline:!0,label:"UI Redesign",permalink:"/blog/tags/ui-redesign"},{inline:!0,label:"Development Milestones",permalink:"/blog/tags/development-milestones"},{inline:!0,label:"Tech Progress",permalink:"/blog/tags/tech-progress"},{inline:!0,label:"Future Features",permalink:"/blog/tags/future-features"},{inline:!0,label:"GameVault Journey",permalink:"/blog/tags/game-vault-journey"},{inline:!0,label:"Coding Chronicle",permalink:"/blog/tags/coding-chronicle"},{inline:!0,label:"November Update",permalink:"/blog/tags/november-update"}],readingTime:2.26,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"A Look Back and a Glimpse Forward",authors:["alfagun74"],tags:["Game Development","Software Updates","Gaming Community","UI Redesign","Development Milestones","Tech Progress","Future Features","GameVault Journey","Coding Chronicle","November Update"]},unlisted:!1,prevItem:{title:"Join the GameVault Early-Access Program Now!",permalink:"/blog/2023/12/09/"},nextItem:{title:"Please help us prioritize!",permalink:"/blog/2023/07/29/"}},s={authorsImageUrls:[void 0]},u=[];function m(e){const t={a:"a",p:"p",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Hello,"}),"\n",(0,a.jsxs)(t.p,{children:["It's been a while since we caught up here, but if you've been following the action on ",(0,a.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),", you're up to speed. Nevertheless, this blog remains your spot for the key updates and announements."]})]})}function g(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},8358:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>r});var a=n(5271);const o={},l=a.createContext(o);function r(e){const t=a.useContext(l);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),a.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/dcb9a9e8.0f05a26d.js b/assets/js/dcb9a9e8.8560359c.js similarity index 97% rename from assets/js/dcb9a9e8.0f05a26d.js rename to assets/js/dcb9a9e8.8560359c.js index 0b266ad04..8ad76be69 100644 --- a/assets/js/dcb9a9e8.0f05a26d.js +++ b/assets/js/dcb9a9e8.8560359c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4758],{2160:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var i=t(2676),s=t(9246);const a={},l="Running the Client on Linux",o={id:"advanced-usage/linux-client",title:"Running the Client on Linux",description:"This page serves as a community-driven guide to assist you in setting up the GameVault client on Linux.",source:"@site/docs/advanced-usage/linux-client.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/linux-client",permalink:"/docs/advanced-usage/linux-client",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/linux-client.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,frontMatter:{},sidebar:"docs",previous:{title:"Configuring Fail2Ban for GameVault",permalink:"/docs/advanced-usage/fail2ban-gamevault-guide"},next:{title:"Running the Client on Steamdeck",permalink:"/docs/advanced-usage/steamdeck"}},d={},c=[{value:"Getting the application",id:"getting-the-application",level:2},{value:"Setting up with Wine",id:"setting-up-with-wine",level:2},{value:"Setting up with Bottles",id:"setting-up-with-bottles",level:2},{value:"Updating the Client",id:"updating-the-client",level:2},{value:"Known issues",id:"known-issues",level:2}];function r(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"running-the-client-on-linux",children:"Running the Client on Linux"})}),"\n",(0,i.jsx)(n.p,{children:"This page serves as a community-driven guide to assist you in setting up the GameVault client on Linux."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Please note that running GameVault on Linux using this method is considered ",(0,i.jsx)(n.strong,{children:"unsupported"})," and ",(0,i.jsx)(n.strong,{children:"unrecommended"}),". It should only be utilized as a last resort when no other options are available."]})}),"\n",(0,i.jsx)(n.h2,{id:"getting-the-application",children:"Getting the application"}),"\n",(0,i.jsxs)(n.p,{children:["To start, you need the Application files. The simplest way to get them is explained ",(0,i.jsx)(n.a,{href:"/docs/client-docs/setup#option-1-obtain-pre-built-artifacts-from-github",children:"here"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"setting-up-with-wine",children:"Setting up with Wine"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Install Wine and winetricks"}),"\n",(0,i.jsxs)(n.li,{children:["Run ",(0,i.jsx)(n.code,{children:"winetricks dotnetdesktop6"})," in a terminal"]}),"\n",(0,i.jsxs)(n.li,{children:["Launch ",(0,i.jsx)(n.code,{children:"gamevault.exe"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"setting-up-with-bottles",children:"Setting up with Bottles"}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsx)(n.p,{children:"When using Bottles under flatpak, your data will be in the following directory:"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"~/.var/app/com.usebottles.bottles/data/bottles/[YOUR BOTTLE NAME]"})}),(0,i.jsx)(n.p,{children:"Keep that in mind when unpacking games to install them."})]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Install ",(0,i.jsx)(n.a,{href:"https://usebottles.com/",children:"Bottles"})]}),"\n",(0,i.jsxs)(n.li,{children:["Create a new bottle",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.img,{alt:"Creating a new Bottle",src:t(9299).Z+"",width:"672",height:"559"})]}),"\n",(0,i.jsxs)(n.li,{children:["Inside your bottle click ",(0,i.jsx)(n.code,{children:"Dependencies"})," and install ",(0,i.jsx)(n.code,{children:"dotnetcoredesktop6"}),(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.img,{alt:"Configuring the .NET Core Dependency",src:t(3211).Z+"",width:"1920",height:"1042"})]}),"\n",(0,i.jsxs)(n.li,{children:["Go back to the main page for your bottle and press ",(0,i.jsx)(n.code,{children:"Run Executable..."})," and select ",(0,i.jsx)(n.code,{children:"gamevault.exe"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"updating-the-client",children:"Updating the Client"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Since there is currently no auto-update functionality available (as mentioned in ",(0,i.jsx)(n.a,{href:"/docs/client-docs/updating-client#other-sources",children:"this link"}),"), it is your responsibility to manually update your GameVault client. To update your client, you will need to repeat the procedure in this documentation."]})}),"\n",(0,i.jsx)(n.h2,{id:"known-issues",children:"Known issues"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Text can look very broken if certain fonts are not installed on your system.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["If you're on Arch Linux, ",(0,i.jsx)(n.a,{href:"https://aur.archlinux.org/packages/ttf-ms-win11-auto",children:"this"})," AUR package fixes the issue."]}),"\n",(0,i.jsxs)(n.li,{children:["If you're on Debian, you could try to use ",(0,i.jsx)(n.a,{href:"https://packages.debian.org/ttf-mscorefonts-installer",children:"this"})," package. (untested)"]}),"\n",(0,i.jsxs)(n.li,{children:["Additionally - you can also try ",(0,i.jsx)(n.a,{href:"https://archive.org/details/windows-11-21h2-complete-font-collection",children:"this"})," and install it to your wine prefix's fonts folder ~/.wine/drive_c/windows/Fonts ; This works on the steamdeck"]}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},3211:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/dotnet-394a9ce8159950d1b64fc6831db7a59c.png"},9299:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/make_bottle-0aa58e120e66831b38d8c7cc6584b087.png"},9246:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>l});var i=t(5271);const s={},a=i.createContext(s);function l(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4758],{2160:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var i=t(2676),s=t(8358);const a={},l="Running the Client on Linux",o={id:"advanced-usage/linux-client",title:"Running the Client on Linux",description:"This page serves as a community-driven guide to assist you in setting up the GameVault client on Linux.",source:"@site/docs/advanced-usage/linux-client.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/linux-client",permalink:"/docs/advanced-usage/linux-client",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/linux-client.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,frontMatter:{},sidebar:"docs",previous:{title:"Configuring Fail2Ban for GameVault",permalink:"/docs/advanced-usage/fail2ban-gamevault-guide"},next:{title:"Running the Client on Steamdeck",permalink:"/docs/advanced-usage/steamdeck"}},d={},c=[{value:"Getting the application",id:"getting-the-application",level:2},{value:"Setting up with Wine",id:"setting-up-with-wine",level:2},{value:"Setting up with Bottles",id:"setting-up-with-bottles",level:2},{value:"Updating the Client",id:"updating-the-client",level:2},{value:"Known issues",id:"known-issues",level:2}];function r(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"running-the-client-on-linux",children:"Running the Client on Linux"})}),"\n",(0,i.jsx)(n.p,{children:"This page serves as a community-driven guide to assist you in setting up the GameVault client on Linux."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Please note that running GameVault on Linux using this method is considered ",(0,i.jsx)(n.strong,{children:"unsupported"})," and ",(0,i.jsx)(n.strong,{children:"unrecommended"}),". It should only be utilized as a last resort when no other options are available."]})}),"\n",(0,i.jsx)(n.h2,{id:"getting-the-application",children:"Getting the application"}),"\n",(0,i.jsxs)(n.p,{children:["To start, you need the Application files. The simplest way to get them is explained ",(0,i.jsx)(n.a,{href:"/docs/client-docs/setup#option-1-obtain-pre-built-artifacts-from-github",children:"here"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"setting-up-with-wine",children:"Setting up with Wine"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Install Wine and winetricks"}),"\n",(0,i.jsxs)(n.li,{children:["Run ",(0,i.jsx)(n.code,{children:"winetricks dotnetdesktop6"})," in a terminal"]}),"\n",(0,i.jsxs)(n.li,{children:["Launch ",(0,i.jsx)(n.code,{children:"gamevault.exe"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"setting-up-with-bottles",children:"Setting up with Bottles"}),"\n",(0,i.jsxs)(n.admonition,{type:"tip",children:[(0,i.jsx)(n.p,{children:"When using Bottles under flatpak, your data will be in the following directory:"}),(0,i.jsx)(n.p,{children:(0,i.jsx)(n.code,{children:"~/.var/app/com.usebottles.bottles/data/bottles/[YOUR BOTTLE NAME]"})}),(0,i.jsx)(n.p,{children:"Keep that in mind when unpacking games to install them."})]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["Install ",(0,i.jsx)(n.a,{href:"https://usebottles.com/",children:"Bottles"})]}),"\n",(0,i.jsxs)(n.li,{children:["Create a new bottle",(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.img,{alt:"Creating a new Bottle",src:t(9299).Z+"",width:"672",height:"559"})]}),"\n",(0,i.jsxs)(n.li,{children:["Inside your bottle click ",(0,i.jsx)(n.code,{children:"Dependencies"})," and install ",(0,i.jsx)(n.code,{children:"dotnetcoredesktop6"}),(0,i.jsx)(n.br,{}),"\n",(0,i.jsx)(n.img,{alt:"Configuring the .NET Core Dependency",src:t(3211).Z+"",width:"1920",height:"1042"})]}),"\n",(0,i.jsxs)(n.li,{children:["Go back to the main page for your bottle and press ",(0,i.jsx)(n.code,{children:"Run Executable..."})," and select ",(0,i.jsx)(n.code,{children:"gamevault.exe"})]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"updating-the-client",children:"Updating the Client"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Since there is currently no auto-update functionality available (as mentioned in ",(0,i.jsx)(n.a,{href:"/docs/client-docs/updating-client#other-sources",children:"this link"}),"), it is your responsibility to manually update your GameVault client. To update your client, you will need to repeat the procedure in this documentation."]})}),"\n",(0,i.jsx)(n.h2,{id:"known-issues",children:"Known issues"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Text can look very broken if certain fonts are not installed on your system.","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["If you're on Arch Linux, ",(0,i.jsx)(n.a,{href:"https://aur.archlinux.org/packages/ttf-ms-win11-auto",children:"this"})," AUR package fixes the issue."]}),"\n",(0,i.jsxs)(n.li,{children:["If you're on Debian, you could try to use ",(0,i.jsx)(n.a,{href:"https://packages.debian.org/ttf-mscorefonts-installer",children:"this"})," package. (untested)"]}),"\n",(0,i.jsxs)(n.li,{children:["Additionally - you can also try ",(0,i.jsx)(n.a,{href:"https://archive.org/details/windows-11-21h2-complete-font-collection",children:"this"})," and install it to your wine prefix's fonts folder ~/.wine/drive_c/windows/Fonts ; This works on the steamdeck"]}),"\n"]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},3211:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/dotnet-394a9ce8159950d1b64fc6831db7a59c.png"},9299:(e,n,t)=>{t.d(n,{Z:()=>i});const i=t.p+"assets/images/make_bottle-0aa58e120e66831b38d8c7cc6584b087.png"},8358:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>l});var i=t(5271);const s={},a=i.createContext(s);function l(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e07621e3.fb997d27.js b/assets/js/e07621e3.ddae9e66.js similarity index 85% rename from assets/js/e07621e3.fb997d27.js rename to assets/js/e07621e3.ddae9e66.js index b24f783c4..dd1d34d33 100644 --- a/assets/js/e07621e3.fb997d27.js +++ b/assets/js/e07621e3.ddae9e66.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6182],{9089:a=>{a.exports=JSON.parse('{"tag":{"label":"love for GameVault","permalink":"/blog/tags/love-for-game-vault","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/love-for-game-vault","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[6182],{1865:a=>{a.exports=JSON.parse('{"tag":{"label":"love for GameVault","permalink":"/blog/tags/love-for-game-vault","allTagsPath":"/blog/tags","count":1,"unlisted":false},"listMetadata":{"permalink":"/blog/tags/love-for-game-vault","page":1,"postsPerPage":10,"totalPages":1,"totalCount":1,"blogDescription":"Blog","blogTitle":"Blog"}}')}}]); \ No newline at end of file diff --git a/assets/js/e0c5798e.0eedbb9b.js b/assets/js/e0c5798e.308752ac.js similarity index 97% rename from assets/js/e0c5798e.0eedbb9b.js rename to assets/js/e0c5798e.308752ac.js index cc6f475e8..e3756d92a 100644 --- a/assets/js/e0c5798e.0eedbb9b.js +++ b/assets/js/e0c5798e.308752ac.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[339],{1133:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>u});var a=n(2676),o=n(9246);const i={title:"Announcing GameVault+ (coming soon)",authors:["alfagun74"],tags:["startup","software","gaming","GameVault","subscription model","development","community","announcement"]},l=void 0,s={permalink:"/blog/2024/03/28/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-03-28.md",source:"@site/blog/2024-03-28.md",title:"Announcing GameVault+ (coming soon)",description:"Hey Everyone!",date:"2024-03-28T00:00:00.000Z",tags:[{inline:!0,label:"startup",permalink:"/blog/tags/startup"},{inline:!0,label:"software",permalink:"/blog/tags/software"},{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"subscription model",permalink:"/blog/tags/subscription-model"},{inline:!0,label:"development",permalink:"/blog/tags/development"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"}],readingTime:3.725,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Announcing GameVault+ (coming soon)",authors:["alfagun74"],tags:["startup","software","gaming","GameVault","subscription model","development","community","announcement"]},unlisted:!1,prevItem:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",permalink:"/blog/2024/04/01/2024-04-01/"},nextItem:{title:"Join the GameVault Early-Access Program Now!",permalink:"/blog/2023/12/09/"}},r={authorsImageUrls:[void 0]},u=[{value:"GameVault+",id:"gamevault",level:2},{value:"What is GameVault+?",id:"what-is-gamevault",level:2},{value:"So what's next?",id:"so-whats-next",level:2}];function d(e){const t={a:"a",em:"em",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Hey Everyone!"}),"\n",(0,a.jsxs)(t.p,{children:["It feels like it's been ages since we last caught up regarding the development of ",(0,a.jsx)(t.a,{href:"https://gamevau.lt",children:"GameVault (the self-hostable platform for drm-free videogames)"}),", but trust me, the silence from our end doesn't mean we've been slacking off. In fact,quite the opposite has been happening behind the scenes. "]}),"\n",(0,a.jsx)(t.p,{children:"When my friend and I first launched this application, it was born out of a simple need for a solution to a problem we thought was very particular and only for ourselves. Having a steam-like platform for game files lying on my home server."}),"\n",(0,a.jsx)(t.p,{children:"We never imagined it would resonate with others or find its own place in the market. Frankly, we thought it might end up just another forgotten repository on GitHub, gathering virtual dust with no one paying it any mind."}),"\n",(0,a.jsx)(t.p,{children:"But boy, were we wrong. The response to our app was unexpectedly large and overwhelming. Thousands of people are using GameVault today, and it seems there's quite a demand out there for the exact product we've been building."}),"\n",(0,a.jsxs)(t.p,{children:["We\u2019re a small indie team of two and despite juggling multiple jobs, we've poured our hearts and souls into this project during our spare times, striving to offer a self-hosted alternative to the gaming platforms out there. And while we've received some generous donations (",(0,a.jsx)(t.em,{children:"shoutout to our two loyal monthly donors btw \u2013 you know who you are, and we're endlessly grateful!"}),"), it's clear that relying solely on sporadic tips isn't sustainable for the long term and we need financial support to maintain our services and justify our time investment towards our families."]}),"\n",(0,a.jsxs)(t.p,{children:["So, it's time for a slight change. We're thrilled to announce the upcoming release of a new version of our client application, complete with an ",(0,a.jsx)(t.strong,{children:"optional"})," subscription model we're calling..."]}),"\n",(0,a.jsx)(t.h2,{id:"gamevault",children:(0,a.jsx)(t.a,{href:"https://gamevau.lt/docs/gamevault-plus/introduction",children:"GameVault+"})}),"\n",(0,a.jsx)(t.h2,{id:"what-is-gamevault",children:"What is GameVault+?"}),"\n",(0,a.jsx)(t.p,{children:"First, to clear some of the confusion:"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:'No, this is not some shady scammy "We\'re going enterprise" rugpull'}),".\nThe core of GameVaults upcoming features and the features you enjoyed until now will always remain free. Additionally the system is ",(0,a.jsx)(t.a,{href:"https://gamevau.lt/docs/gamevault-plus/introduction/#what-if-i-cant-afford-gamevault",children:"designed to be easily bypassed if you can't or dont want to afford it."})]}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-app/issues/151",children:"It was long planned on our board and well discussed within our community"}),". Think of ",(0,a.jsx)(t.a,{href:"https://gamevau.lt/docs/gamevault-plus/introduction",children:"GameVault+"}),' as our way of saying "thank you" to our supporters and to motivate them to support us regularly. To be more specific, it\'s us giving back some goodie-features that are not necessarily needed to use GameVault back to our supporters, while they help us keep the lights on here at Phalcode.']}),"\n",(0,a.jsx)(t.p,{children:"With GameVault+, you'll gain access to premium nice-to-have features designed to enhance your GameVault experience, all for a small monthly fee of \u20ac4,99 monthly or \u20ac49.90 anually."}),"\n",(0,a.jsx)(t.p,{children:"Currently, these features include:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Uploading animated profile pictures"}),"\n",(0,a.jsx)(t.li,{children:"Applying Custom Themes"}),"\n",(0,a.jsx)(t.li,{children:"Activation of the GameVault Client API (CLI, URI, and NamedPipe Interfaces Used for client integrations with 3rd party tools like Playnite)"}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"But there are more to come! We will be enhancing this offering with more features, whenever we see room for it, as GameVault+ subscribers are the ones, who keep this project alive."}),"\n",(0,a.jsxs)(t.p,{children:["All details and a Q&A are on the ",(0,a.jsx)(t.a,{href:"https://gamevau.lt/docs/gamevault-plus/introduction",children:"GameVault+ page"}),"."]}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"We'll be rolling out this new product today to our early access users first"})," to get the product and the infrastructure around it tested, tweaking and refining it based on your feedback before making it available to everyone. It's an exciting new chapter for us, and we can't wait to have you along for the ride."]}),"\n",(0,a.jsx)(t.h2,{id:"so-whats-next",children:"So what's next?"}),"\n",(0,a.jsx)(t.p,{children:"We will polish the rough edges of GameVault+ and bring it to life in the next few weeks, hopefully. You will probably already see some documentation on this website for it. Keep in mind, this is all a work in progress, and we will announce the final release soon."}),"\n",(0,a.jsxs)(t.p,{children:["After that, we will need to urgently find a solution to our heavy reliance on the ",(0,a.jsx)(t.a,{href:"https://discord.com/channels/1100920639667306496/1134496308846137404/1217726870959820861",children:"degrading and unmaintained RAWG Database"}),". We are already in contact for potential partnerships with Video-Game Databases."]}),"\n",(0,a.jsx)(t.p,{children:"Finally, we will need to do some refactoring of our client application's architecture."}),"\n",(0,a.jsxs)(t.p,{children:["But stay tuned because once all of this is done, the Next Big Feature we'll be focusing on will be open for ",(0,a.jsx)(t.strong,{children:"the community to decide"})," in ",(0,a.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"our #polls channel on Discord"}),'. So make sure to join "The Council" to get notified and vote on your most desired feature.']}),"\n",(0,a.jsx)(t.p,{children:"Thank you all for supporting us and looking forward to seeing you all on our next updates!"})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},9246:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>l});var a=n(5271);const o={},i=a.createContext(o);function l(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[339],{8801:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>h,frontMatter:()=>i,metadata:()=>s,toc:()=>u});var a=n(2676),o=n(8358);const i={title:"Announcing GameVault+ (coming soon)",authors:["alfagun74"],tags:["startup","software","gaming","GameVault","subscription model","development","community","announcement"]},l=void 0,s={permalink:"/blog/2024/03/28/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-03-28.md",source:"@site/blog/2024-03-28.md",title:"Announcing GameVault+ (coming soon)",description:"Hey Everyone!",date:"2024-03-28T00:00:00.000Z",tags:[{inline:!0,label:"startup",permalink:"/blog/tags/startup"},{inline:!0,label:"software",permalink:"/blog/tags/software"},{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"subscription model",permalink:"/blog/tags/subscription-model"},{inline:!0,label:"development",permalink:"/blog/tags/development"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"}],readingTime:3.725,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Announcing GameVault+ (coming soon)",authors:["alfagun74"],tags:["startup","software","gaming","GameVault","subscription model","development","community","announcement"]},unlisted:!1,prevItem:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",permalink:"/blog/2024/04/01/2024-04-01/"},nextItem:{title:"Join the GameVault Early-Access Program Now!",permalink:"/blog/2023/12/09/"}},r={authorsImageUrls:[void 0]},u=[{value:"GameVault+",id:"gamevault",level:2},{value:"What is GameVault+?",id:"what-is-gamevault",level:2},{value:"So what's next?",id:"so-whats-next",level:2}];function d(e){const t={a:"a",em:"em",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Hey Everyone!"}),"\n",(0,a.jsxs)(t.p,{children:["It feels like it's been ages since we last caught up regarding the development of ",(0,a.jsx)(t.a,{href:"https://gamevau.lt",children:"GameVault (the self-hostable platform for drm-free videogames)"}),", but trust me, the silence from our end doesn't mean we've been slacking off. In fact,quite the opposite has been happening behind the scenes. "]}),"\n",(0,a.jsx)(t.p,{children:"When my friend and I first launched this application, it was born out of a simple need for a solution to a problem we thought was very particular and only for ourselves. Having a steam-like platform for game files lying on my home server."}),"\n",(0,a.jsx)(t.p,{children:"We never imagined it would resonate with others or find its own place in the market. Frankly, we thought it might end up just another forgotten repository on GitHub, gathering virtual dust with no one paying it any mind."}),"\n",(0,a.jsx)(t.p,{children:"But boy, were we wrong. The response to our app was unexpectedly large and overwhelming. Thousands of people are using GameVault today, and it seems there's quite a demand out there for the exact product we've been building."}),"\n",(0,a.jsxs)(t.p,{children:["We\u2019re a small indie team of two and despite juggling multiple jobs, we've poured our hearts and souls into this project during our spare times, striving to offer a self-hosted alternative to the gaming platforms out there. And while we've received some generous donations (",(0,a.jsx)(t.em,{children:"shoutout to our two loyal monthly donors btw \u2013 you know who you are, and we're endlessly grateful!"}),"), it's clear that relying solely on sporadic tips isn't sustainable for the long term and we need financial support to maintain our services and justify our time investment towards our families."]}),"\n",(0,a.jsxs)(t.p,{children:["So, it's time for a slight change. We're thrilled to announce the upcoming release of a new version of our client application, complete with an ",(0,a.jsx)(t.strong,{children:"optional"})," subscription model we're calling..."]}),"\n",(0,a.jsx)(t.h2,{id:"gamevault",children:(0,a.jsx)(t.a,{href:"https://gamevau.lt/docs/gamevault-plus/introduction",children:"GameVault+"})}),"\n",(0,a.jsx)(t.h2,{id:"what-is-gamevault",children:"What is GameVault+?"}),"\n",(0,a.jsx)(t.p,{children:"First, to clear some of the confusion:"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:'No, this is not some shady scammy "We\'re going enterprise" rugpull'}),".\nThe core of GameVaults upcoming features and the features you enjoyed until now will always remain free. Additionally the system is ",(0,a.jsx)(t.a,{href:"https://gamevau.lt/docs/gamevault-plus/introduction/#what-if-i-cant-afford-gamevault",children:"designed to be easily bypassed if you can't or dont want to afford it."})]}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-app/issues/151",children:"It was long planned on our board and well discussed within our community"}),". Think of ",(0,a.jsx)(t.a,{href:"https://gamevau.lt/docs/gamevault-plus/introduction",children:"GameVault+"}),' as our way of saying "thank you" to our supporters and to motivate them to support us regularly. To be more specific, it\'s us giving back some goodie-features that are not necessarily needed to use GameVault back to our supporters, while they help us keep the lights on here at Phalcode.']}),"\n",(0,a.jsx)(t.p,{children:"With GameVault+, you'll gain access to premium nice-to-have features designed to enhance your GameVault experience, all for a small monthly fee of \u20ac4,99 monthly or \u20ac49.90 anually."}),"\n",(0,a.jsx)(t.p,{children:"Currently, these features include:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Uploading animated profile pictures"}),"\n",(0,a.jsx)(t.li,{children:"Applying Custom Themes"}),"\n",(0,a.jsx)(t.li,{children:"Activation of the GameVault Client API (CLI, URI, and NamedPipe Interfaces Used for client integrations with 3rd party tools like Playnite)"}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"But there are more to come! We will be enhancing this offering with more features, whenever we see room for it, as GameVault+ subscribers are the ones, who keep this project alive."}),"\n",(0,a.jsxs)(t.p,{children:["All details and a Q&A are on the ",(0,a.jsx)(t.a,{href:"https://gamevau.lt/docs/gamevault-plus/introduction",children:"GameVault+ page"}),"."]}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"We'll be rolling out this new product today to our early access users first"})," to get the product and the infrastructure around it tested, tweaking and refining it based on your feedback before making it available to everyone. It's an exciting new chapter for us, and we can't wait to have you along for the ride."]}),"\n",(0,a.jsx)(t.h2,{id:"so-whats-next",children:"So what's next?"}),"\n",(0,a.jsx)(t.p,{children:"We will polish the rough edges of GameVault+ and bring it to life in the next few weeks, hopefully. You will probably already see some documentation on this website for it. Keep in mind, this is all a work in progress, and we will announce the final release soon."}),"\n",(0,a.jsxs)(t.p,{children:["After that, we will need to urgently find a solution to our heavy reliance on the ",(0,a.jsx)(t.a,{href:"https://discord.com/channels/1100920639667306496/1134496308846137404/1217726870959820861",children:"degrading and unmaintained RAWG Database"}),". We are already in contact for potential partnerships with Video-Game Databases."]}),"\n",(0,a.jsx)(t.p,{children:"Finally, we will need to do some refactoring of our client application's architecture."}),"\n",(0,a.jsxs)(t.p,{children:["But stay tuned because once all of this is done, the Next Big Feature we'll be focusing on will be open for ",(0,a.jsx)(t.strong,{children:"the community to decide"})," in ",(0,a.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"our #polls channel on Discord"}),'. So make sure to join "The Council" to get notified and vote on your most desired feature.']}),"\n",(0,a.jsx)(t.p,{children:"Thank you all for supporting us and looking forward to seeing you all on our next updates!"})]})}function h(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8358:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>l});var a=n(5271);const o={},i=a.createContext(o);function l(e){const t=a.useContext(i);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),a.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e0da75fc.26e30ff3.js b/assets/js/e0da75fc.82b2488d.js similarity index 95% rename from assets/js/e0da75fc.26e30ff3.js rename to assets/js/e0da75fc.82b2488d.js index 837081c9e..c02c0d78c 100644 --- a/assets/js/e0da75fc.26e30ff3.js +++ b/assets/js/e0da75fc.82b2488d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2656],{7282:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>d,toc:()=>r});var i=t(2676),s=t(9246);const a={},o="Running the Client on Steamdeck",d={id:"advanced-usage/steamdeck",title:"Running the Client on Steamdeck",description:"This page serves as a community-driven guide to assist you in setting up the GameVault client on SteamOS.",source:"@site/docs/advanced-usage/steamdeck.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/steamdeck",permalink:"/docs/advanced-usage/steamdeck",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/steamdeck.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,frontMatter:{},sidebar:"docs",previous:{title:"Running the Client on Linux",permalink:"/docs/advanced-usage/linux-client"},next:{title:"Introduction",permalink:"/docs/gamevault-plus/introduction"}},l={},r=[{value:"App Setup Guide",id:"app-setup-guide",level:2},{value:"Updating the Client",id:"updating-the-client",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"running-the-client-on-steamdeck",children:"Running the Client on Steamdeck"})}),"\n",(0,i.jsx)(n.p,{children:"This page serves as a community-driven guide to assist you in setting up the GameVault client on SteamOS."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Please note that running GameVault on Linux using this method is considered ",(0,i.jsx)(n.strong,{children:"unsupported"})," and ",(0,i.jsx)(n.strong,{children:"unrecommended"}),"."]})}),"\n",(0,i.jsx)(n.h2,{id:"app-setup-guide",children:"App Setup Guide"}),"\n",(0,i.jsxs)(n.p,{children:["To start, you need the Application files. The simplest way to get them is explained ",(0,i.jsx)(n.a,{href:"/docs/client-docs/setup#option-1-obtain-pre-built-artifacts-from-github",children:"here"}),"."]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Download the latest version of the GameVault app ",(0,i.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-app/releases",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Download .NET from ",(0,i.jsx)(n.a,{href:"https://download.visualstudio.microsoft.com/download/pr/3136e217-e5b7-4899-9b7e-aa52ecb8b108/d74134edaa75e3300f8692660b9fb7b5/windowsdesktop-runtime-6.0.26-win-x64.exe",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Download fonts from ",(0,i.jsx)(n.a,{href:"https://archive.org/details/windows-11-21h2-complete-font-collection",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Unzip the GameVault application where you want the application to live."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"Where you place the app is where it will install windows portable apps. Make sure you have enough space."})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Add ",(0,i.jsx)(n.code,{children:"gamevault.exe"})," to Steam library as a non-steam game (This is important for the proton compdata appid... or so I've been told)."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Change game compatibility properties to use your preferred version of proton."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Change the target of the Non-steam game to the .NET installer."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Run the game via Steam."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Install .NET."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Change the target of the Non-steam game to the ",(0,i.jsx)(n.code,{children:"gamevault.exe"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Find the Compdata folder ",(0,i.jsx)(n.code,{children:"/home/deck/.local/share/steam/steamapps/compatdata/GAMEAPPIDNUMBER/"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"Easiest way to find this is to install and run protontricks in the discover store. Mine is 3860686742"})}),"\n",(0,i.jsxs)(n.ol,{start:"12",children:["\n",(0,i.jsxs)(n.li,{children:["Unzip fonts downloaded from archive.org and install to ",(0,i.jsx)(n.code,{children:"/home/deck/.local/share/steam/steamapps/compatdata/GAMEAPPIDNUMBER/pfx/drive_c/windows/Fonts"}),". (specifically Segoe UI)"]}),"\n",(0,i.jsx)(n.li,{children:"Run GameVault via Steam"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"updating-the-client",children:"Updating the Client"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Since there is currently no auto-update functionality available (as mentioned in ",(0,i.jsx)(n.a,{href:"/docs/client-docs/updating-client#other-sources",children:"this link"}),"), it is your responsibility to manually update your GameVault client. To update your client, you will need to repeat the procedure in this documentation."]})})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},9246:(e,n,t)=>{t.d(n,{Z:()=>d,a:()=>o});var i=t(5271);const s={},a=i.createContext(s);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2656],{7282:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>d,toc:()=>r});var i=t(2676),s=t(8358);const a={},o="Running the Client on Steamdeck",d={id:"advanced-usage/steamdeck",title:"Running the Client on Steamdeck",description:"This page serves as a community-driven guide to assist you in setting up the GameVault client on SteamOS.",source:"@site/docs/advanced-usage/steamdeck.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/steamdeck",permalink:"/docs/advanced-usage/steamdeck",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/steamdeck.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,frontMatter:{},sidebar:"docs",previous:{title:"Running the Client on Linux",permalink:"/docs/advanced-usage/linux-client"},next:{title:"Introduction",permalink:"/docs/gamevault-plus/introduction"}},l={},r=[{value:"App Setup Guide",id:"app-setup-guide",level:2},{value:"Updating the Client",id:"updating-the-client",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"running-the-client-on-steamdeck",children:"Running the Client on Steamdeck"})}),"\n",(0,i.jsx)(n.p,{children:"This page serves as a community-driven guide to assist you in setting up the GameVault client on SteamOS."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Please note that running GameVault on Linux using this method is considered ",(0,i.jsx)(n.strong,{children:"unsupported"})," and ",(0,i.jsx)(n.strong,{children:"unrecommended"}),"."]})}),"\n",(0,i.jsx)(n.h2,{id:"app-setup-guide",children:"App Setup Guide"}),"\n",(0,i.jsxs)(n.p,{children:["To start, you need the Application files. The simplest way to get them is explained ",(0,i.jsx)(n.a,{href:"/docs/client-docs/setup#option-1-obtain-pre-built-artifacts-from-github",children:"here"}),"."]}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Download the latest version of the GameVault app ",(0,i.jsx)(n.a,{href:"https://github.com/Phalcode/gamevault-app/releases",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Download .NET from ",(0,i.jsx)(n.a,{href:"https://download.visualstudio.microsoft.com/download/pr/3136e217-e5b7-4899-9b7e-aa52ecb8b108/d74134edaa75e3300f8692660b9fb7b5/windowsdesktop-runtime-6.0.26-win-x64.exe",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Download fonts from ",(0,i.jsx)(n.a,{href:"https://archive.org/details/windows-11-21h2-complete-font-collection",children:"here"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Unzip the GameVault application where you want the application to live."}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsx)(n.p,{children:"Where you place the app is where it will install windows portable apps. Make sure you have enough space."})}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Add ",(0,i.jsx)(n.code,{children:"gamevault.exe"})," to Steam library as a non-steam game (This is important for the proton compdata appid... or so I've been told)."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Change game compatibility properties to use your preferred version of proton."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Change the target of the Non-steam game to the .NET installer."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Run the game via Steam."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsx)(n.p,{children:"Install .NET."}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Change the target of the Non-steam game to the ",(0,i.jsx)(n.code,{children:"gamevault.exe"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.li,{children:["\n",(0,i.jsxs)(n.p,{children:["Find the Compdata folder ",(0,i.jsx)(n.code,{children:"/home/deck/.local/share/steam/steamapps/compatdata/GAMEAPPIDNUMBER/"}),"."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsx)(n.p,{children:"Easiest way to find this is to install and run protontricks in the discover store. Mine is 3860686742"})}),"\n",(0,i.jsxs)(n.ol,{start:"12",children:["\n",(0,i.jsxs)(n.li,{children:["Unzip fonts downloaded from archive.org and install to ",(0,i.jsx)(n.code,{children:"/home/deck/.local/share/steam/steamapps/compatdata/GAMEAPPIDNUMBER/pfx/drive_c/windows/Fonts"}),". (specifically Segoe UI)"]}),"\n",(0,i.jsx)(n.li,{children:"Run GameVault via Steam"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"updating-the-client",children:"Updating the Client"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Since there is currently no auto-update functionality available (as mentioned in ",(0,i.jsx)(n.a,{href:"/docs/client-docs/updating-client#other-sources",children:"this link"}),"), it is your responsibility to manually update your GameVault client. To update your client, you will need to repeat the procedure in this documentation."]})})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8358:(e,n,t)=>{t.d(n,{Z:()=>d,a:()=>o});var i=t(5271);const s={},a=i.createContext(s);function o(e){const n=i.useContext(a);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e6a59d41.18228cc3.js b/assets/js/e6a59d41.344c0d69.js similarity index 97% rename from assets/js/e6a59d41.18228cc3.js rename to assets/js/e6a59d41.344c0d69.js index 2bb006eed..a2e3b7353 100644 --- a/assets/js/e6a59d41.18228cc3.js +++ b/assets/js/e6a59d41.344c0d69.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[356],{4244:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var s=n(2676),i=n(9246);const r={sidebar_position:6},a="User Management",o={id:"server-docs/user-management",title:"User Management",description:"This documentation provides instructions on user management for the GameVault server. User management involves configuring the initial admin user, enabling/disabling user registration, managing user activation, and assigning roles. These features are crucial for controlling user access, maintaining security, and administering the server effectively.",source:"@site/docs/server-docs/user-management.md",sourceDirName:"server-docs",slug:"/server-docs/user-management",permalink:"/docs/server-docs/user-management",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/user-management.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"docs",previous:{title:"Updating Games",permalink:"/docs/server-docs/updating-games"},next:{title:"Game Indexing",permalink:"/docs/server-docs/indexing"}},d={},l=[{value:"Admin User",id:"admin-user",level:2},{value:"Initial Setup",id:"initial-setup",level:3},{value:"Admin Role Recovery",id:"admin-role-recovery",level:2},{value:"Admin Password Recovery",id:"admin-password-recovery",level:2},{value:"User Registration",id:"user-registration",level:2},{value:"User Activation",id:"user-activation",level:2},{value:"User Roles",id:"user-roles",level:2}];function c(e){const t={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"user-management",children:"User Management"})}),"\n",(0,s.jsx)(t.p,{children:"This documentation provides instructions on user management for the GameVault server. User management involves configuring the initial admin user, enabling/disabling user registration, managing user activation, and assigning roles. These features are crucial for controlling user access, maintaining security, and administering the server effectively."}),"\n",(0,s.jsx)(t.h2,{id:"admin-user",children:"Admin User"}),"\n",(0,s.jsx)(t.h3,{id:"initial-setup",children:"Initial Setup"}),"\n",(0,s.jsx)(t.admonition,{type:"warning",children:(0,s.jsx)(t.p,{children:"GameVault does not register the first admin account for you. You will need to do that yourself."})}),"\n",(0,s.jsx)(t.p,{children:"The first registered user on a server is automatically activated and granted admin permissions. You can register it using the GameVault Client Application."}),"\n",(0,s.jsx)(t.h2,{id:"admin-role-recovery",children:"Admin Role Recovery"}),"\n",(0,s.jsxs)(t.p,{children:["If you lost your admin permissions due to misconfiguration, you can fix this by using the ",(0,s.jsx)(t.code,{children:"SERVER_ADMIN_USERNAME"})," environment variable. Simply set this variable to the username of the user you wish to elevate to admin role. Upon server startup, GameVault will automatically grant admin permissions to the specified username provided in this configuration variable."]}),"\n",(0,s.jsx)(t.h2,{id:"admin-password-recovery",children:"Admin Password Recovery"}),"\n",(0,s.jsx)(t.p,{children:"In the event that the server owner gets locked out of the admin user account due to password loss or other reasons, the GameVault Server provides an easy way to recover access."}),"\n",(0,s.jsxs)(t.p,{children:["First, set the ",(0,s.jsx)(t.code,{children:"SERVER_ADMIN_USERNAME"})," environment variable to the username of the admin user you wish to reset the password for.\nThen, set the ",(0,s.jsx)(t.code,{children:"SERVER_ADMIN_PASSWORD"})," environment variable to the desired password for the admin user."]}),"\n",(0,s.jsx)(t.p,{children:"For example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ini",children:"SERVER_ADMIN_USERNAME=gamevaultfan1\nSERVER_ADMIN_PASSWORD=hunter2\n"})}),"\n",(0,s.jsx)(t.p,{children:"Upon the next startup of the GameVault server, the admin user's password will be updated to the specified password, allowing the user to regain access."}),"\n",(0,s.jsx)(t.h2,{id:"user-registration",children:"User Registration"}),"\n",(0,s.jsx)(t.p,{children:"You have the option to enable or disable new user registration. When tighter control is needed, you can opt to disable public registration."}),"\n",(0,s.jsxs)(t.p,{children:["Simply set the ",(0,s.jsx)(t.code,{children:"SERVER_REGISTRATION_DISABLED"})," environment variable to ",(0,s.jsx)(t.code,{children:"true"})," to easily deactivate the public user registration API in GameVault. This prevents new users from creating accounts and accessing the application."]}),"\n",(0,s.jsx)(t.p,{children:"However, even when public registration is closed, authenticated administrators retain the ability to register new users."}),"\n",(0,s.jsx)(t.h2,{id:"user-activation",children:"User Activation"}),"\n",(0,s.jsx)(t.p,{children:"The activation process is a crucial step to authorize and activate new user accounts. By default, newly registered users are required to be activated by an administrator before they can fully utilize the application."}),"\n",(0,s.jsx)(t.p,{children:"Unactivated users have limited rights, even less than the rights of a guest role user. They are treated as unauthenticated and can not access most APIs.\nAdmins are exempt from activation checks. They can activate new users through the admin panel within the GameVault application."}),"\n",(0,s.jsxs)(t.p,{children:["However, if you wish to bypass the mandatory activation step and allow new users to immediately gain full access to GameVault, you can disable the activation process. Simply set the ",(0,s.jsx)(t.code,{children:"SERVER_ACCOUNT_ACTIVATION_DISABLED"})," environment variable to ",(0,s.jsx)(t.code,{children:"true"}),". This activates users automatically upon registration, removes the activation requirement and grants immediate access to new users."]}),"\n",(0,s.jsx)(t.h2,{id:"user-roles",children:"User Roles"}),"\n",(0,s.jsx)(t.p,{children:"Roles play a crucial role in ensuring the security and proper functioning of the GameVault server. They determine the permissions and access levels granted to users within the application."}),"\n",(0,s.jsx)(t.p,{children:"GameVault implements the following roles:"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Role"}),(0,s.jsx)(t.th,{children:"Description"}),(0,s.jsx)(t.th,{children:"Level"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Guest"}),(0,s.jsx)(t.td,{children:"This role allows users to view most content within the application."}),(0,s.jsx)(t.td,{children:"1"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Users (Default)"}),(0,s.jsx)(t.td,{children:"This role includes permissions such as downloading games, creating progresses, and editing the user's own profile."}),(0,s.jsx)(t.td,{children:"2"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Editors"}),(0,s.jsx)(t.td,{children:"Editors have the ability to edit and remap games within the application."}),(0,s.jsx)(t.td,{children:"3"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Admins"}),(0,s.jsx)(t.td,{children:"Admins possess full control over user management and can edit user profiles."}),(0,s.jsx)(t.td,{children:"4"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"By assigning appropriate roles to users, you can ensure that they have the necessary access and privileges based on their responsibilities."})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},9246:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>a});var s=n(5271);const i={},r=s.createContext(i);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[356],{4244:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>l});var s=n(2676),i=n(8358);const r={sidebar_position:6},a="User Management",o={id:"server-docs/user-management",title:"User Management",description:"This documentation provides instructions on user management for the GameVault server. User management involves configuring the initial admin user, enabling/disabling user registration, managing user activation, and assigning roles. These features are crucial for controlling user access, maintaining security, and administering the server effectively.",source:"@site/docs/server-docs/user-management.md",sourceDirName:"server-docs",slug:"/server-docs/user-management",permalink:"/docs/server-docs/user-management",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/user-management.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"docs",previous:{title:"Updating Games",permalink:"/docs/server-docs/updating-games"},next:{title:"Game Indexing",permalink:"/docs/server-docs/indexing"}},d={},l=[{value:"Admin User",id:"admin-user",level:2},{value:"Initial Setup",id:"initial-setup",level:3},{value:"Admin Role Recovery",id:"admin-role-recovery",level:2},{value:"Admin Password Recovery",id:"admin-password-recovery",level:2},{value:"User Registration",id:"user-registration",level:2},{value:"User Activation",id:"user-activation",level:2},{value:"User Roles",id:"user-roles",level:2}];function c(e){const t={admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"user-management",children:"User Management"})}),"\n",(0,s.jsx)(t.p,{children:"This documentation provides instructions on user management for the GameVault server. User management involves configuring the initial admin user, enabling/disabling user registration, managing user activation, and assigning roles. These features are crucial for controlling user access, maintaining security, and administering the server effectively."}),"\n",(0,s.jsx)(t.h2,{id:"admin-user",children:"Admin User"}),"\n",(0,s.jsx)(t.h3,{id:"initial-setup",children:"Initial Setup"}),"\n",(0,s.jsx)(t.admonition,{type:"warning",children:(0,s.jsx)(t.p,{children:"GameVault does not register the first admin account for you. You will need to do that yourself."})}),"\n",(0,s.jsx)(t.p,{children:"The first registered user on a server is automatically activated and granted admin permissions. You can register it using the GameVault Client Application."}),"\n",(0,s.jsx)(t.h2,{id:"admin-role-recovery",children:"Admin Role Recovery"}),"\n",(0,s.jsxs)(t.p,{children:["If you lost your admin permissions due to misconfiguration, you can fix this by using the ",(0,s.jsx)(t.code,{children:"SERVER_ADMIN_USERNAME"})," environment variable. Simply set this variable to the username of the user you wish to elevate to admin role. Upon server startup, GameVault will automatically grant admin permissions to the specified username provided in this configuration variable."]}),"\n",(0,s.jsx)(t.h2,{id:"admin-password-recovery",children:"Admin Password Recovery"}),"\n",(0,s.jsx)(t.p,{children:"In the event that the server owner gets locked out of the admin user account due to password loss or other reasons, the GameVault Server provides an easy way to recover access."}),"\n",(0,s.jsxs)(t.p,{children:["First, set the ",(0,s.jsx)(t.code,{children:"SERVER_ADMIN_USERNAME"})," environment variable to the username of the admin user you wish to reset the password for.\nThen, set the ",(0,s.jsx)(t.code,{children:"SERVER_ADMIN_PASSWORD"})," environment variable to the desired password for the admin user."]}),"\n",(0,s.jsx)(t.p,{children:"For example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-ini",children:"SERVER_ADMIN_USERNAME=gamevaultfan1\nSERVER_ADMIN_PASSWORD=hunter2\n"})}),"\n",(0,s.jsx)(t.p,{children:"Upon the next startup of the GameVault server, the admin user's password will be updated to the specified password, allowing the user to regain access."}),"\n",(0,s.jsx)(t.h2,{id:"user-registration",children:"User Registration"}),"\n",(0,s.jsx)(t.p,{children:"You have the option to enable or disable new user registration. When tighter control is needed, you can opt to disable public registration."}),"\n",(0,s.jsxs)(t.p,{children:["Simply set the ",(0,s.jsx)(t.code,{children:"SERVER_REGISTRATION_DISABLED"})," environment variable to ",(0,s.jsx)(t.code,{children:"true"})," to easily deactivate the public user registration API in GameVault. This prevents new users from creating accounts and accessing the application."]}),"\n",(0,s.jsx)(t.p,{children:"However, even when public registration is closed, authenticated administrators retain the ability to register new users."}),"\n",(0,s.jsx)(t.h2,{id:"user-activation",children:"User Activation"}),"\n",(0,s.jsx)(t.p,{children:"The activation process is a crucial step to authorize and activate new user accounts. By default, newly registered users are required to be activated by an administrator before they can fully utilize the application."}),"\n",(0,s.jsx)(t.p,{children:"Unactivated users have limited rights, even less than the rights of a guest role user. They are treated as unauthenticated and can not access most APIs.\nAdmins are exempt from activation checks. They can activate new users through the admin panel within the GameVault application."}),"\n",(0,s.jsxs)(t.p,{children:["However, if you wish to bypass the mandatory activation step and allow new users to immediately gain full access to GameVault, you can disable the activation process. Simply set the ",(0,s.jsx)(t.code,{children:"SERVER_ACCOUNT_ACTIVATION_DISABLED"})," environment variable to ",(0,s.jsx)(t.code,{children:"true"}),". This activates users automatically upon registration, removes the activation requirement and grants immediate access to new users."]}),"\n",(0,s.jsx)(t.h2,{id:"user-roles",children:"User Roles"}),"\n",(0,s.jsx)(t.p,{children:"Roles play a crucial role in ensuring the security and proper functioning of the GameVault server. They determine the permissions and access levels granted to users within the application."}),"\n",(0,s.jsx)(t.p,{children:"GameVault implements the following roles:"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Role"}),(0,s.jsx)(t.th,{children:"Description"}),(0,s.jsx)(t.th,{children:"Level"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Guest"}),(0,s.jsx)(t.td,{children:"This role allows users to view most content within the application."}),(0,s.jsx)(t.td,{children:"1"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Users (Default)"}),(0,s.jsx)(t.td,{children:"This role includes permissions such as downloading games, creating progresses, and editing the user's own profile."}),(0,s.jsx)(t.td,{children:"2"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Editors"}),(0,s.jsx)(t.td,{children:"Editors have the ability to edit and remap games within the application."}),(0,s.jsx)(t.td,{children:"3"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Admins"}),(0,s.jsx)(t.td,{children:"Admins possess full control over user management and can edit user profiles."}),(0,s.jsx)(t.td,{children:"4"})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"By assigning appropriate roles to users, you can ensure that they have the necessary access and privileges based on their responsibilities."})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8358:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>a});var s=n(5271);const i={},r=s.createContext(i);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e70842e4.707e3622.js b/assets/js/e70842e4.f0b00acd.js similarity index 95% rename from assets/js/e70842e4.707e3622.js rename to assets/js/e70842e4.f0b00acd.js index 0a5ea7a3e..57bc26a2a 100644 --- a/assets/js/e70842e4.707e3622.js +++ b/assets/js/e70842e4.f0b00acd.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5912],{4853:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>r,contentTitle:()=>o,default:()=>g,frontMatter:()=>i,metadata:()=>s,toc:()=>m});var t=n(2676),l=n(9246);const i={title:"GameVault+ out now",authors:["alfagun74"],tags:["gaming","self-hosted","platform","DRM-free","video games","GameVault","GameVault+","subscription","community-driven","updates","announcement","early access","release","features","sustainability","partnerships","Discord","feedback","improvement","development"]},o=void 0,s={permalink:"/blog/2024/04/14/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-04-14.md",source:"@site/blog/2024-04-14.md",title:"GameVault+ out now",description:"Hey everyone!",date:"2024-04-14T00:00:00.000Z",tags:[{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"self-hosted",permalink:"/blog/tags/self-hosted"},{inline:!0,label:"platform",permalink:"/blog/tags/platform"},{inline:!0,label:"DRM-free",permalink:"/blog/tags/drm-free"},{inline:!0,label:"video games",permalink:"/blog/tags/video-games"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameVault+",permalink:"/blog/tags/game-vault"},{inline:!0,label:"subscription",permalink:"/blog/tags/subscription"},{inline:!0,label:"community-driven",permalink:"/blog/tags/community-driven"},{inline:!0,label:"updates",permalink:"/blog/tags/updates"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"},{inline:!0,label:"early access",permalink:"/blog/tags/early-access"},{inline:!0,label:"release",permalink:"/blog/tags/release"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"sustainability",permalink:"/blog/tags/sustainability"},{inline:!0,label:"partnerships",permalink:"/blog/tags/partnerships"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"improvement",permalink:"/blog/tags/improvement"},{inline:!0,label:"development",permalink:"/blog/tags/development"}],readingTime:1.18,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"GameVault+ out now",authors:["alfagun74"],tags:["gaming","self-hosted","platform","DRM-free","video games","GameVault","GameVault+","subscription","community-driven","updates","announcement","early access","release","features","sustainability","partnerships","Discord","feedback","improvement","development"]},unlisted:!1,prevItem:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",permalink:"/blog/2024/05/07/"},nextItem:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",permalink:"/blog/2024/04/01/2024-04-01/"}},r={authorsImageUrls:[void 0]},m=[];function u(e){const a={p:"p",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.p,{children:"Hey everyone!"}),"\n",(0,t.jsx)(a.p,{children:"We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support."})]})}function g(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},9246:(e,a,n)=>{n.d(a,{Z:()=>s,a:()=>o});var t=n(5271);const l={},i=t.createContext(l);function o(e){const a=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function s(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),t.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5912],{4712:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>r,contentTitle:()=>o,default:()=>g,frontMatter:()=>i,metadata:()=>s,toc:()=>m});var t=n(2676),l=n(8358);const i={title:"GameVault+ out now",authors:["alfagun74"],tags:["gaming","self-hosted","platform","DRM-free","video games","GameVault","GameVault+","subscription","community-driven","updates","announcement","early access","release","features","sustainability","partnerships","Discord","feedback","improvement","development"]},o=void 0,s={permalink:"/blog/2024/04/14/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-04-14.md",source:"@site/blog/2024-04-14.md",title:"GameVault+ out now",description:"Hey everyone!",date:"2024-04-14T00:00:00.000Z",tags:[{inline:!0,label:"gaming",permalink:"/blog/tags/gaming"},{inline:!0,label:"self-hosted",permalink:"/blog/tags/self-hosted"},{inline:!0,label:"platform",permalink:"/blog/tags/platform"},{inline:!0,label:"DRM-free",permalink:"/blog/tags/drm-free"},{inline:!0,label:"video games",permalink:"/blog/tags/video-games"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameVault+",permalink:"/blog/tags/game-vault"},{inline:!0,label:"subscription",permalink:"/blog/tags/subscription"},{inline:!0,label:"community-driven",permalink:"/blog/tags/community-driven"},{inline:!0,label:"updates",permalink:"/blog/tags/updates"},{inline:!0,label:"announcement",permalink:"/blog/tags/announcement"},{inline:!0,label:"early access",permalink:"/blog/tags/early-access"},{inline:!0,label:"release",permalink:"/blog/tags/release"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"sustainability",permalink:"/blog/tags/sustainability"},{inline:!0,label:"partnerships",permalink:"/blog/tags/partnerships"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"improvement",permalink:"/blog/tags/improvement"},{inline:!0,label:"development",permalink:"/blog/tags/development"}],readingTime:1.18,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"GameVault+ out now",authors:["alfagun74"],tags:["gaming","self-hosted","platform","DRM-free","video games","GameVault","GameVault+","subscription","community-driven","updates","announcement","early access","release","features","sustainability","partnerships","Discord","feedback","improvement","development"]},unlisted:!1,prevItem:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",permalink:"/blog/2024/05/07/"},nextItem:{title:"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!",permalink:"/blog/2024/04/01/2024-04-01/"}},r={authorsImageUrls:[void 0]},m=[];function u(e){const a={p:"p",...(0,l.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.p,{children:"Hey everyone!"}),"\n",(0,t.jsx)(a.p,{children:"We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support."})]})}function g(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(u,{...e})}):u(e)}},8358:(e,a,n)=>{n.d(a,{Z:()=>s,a:()=>o});var t=n(5271);const l={},i=t.createContext(l);function o(e){const a=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function s(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),t.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e7aa45d5.6f03a7aa.js b/assets/js/e7aa45d5.9843d9eb.js similarity index 96% rename from assets/js/e7aa45d5.6f03a7aa.js rename to assets/js/e7aa45d5.9843d9eb.js index 5424bfcfb..44043053b 100644 --- a/assets/js/e7aa45d5.6f03a7aa.js +++ b/assets/js/e7aa45d5.9843d9eb.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9886],{4069:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var n=t(2676),o=t(9246);const i={title:"Please help us prioritize!",authors:["alfagun74"],tags:["community","GameVault","development","roadmap","collaboration","feedback","GitHub","voting","features","platform","Kanban Board","Discord","Council Member","polls","gaming experience"]},l=void 0,r={permalink:"/blog/2023/07/29/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-29.md",source:"@site/blog/2023-07-29.md",title:"Please help us prioritize!",description:"Hello everyone!",date:"2023-07-29T00:00:00.000Z",tags:[{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"development",permalink:"/blog/tags/development"},{inline:!0,label:"roadmap",permalink:"/blog/tags/roadmap"},{inline:!0,label:"collaboration",permalink:"/blog/tags/collaboration"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"GitHub",permalink:"/blog/tags/git-hub"},{inline:!0,label:"voting",permalink:"/blog/tags/voting"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"platform",permalink:"/blog/tags/platform"},{inline:!0,label:"Kanban Board",permalink:"/blog/tags/kanban-board"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"Council Member",permalink:"/blog/tags/council-member"},{inline:!0,label:"polls",permalink:"/blog/tags/polls"},{inline:!0,label:"gaming experience",permalink:"/blog/tags/gaming-experience"}],readingTime:1.995,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Please help us prioritize!",authors:["alfagun74"],tags:["community","GameVault","development","roadmap","collaboration","feedback","GitHub","voting","features","platform","Kanban Board","Discord","Council Member","polls","gaming experience"]},unlisted:!1,prevItem:{title:"A Look Back and a Glimpse Forward",permalink:"/blog/2023/11/20/"},nextItem:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",permalink:"/blog/2023/07/24/"}},s={authorsImageUrls:[void 0]},u=[];function m(e){const a={a:"a",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hello everyone!"}),"\n",(0,n.jsx)(a.p,{children:"We hope you're all doing well. We wanted to take a moment to express our heartfelt gratitude for the flood of feature requests and bug reports that have been pouring into our issue trackers. Your enthusiasm and dedication to making GameVault even better are truly inspiring to us."}),"\n",(0,n.jsx)(a.p,{children:"As many of you may already know, GameVault is a passion project for us, and while we are mostly convinced by your fantastic ideas, it may take some time for us to implement them. Our team meetings happen in our free time, and although we genuinely want to incorporate your suggestions into our roadmap, we are limited by the time and capacity we can dedicate to the project. Moreover, we want to ensure that the features we develop are refined, polished, and also the most desired in the users' opinions, which adds to the timeline."}),"\n",(0,n.jsxs)(a.p,{children:["We believe that collaboration with our incredible community is the key to success, and that's why we want to introduce you to our Roadmap. It displays all new issues, planned tasks we want to work on, and all the ongoing work in a well-organized Kanban Board. ",(0,n.jsx)(a.a,{href:"https://github.com/orgs/Phalcode/projects/4",children:"You can find it right here."})]}),"\n",(0,n.jsx)(a.p,{children:"To ensure that GameVault's development aligns better with your needs, we kindly request your active participation. By voting on GitHub with a Thumbs Up or a Thumbs Down on new and planned issues, you can help us prioritize them effectively. We value your opinion: What features do you feel are most crucial? What aspects of the platform do you find most bothersome? What issues do you see as unnecessary or bloated? Your input will mainly shape the direction we take."}),"\n",(0,n.jsxs)(a.p,{children:["If you're eager to go the extra mile and actively contribute to shaping GameVault further, we invite you to ",(0,n.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"join our Discord community"}),' and becoming a "Council Member". By becoming a "Council Member" and enabling Poll Notifications under "#Channels & Roles", you will have a direct say in the future of GameVault because you will get notifications about opinion polls we run from time to time.']}),"\n",(0,n.jsx)(a.p,{children:"We cannot stress enough how much we appreciate your involvement in our endeavor to create the ultimate gaming experience for all of you. Your passion and feedback are invaluable, and we are committed to making GameVault the best it can be, together."}),"\n",(0,n.jsx)(a.p,{children:"Thank you for being part of this amazing journey with us!"})]})}function c(e={}){const{wrapper:a}={...(0,o.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>l});var n=t(5271);const o={},i=n.createContext(o);function l(e){const a=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),n.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9886],{3581:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var n=t(2676),o=t(8358);const i={title:"Please help us prioritize!",authors:["alfagun74"],tags:["community","GameVault","development","roadmap","collaboration","feedback","GitHub","voting","features","platform","Kanban Board","Discord","Council Member","polls","gaming experience"]},l=void 0,r={permalink:"/blog/2023/07/29/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-29.md",source:"@site/blog/2023-07-29.md",title:"Please help us prioritize!",description:"Hello everyone!",date:"2023-07-29T00:00:00.000Z",tags:[{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"development",permalink:"/blog/tags/development"},{inline:!0,label:"roadmap",permalink:"/blog/tags/roadmap"},{inline:!0,label:"collaboration",permalink:"/blog/tags/collaboration"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"GitHub",permalink:"/blog/tags/git-hub"},{inline:!0,label:"voting",permalink:"/blog/tags/voting"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"platform",permalink:"/blog/tags/platform"},{inline:!0,label:"Kanban Board",permalink:"/blog/tags/kanban-board"},{inline:!0,label:"Discord",permalink:"/blog/tags/discord"},{inline:!0,label:"Council Member",permalink:"/blog/tags/council-member"},{inline:!0,label:"polls",permalink:"/blog/tags/polls"},{inline:!0,label:"gaming experience",permalink:"/blog/tags/gaming-experience"}],readingTime:1.995,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Please help us prioritize!",authors:["alfagun74"],tags:["community","GameVault","development","roadmap","collaboration","feedback","GitHub","voting","features","platform","Kanban Board","Discord","Council Member","polls","gaming experience"]},unlisted:!1,prevItem:{title:"A Look Back and a Glimpse Forward",permalink:"/blog/2023/11/20/"},nextItem:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",permalink:"/blog/2023/07/24/"}},s={authorsImageUrls:[void 0]},u=[];function m(e){const a={a:"a",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hello everyone!"}),"\n",(0,n.jsx)(a.p,{children:"We hope you're all doing well. We wanted to take a moment to express our heartfelt gratitude for the flood of feature requests and bug reports that have been pouring into our issue trackers. Your enthusiasm and dedication to making GameVault even better are truly inspiring to us."}),"\n",(0,n.jsx)(a.p,{children:"As many of you may already know, GameVault is a passion project for us, and while we are mostly convinced by your fantastic ideas, it may take some time for us to implement them. Our team meetings happen in our free time, and although we genuinely want to incorporate your suggestions into our roadmap, we are limited by the time and capacity we can dedicate to the project. Moreover, we want to ensure that the features we develop are refined, polished, and also the most desired in the users' opinions, which adds to the timeline."}),"\n",(0,n.jsxs)(a.p,{children:["We believe that collaboration with our incredible community is the key to success, and that's why we want to introduce you to our Roadmap. It displays all new issues, planned tasks we want to work on, and all the ongoing work in a well-organized Kanban Board. ",(0,n.jsx)(a.a,{href:"https://github.com/orgs/Phalcode/projects/4",children:"You can find it right here."})]}),"\n",(0,n.jsx)(a.p,{children:"To ensure that GameVault's development aligns better with your needs, we kindly request your active participation. By voting on GitHub with a Thumbs Up or a Thumbs Down on new and planned issues, you can help us prioritize them effectively. We value your opinion: What features do you feel are most crucial? What aspects of the platform do you find most bothersome? What issues do you see as unnecessary or bloated? Your input will mainly shape the direction we take."}),"\n",(0,n.jsxs)(a.p,{children:["If you're eager to go the extra mile and actively contribute to shaping GameVault further, we invite you to ",(0,n.jsx)(a.a,{href:"https://discord.gg/NEdNen2dSu",children:"join our Discord community"}),' and becoming a "Council Member". By becoming a "Council Member" and enabling Poll Notifications under "#Channels & Roles", you will have a direct say in the future of GameVault because you will get notifications about opinion polls we run from time to time.']}),"\n",(0,n.jsx)(a.p,{children:"We cannot stress enough how much we appreciate your involvement in our endeavor to create the ultimate gaming experience for all of you. Your passion and feedback are invaluable, and we are committed to making GameVault the best it can be, together."}),"\n",(0,n.jsx)(a.p,{children:"Thank you for being part of this amazing journey with us!"})]})}function c(e={}){const{wrapper:a}={...(0,o.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>l});var n=t(5271);const o={},i=n.createContext(o);function l(e){const a=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:l(e.components),n.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e9e0f988.45f588b3.js b/assets/js/e9e0f988.b2e09943.js similarity index 93% rename from assets/js/e9e0f988.45f588b3.js rename to assets/js/e9e0f988.b2e09943.js index 66a2e6a18..6ada4823c 100644 --- a/assets/js/e9e0f988.45f588b3.js +++ b/assets/js/e9e0f988.b2e09943.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[310],{2607:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var o=n(2676),s=n(9246);const i={sidebar_position:3},a="Updating the Client",r={id:"client-docs/updating-client",title:"Updating the Client",description:"The process for updating the app depends on the installation source.",source:"@site/docs/client-docs/updating-client.md",sourceDirName:"client-docs",slug:"/client-docs/updating-client",permalink:"/docs/client-docs/updating-client",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/updating-client.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docs",previous:{title:"How to Use",permalink:"/docs/client-docs/how-to-use"},next:{title:"Data Management",permalink:"/docs/client-docs/data"}},c={},d=[{value:"Microsoft Store",id:"microsoft-store",level:2},{value:"Other Sources",id:"other-sources",level:2}];function l(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"updating-the-client",children:"Updating the Client"})}),"\n",(0,o.jsx)(t.p,{children:"The process for updating the app depends on the installation source."}),"\n",(0,o.jsx)(t.h2,{id:"microsoft-store",children:"Microsoft Store"}),"\n",(0,o.jsx)(t.p,{children:"If you obtained the app from the Microsoft Store, we're pleased to inform you that our Client app features an automatic update functionality through the Microsoft Store. When you launch the app and observe the spinning logo, it automatically checks for available updates. If a new version is detected, the app prompts you to install it. After the update is installed, the application will close, and you'll need to manually restart it. Once restarted, you'll be using the most recent version."}),"\n",(0,o.jsx)(t.h2,{id:"other-sources",children:"Other Sources"}),"\n",(0,o.jsx)(t.p,{children:"If you acquired the app from a different source, such as by self-compiling, extracting it from the .appxbundle, or downloading the binaries from GitHub, it becomes your responsibility to stay updated with the latest releases and perform the installations."}),"\n",(0,o.jsxs)(t.p,{children:["Be sure to ",(0,o.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"join our Discord community"})," and watch our Github Projects to stay informed about the latest advancements."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},9246:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>a});var o=n(5271);const s={},i=o.createContext(s);function a(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[310],{2607:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var o=n(2676),s=n(8358);const i={sidebar_position:3},a="Updating the Client",r={id:"client-docs/updating-client",title:"Updating the Client",description:"The process for updating the app depends on the installation source.",source:"@site/docs/client-docs/updating-client.md",sourceDirName:"client-docs",slug:"/client-docs/updating-client",permalink:"/docs/client-docs/updating-client",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/updating-client.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docs",previous:{title:"How to Use",permalink:"/docs/client-docs/how-to-use"},next:{title:"Data Management",permalink:"/docs/client-docs/data"}},c={},d=[{value:"Microsoft Store",id:"microsoft-store",level:2},{value:"Other Sources",id:"other-sources",level:2}];function l(e){const t={a:"a",h1:"h1",h2:"h2",header:"header",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"updating-the-client",children:"Updating the Client"})}),"\n",(0,o.jsx)(t.p,{children:"The process for updating the app depends on the installation source."}),"\n",(0,o.jsx)(t.h2,{id:"microsoft-store",children:"Microsoft Store"}),"\n",(0,o.jsx)(t.p,{children:"If you obtained the app from the Microsoft Store, we're pleased to inform you that our Client app features an automatic update functionality through the Microsoft Store. When you launch the app and observe the spinning logo, it automatically checks for available updates. If a new version is detected, the app prompts you to install it. After the update is installed, the application will close, and you'll need to manually restart it. Once restarted, you'll be using the most recent version."}),"\n",(0,o.jsx)(t.h2,{id:"other-sources",children:"Other Sources"}),"\n",(0,o.jsx)(t.p,{children:"If you acquired the app from a different source, such as by self-compiling, extracting it from the .appxbundle, or downloading the binaries from GitHub, it becomes your responsibility to stay updated with the latest releases and perform the installations."}),"\n",(0,o.jsxs)(t.p,{children:["Be sure to ",(0,o.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"join our Discord community"})," and watch our Github Projects to stay informed about the latest advancements."]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8358:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>a});var o=n(5271);const s={},i=o.createContext(s);function a(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ec46a009.40695c02.js b/assets/js/ec46a009.74738206.js similarity index 98% rename from assets/js/ec46a009.40695c02.js rename to assets/js/ec46a009.74738206.js index b13508cbf..fdd871e61 100644 --- a/assets/js/ec46a009.40695c02.js +++ b/assets/js/ec46a009.74738206.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9362],{2983:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var n=a(2676),i=a(9246);const r={title:"Introduction",hide_title:!0,sidebar_position:1,description:"Upgrade your gaming experience with GameVault+, an affordable premium add-on that brings exclusive nice-to-have features to enhance your GameVault application. Support our development team while enjoying the premium features."},o=void 0,s={id:"gamevault-plus/introduction",title:"Introduction",description:"Upgrade your gaming experience with GameVault+, an affordable premium add-on that brings exclusive nice-to-have features to enhance your GameVault application. Support our development team while enjoying the premium features.",source:"@site/docs/gamevault-plus/introduction.md",sourceDirName:"gamevault-plus",slug:"/gamevault-plus/introduction",permalink:"/docs/gamevault-plus/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/gamevault-plus/introduction.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:1,frontMatter:{title:"Introduction",hide_title:!0,sidebar_position:1,description:"Upgrade your gaming experience with GameVault+, an affordable premium add-on that brings exclusive nice-to-have features to enhance your GameVault application. Support our development team while enjoying the premium features."},sidebar:"docs",previous:{title:"Running the Client on Steamdeck",permalink:"/docs/advanced-usage/steamdeck"},next:{title:"Client Setup",permalink:"/docs/gamevault-plus/client-setup"}},l={},u=[{value:"Introduction",id:"introduction",level:2},{value:"Feature List",id:"feature-list",level:2},{value:"Pricing",id:"pricing",level:2},{value:"Get Started",id:"get-started",level:2},{value:"Questions and Answers",id:"questions-and-answers",level:2},{value:"What is Phalcode?",id:"what-is-phalcode",level:3},{value:"I have trouble with GameVault+ and I need support. How can I contact you?",id:"i-have-trouble-with-gamevault-and-i-need-support-how-can-i-contact-you",level:3},{value:"How do I manage billing and payments?",id:"how-do-i-manage-billing-and-payments",level:3},{value:"What payment methods are accepted for GameVault+ subscriptions?",id:"what-payment-methods-are-accepted-for-gamevault-subscriptions",level:3},{value:"Are there going to be more features added to GameVault+?",id:"are-there-going-to-be-more-features-added-to-gamevault",level:3},{value:"Can GameVault+ be shared with multiple users?",id:"can-gamevault-be-shared-with-multiple-users",level:3},{value:"How many devices can I have in my GameVault+ subscription?",id:"how-many-devices-can-i-have-in-my-gamevault-subscription",level:3},{value:"Can GameVault+ be used offline?",id:"can-gamevault-be-used-offline",level:3},{value:"How does GameVault+ ensure user privacy protection?",id:"how-does-gamevault-ensure-user-privacy-protection",level:3},{value:"Will GameVault+ support more integrations with other software in the future?",id:"will-gamevault-support-more-integrations-with-other-software-in-the-future",level:3},{value:"Can users suggest or vote on new features for GameVault+?",id:"can-users-suggest-or-vote-on-new-features-for-gamevault",level:3},{value:"Which Client Application versions are supported?",id:"which-client-application-versions-are-supported",level:3},{value:"Are commercial licenses available for GameVault+?",id:"are-commercial-licenses-available-for-gamevault",level:3},{value:"What if i cant afford GameVault+?",id:"what-if-i-cant-afford-gamevault",level:3}];function c(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",br:"br",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{class:"banner",children:[(0,n.jsx)("img",{src:"/img/gamevault-plus.png",alt:"GameVault+ Banner"}),(0,n.jsx)("strong",{children:"GameVault+"})]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"Elevate Your GameVault Experience with Premium Features"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsxs)(t.p,{children:["Welcome to ",(0,n.jsx)(t.strong,{children:"GameVault+"}),", the premium upgrade subscription designed for enthusiasts seeking an enhanced GameVault experience. Here we are gradually adding a variety of exquisite nice to have features to enrich your time with GameVault while supporting us as developers and keeping this project alive. The subscription is priced affordably and is entirely optional, ensuring that our core product remains freely accessible to all."]}),"\n",(0,n.jsx)(t.h2,{id:"feature-list",children:"Feature List"}),"\n",(0,n.jsx)(t.p,{children:"As of now, we are offering the following features:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"\ud83d\udcf8 Uploading animated profile pictures"}),"\n",(0,n.jsx)(t.li,{children:"\ud83c\udfa8 Custom Themes"}),"\n",(0,n.jsx)(t.li,{children:"\ud83d\udcbb GameVault Client API (Interfaces for integrations like Playnite)"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"pricing",children:"Pricing"}),"\n",(0,n.jsxs)(t.p,{children:["The GameVault+ subscription is priced affordably at only ",(0,n.jsx)(t.strong,{children:"\u20ac 4.99/month"})," or ",(0,n.jsx)(t.strong,{children:"\u20ac 49.90/year"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"get-started",children:"Get Started"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://phalco.de/account/login",children:"Sign up or sign in"})," to your personal Phalcode account"]}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://phalco.de/products/gamevault-plus/checkout",children:"Subscribe to a GameVault+ Plan"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/gamevault-plus/client-setup",children:"Set up your GameVault Client Application"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.strong,{children:"Enjoy premium features while supporting us \ud83e\udd73\ud83d\udc83"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"questions-and-answers",children:"Questions and Answers"}),"\n",(0,n.jsx)(t.h3,{id:"what-is-phalcode",children:"What is Phalcode?"}),"\n",(0,n.jsxs)(t.p,{children:["Phalcode is the small startup company developing GameVault. We are just two friends developing software and based in germany. You can find more information about us on our ",(0,n.jsx)(t.a,{href:"https://phalco.de",children:"website"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"i-have-trouble-with-gamevault-and-i-need-support-how-can-i-contact-you",children:"I have trouble with GameVault+ and I need support. How can I contact you?"}),"\n",(0,n.jsxs)(t.p,{children:["Contact the developers ",(0,n.jsx)(t.strong,{children:"directly"})," on ",(0,n.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," or via our ",(0,n.jsx)(t.a,{href:"mailto:contact@phalco.de",children:"email"}),". Do ",(0,n.jsx)(t.strong,{children:"not"})," use the public discord channels for support regarding your personal GameVault+ subscription."]}),"\n",(0,n.jsx)(t.h3,{id:"how-do-i-manage-billing-and-payments",children:"How do I manage billing and payments?"}),"\n",(0,n.jsxs)(t.p,{children:["GameVault+ uses the Stripe billing system for your convenience. Easily handle your subscription, review billing details, and make changes through ",(0,n.jsx)(t.a,{href:"https://billing.stripe.com/p/login/7sI9B10uP6kj36M000",children:"our Stripe Customer Portal"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"what-payment-methods-are-accepted-for-gamevault-subscriptions",children:"What payment methods are accepted for GameVault+ subscriptions?"}),"\n",(0,n.jsx)(t.p,{children:"We offer several easy ways to pay for your GameVault+ subscription. You can use credit or debit cards, popular digital wallets, various bank redirects or even SEPA direct debit transfers. We want to make it convenient for you to choose how you pay."}),"\n",(0,n.jsx)(t.admonition,{title:"Important: Potential Delays",type:"note",children:(0,n.jsx)(t.p,{children:"Please be aware that if you use Bancontact, iDEAL, SOFORT or SEPA Direct Debit as your payment method, there might be delays in confirming your payment. To get your GameVault+ subscription quickly, we recommend using a payment method that confirms faster."})}),"\n",(0,n.jsx)(t.h3,{id:"are-there-going-to-be-more-features-added-to-gamevault",children:"Are there going to be more features added to GameVault+?"}),"\n",(0,n.jsx)(t.p,{children:"Of course!, You are the people keeping our project alive after all."}),"\n",(0,n.jsx)(t.p,{children:"Expect updates with awesome new GameVault+ content and improvements down thre road. We are committed to enhancing the GameVault+ experience."}),"\n",(0,n.jsx)(t.h3,{id:"can-gamevault-be-shared-with-multiple-users",children:"Can GameVault+ be shared with multiple users?"}),"\n",(0,n.jsx)(t.p,{children:"No, your GameVault+ subscription is designed for personal use only. Please avoid sharing it with anyone else."}),"\n",(0,n.jsx)(t.p,{children:"You can enjoy the benefits of GameVault+ on any GameVault Server you connect to. However, keep in mind that server administrators may choose to disable certain features offered by GameVault+ in their configurations."}),"\n",(0,n.jsx)(t.h3,{id:"how-many-devices-can-i-have-in-my-gamevault-subscription",children:"How many devices can I have in my GameVault+ subscription?"}),"\n",(0,n.jsx)(t.p,{children:"Your subscription isn't restricted to a specific number of active devices at the moment."}),"\n",(0,n.jsx)(t.h3,{id:"can-gamevault-be-used-offline",children:"Can GameVault+ be used offline?"}),"\n",(0,n.jsx)(t.p,{children:"Initially, you'll need an internet connection to download and set up your GameVault+ license."}),"\n",(0,n.jsx)(t.p,{children:"Once that setup is complete, GameVault+ can be accessed offline throughout your current subscription period. For those who prefer offline access, we suggest opting for an annual subscription, as it technically only requires an internet connection once a year."}),"\n",(0,n.jsx)(t.h3,{id:"how-does-gamevault-ensure-user-privacy-protection",children:"How does GameVault+ ensure user privacy protection?"}),"\n",(0,n.jsx)(t.p,{children:"At Phalcode, keeping user privacy safe is our very top priority. We use strong security measures, including encryption, to protect user data. We also follow GDPR rules to make sure we're following privacy laws."}),"\n",(0,n.jsxs)(t.p,{children:["Additionally, all billing and payment info is stored securely on the servers of our billing partner, Stripe, which meets PCI compliance standards. For more details on Stripe's security, you can check it out ",(0,n.jsx)(t.a,{href:"https://docs.stripe.com/security",children:"here"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["You can find all details in our ",(0,n.jsx)(t.a,{href:"https://phalco.de/privacy",children:"privacy policy"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"will-gamevault-support-more-integrations-with-other-software-in-the-future",children:"Will GameVault+ support more integrations with other software in the future?"}),"\n",(0,n.jsx)(t.p,{children:"We hope so. We're actively exploring partnerships and integrations with other gaming platforms and tools to provide a more interconnected gaming experience."}),"\n",(0,n.jsx)(t.h3,{id:"can-users-suggest-or-vote-on-new-features-for-gamevault",children:"Can users suggest or vote on new features for GameVault+?"}),"\n",(0,n.jsxs)(t.p,{children:["Certainly! We encourage user feedback and suggestions. While we may not implement every idea, we value community input in shaping the future of GameVault+. Share your ideas through our feedback channels, primarily on ",(0,n.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-app/issues",children:"Github"})," and ",(0,n.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"which-client-application-versions-are-supported",children:"Which Client Application versions are supported?"}),"\n",(0,n.jsx)(t.p,{children:"GameVault+ features are available from the official GameVault Client application version 1.9.0.0 and above. It does not matter if you got it from the Microsoft Store or used an alternative installation option."}),"\n",(0,n.jsx)(t.h3,{id:"are-commercial-licenses-available-for-gamevault",children:"Are commercial licenses available for GameVault+?"}),"\n",(0,n.jsxs)(t.p,{children:["There are, but for commercial use, please ",(0,n.jsx)(t.a,{href:"mailto:contact@phalco.de",children:"contact us directly"})," to discuss an individual licensing agreement.",(0,n.jsx)(t.br,{}),"\n","Personal subscriptions are tailored for individual users, but we're happy to collaborate with businesses for customized solutions and volume licenses."]}),"\n",(0,n.jsx)(t.h3,{id:"what-if-i-cant-afford-gamevault",children:"What if i cant afford GameVault+?"}),"\n",(0,n.jsxs)(t.p,{children:["We totally understand that not everyone can afford GameVault+, and that's fine. From our perspective, you're free to ",(0,n.jsx)(t.em,{children:"tinker"})," your way around the paywall for your personal use. The source code is on ",(0,n.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-app",children:"Github"}),". But ",(0,n.jsx)(t.strong,{children:"please"})," avoid pirated versions, as they may contain malware, and also ",(0,n.jsx)(t.strong,{children:"please"})," refrain from sharing your bypass-modifications."]})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},9246:(e,t,a)=>{a.d(t,{Z:()=>s,a:()=>o});var n=a(5271);const i={},r=n.createContext(i);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[9362],{2983:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var n=a(2676),i=a(8358);const r={title:"Introduction",hide_title:!0,sidebar_position:1,description:"Upgrade your gaming experience with GameVault+, an affordable premium add-on that brings exclusive nice-to-have features to enhance your GameVault application. Support our development team while enjoying the premium features."},o=void 0,s={id:"gamevault-plus/introduction",title:"Introduction",description:"Upgrade your gaming experience with GameVault+, an affordable premium add-on that brings exclusive nice-to-have features to enhance your GameVault application. Support our development team while enjoying the premium features.",source:"@site/docs/gamevault-plus/introduction.md",sourceDirName:"gamevault-plus",slug:"/gamevault-plus/introduction",permalink:"/docs/gamevault-plus/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/gamevault-plus/introduction.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:1,frontMatter:{title:"Introduction",hide_title:!0,sidebar_position:1,description:"Upgrade your gaming experience with GameVault+, an affordable premium add-on that brings exclusive nice-to-have features to enhance your GameVault application. Support our development team while enjoying the premium features."},sidebar:"docs",previous:{title:"Running the Client on Steamdeck",permalink:"/docs/advanced-usage/steamdeck"},next:{title:"Client Setup",permalink:"/docs/gamevault-plus/client-setup"}},l={},u=[{value:"Introduction",id:"introduction",level:2},{value:"Feature List",id:"feature-list",level:2},{value:"Pricing",id:"pricing",level:2},{value:"Get Started",id:"get-started",level:2},{value:"Questions and Answers",id:"questions-and-answers",level:2},{value:"What is Phalcode?",id:"what-is-phalcode",level:3},{value:"I have trouble with GameVault+ and I need support. How can I contact you?",id:"i-have-trouble-with-gamevault-and-i-need-support-how-can-i-contact-you",level:3},{value:"How do I manage billing and payments?",id:"how-do-i-manage-billing-and-payments",level:3},{value:"What payment methods are accepted for GameVault+ subscriptions?",id:"what-payment-methods-are-accepted-for-gamevault-subscriptions",level:3},{value:"Are there going to be more features added to GameVault+?",id:"are-there-going-to-be-more-features-added-to-gamevault",level:3},{value:"Can GameVault+ be shared with multiple users?",id:"can-gamevault-be-shared-with-multiple-users",level:3},{value:"How many devices can I have in my GameVault+ subscription?",id:"how-many-devices-can-i-have-in-my-gamevault-subscription",level:3},{value:"Can GameVault+ be used offline?",id:"can-gamevault-be-used-offline",level:3},{value:"How does GameVault+ ensure user privacy protection?",id:"how-does-gamevault-ensure-user-privacy-protection",level:3},{value:"Will GameVault+ support more integrations with other software in the future?",id:"will-gamevault-support-more-integrations-with-other-software-in-the-future",level:3},{value:"Can users suggest or vote on new features for GameVault+?",id:"can-users-suggest-or-vote-on-new-features-for-gamevault",level:3},{value:"Which Client Application versions are supported?",id:"which-client-application-versions-are-supported",level:3},{value:"Are commercial licenses available for GameVault+?",id:"are-commercial-licenses-available-for-gamevault",level:3},{value:"What if i cant afford GameVault+?",id:"what-if-i-cant-afford-gamevault",level:3}];function c(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",br:"br",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{class:"banner",children:[(0,n.jsx)("img",{src:"/img/gamevault-plus.png",alt:"GameVault+ Banner"}),(0,n.jsx)("strong",{children:"GameVault+"})]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsx)(t.p,{children:"Elevate Your GameVault Experience with Premium Features"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"introduction",children:"Introduction"}),"\n",(0,n.jsxs)(t.p,{children:["Welcome to ",(0,n.jsx)(t.strong,{children:"GameVault+"}),", the premium upgrade subscription designed for enthusiasts seeking an enhanced GameVault experience. Here we are gradually adding a variety of exquisite nice to have features to enrich your time with GameVault while supporting us as developers and keeping this project alive. The subscription is priced affordably and is entirely optional, ensuring that our core product remains freely accessible to all."]}),"\n",(0,n.jsx)(t.h2,{id:"feature-list",children:"Feature List"}),"\n",(0,n.jsx)(t.p,{children:"As of now, we are offering the following features:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"\ud83d\udcf8 Uploading animated profile pictures"}),"\n",(0,n.jsx)(t.li,{children:"\ud83c\udfa8 Custom Themes"}),"\n",(0,n.jsx)(t.li,{children:"\ud83d\udcbb GameVault Client API (Interfaces for integrations like Playnite)"}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"pricing",children:"Pricing"}),"\n",(0,n.jsxs)(t.p,{children:["The GameVault+ subscription is priced affordably at only ",(0,n.jsx)(t.strong,{children:"\u20ac 4.99/month"})," or ",(0,n.jsx)(t.strong,{children:"\u20ac 49.90/year"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"get-started",children:"Get Started"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.a,{href:"https://phalco.de/account/login",children:"Sign up or sign in"})," to your personal Phalcode account"]}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"https://phalco.de/products/gamevault-plus/checkout",children:"Subscribe to a GameVault+ Plan"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"/docs/gamevault-plus/client-setup",children:"Set up your GameVault Client Application"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.strong,{children:"Enjoy premium features while supporting us \ud83e\udd73\ud83d\udc83"})}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"questions-and-answers",children:"Questions and Answers"}),"\n",(0,n.jsx)(t.h3,{id:"what-is-phalcode",children:"What is Phalcode?"}),"\n",(0,n.jsxs)(t.p,{children:["Phalcode is the small startup company developing GameVault. We are just two friends developing software and based in germany. You can find more information about us on our ",(0,n.jsx)(t.a,{href:"https://phalco.de",children:"website"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"i-have-trouble-with-gamevault-and-i-need-support-how-can-i-contact-you",children:"I have trouble with GameVault+ and I need support. How can I contact you?"}),"\n",(0,n.jsxs)(t.p,{children:["Contact the developers ",(0,n.jsx)(t.strong,{children:"directly"})," on ",(0,n.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"})," or via our ",(0,n.jsx)(t.a,{href:"mailto:contact@phalco.de",children:"email"}),". Do ",(0,n.jsx)(t.strong,{children:"not"})," use the public discord channels for support regarding your personal GameVault+ subscription."]}),"\n",(0,n.jsx)(t.h3,{id:"how-do-i-manage-billing-and-payments",children:"How do I manage billing and payments?"}),"\n",(0,n.jsxs)(t.p,{children:["GameVault+ uses the Stripe billing system for your convenience. Easily handle your subscription, review billing details, and make changes through ",(0,n.jsx)(t.a,{href:"https://billing.stripe.com/p/login/7sI9B10uP6kj36M000",children:"our Stripe Customer Portal"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"what-payment-methods-are-accepted-for-gamevault-subscriptions",children:"What payment methods are accepted for GameVault+ subscriptions?"}),"\n",(0,n.jsx)(t.p,{children:"We offer several easy ways to pay for your GameVault+ subscription. You can use credit or debit cards, popular digital wallets, various bank redirects or even SEPA direct debit transfers. We want to make it convenient for you to choose how you pay."}),"\n",(0,n.jsx)(t.admonition,{title:"Important: Potential Delays",type:"note",children:(0,n.jsx)(t.p,{children:"Please be aware that if you use Bancontact, iDEAL, SOFORT or SEPA Direct Debit as your payment method, there might be delays in confirming your payment. To get your GameVault+ subscription quickly, we recommend using a payment method that confirms faster."})}),"\n",(0,n.jsx)(t.h3,{id:"are-there-going-to-be-more-features-added-to-gamevault",children:"Are there going to be more features added to GameVault+?"}),"\n",(0,n.jsx)(t.p,{children:"Of course!, You are the people keeping our project alive after all."}),"\n",(0,n.jsx)(t.p,{children:"Expect updates with awesome new GameVault+ content and improvements down thre road. We are committed to enhancing the GameVault+ experience."}),"\n",(0,n.jsx)(t.h3,{id:"can-gamevault-be-shared-with-multiple-users",children:"Can GameVault+ be shared with multiple users?"}),"\n",(0,n.jsx)(t.p,{children:"No, your GameVault+ subscription is designed for personal use only. Please avoid sharing it with anyone else."}),"\n",(0,n.jsx)(t.p,{children:"You can enjoy the benefits of GameVault+ on any GameVault Server you connect to. However, keep in mind that server administrators may choose to disable certain features offered by GameVault+ in their configurations."}),"\n",(0,n.jsx)(t.h3,{id:"how-many-devices-can-i-have-in-my-gamevault-subscription",children:"How many devices can I have in my GameVault+ subscription?"}),"\n",(0,n.jsx)(t.p,{children:"Your subscription isn't restricted to a specific number of active devices at the moment."}),"\n",(0,n.jsx)(t.h3,{id:"can-gamevault-be-used-offline",children:"Can GameVault+ be used offline?"}),"\n",(0,n.jsx)(t.p,{children:"Initially, you'll need an internet connection to download and set up your GameVault+ license."}),"\n",(0,n.jsx)(t.p,{children:"Once that setup is complete, GameVault+ can be accessed offline throughout your current subscription period. For those who prefer offline access, we suggest opting for an annual subscription, as it technically only requires an internet connection once a year."}),"\n",(0,n.jsx)(t.h3,{id:"how-does-gamevault-ensure-user-privacy-protection",children:"How does GameVault+ ensure user privacy protection?"}),"\n",(0,n.jsx)(t.p,{children:"At Phalcode, keeping user privacy safe is our very top priority. We use strong security measures, including encryption, to protect user data. We also follow GDPR rules to make sure we're following privacy laws."}),"\n",(0,n.jsxs)(t.p,{children:["Additionally, all billing and payment info is stored securely on the servers of our billing partner, Stripe, which meets PCI compliance standards. For more details on Stripe's security, you can check it out ",(0,n.jsx)(t.a,{href:"https://docs.stripe.com/security",children:"here"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["You can find all details in our ",(0,n.jsx)(t.a,{href:"https://phalco.de/privacy",children:"privacy policy"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"will-gamevault-support-more-integrations-with-other-software-in-the-future",children:"Will GameVault+ support more integrations with other software in the future?"}),"\n",(0,n.jsx)(t.p,{children:"We hope so. We're actively exploring partnerships and integrations with other gaming platforms and tools to provide a more interconnected gaming experience."}),"\n",(0,n.jsx)(t.h3,{id:"can-users-suggest-or-vote-on-new-features-for-gamevault",children:"Can users suggest or vote on new features for GameVault+?"}),"\n",(0,n.jsxs)(t.p,{children:["Certainly! We encourage user feedback and suggestions. While we may not implement every idea, we value community input in shaping the future of GameVault+. Share your ideas through our feedback channels, primarily on ",(0,n.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-app/issues",children:"Github"})," and ",(0,n.jsx)(t.a,{href:"https://discord.gg/NEdNen2dSu",children:"Discord"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"which-client-application-versions-are-supported",children:"Which Client Application versions are supported?"}),"\n",(0,n.jsx)(t.p,{children:"GameVault+ features are available from the official GameVault Client application version 1.9.0.0 and above. It does not matter if you got it from the Microsoft Store or used an alternative installation option."}),"\n",(0,n.jsx)(t.h3,{id:"are-commercial-licenses-available-for-gamevault",children:"Are commercial licenses available for GameVault+?"}),"\n",(0,n.jsxs)(t.p,{children:["There are, but for commercial use, please ",(0,n.jsx)(t.a,{href:"mailto:contact@phalco.de",children:"contact us directly"})," to discuss an individual licensing agreement.",(0,n.jsx)(t.br,{}),"\n","Personal subscriptions are tailored for individual users, but we're happy to collaborate with businesses for customized solutions and volume licenses."]}),"\n",(0,n.jsx)(t.h3,{id:"what-if-i-cant-afford-gamevault",children:"What if i cant afford GameVault+?"}),"\n",(0,n.jsxs)(t.p,{children:["We totally understand that not everyone can afford GameVault+, and that's fine. From our perspective, you're free to ",(0,n.jsx)(t.em,{children:"tinker"})," your way around the paywall for your personal use. The source code is on ",(0,n.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-app",children:"Github"}),". But ",(0,n.jsx)(t.strong,{children:"please"})," avoid pirated versions, as they may contain malware, and also ",(0,n.jsx)(t.strong,{children:"please"})," refrain from sharing your bypass-modifications."]})]})}function d(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8358:(e,t,a)=>{a.d(t,{Z:()=>s,a:()=>o});var n=a(5271);const i={},r=n.createContext(i);function o(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ee98c124.e7f1268a.js b/assets/js/ee98c124.cbd09722.js similarity index 97% rename from assets/js/ee98c124.e7f1268a.js rename to assets/js/ee98c124.cbd09722.js index e17c8de4e..11c522f14 100644 --- a/assets/js/ee98c124.e7f1268a.js +++ b/assets/js/ee98c124.cbd09722.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5590],{2380:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>o,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var t=n(2676),i=n(9246);const l={id:"fail2ban-gamevault-guide",title:"Configuring Fail2Ban for GameVault"},s=void 0,r={id:"advanced-usage/fail2ban-gamevault-guide",title:"Configuring Fail2Ban for GameVault",description:"This guide was created and tested by a community member. It hasn't been personally tested by our team. We cannot guarantee its effectiveness as we don't use fail2ban. Feel free to give it a try. If you find any errors, you can edit the guide accordingly.",source:"@site/docs/advanced-usage/failt2ban.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/fail2ban-gamevault-guide",permalink:"/docs/advanced-usage/fail2ban-gamevault-guide",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/failt2ban.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,frontMatter:{id:"fail2ban-gamevault-guide",title:"Configuring Fail2Ban for GameVault"},sidebar:"docs",previous:{title:"Early Access Program",permalink:"/docs/advanced-usage/early-access-program"},next:{title:"Running the Client on Linux",permalink:"/docs/advanced-usage/linux-client"}},o={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Steps",id:"steps",level:2},{value:"1. Enable Log Files and Map a Volume",id:"1-enable-log-files-and-map-a-volume",level:3},{value:"2. Identify Failed Authentication Attempts",id:"2-identify-failed-authentication-attempts",level:3},{value:"3. Create a Fail2Ban Filter",id:"3-create-a-fail2ban-filter",level:3},{value:"4. Configure Fail2Ban Jail",id:"4-configure-fail2ban-jail",level:3},{value:"5. Restart Fail2Ban",id:"5-restart-fail2ban",level:3},{value:"6. Verify Jail Status",id:"6-verify-jail-status",level:3},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const a={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.admonition,{title:"Community-Created Guide",type:"note",children:(0,t.jsx)(a.p,{children:"This guide was created and tested by a community member. It hasn't been personally tested by our team. We cannot guarantee its effectiveness as we don't use fail2ban. Feel free to give it a try. If you find any errors, you can edit the guide accordingly."})}),"\n",(0,t.jsx)(a.h2,{id:"introduction",children:"Introduction"}),"\n",(0,t.jsx)(a.p,{children:"This guide explains how to set up Fail2Ban to safeguard your GameVault application against unauthorized access attempts. Fail2Ban is a tool that scans log files and blocks IP addresses exhibiting malicious behavior through the firewall."}),"\n",(0,t.jsx)(a.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(a.ul,{children:["\n",(0,t.jsx)(a.li,{children:"Fail2Ban installed on your host system"}),"\n",(0,t.jsxs)(a.li,{children:["Running GameVault instance as outlined in the ",(0,t.jsx)(a.a,{href:"/docs/server-docs/setup/",children:"server setup documentation"})]}),"\n"]}),"\n",(0,t.jsx)(a.h2,{id:"steps",children:"Steps"}),"\n",(0,t.jsx)(a.h3,{id:"1-enable-log-files-and-map-a-volume",children:"1. Enable Log Files and Map a Volume"}),"\n",(0,t.jsxs)(a.p,{children:["Ensure that log files are enabled and a volume is mapped to the ",(0,t.jsx)(a.code,{children:"/logs"})," folder within the GameVault backend container in your ",(0,t.jsx)(a.code,{children:"docker-compose.yml"})," file:"]}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-yaml",children:"[...]\ngamevault-backend:\n image: phalcode/gamevault-backend:latest\n restart: unless-stopped\n environment:\n [...]\n - SERVER_LOG_FILES_ENABLED: true # <--- Make sure this is not set to false. (Default was false before v11.0.1)\n volumes:\n [...]\n - /your/logs/folder:/logs # <--- Replace `/your/logs/folder` with the actual path to your log folder.\n[...]\n"})}),"\n",(0,t.jsx)(a.h3,{id:"2-identify-failed-authentication-attempts",children:"2. Identify Failed Authentication Attempts"}),"\n",(0,t.jsx)(a.p,{children:"Failed authentication attempts will appear in the log files in the following format:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"info: \u250f [17/Aug/2023:20:25:47 +0000] Username @ Address - GET /api/v1/users/me -> 401 - 28.231 ms - 112 - 'GameVault/1.3.0'\n"})}),"\n",(0,t.jsx)(a.h3,{id:"3-create-a-fail2ban-filter",children:"3. Create a Fail2Ban Filter"}),"\n",(0,t.jsx)(a.p,{children:"Create a filter file for Fail2Ban by opening a terminal and executing the command:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"sudo nano /etc/fail2ban/filter.d/gamevault-filter.conf\n"})}),"\n",(0,t.jsx)(a.p,{children:"Insert the following content into the file:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"[Definition]\nfailregex = .*<HOST> - GET.*401\n"})}),"\n",(0,t.jsx)(a.p,{children:"Note that this regular expression may require adjustments. You can test it using the command:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"fail2ban-regex /your/logs/folder/gamevault-backend.log /etc/fail2ban/filter.d/gamevault-filter.conf\n"})}),"\n",(0,t.jsx)(a.h3,{id:"4-configure-fail2ban-jail",children:"4. Configure Fail2Ban Jail"}),"\n",(0,t.jsx)(a.p,{children:"Modify the Fail2Ban jail configuration by executing the command:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"sudo nano /etc/fail2ban/jail.local\n"})}),"\n",(0,t.jsx)(a.p,{children:"Add the following block and customize the settings based on your preferences:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-conf",children:"[gamevault]\nenabled = true\nfilter = gamevault-filter\nlogpath = /your/logs/folder/*.log*\nmaxretry = 10\nfindtime = 3600\nbantime = 3600\n"})}),"\n",(0,t.jsx)(a.h3,{id:"5-restart-fail2ban",children:"5. Restart Fail2Ban"}),"\n",(0,t.jsx)(a.p,{children:"To apply the changes, restart the Fail2Ban service:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"sudo systemctl restart fail2ban\n"})}),"\n",(0,t.jsx)(a.h3,{id:"6-verify-jail-status",children:"6. Verify Jail Status"}),"\n",(0,t.jsx)(a.p,{children:"Check the status of the GameVault jail:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"sudo fail2ban-client status gamevault\n"})}),"\n",(0,t.jsx)(a.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsxs)(a.p,{children:["By following these steps, you can enhance the security of your GameVault application by utilizing Fail2Ban to block IP addresses attempting unauthorized access. Remember to fine-tune the settings to suit your specific requirements. Keep in mind that the 401 response will be triggered for each unauthenticated request, which can occur frequently and become bothersome, so you may want to increase the ",(0,t.jsx)(a.code,{children:"maxretry"})," value slightly."]}),"\n",(0,t.jsxs)(a.p,{children:["Credit goes to ",(0,t.jsx)(a.a,{href:"https://stackoverflow.com/a/69575369/14570696",children:"this StackOverflow answer"})," and ",(0,t.jsx)(a.a,{href:"https://github.com/Phalcode/gamevault-backend/issues/175",children:"this Github issue"})," for inspiring this guide."]})]})}function u(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},9246:(e,a,n)=>{n.d(a,{Z:()=>r,a:()=>s});var t=n(5271);const i={},l=t.createContext(i);function s(e){const a=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(l.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5590],{2380:(e,a,n)=>{n.r(a),n.d(a,{assets:()=>o,contentTitle:()=>s,default:()=>u,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var t=n(2676),i=n(8358);const l={id:"fail2ban-gamevault-guide",title:"Configuring Fail2Ban for GameVault"},s=void 0,r={id:"advanced-usage/fail2ban-gamevault-guide",title:"Configuring Fail2Ban for GameVault",description:"This guide was created and tested by a community member. It hasn't been personally tested by our team. We cannot guarantee its effectiveness as we don't use fail2ban. Feel free to give it a try. If you find any errors, you can edit the guide accordingly.",source:"@site/docs/advanced-usage/failt2ban.md",sourceDirName:"advanced-usage",slug:"/advanced-usage/fail2ban-gamevault-guide",permalink:"/docs/advanced-usage/fail2ban-gamevault-guide",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/advanced-usage/failt2ban.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,frontMatter:{id:"fail2ban-gamevault-guide",title:"Configuring Fail2Ban for GameVault"},sidebar:"docs",previous:{title:"Early Access Program",permalink:"/docs/advanced-usage/early-access-program"},next:{title:"Running the Client on Linux",permalink:"/docs/advanced-usage/linux-client"}},o={},d=[{value:"Introduction",id:"introduction",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Steps",id:"steps",level:2},{value:"1. Enable Log Files and Map a Volume",id:"1-enable-log-files-and-map-a-volume",level:3},{value:"2. Identify Failed Authentication Attempts",id:"2-identify-failed-authentication-attempts",level:3},{value:"3. Create a Fail2Ban Filter",id:"3-create-a-fail2ban-filter",level:3},{value:"4. Configure Fail2Ban Jail",id:"4-configure-fail2ban-jail",level:3},{value:"5. Restart Fail2Ban",id:"5-restart-fail2ban",level:3},{value:"6. Verify Jail Status",id:"6-verify-jail-status",level:3},{value:"Conclusion",id:"conclusion",level:2}];function c(e){const a={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.admonition,{title:"Community-Created Guide",type:"note",children:(0,t.jsx)(a.p,{children:"This guide was created and tested by a community member. It hasn't been personally tested by our team. We cannot guarantee its effectiveness as we don't use fail2ban. Feel free to give it a try. If you find any errors, you can edit the guide accordingly."})}),"\n",(0,t.jsx)(a.h2,{id:"introduction",children:"Introduction"}),"\n",(0,t.jsx)(a.p,{children:"This guide explains how to set up Fail2Ban to safeguard your GameVault application against unauthorized access attempts. Fail2Ban is a tool that scans log files and blocks IP addresses exhibiting malicious behavior through the firewall."}),"\n",(0,t.jsx)(a.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,t.jsxs)(a.ul,{children:["\n",(0,t.jsx)(a.li,{children:"Fail2Ban installed on your host system"}),"\n",(0,t.jsxs)(a.li,{children:["Running GameVault instance as outlined in the ",(0,t.jsx)(a.a,{href:"/docs/server-docs/setup/",children:"server setup documentation"})]}),"\n"]}),"\n",(0,t.jsx)(a.h2,{id:"steps",children:"Steps"}),"\n",(0,t.jsx)(a.h3,{id:"1-enable-log-files-and-map-a-volume",children:"1. Enable Log Files and Map a Volume"}),"\n",(0,t.jsxs)(a.p,{children:["Ensure that log files are enabled and a volume is mapped to the ",(0,t.jsx)(a.code,{children:"/logs"})," folder within the GameVault backend container in your ",(0,t.jsx)(a.code,{children:"docker-compose.yml"})," file:"]}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-yaml",children:"[...]\ngamevault-backend:\n image: phalcode/gamevault-backend:latest\n restart: unless-stopped\n environment:\n [...]\n - SERVER_LOG_FILES_ENABLED: true # <--- Make sure this is not set to false. (Default was false before v11.0.1)\n volumes:\n [...]\n - /your/logs/folder:/logs # <--- Replace `/your/logs/folder` with the actual path to your log folder.\n[...]\n"})}),"\n",(0,t.jsx)(a.h3,{id:"2-identify-failed-authentication-attempts",children:"2. Identify Failed Authentication Attempts"}),"\n",(0,t.jsx)(a.p,{children:"Failed authentication attempts will appear in the log files in the following format:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"info: \u250f [17/Aug/2023:20:25:47 +0000] Username @ Address - GET /api/v1/users/me -> 401 - 28.231 ms - 112 - 'GameVault/1.3.0'\n"})}),"\n",(0,t.jsx)(a.h3,{id:"3-create-a-fail2ban-filter",children:"3. Create a Fail2Ban Filter"}),"\n",(0,t.jsx)(a.p,{children:"Create a filter file for Fail2Ban by opening a terminal and executing the command:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"sudo nano /etc/fail2ban/filter.d/gamevault-filter.conf\n"})}),"\n",(0,t.jsx)(a.p,{children:"Insert the following content into the file:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"[Definition]\nfailregex = .*<HOST> - GET.*401\n"})}),"\n",(0,t.jsx)(a.p,{children:"Note that this regular expression may require adjustments. You can test it using the command:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"fail2ban-regex /your/logs/folder/gamevault-backend.log /etc/fail2ban/filter.d/gamevault-filter.conf\n"})}),"\n",(0,t.jsx)(a.h3,{id:"4-configure-fail2ban-jail",children:"4. Configure Fail2Ban Jail"}),"\n",(0,t.jsx)(a.p,{children:"Modify the Fail2Ban jail configuration by executing the command:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"sudo nano /etc/fail2ban/jail.local\n"})}),"\n",(0,t.jsx)(a.p,{children:"Add the following block and customize the settings based on your preferences:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-conf",children:"[gamevault]\nenabled = true\nfilter = gamevault-filter\nlogpath = /your/logs/folder/*.log*\nmaxretry = 10\nfindtime = 3600\nbantime = 3600\n"})}),"\n",(0,t.jsx)(a.h3,{id:"5-restart-fail2ban",children:"5. Restart Fail2Ban"}),"\n",(0,t.jsx)(a.p,{children:"To apply the changes, restart the Fail2Ban service:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"sudo systemctl restart fail2ban\n"})}),"\n",(0,t.jsx)(a.h3,{id:"6-verify-jail-status",children:"6. Verify Jail Status"}),"\n",(0,t.jsx)(a.p,{children:"Check the status of the GameVault jail:"}),"\n",(0,t.jsx)(a.pre,{children:(0,t.jsx)(a.code,{className:"language-bash",children:"sudo fail2ban-client status gamevault\n"})}),"\n",(0,t.jsx)(a.h2,{id:"conclusion",children:"Conclusion"}),"\n",(0,t.jsxs)(a.p,{children:["By following these steps, you can enhance the security of your GameVault application by utilizing Fail2Ban to block IP addresses attempting unauthorized access. Remember to fine-tune the settings to suit your specific requirements. Keep in mind that the 401 response will be triggered for each unauthenticated request, which can occur frequently and become bothersome, so you may want to increase the ",(0,t.jsx)(a.code,{children:"maxretry"})," value slightly."]}),"\n",(0,t.jsxs)(a.p,{children:["Credit goes to ",(0,t.jsx)(a.a,{href:"https://stackoverflow.com/a/69575369/14570696",children:"this StackOverflow answer"})," and ",(0,t.jsx)(a.a,{href:"https://github.com/Phalcode/gamevault-backend/issues/175",children:"this Github issue"})," for inspiring this guide."]})]})}function u(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,t.jsx)(a,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8358:(e,a,n)=>{n.d(a,{Z:()=>r,a:()=>s});var t=n(5271);const i={},l=t.createContext(i);function s(e){const a=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),t.createElement(l.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f4d4319b.abdfd7ef.js b/assets/js/f4d4319b.a48b409c.js similarity index 96% rename from assets/js/f4d4319b.abdfd7ef.js rename to assets/js/f4d4319b.a48b409c.js index dd1c7f851..8dd8be945 100644 --- a/assets/js/f4d4319b.abdfd7ef.js +++ b/assets/js/f4d4319b.a48b409c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2500],{9550:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var s=t(2676),o=t(9246);const n={sidebar_position:1,id:"toc"},a="Setting up a GameVault Server",i={id:"server-docs/setup/toc",title:"Setting up a GameVault Server",description:"There are multiple ways to set up a GameVault Server. You can choose one from below that suits you.",source:"@site/docs/server-docs/setup/setup.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/",permalink:"/docs/server-docs/setup/",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/setup.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:1,frontMatter:{sidebar_position:1,id:"toc"},sidebar:"docs",previous:{title:"Introduction",permalink:"/docs/intro"},next:{title:"Using Docker Compose",permalink:"/docs/server-docs/setup/docker-compose"}},d={},c=[{value:"Supported Methods",id:"supported-methods",level:2},{value:"More Methods",id:"more-methods",level:3},{value:"What Next?",id:"what-next",level:2}];function l(e){const r={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"setting-up-a-gamevault-server",children:"Setting up a GameVault Server"})}),"\n",(0,s.jsx)(r.p,{children:"There are multiple ways to set up a GameVault Server. You can choose one from below that suits you."}),"\n",(0,s.jsxs)(r.p,{children:["If you have any trouble setting up a GameVault server don't give up! There are a lot of helpful people on our ",(0,s.jsx)(r.a,{href:"https://discord.gg/NEdNen2dSu",children:"discord"})," that can help you."]}),"\n",(0,s.jsx)(r.h2,{id:"supported-methods",children:"Supported Methods"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/docker-compose",children:"Docker Compose"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/caprover",children:"Caprover"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/truenas-scale",children:"TrueNAS Scale"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/unraid",children:"UNRAID"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/synology-container-manager",children:"Synology Container Manager"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/native",children:"Native"})}),"\n"]}),"\n",(0,s.jsx)(r.h3,{id:"more-methods",children:"More Methods"}),"\n",(0,s.jsx)(r.p,{children:"We want to add more setup options to our lineup! Each system has its own way of doing things, and it can take some time and experience to set up new options just right."}),"\n",(0,s.jsxs)(r.p,{children:["We're looking for people who are excited to help out. Since we don't run a GameVault Server on every system, we need your help to add new setup options! If you're interested in joining and setting up options for any system, we'd love to have you contribute to this documentation ",(0,s.jsx)(r.a,{href:"https://github.com/Phalcode/gamevault-docs",children:"on Github"}),". Together, we can make our platform easier for everyone to use."]}),"\n",(0,s.jsx)(r.h2,{id:"what-next",children:"What Next?"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Congratulations! \ud83e\udd73"})}),"\n",(0,s.jsx)(r.p,{children:"You now should have a server up and running. To further set up and start using server, you can follow these steps:"}),"\n",(0,s.jsxs)(r.ol,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Configure your server:"})," Customize the server settings to meet your specific needs. Refer to the ",(0,s.jsx)(r.a,{href:"/docs/server-docs/configuration",children:"configuration guide"})," for detailed instructions."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Add some games:"})," Prepare your game files in the required format for GameVault to identify and install them correctly. Read the ",(0,s.jsx)(r.a,{href:"/docs/server-docs/structure",children:"structure chapter"})," for important information. Once ready, proceed to ",(0,s.jsx)(r.a,{href:"/docs/server-docs/adding-games",children:"add your games"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Create your first user:"})," Set up an admin user account to gain full administrative access to the application. Refer to the ",(0,s.jsx)(r.a,{href:"/docs/server-docs/user-management",children:"user management guide"})," for instructions on setting up the first user."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Enhance your games with metadata:"})," Connect your server to a metadata source such as IGDB to enrich your games with metadata. Learn how to do this in the ",(0,s.jsx)(r.a,{href:"/docs/server-docs/metadata-enrichment/metadata",children:"metadata chapter"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"(OPTIONAL) Make your server accessible outside your Local Area Network"}),": If you want to make the application accessible beyond your local network, for instance, for your friends or yourself to connect to it remotely, you'll need to configure an HTTPS reverse proxy and potentially make adjustments to firewall rules. We recommend utilizing ",(0,s.jsx)(r.a,{href:"https://nginxproxymanager.com",children:"NGINX Proxy Manager"})," for this purpose. Numerous guides are available on how to set up a reverse proxy for a Docker container, so we won't cover it in detail in this guide."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.p,{children:"Enjoy your new gaming experience with GameVault!"})]})}function u(e={}){const{wrapper:r}={...(0,o.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},9246:(e,r,t)=>{t.d(r,{Z:()=>i,a:()=>a});var s=t(5271);const o={},n=s.createContext(o);function a(e){const r=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[2500],{9550:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var s=t(2676),o=t(8358);const n={sidebar_position:1,id:"toc"},a="Setting up a GameVault Server",i={id:"server-docs/setup/toc",title:"Setting up a GameVault Server",description:"There are multiple ways to set up a GameVault Server. You can choose one from below that suits you.",source:"@site/docs/server-docs/setup/setup.md",sourceDirName:"server-docs/setup",slug:"/server-docs/setup/",permalink:"/docs/server-docs/setup/",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/server-docs/setup/setup.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:1,frontMatter:{sidebar_position:1,id:"toc"},sidebar:"docs",previous:{title:"Introduction",permalink:"/docs/intro"},next:{title:"Using Docker Compose",permalink:"/docs/server-docs/setup/docker-compose"}},d={},c=[{value:"Supported Methods",id:"supported-methods",level:2},{value:"More Methods",id:"more-methods",level:3},{value:"What Next?",id:"what-next",level:2}];function l(e){const r={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.header,{children:(0,s.jsx)(r.h1,{id:"setting-up-a-gamevault-server",children:"Setting up a GameVault Server"})}),"\n",(0,s.jsx)(r.p,{children:"There are multiple ways to set up a GameVault Server. You can choose one from below that suits you."}),"\n",(0,s.jsxs)(r.p,{children:["If you have any trouble setting up a GameVault server don't give up! There are a lot of helpful people on our ",(0,s.jsx)(r.a,{href:"https://discord.gg/NEdNen2dSu",children:"discord"})," that can help you."]}),"\n",(0,s.jsx)(r.h2,{id:"supported-methods",children:"Supported Methods"}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/docker-compose",children:"Docker Compose"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/caprover",children:"Caprover"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/truenas-scale",children:"TrueNAS Scale"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/unraid",children:"UNRAID"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/synology-container-manager",children:"Synology Container Manager"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.a,{href:"/docs/server-docs/setup/native",children:"Native"})}),"\n"]}),"\n",(0,s.jsx)(r.h3,{id:"more-methods",children:"More Methods"}),"\n",(0,s.jsx)(r.p,{children:"We want to add more setup options to our lineup! Each system has its own way of doing things, and it can take some time and experience to set up new options just right."}),"\n",(0,s.jsxs)(r.p,{children:["We're looking for people who are excited to help out. Since we don't run a GameVault Server on every system, we need your help to add new setup options! If you're interested in joining and setting up options for any system, we'd love to have you contribute to this documentation ",(0,s.jsx)(r.a,{href:"https://github.com/Phalcode/gamevault-docs",children:"on Github"}),". Together, we can make our platform easier for everyone to use."]}),"\n",(0,s.jsx)(r.h2,{id:"what-next",children:"What Next?"}),"\n",(0,s.jsx)(r.p,{children:(0,s.jsx)(r.strong,{children:"Congratulations! \ud83e\udd73"})}),"\n",(0,s.jsx)(r.p,{children:"You now should have a server up and running. To further set up and start using server, you can follow these steps:"}),"\n",(0,s.jsxs)(r.ol,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Configure your server:"})," Customize the server settings to meet your specific needs. Refer to the ",(0,s.jsx)(r.a,{href:"/docs/server-docs/configuration",children:"configuration guide"})," for detailed instructions."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Add some games:"})," Prepare your game files in the required format for GameVault to identify and install them correctly. Read the ",(0,s.jsx)(r.a,{href:"/docs/server-docs/structure",children:"structure chapter"})," for important information. Once ready, proceed to ",(0,s.jsx)(r.a,{href:"/docs/server-docs/adding-games",children:"add your games"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Create your first user:"})," Set up an admin user account to gain full administrative access to the application. Refer to the ",(0,s.jsx)(r.a,{href:"/docs/server-docs/user-management",children:"user management guide"})," for instructions on setting up the first user."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Enhance your games with metadata:"})," Connect your server to a metadata source such as IGDB to enrich your games with metadata. Learn how to do this in the ",(0,s.jsx)(r.a,{href:"/docs/server-docs/metadata-enrichment/metadata",children:"metadata chapter"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"(OPTIONAL) Make your server accessible outside your Local Area Network"}),": If you want to make the application accessible beyond your local network, for instance, for your friends or yourself to connect to it remotely, you'll need to configure an HTTPS reverse proxy and potentially make adjustments to firewall rules. We recommend utilizing ",(0,s.jsx)(r.a,{href:"https://nginxproxymanager.com",children:"NGINX Proxy Manager"})," for this purpose. Numerous guides are available on how to set up a reverse proxy for a Docker container, so we won't cover it in detail in this guide."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.p,{children:"Enjoy your new gaming experience with GameVault!"})]})}function u(e={}){const{wrapper:r}={...(0,o.a)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8358:(e,r,t)=>{t.d(r,{Z:()=>i,a:()=>a});var s=t(5271);const o={},n=s.createContext(o);function a(e){const r=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function i(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(n.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f5b06269.c8fc53ea.js b/assets/js/f5b06269.fe7c6b2d.js similarity index 95% rename from assets/js/f5b06269.c8fc53ea.js rename to assets/js/f5b06269.fe7c6b2d.js index 203df9b92..001df22f5 100644 --- a/assets/js/f5b06269.c8fc53ea.js +++ b/assets/js/f5b06269.fe7c6b2d.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5565],{9221:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>h,contentTitle:()=>o,default:()=>m,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var a=s(2676),l=s(9246);const n={title:"Themes",sidebar_position:3},o=void 0,i={id:"gamevault-plus/themes",title:"Themes",description:"With GameVault+, you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience.",source:"@site/docs/gamevault-plus/themes.md",sourceDirName:"gamevault-plus",slug:"/gamevault-plus/themes",permalink:"/docs/gamevault-plus/themes",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/gamevault-plus/themes.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,sidebarPosition:3,frontMatter:{title:"Themes",sidebar_position:3},sidebar:"docs",previous:{title:"Client Setup",permalink:"/docs/gamevault-plus/client-setup"},next:{title:"Client APIs",permalink:"/docs/gamevault-plus/client-apis"}},h={},c=[{value:"Premium Themes",id:"premium-themes",level:2},{value:"Custom Themes",id:"custom-themes",level:2},{value:"How to Install and Apply a Custom Theme",id:"how-to-install-and-apply-a-custom-theme",level:3},{value:"Creating a Custom Theme",id:"creating-a-custom-theme",level:3},{value:"Template File",id:"template-file",level:4},{value:"Sharing Custom Themes",id:"sharing-custom-themes",level:3}];function r(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(t.p,{children:["With ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/introduction",children:"GameVault+"}),", you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience."]}),"\n",(0,a.jsx)(t.h2,{id:"premium-themes",children:"Premium Themes"}),"\n",(0,a.jsx)(t.p,{children:"GameVault+ ships with the following premium themes by default:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Phalcode (Dark)"}),": A dark theme aligned with our Phalcode brand.\n",(0,a.jsx)(t.img,{alt:"Phalcode (Dark)",src:s(6076).Z+"",width:"2552",height:"1392"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Phalcode (Light)"}),": A light theme aligned with our Phalcode brand.\n",(0,a.jsx)(t.img,{alt:"Phalcode (Light)",src:s(6274).Z+"",width:"2552",height:"1392"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Halloween (Dark)"}),": A Halloween-themed ambiance to set the mood for horror games in autumn.\n",(0,a.jsx)(t.img,{alt:"Halloween (Dark)",src:s(8322).Z+"",width:"2552",height:"1392"})]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"custom-themes",children:"Custom Themes"}),"\n",(0,a.jsx)(t.p,{children:"GameVault+ also offers the flexibility to apply custom themes, allowing users to incorporate designs of their preference."}),"\n",(0,a.jsxs)(t.p,{children:["A public repository of custom themes shared by our community can be found ",(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-community-themes/",children:"here"}),"."]}),"\n",(0,a.jsx)(t.h3,{id:"how-to-install-and-apply-a-custom-theme",children:"How to Install and Apply a Custom Theme"}),"\n",(0,a.jsx)(t.p,{children:"To install a custom theme, follow these steps:"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["Place the theme .xaml file into your ",(0,a.jsx)(t.code,{children:"themes"})," folder. Depending on your GameVault installation, the ",(0,a.jsx)(t.code,{children:"themes"})," folder can be located at either ",(0,a.jsx)(t.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\themes"})," or ",(0,a.jsx)(t.code,{children:"%APPDATA%/GameVault/themes"}),"."]}),"\n",(0,a.jsxs)(t.li,{children:["Open ",(0,a.jsx)(t.code,{children:"GameVault Settings"})," and select your newly added theme under ",(0,a.jsx)(t.code,{children:"Application"})," -> ",(0,a.jsx)(t.code,{children:"Themes"}),"."]}),"\n"]}),"\n",(0,a.jsx)(t.h3,{id:"creating-a-custom-theme",children:"Creating a Custom Theme"}),"\n",(0,a.jsxs)(t.p,{children:["Creating a custom theme is straightforward. You can just create a new .xaml file based on our template and save it in the ",(0,a.jsx)(t.code,{children:"themes"})," folder."]}),"\n",(0,a.jsx)(t.h4,{id:"template-file",children:"Template File"}),"\n",(0,a.jsxs)(t.p,{children:["Just copy the latest template from the ",(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-community-themes/",children:"community themes repository"}),", edit it using a text editor, and save it in the ",(0,a.jsx)(t.code,{children:"themes"})," folder to try it out. Be aware that the hex codes are ARGB syntax and not RGB syntax."]}),"\n",(0,a.jsx)(t.h3,{id:"sharing-custom-themes",children:"Sharing Custom Themes"}),"\n",(0,a.jsxs)(t.p,{children:["You can share your custom themes with the community by creating a pull request to the ",(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-community-themes/",children:"community themes repository"}),"."]})]})}function m(e={}){const{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(r,{...e})}):r(e)}},8322:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/halloween_dark-063c1fbaad9983d537c5440518ab0637.png"},6076:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/phalcode_dark-fc73dddb830e8427cc5f8b4f31c538df.png"},6274:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/phalcode_light-433333120c068cde6000d4873c096fee.png"},9246:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>o});var a=s(5271);const l={},n=a.createContext(l);function o(e){const t=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),a.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5565],{9221:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>h,contentTitle:()=>o,default:()=>m,frontMatter:()=>n,metadata:()=>i,toc:()=>c});var a=s(2676),l=s(8358);const n={title:"Themes",sidebar_position:3},o=void 0,i={id:"gamevault-plus/themes",title:"Themes",description:"With GameVault+, you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience.",source:"@site/docs/gamevault-plus/themes.md",sourceDirName:"gamevault-plus",slug:"/gamevault-plus/themes",permalink:"/docs/gamevault-plus/themes",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/gamevault-plus/themes.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,sidebarPosition:3,frontMatter:{title:"Themes",sidebar_position:3},sidebar:"docs",previous:{title:"Client Setup",permalink:"/docs/gamevault-plus/client-setup"},next:{title:"Client APIs",permalink:"/docs/gamevault-plus/client-apis"}},h={},c=[{value:"Premium Themes",id:"premium-themes",level:2},{value:"Custom Themes",id:"custom-themes",level:2},{value:"How to Install and Apply a Custom Theme",id:"how-to-install-and-apply-a-custom-theme",level:3},{value:"Creating a Custom Theme",id:"creating-a-custom-theme",level:3},{value:"Template File",id:"template-file",level:4},{value:"Sharing Custom Themes",id:"sharing-custom-themes",level:3}];function r(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,l.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(t.p,{children:["With ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/introduction",children:"GameVault+"}),", you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience."]}),"\n",(0,a.jsx)(t.h2,{id:"premium-themes",children:"Premium Themes"}),"\n",(0,a.jsx)(t.p,{children:"GameVault+ ships with the following premium themes by default:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Phalcode (Dark)"}),": A dark theme aligned with our Phalcode brand.\n",(0,a.jsx)(t.img,{alt:"Phalcode (Dark)",src:s(6076).Z+"",width:"2552",height:"1392"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Phalcode (Light)"}),": A light theme aligned with our Phalcode brand.\n",(0,a.jsx)(t.img,{alt:"Phalcode (Light)",src:s(6274).Z+"",width:"2552",height:"1392"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Halloween (Dark)"}),": A Halloween-themed ambiance to set the mood for horror games in autumn.\n",(0,a.jsx)(t.img,{alt:"Halloween (Dark)",src:s(8322).Z+"",width:"2552",height:"1392"})]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"custom-themes",children:"Custom Themes"}),"\n",(0,a.jsx)(t.p,{children:"GameVault+ also offers the flexibility to apply custom themes, allowing users to incorporate designs of their preference."}),"\n",(0,a.jsxs)(t.p,{children:["A public repository of custom themes shared by our community can be found ",(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-community-themes/",children:"here"}),"."]}),"\n",(0,a.jsx)(t.h3,{id:"how-to-install-and-apply-a-custom-theme",children:"How to Install and Apply a Custom Theme"}),"\n",(0,a.jsx)(t.p,{children:"To install a custom theme, follow these steps:"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["Place the theme .xaml file into your ",(0,a.jsx)(t.code,{children:"themes"})," folder. Depending on your GameVault installation, the ",(0,a.jsx)(t.code,{children:"themes"})," folder can be located at either ",(0,a.jsx)(t.code,{children:"%USERPROFILE%\\AppData\\Local\\Packages\\Phalcode.174950BD81C41_dymsgn3qpfjxc\\LocalCache\\Roaming\\GameVault\\themes"})," or ",(0,a.jsx)(t.code,{children:"%APPDATA%/GameVault/themes"}),"."]}),"\n",(0,a.jsxs)(t.li,{children:["Open ",(0,a.jsx)(t.code,{children:"GameVault Settings"})," and select your newly added theme under ",(0,a.jsx)(t.code,{children:"Application"})," -> ",(0,a.jsx)(t.code,{children:"Themes"}),"."]}),"\n"]}),"\n",(0,a.jsx)(t.h3,{id:"creating-a-custom-theme",children:"Creating a Custom Theme"}),"\n",(0,a.jsxs)(t.p,{children:["Creating a custom theme is straightforward. You can just create a new .xaml file based on our template and save it in the ",(0,a.jsx)(t.code,{children:"themes"})," folder."]}),"\n",(0,a.jsx)(t.h4,{id:"template-file",children:"Template File"}),"\n",(0,a.jsxs)(t.p,{children:["Just copy the latest template from the ",(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-community-themes/",children:"community themes repository"}),", edit it using a text editor, and save it in the ",(0,a.jsx)(t.code,{children:"themes"})," folder to try it out. Be aware that the hex codes are ARGB syntax and not RGB syntax."]}),"\n",(0,a.jsx)(t.h3,{id:"sharing-custom-themes",children:"Sharing Custom Themes"}),"\n",(0,a.jsxs)(t.p,{children:["You can share your custom themes with the community by creating a pull request to the ",(0,a.jsx)(t.a,{href:"https://github.com/Phalcode/gamevault-community-themes/",children:"community themes repository"}),"."]})]})}function m(e={}){const{wrapper:t}={...(0,l.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(r,{...e})}):r(e)}},8322:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/halloween_dark-063c1fbaad9983d537c5440518ab0637.png"},6076:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/phalcode_dark-fc73dddb830e8427cc5f8b4f31c538df.png"},6274:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/phalcode_light-433333120c068cde6000d4873c096fee.png"},8358:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>o});var a=s(5271);const l={},n=a.createContext(l);function o(e){const t=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),a.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f8aea940.55ccc5d1.js b/assets/js/f8aea940.98e609de.js similarity index 57% rename from assets/js/f8aea940.55ccc5d1.js rename to assets/js/f8aea940.98e609de.js index 2a29fef49..e7b154620 100644 --- a/assets/js/f8aea940.55ccc5d1.js +++ b/assets/js/f8aea940.98e609de.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5961],{5799:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>m,frontMatter:()=>n,metadata:()=>l,toc:()=>c});var a=s(2676),i=s(9246);const n={title:"Themes"},o=void 0,l={id:"client-docs/themes",title:"Themes",description:"GameVault offers the option to apply different themes to your GameVault client application. With GameVault+, you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience.",source:"@site/docs/client-docs/themes.md",sourceDirName:"client-docs",slug:"/client-docs/themes",permalink:"/docs/client-docs/themes",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/themes.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729509521e3,frontMatter:{title:"Themes"},sidebar:"docs",previous:{title:"GUI Overview",permalink:"/docs/client-docs/gui"},next:{title:"REST API Usage",permalink:"/docs/advanced-usage/rest-api"}},r={},c=[{value:"Free Themes",id:"free-themes",level:2},{value:"Premium Themes",id:"premium-themes",level:2},{value:"Custom Themes",id:"custom-themes",level:2}];function d(e){const t={a:"a",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(t.p,{children:["GameVault offers the option to apply different themes to your GameVault client application. With ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/introduction",children:"GameVault+"}),", you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience."]}),"\n",(0,a.jsx)(t.h2,{id:"free-themes",children:"Free Themes"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Default (Dark)"}),": The default GameVault theme, reflecting the 2024 GameVault rebrand with dark tones.\n",(0,a.jsx)(t.img,{alt:"Default (Dark)",src:s(1130).Z+"",width:"2552",height:"1392"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Default (Light)"}),": An alternative light version of the default GameVault theme, also based on the 2024 GameVault rebrand.\n",(0,a.jsx)(t.img,{alt:"Default (Light)",src:s(8428).Z+"",width:"2552",height:"1392"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Classic (Dark)"}),": This theme preserves the traditional application colors for users accustomed to the old design.\n",(0,a.jsx)(t.img,{alt:"Classic (Dark)",src:s(148).Z+"",width:"2552",height:"1392"})]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"premium-themes",children:"Premium Themes"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/introduction",children:"GameVault+"})," comes with more themes you can choose from. A list of premium themes is available in the ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/themes",children:"GameVault+ Themes"})," section of the documentation."]}),"\n",(0,a.jsx)(t.h2,{id:"custom-themes",children:"Custom Themes"}),"\n",(0,a.jsxs)(t.p,{children:["Custom themes are only available for ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/introduction",children:"GameVault+"})," subscribers. See ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/themes",children:"GameVault+ Themes"})," for more information."]})]})}function m(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},148:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/classic_dark-bec363a5279cb92c28e78e6b03bf9682.png"},1130:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/default_dark-5736b1f79f7b13358172ed71dc831afd.png"},8428:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/default_light-5bc18bd3650cc0d98fb39d46d70c9e2f.png"},9246:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>o});var a=s(5271);const i={},n=a.createContext(i);function o(e){const t=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[5961],{5799:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>m,frontMatter:()=>n,metadata:()=>l,toc:()=>c});var a=s(2676),i=s(8358);const n={title:"Themes"},o=void 0,l={id:"client-docs/themes",title:"Themes",description:"GameVault offers the option to apply different themes to your GameVault client application. With GameVault+, you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience.",source:"@site/docs/client-docs/themes.md",sourceDirName:"client-docs",slug:"/client-docs/themes",permalink:"/docs/client-docs/themes",draft:!1,unlisted:!1,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/docs/client-docs/themes.md",tags:[],version:"current",lastUpdatedBy:"Alper Alkan",lastUpdatedAt:1729726808e3,frontMatter:{title:"Themes"},sidebar:"docs",previous:{title:"GUI Overview",permalink:"/docs/client-docs/gui"},next:{title:"REST API Usage",permalink:"/docs/advanced-usage/rest-api"}},r={},c=[{value:"Free Themes",id:"free-themes",level:2},{value:"Premium Themes",id:"premium-themes",level:2},{value:"Custom Themes",id:"custom-themes",level:2}];function d(e){const t={a:"a",h2:"h2",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(t.p,{children:["GameVault offers the option to apply different themes to your GameVault client application. With ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/introduction",children:"GameVault+"}),", you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience."]}),"\n",(0,a.jsx)(t.h2,{id:"free-themes",children:"Free Themes"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Default (Dark)"}),": The default GameVault theme, reflecting the 2024 GameVault rebrand with dark tones.\n",(0,a.jsx)(t.img,{alt:"Default (Dark)",src:s(1130).Z+"",width:"2552",height:"1392"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Default (Light)"}),": An alternative light version of the default GameVault theme, also based on the 2024 GameVault rebrand.\n",(0,a.jsx)(t.img,{alt:"Default (Light)",src:s(8428).Z+"",width:"2552",height:"1392"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Classic (Dark)"}),": This theme preserves the traditional application colors for users accustomed to the old design.\n",(0,a.jsx)(t.img,{alt:"Classic (Dark)",src:s(2952).Z+"",width:"2552",height:"1392"})]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"premium-themes",children:"Premium Themes"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/introduction",children:"GameVault+"})," comes with more themes you can choose from. A list of premium themes is available in the ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/themes",children:"GameVault+ Themes"})," section of the documentation."]}),"\n",(0,a.jsx)(t.h2,{id:"custom-themes",children:"Custom Themes"}),"\n",(0,a.jsxs)(t.p,{children:["Custom themes are only available for ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/introduction",children:"GameVault+"})," subscribers. See ",(0,a.jsx)(t.a,{href:"/docs/gamevault-plus/themes",children:"GameVault+ Themes"})," for more information."]})]})}function m(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},2952:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/classic_dark-bec363a5279cb92c28e78e6b03bf9682.png"},1130:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/default_dark-5736b1f79f7b13358172ed71dc831afd.png"},8428:(e,t,s)=>{s.d(t,{Z:()=>a});const a=s.p+"assets/images/default_light-5bc18bd3650cc0d98fb39d46d70c9e2f.png"},8358:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>o});var a=s(5271);const i={},n=a.createContext(i);function o(e){const t=a.useContext(n);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fb0a08ce.709e5246.js b/assets/js/fb0a08ce.709e5246.js new file mode 100644 index 000000000..cdb655785 --- /dev/null +++ b/assets/js/fb0a08ce.709e5246.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1392],{83:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>s,toc:()=>u});var a=n(2676),i=n(8358);const l={title:"Celebrating 600+ Installations and announcing the upcoming big feature",authors:["alfagun74"],tags:["GameVault milestone","official installations","Discord community growth","gratitude","feedback","love for GameVault","upcoming update","Installation Pipeline","simplifying game installation","GitHub issue","subscription to Updates role","Lemmy community launch","sharing blog posts","spreading the word","support request","continued support","celebration of achievements"]},o=void 0,s={permalink:"/blog/2023/07/24/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-24.md",source:"@site/blog/2023-07-24.md",title:"Celebrating 600+ Installations and announcing the upcoming big feature",description:"Hey everyone,",date:"2023-07-24T00:00:00.000Z",tags:[{inline:!0,label:"GameVault milestone",permalink:"/blog/tags/game-vault-milestone"},{inline:!0,label:"official installations",permalink:"/blog/tags/official-installations"},{inline:!0,label:"Discord community growth",permalink:"/blog/tags/discord-community-growth"},{inline:!0,label:"gratitude",permalink:"/blog/tags/gratitude"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"love for GameVault",permalink:"/blog/tags/love-for-game-vault"},{inline:!0,label:"upcoming update",permalink:"/blog/tags/upcoming-update"},{inline:!0,label:"Installation Pipeline",permalink:"/blog/tags/installation-pipeline"},{inline:!0,label:"simplifying game installation",permalink:"/blog/tags/simplifying-game-installation"},{inline:!0,label:"GitHub issue",permalink:"/blog/tags/git-hub-issue"},{inline:!0,label:"subscription to Updates role",permalink:"/blog/tags/subscription-to-updates-role"},{inline:!0,label:"Lemmy community launch",permalink:"/blog/tags/lemmy-community-launch"},{inline:!0,label:"sharing blog posts",permalink:"/blog/tags/sharing-blog-posts"},{inline:!0,label:"spreading the word",permalink:"/blog/tags/spreading-the-word"},{inline:!0,label:"support request",permalink:"/blog/tags/support-request"},{inline:!0,label:"continued support",permalink:"/blog/tags/continued-support"},{inline:!0,label:"celebration of achievements",permalink:"/blog/tags/celebration-of-achievements"}],readingTime:2.39,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",authors:["alfagun74"],tags:["GameVault milestone","official installations","Discord community growth","gratitude","feedback","love for GameVault","upcoming update","Installation Pipeline","simplifying game installation","GitHub issue","subscription to Updates role","Lemmy community launch","sharing blog posts","spreading the word","support request","continued support","celebration of achievements"]},unlisted:!1,prevItem:{title:"Please help us prioritize!",permalink:"/blog/2023/07/29/"},nextItem:{title:"The Migrations are finally completed",permalink:"/blog/2023/07/20/"}},r={authorsImageUrls:[void 0]},u=[];function g(e){const t={p:"p",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Hey everyone,"}),"\n",(0,a.jsx)(t.p,{children:"We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application."})]})}function m(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(g,{...e})}):g(e)}},8358:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>o});var a=n(5271);const i={},l=a.createContext(i);function o(e){const t=a.useContext(l);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fb0a08ce.868120b0.js b/assets/js/fb0a08ce.868120b0.js deleted file mode 100644 index 9567a3f0b..000000000 --- a/assets/js/fb0a08ce.868120b0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[1392],{3328:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>s,toc:()=>u});var a=n(2676),i=n(9246);const l={title:"Celebrating 600+ Installations and announcing the upcoming big feature",authors:["alfagun74"],tags:["GameVault milestone","official installations","Discord community growth","gratitude","feedback","love for GameVault","upcoming update","Installation Pipeline","simplifying game installation","GitHub issue","subscription to Updates role","Lemmy community launch","sharing blog posts","spreading the word","support request","continued support","celebration of achievements"]},o=void 0,s={permalink:"/blog/2023/07/24/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2023-07-24.md",source:"@site/blog/2023-07-24.md",title:"Celebrating 600+ Installations and announcing the upcoming big feature",description:"Hey everyone,",date:"2023-07-24T00:00:00.000Z",tags:[{inline:!0,label:"GameVault milestone",permalink:"/blog/tags/game-vault-milestone"},{inline:!0,label:"official installations",permalink:"/blog/tags/official-installations"},{inline:!0,label:"Discord community growth",permalink:"/blog/tags/discord-community-growth"},{inline:!0,label:"gratitude",permalink:"/blog/tags/gratitude"},{inline:!0,label:"feedback",permalink:"/blog/tags/feedback"},{inline:!0,label:"love for GameVault",permalink:"/blog/tags/love-for-game-vault"},{inline:!0,label:"upcoming update",permalink:"/blog/tags/upcoming-update"},{inline:!0,label:"Installation Pipeline",permalink:"/blog/tags/installation-pipeline"},{inline:!0,label:"simplifying game installation",permalink:"/blog/tags/simplifying-game-installation"},{inline:!0,label:"GitHub issue",permalink:"/blog/tags/git-hub-issue"},{inline:!0,label:"subscription to Updates role",permalink:"/blog/tags/subscription-to-updates-role"},{inline:!0,label:"Lemmy community launch",permalink:"/blog/tags/lemmy-community-launch"},{inline:!0,label:"sharing blog posts",permalink:"/blog/tags/sharing-blog-posts"},{inline:!0,label:"spreading the word",permalink:"/blog/tags/spreading-the-word"},{inline:!0,label:"support request",permalink:"/blog/tags/support-request"},{inline:!0,label:"continued support",permalink:"/blog/tags/continued-support"},{inline:!0,label:"celebration of achievements",permalink:"/blog/tags/celebration-of-achievements"}],readingTime:2.39,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Celebrating 600+ Installations and announcing the upcoming big feature",authors:["alfagun74"],tags:["GameVault milestone","official installations","Discord community growth","gratitude","feedback","love for GameVault","upcoming update","Installation Pipeline","simplifying game installation","GitHub issue","subscription to Updates role","Lemmy community launch","sharing blog posts","spreading the word","support request","continued support","celebration of achievements"]},unlisted:!1,prevItem:{title:"Please help us prioritize!",permalink:"/blog/2023/07/29/"},nextItem:{title:"The Migrations are finally completed",permalink:"/blog/2023/07/20/"}},r={authorsImageUrls:[void 0]},u=[];function g(e){const t={p:"p",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Hey everyone,"}),"\n",(0,a.jsx)(t.p,{children:"We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application."})]})}function m(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(g,{...e})}):g(e)}},9246:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>o});var a=n(5271);const i={},l=a.createContext(i);function o(e){const t=a.useContext(l);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fbaf179c.89ad0700.js b/assets/js/fbaf179c.289c4e7f.js similarity index 97% rename from assets/js/fbaf179c.89ad0700.js rename to assets/js/fbaf179c.289c4e7f.js index 37ee2589a..ba0687908 100644 --- a/assets/js/fbaf179c.89ad0700.js +++ b/assets/js/fbaf179c.289c4e7f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4760],{5002:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var n=t(2676),i=t(9246);const l={title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",authors:["alfagun74"],tags:["game","metadata","database","videogame","RAWG","IGDB","twitch.tv","API","partnership","community","solution","Steam","backend","update","features","GameVault","GameVault+","easter egg"]},o=void 0,r={permalink:"/blog/2024/05/07/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-05-07.md",source:"@site/blog/2024-05-07.md",title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",description:"Hey everyone!",date:"2024-05-07T00:00:00.000Z",tags:[{inline:!0,label:"game",permalink:"/blog/tags/game"},{inline:!0,label:"metadata",permalink:"/blog/tags/metadata"},{inline:!0,label:"database",permalink:"/blog/tags/database"},{inline:!0,label:"videogame",permalink:"/blog/tags/videogame"},{inline:!0,label:"RAWG",permalink:"/blog/tags/rawg"},{inline:!0,label:"IGDB",permalink:"/blog/tags/igdb"},{inline:!0,label:"twitch.tv",permalink:"/blog/tags/twitch-tv"},{inline:!0,label:"API",permalink:"/blog/tags/api"},{inline:!0,label:"partnership",permalink:"/blog/tags/partnership"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"solution",permalink:"/blog/tags/solution"},{inline:!0,label:"Steam",permalink:"/blog/tags/steam"},{inline:!0,label:"backend",permalink:"/blog/tags/backend"},{inline:!0,label:"update",permalink:"/blog/tags/update"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameVault+",permalink:"/blog/tags/game-vault"},{inline:!0,label:"easter egg",permalink:"/blog/tags/easter-egg"}],readingTime:2.525,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",authors:["alfagun74"],tags:["game","metadata","database","videogame","RAWG","IGDB","twitch.tv","API","partnership","community","solution","Steam","backend","update","features","GameVault","GameVault+","easter egg"]},unlisted:!1,prevItem:{title:"An update so major, we could have built the product from scratch.",permalink:"/blog/2024/10/20/"},nextItem:{title:"GameVault+ out now",permalink:"/blog/2024/04/14/"}},s={authorsImageUrls:[void 0]},d=[{value:"GameVault's new metadata provider strategy",id:"gamevaults-new-metadata-provider-strategy",level:2},{value:"Temporary solution: Implementing a RAWG replacement",id:"temporary-solution-implementing-a-rawg-replacement",level:2},{value:"Exciting new features",id:"exciting-new-features",level:2},{value:"Supporting GameVault",id:"supporting-gamevault",level:2}];function u(e){const a={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey everyone!"}),"\n",(0,n.jsxs)(a.p,{children:["In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, ",(0,n.jsx)(a.a,{href:"https://rawg.io/",children:"rawg.io"}),". Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems. The situation peaked on May 5th when the service went down completely for a day."]}),"\n",(0,n.jsx)(a.h2,{id:"gamevaults-new-metadata-provider-strategy",children:"GameVault's new metadata provider strategy"}),"\n",(0,n.jsx)(a.p,{children:"To address these issues, we're making significant changes to GameVault's metadata system. Our goal is to make GameVault metadata provider agnostic, allowing users to seamlessly plug in their preferred metadata provider."}),"\n",(0,n.jsx)(a.p,{children:"We're also excited to announce our official partnership with IGDB (twitch.tv), a trusted video game database. Going forward, GameVault will primarily use IGDB's APIs out of the box."}),"\n",(0,n.jsxs)(a.p,{children:["More details on our plans can be found in this ",(0,n.jsx)(a.a,{href:"https://github.com/Phalcode/gamevault-backend/issues/258",children:"GitHub ticket"}),". We also plan to continue supporting the use of your own API keys and other vendors."]}),"\n",(0,n.jsx)(a.p,{children:"However, as decided in our recent poll, we will be removing all support for RAWG."}),"\n",(0,n.jsx)(a.h2,{id:"temporary-solution-implementing-a-rawg-replacement",children:"Temporary solution: Implementing a RAWG replacement"}),"\n",(0,n.jsxs)(a.p,{children:["However, implementing these changes will take time, and we are both currently busy with work commitments and travel plans. So what happens if RAWG suddenly stops working while we're away? To address this concern, ",(0,n.jsx)(a.a,{href:"https://github.com/Toylerrr",children:"Toylerrr"}),", one of our most valuable community members, had a great idea. He began developing a solution that would be a drop-in replacement for RAWG. An application that mimicked the behavior of RAWG, but fetched data from Steam instead. All you have to do is replace the url in the ",(0,n.jsx)(a.code,{children:"RAWG_API_URL"})," environmental variable."]}),"\n",(0,n.jsxs)(a.p,{children:["We loved the idea and built on it. Introducing ",(0,n.jsx)(a.a,{href:"https://github.com/Phalcode/rawg-to-steam-redirect",children:"rawg-to-steam-redirect"}),"."]}),"\n",(0,n.jsx)(a.p,{children:"The link above explains how it works and how you can use it today."}),"\n",(0,n.jsx)(a.p,{children:"What we liked most about it is that it required minimal backend changes to integrate. We have already tested this solution on our 667 games server and it works great. The quality of box art for example is much better. One drawback is that Steam does not have a lot of tags in its API."}),"\n",(0,n.jsxs)(a.p,{children:["While ",(0,n.jsx)(a.code,{children:"https://api.rawg.io/api"})," will remain the default ",(0,n.jsx)(a.code,{children:"RAWG_API_URL"})," for now, you can switch between RAWG and the new solution at any time. Just make sure your GameVault backend is updated to at least v12.1.0."]}),"\n",(0,n.jsx)(a.h2,{id:"exciting-new-features",children:"Exciting new features"}),"\n",(0,n.jsx)(a.p,{children:"In addition to these changes, we're excited to introduce you to some new features that were recently released:"}),"\n",(0,n.jsxs)(a.ul,{children:["\n",(0,n.jsxs)(a.li,{children:[(0,n.jsx)(a.strong,{children:"\ud83d\udd16 Bookmarking Video Games:"})," You can now bookmark your favorite games within GameVault."]}),"\n",(0,n.jsxs)(a.li,{children:[(0,n.jsx)(a.strong,{children:"\u23ef\ufe0f Download Management:"})," GameVault now supports pausing, auto-resuming, and resuming downloads."]}),"\n",(0,n.jsxs)(a.li,{children:[(0,n.jsx)(a.strong,{children:"\ud83d\udd12 Encrypted Archives:"})," GameVault now supports password protected archives."]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"We hope these updates will make your experience with GameVault even better as we move through this transition period."}),"\n",(0,n.jsx)(a.h2,{id:"supporting-gamevault",children:"Supporting GameVault"}),"\n",(0,n.jsx)(a.p,{children:"Finally, we want to thank all of you for making all of this possible. If you have not already done so, please consider upgrading to GameVault+ to flex with animated profile pictures on your server. We would really appreciate it. Bet you can't find the GameVault+ easter egg though... \ud83d\ude09"}),"\n",(0,n.jsx)(a.p,{children:"With love,"}),"\n",(0,n.jsx)(a.p,{children:"Phalcode"})]})}function m(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>o});var n=t(5271);const i={},l=n.createContext(i);function o(e){const a=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(l.Provider,{value:a},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4760],{3507:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var n=t(2676),i=t(8358);const l={title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",authors:["alfagun74"],tags:["game","metadata","database","videogame","RAWG","IGDB","twitch.tv","API","partnership","community","solution","Steam","backend","update","features","GameVault","GameVault+","easter egg"]},o=void 0,r={permalink:"/blog/2024/05/07/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-05-07.md",source:"@site/blog/2024-05-07.md",title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",description:"Hey everyone!",date:"2024-05-07T00:00:00.000Z",tags:[{inline:!0,label:"game",permalink:"/blog/tags/game"},{inline:!0,label:"metadata",permalink:"/blog/tags/metadata"},{inline:!0,label:"database",permalink:"/blog/tags/database"},{inline:!0,label:"videogame",permalink:"/blog/tags/videogame"},{inline:!0,label:"RAWG",permalink:"/blog/tags/rawg"},{inline:!0,label:"IGDB",permalink:"/blog/tags/igdb"},{inline:!0,label:"twitch.tv",permalink:"/blog/tags/twitch-tv"},{inline:!0,label:"API",permalink:"/blog/tags/api"},{inline:!0,label:"partnership",permalink:"/blog/tags/partnership"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"solution",permalink:"/blog/tags/solution"},{inline:!0,label:"Steam",permalink:"/blog/tags/steam"},{inline:!0,label:"backend",permalink:"/blog/tags/backend"},{inline:!0,label:"update",permalink:"/blog/tags/update"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameVault+",permalink:"/blog/tags/game-vault"},{inline:!0,label:"easter egg",permalink:"/blog/tags/easter-egg"}],readingTime:2.525,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",authors:["alfagun74"],tags:["game","metadata","database","videogame","RAWG","IGDB","twitch.tv","API","partnership","community","solution","Steam","backend","update","features","GameVault","GameVault+","easter egg"]},unlisted:!1,prevItem:{title:"An update so major, we could have built the product from scratch.",permalink:"/blog/2024/10/20/"},nextItem:{title:"GameVault+ out now",permalink:"/blog/2024/04/14/"}},s={authorsImageUrls:[void 0]},d=[{value:"GameVault's new metadata provider strategy",id:"gamevaults-new-metadata-provider-strategy",level:2},{value:"Temporary solution: Implementing a RAWG replacement",id:"temporary-solution-implementing-a-rawg-replacement",level:2},{value:"Exciting new features",id:"exciting-new-features",level:2},{value:"Supporting GameVault",id:"supporting-gamevault",level:2}];function u(e){const a={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey everyone!"}),"\n",(0,n.jsxs)(a.p,{children:["In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, ",(0,n.jsx)(a.a,{href:"https://rawg.io/",children:"rawg.io"}),". Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems. The situation peaked on May 5th when the service went down completely for a day."]}),"\n",(0,n.jsx)(a.h2,{id:"gamevaults-new-metadata-provider-strategy",children:"GameVault's new metadata provider strategy"}),"\n",(0,n.jsx)(a.p,{children:"To address these issues, we're making significant changes to GameVault's metadata system. Our goal is to make GameVault metadata provider agnostic, allowing users to seamlessly plug in their preferred metadata provider."}),"\n",(0,n.jsx)(a.p,{children:"We're also excited to announce our official partnership with IGDB (twitch.tv), a trusted video game database. Going forward, GameVault will primarily use IGDB's APIs out of the box."}),"\n",(0,n.jsxs)(a.p,{children:["More details on our plans can be found in this ",(0,n.jsx)(a.a,{href:"https://github.com/Phalcode/gamevault-backend/issues/258",children:"GitHub ticket"}),". We also plan to continue supporting the use of your own API keys and other vendors."]}),"\n",(0,n.jsx)(a.p,{children:"However, as decided in our recent poll, we will be removing all support for RAWG."}),"\n",(0,n.jsx)(a.h2,{id:"temporary-solution-implementing-a-rawg-replacement",children:"Temporary solution: Implementing a RAWG replacement"}),"\n",(0,n.jsxs)(a.p,{children:["However, implementing these changes will take time, and we are both currently busy with work commitments and travel plans. So what happens if RAWG suddenly stops working while we're away? To address this concern, ",(0,n.jsx)(a.a,{href:"https://github.com/Toylerrr",children:"Toylerrr"}),", one of our most valuable community members, had a great idea. He began developing a solution that would be a drop-in replacement for RAWG. An application that mimicked the behavior of RAWG, but fetched data from Steam instead. All you have to do is replace the url in the ",(0,n.jsx)(a.code,{children:"RAWG_API_URL"})," environmental variable."]}),"\n",(0,n.jsxs)(a.p,{children:["We loved the idea and built on it. Introducing ",(0,n.jsx)(a.a,{href:"https://github.com/Phalcode/rawg-to-steam-redirect",children:"rawg-to-steam-redirect"}),"."]}),"\n",(0,n.jsx)(a.p,{children:"The link above explains how it works and how you can use it today."}),"\n",(0,n.jsx)(a.p,{children:"What we liked most about it is that it required minimal backend changes to integrate. We have already tested this solution on our 667 games server and it works great. The quality of box art for example is much better. One drawback is that Steam does not have a lot of tags in its API."}),"\n",(0,n.jsxs)(a.p,{children:["While ",(0,n.jsx)(a.code,{children:"https://api.rawg.io/api"})," will remain the default ",(0,n.jsx)(a.code,{children:"RAWG_API_URL"})," for now, you can switch between RAWG and the new solution at any time. Just make sure your GameVault backend is updated to at least v12.1.0."]}),"\n",(0,n.jsx)(a.h2,{id:"exciting-new-features",children:"Exciting new features"}),"\n",(0,n.jsx)(a.p,{children:"In addition to these changes, we're excited to introduce you to some new features that were recently released:"}),"\n",(0,n.jsxs)(a.ul,{children:["\n",(0,n.jsxs)(a.li,{children:[(0,n.jsx)(a.strong,{children:"\ud83d\udd16 Bookmarking Video Games:"})," You can now bookmark your favorite games within GameVault."]}),"\n",(0,n.jsxs)(a.li,{children:[(0,n.jsx)(a.strong,{children:"\u23ef\ufe0f Download Management:"})," GameVault now supports pausing, auto-resuming, and resuming downloads."]}),"\n",(0,n.jsxs)(a.li,{children:[(0,n.jsx)(a.strong,{children:"\ud83d\udd12 Encrypted Archives:"})," GameVault now supports password protected archives."]}),"\n"]}),"\n",(0,n.jsx)(a.p,{children:"We hope these updates will make your experience with GameVault even better as we move through this transition period."}),"\n",(0,n.jsx)(a.h2,{id:"supporting-gamevault",children:"Supporting GameVault"}),"\n",(0,n.jsx)(a.p,{children:"Finally, we want to thank all of you for making all of this possible. If you have not already done so, please consider upgrading to GameVault+ to flex with animated profile pictures on your server. We would really appreciate it. Bet you can't find the GameVault+ easter egg though... \ud83d\ude09"}),"\n",(0,n.jsx)(a.p,{children:"With love,"}),"\n",(0,n.jsx)(a.p,{children:"Phalcode"})]})}function m(e={}){const{wrapper:a}={...(0,i.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>o});var n=t(5271);const i={},l=n.createContext(i);function o(e){const a=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),n.createElement(l.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fe2b2ad8.443c10fc.js b/assets/js/fe2b2ad8.443c10fc.js deleted file mode 100644 index 0d6c997d7..000000000 --- a/assets/js/fe2b2ad8.443c10fc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4907],{690:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>g});var n=t(2676),l=t(9246);const i={title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",authors:["alfagun74"],tags:["game","metadata","database","videogame","RAWG","IGDB","twitch.tv","API","partnership","community","solution","Steam","backend","update","features","GameVault","GameVault+","easter egg"]},o=void 0,r={permalink:"/blog/2024/05/07/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-05-07.md",source:"@site/blog/2024-05-07.md",title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",description:"Hey everyone!",date:"2024-05-07T00:00:00.000Z",tags:[{inline:!0,label:"game",permalink:"/blog/tags/game"},{inline:!0,label:"metadata",permalink:"/blog/tags/metadata"},{inline:!0,label:"database",permalink:"/blog/tags/database"},{inline:!0,label:"videogame",permalink:"/blog/tags/videogame"},{inline:!0,label:"RAWG",permalink:"/blog/tags/rawg"},{inline:!0,label:"IGDB",permalink:"/blog/tags/igdb"},{inline:!0,label:"twitch.tv",permalink:"/blog/tags/twitch-tv"},{inline:!0,label:"API",permalink:"/blog/tags/api"},{inline:!0,label:"partnership",permalink:"/blog/tags/partnership"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"solution",permalink:"/blog/tags/solution"},{inline:!0,label:"Steam",permalink:"/blog/tags/steam"},{inline:!0,label:"backend",permalink:"/blog/tags/backend"},{inline:!0,label:"update",permalink:"/blog/tags/update"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameVault+",permalink:"/blog/tags/game-vault"},{inline:!0,label:"easter egg",permalink:"/blog/tags/easter-egg"}],readingTime:2.525,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",authors:["alfagun74"],tags:["game","metadata","database","videogame","RAWG","IGDB","twitch.tv","API","partnership","community","solution","Steam","backend","update","features","GameVault","GameVault+","easter egg"]},unlisted:!1,prevItem:{title:"An update so major, we could have built the product from scratch.",permalink:"/blog/2024/10/20/"},nextItem:{title:"GameVault+ out now",permalink:"/blog/2024/04/14/"}},s={authorsImageUrls:[void 0]},g=[];function m(e){const a={a:"a",p:"p",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey everyone!"}),"\n",(0,n.jsxs)(a.p,{children:["In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, ",(0,n.jsx)(a.a,{href:"https://rawg.io/",children:"rawg.io"}),". Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems."]})]})}function u(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},9246:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>o});var n=t(5271);const l={},i=n.createContext(l);function o(e){const a=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),n.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fe2b2ad8.5be3f56b.js b/assets/js/fe2b2ad8.5be3f56b.js new file mode 100644 index 000000000..13400e5e3 --- /dev/null +++ b/assets/js/fe2b2ad8.5be3f56b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[4907],{5216:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>g});var n=t(2676),l=t(8358);const i={title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",authors:["alfagun74"],tags:["game","metadata","database","videogame","RAWG","IGDB","twitch.tv","API","partnership","community","solution","Steam","backend","update","features","GameVault","GameVault+","easter egg"]},o=void 0,r={permalink:"/blog/2024/05/07/",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master/blog/2024-05-07.md",source:"@site/blog/2024-05-07.md",title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",description:"Hey everyone!",date:"2024-05-07T00:00:00.000Z",tags:[{inline:!0,label:"game",permalink:"/blog/tags/game"},{inline:!0,label:"metadata",permalink:"/blog/tags/metadata"},{inline:!0,label:"database",permalink:"/blog/tags/database"},{inline:!0,label:"videogame",permalink:"/blog/tags/videogame"},{inline:!0,label:"RAWG",permalink:"/blog/tags/rawg"},{inline:!0,label:"IGDB",permalink:"/blog/tags/igdb"},{inline:!0,label:"twitch.tv",permalink:"/blog/tags/twitch-tv"},{inline:!0,label:"API",permalink:"/blog/tags/api"},{inline:!0,label:"partnership",permalink:"/blog/tags/partnership"},{inline:!0,label:"community",permalink:"/blog/tags/community"},{inline:!0,label:"solution",permalink:"/blog/tags/solution"},{inline:!0,label:"Steam",permalink:"/blog/tags/steam"},{inline:!0,label:"backend",permalink:"/blog/tags/backend"},{inline:!0,label:"update",permalink:"/blog/tags/update"},{inline:!0,label:"features",permalink:"/blog/tags/features"},{inline:!0,label:"GameVault",permalink:"/blog/tags/game-vault"},{inline:!0,label:"GameVault+",permalink:"/blog/tags/game-vault"},{inline:!0,label:"easter egg",permalink:"/blog/tags/easter-egg"}],readingTime:2.525,hasTruncateMarker:!0,authors:[{name:"Alper Alkan",title:"Co-Founder of Phalcode",url:"https://github.com/Alfagun74",imageURL:"https://github.com/Alfagun74.png",key:"alfagun74",page:null}],frontMatter:{title:"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!",authors:["alfagun74"],tags:["game","metadata","database","videogame","RAWG","IGDB","twitch.tv","API","partnership","community","solution","Steam","backend","update","features","GameVault","GameVault+","easter egg"]},unlisted:!1,prevItem:{title:"An update so major, we could have built the product from scratch.",permalink:"/blog/2024/10/20/"},nextItem:{title:"GameVault+ out now",permalink:"/blog/2024/04/14/"}},s={authorsImageUrls:[void 0]},g=[];function m(e){const a={a:"a",p:"p",...(0,l.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.p,{children:"Hey everyone!"}),"\n",(0,n.jsxs)(a.p,{children:["In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, ",(0,n.jsx)(a.a,{href:"https://rawg.io/",children:"rawg.io"}),". Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems."]})]})}function u(e={}){const{wrapper:a}={...(0,l.a)(),...e.components};return a?(0,n.jsx)(a,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},8358:(e,a,t)=>{t.d(a,{Z:()=>r,a:()=>o});var n=t(5271);const l={},i=n.createContext(l);function o(e){const a=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(a):{...a,...e}}),[a,e])}function r(e){let a;return a=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:o(e.components),n.createElement(i.Provider,{value:a},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.03039855.js b/assets/js/main.03039855.js new file mode 100644 index 000000000..b468125aa --- /dev/null +++ b/assets/js/main.03039855.js @@ -0,0 +1,2 @@ +/*! For license information please see main.03039855.js.LICENSE.txt */ +(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[179],{6573:(e,t,n)=>{var r={"./prism-bash":3209,"./prism-json":1417};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6573},7297:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(5271);var r=n(4354),o=n.n(r),a=n(6887);const i={"0058b4c6":[()=>n.e(4088).then(n.t.bind(n,6462,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-175.json",6462],"007d2baa":[()=>n.e(6021).then(n.bind(n,4902)),"@site/docs/server-docs/media.md",4902],"009c376a":[()=>n.e(8847).then(n.t.bind(n,9062,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-support-4e8.json",9062],"00dfabf5":[()=>n.e(4956).then(n.t.bind(n,1410,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-subscription-223.json",1410],"00fcf151":[()=>n.e(1693).then(n.t.bind(n,912,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-transparency-2c4.json",912],"013bccfd":[()=>n.e(6835).then(n.t.bind(n,8325,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-improvement-e54.json",8325],"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,7484)),"@theme/BlogTagsListPage",7484],"01fcf7cb":[()=>n.e(5789).then(n.t.bind(n,8196,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-engagement-408.json",8196],"03919031":[()=>n.e(7951).then(n.t.bind(n,3868,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gratitude-944.json",3868],"04a3aba4":[()=>n.e(2873).then(n.t.bind(n,2896,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-market-analysis-e77.json",2896],"063ffaec":[()=>n.e(9399).then(n.t.bind(n,3875,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-lemmy-community-launch-0dd.json",3875],"065dfc11":[()=>n.e(2314).then(n.t.bind(n,3114,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-domain-acquisition-75b.json",3114],"0748c3bc":[()=>n.e(6241).then(n.bind(n,3785)),"@site/docs/server-docs/metadata-enrichment/metadata.md",3785],"0766ce7b":[()=>n.e(6987).then(n.t.bind(n,1411,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-update-1f1.json",1411],"077db3c5":[()=>n.e(6807).then(n.t.bind(n,6380,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-client-application-update-423.json",6380],"0a27b0d0":[()=>n.e(9518).then(n.t.bind(n,3170,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-code-access-151.json",3170],"0ad562e6":[()=>n.e(2275).then(n.t.bind(n,6923,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-development-milestones-2fd.json",6923],"0b705c82":[()=>n.e(2510).then(n.bind(n,3476)),"@site/blog/2023-12-09.md",3476],"0bd541ed":[()=>n.e(4023).then(n.bind(n,7434)),"@site/blog/2023-07-19.md?truncated=true",7434],"0bfa7fcc":[()=>n.e(6071).then(n.bind(n,3533)),"@site/blog/2023-07-13.md",3533],"0c6a4732":[()=>n.e(9338).then(n.t.bind(n,1415,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-rawg-api-f4d.json",1415],"0d3164f5":[()=>n.e(4649).then(n.t.bind(n,5918,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-reddit-forum-6ca.json",5918],"0e384e19":[()=>n.e(9671).then(n.bind(n,4816)),"@site/docs/intro.md",4816],"10d38074":[()=>n.e(8823).then(n.t.bind(n,2379,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-app-0c9.json",2379],"113d89da":[()=>n.e(9099).then(n.t.bind(n,1707,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-spreading-the-word-793.json",1707],"1334883d":[()=>n.e(4895).then(n.t.bind(n,7574,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-safe-environment-fa4.json",7574],"14b6aafb":[()=>n.e(8495).then(n.bind(n,5479)),"@site/docs/server-docs/adding-games.md",5479],"1630eae8":[()=>n.e(1105).then(n.bind(n,943)),"@site/docs/server-docs/setup/truenas-scale.md",943],17896441:[()=>Promise.all([n.e(532),n.e(6493),n.e(7918)]).then(n.bind(n,4863)),"@theme/DocItem",4863],18747338:[()=>n.e(7919).then(n.t.bind(n,6444,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-channel-e8c.json",6444],"18d9fd7d":[()=>n.e(2002).then(n.bind(n,4485)),"@site/docs/server-docs/plugins.md",4485],"193fe191":[()=>n.e(7459).then(n.bind(n,3323)),"@site/docs/server-docs/metadata-enrichment/provider-igdb.md",3323],"19e4f252":[()=>n.e(3488).then(n.t.bind(n,8201,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-subreddit-migration-749.json",8201],"1dd5d307":[()=>n.e(9418).then(n.t.bind(n,4759,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-3e5.json",4759],"1e0a1681":[()=>n.e(1420).then(n.bind(n,7547)),"@site/docs/server-docs/setup/synology-container-manager.md",7547],"1ff343c8":[()=>n.e(2980).then(n.t.bind(n,4019,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-simplifying-game-installation-c9f.json",4019],"2024b8b1":[()=>n.e(7596).then(n.bind(n,4169)),"@site/blog/2023-07-29.md?truncated=true",4169],"204759e4":[()=>n.e(2337).then(n.t.bind(n,6577,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-partnership-7e9.json",6577],20661643:[()=>n.e(8953).then(n.t.bind(n,5268,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-tech-progress-c60.json",5268],"2296bbef":[()=>n.e(6623).then(n.t.bind(n,5205,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-hybrid-model-384.json",5205],"23a0eab7":[()=>n.e(5773).then(n.t.bind(n,9169,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-source-available-software-761.json",9169],"24c2f136":[()=>n.e(9584).then(n.t.bind(n,9379,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-box-representation-da0.json",9379],"251cbb95":[()=>n.e(4584).then(n.t.bind(n,111,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-harassment-11d.json",111],"2608b85a":[()=>n.e(5156).then(n.t.bind(n,8964,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-negative-narratives-b3f.json",8964],"264f4708":[()=>n.e(1517).then(n.bind(n,2015)),"@site/docs/advanced-usage/early-access-program.md",2015],"26ca8ce1":[()=>n.e(3518).then(n.t.bind(n,3606,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-lemmy-community-5b4.json",3606],"2a693baa":[()=>n.e(8521).then(n.t.bind(n,4413,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-control-29f.json",4413],"2aa0a660":[()=>n.e(675).then(n.t.bind(n,9980,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-subscription-model-e21.json",9980],"2e008a3a":[()=>n.e(5694).then(n.bind(n,5264)),"@site/blog/2023-07-13.md?truncated=true",5264],"2f44e9f7":[()=>n.e(3357).then(n.t.bind(n,9752,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-server-promotion-03a.json",9752],"357ebdd0":[()=>n.e(69).then(n.t.bind(n,8496,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-user-participation-4a2.json",8496],"36994c47":[()=>n.e(9208).then(n.t.bind(n,4468,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",4468],"36bc9c65":[()=>n.e(6135).then(n.t.bind(n,950,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-client-update-ad5.json",950],"3a2db09e":[()=>n.e(9361).then(n.t.bind(n,7588,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-df9.json",7588],"3ac72a53":[()=>n.e(6152).then(n.t.bind(n,4937,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-lemmy-forum-09e.json",4937],"3af271b3":[()=>n.e(6072).then(n.t.bind(n,4726,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-upcoming-update-894.json",4726],"3b659bf0":[()=>n.e(6635).then(n.t.bind(n,1069,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-logo-deciphering-a29.json",1069],"3bdf5af6":[()=>n.e(15).then(n.t.bind(n,551,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-notes-dea.json",551],"3f6275a8":[()=>n.e(447).then(n.t.bind(n,6195,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-bugs-30a.json",6195],"3f99d67c":[()=>n.e(1283).then(n.t.bind(n,6250,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-new-logo-031.json",6250],"3fc2248c":[()=>n.e(8038).then(n.t.bind(n,7029,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-community-feedback-110.json",7029],"3fc3119e":[()=>n.e(1362).then(n.bind(n,6189)),"@site/blog/2023-12-09.md?truncated=true",6189],"416eca3f":[()=>n.e(4517).then(n.t.bind(n,3949,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-age-restrictions-5d3.json",3949],"41e301a0":[()=>n.e(3712).then(n.t.bind(n,5581,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-trolls-732.json",5581],"435302bb":[()=>n.e(2126).then(n.bind(n,5076)),"@site/docs/client-docs/how-to-use.md",5076],"438c7fa2":[()=>n.e(1601).then(n.bind(n,5729)),"@site/docs/server-docs/server-news.md",5729],"4534f50b":[()=>n.e(7253).then(n.t.bind(n,3695,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-threats-86b.json",3695],"46e7f252":[()=>n.e(9190).then(n.t.bind(n,6312,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-metadata-b2d.json",6312],"47aca6da":[()=>n.e(3465).then(n.bind(n,3692)),"@site/blog/2024-04-01/2024-04-01.md?truncated=true",3692],"4a631206":[()=>n.e(7937).then(n.bind(n,6226)),"@site/docs/server-docs/updating-games.md",6226],"4a6974fe":[()=>n.e(6634).then(n.bind(n,1693)),"@site/blog/2024-04-01/2024-04-01.md",1693],"4d393b3e":[()=>n.e(9155).then(n.bind(n,2197)),"@site/docs/server-docs/backup-and-restore.md",2197],"4e01c0f4":[()=>n.e(3198).then(n.t.bind(n,4615,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-platform-b8a.json",4615],"4efd7f8f":[()=>n.e(9950).then(n.t.bind(n,3665,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-exclusive-preview-10f.json",3665],"4f991444":[()=>n.e(1271).then(n.t.bind(n,774,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-software-updates-c8d.json",774],"4fb3dfba":[()=>n.e(428).then(n.t.bind(n,6389,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-backend-application-migration-545.json",6389],"4ff7c2f7":[()=>n.e(8565).then(n.t.bind(n,7479,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-hub-801.json",7479],"500e67e3":[()=>n.e(5724).then(n.t.bind(n,4617,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-poll-results-c1e.json",4617],"5046667d":[()=>n.e(4275).then(n.bind(n,1575)),"@site/docs/server-docs/websockets.md",1575],"51e7bf36":[()=>n.e(7146).then(n.bind(n,7520)),"@site/docs/client-docs/data.md",7520],"51fa4cf1":[()=>n.e(5501).then(n.t.bind(n,5318,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-stash-816.json",5318],"524a34e7":[()=>n.e(6953).then(n.t.bind(n,2478,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-harbor-82c.json",2478],"534e7ef5":[()=>n.e(2834).then(n.t.bind(n,2583,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-subscription-to-updates-role-792.json",2583],"55dfe132":[()=>n.e(5487).then(n.bind(n,4773)),"@site/blog/2023-11-20.md",4773],"573c7c88":[()=>n.e(8846).then(n.t.bind(n,6983,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-self-hosted-newsletter-6aa.json",6983],"591d17b8":[()=>n.e(8218).then(n.t.bind(n,1880,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-microsoft-store-publication-729.json",1880],"5a2f6c5d":[()=>n.e(2158).then(n.t.bind(n,6888,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-microsoft-store-736.json",6888],"5a8f8fa9":[()=>n.e(8346).then(n.t.bind(n,7698,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-installation-pipeline-ebc.json",7698],"5ac1a9ec":[()=>n.e(2518).then(n.t.bind(n,139,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-alternative-214.json",139],"5baa483a":[()=>n.e(9006).then(n.t.bind(n,5735,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-speculation-a41.json",5735],"5bbd8cf3":[()=>n.e(8912).then(n.t.bind(n,7288,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-kanban-board-262.json",7288],"5c99339f":[()=>n.e(7283).then(n.t.bind(n,9948,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-backend-c70.json",9948],"5db30e8c":[()=>n.e(7044).then(n.t.bind(n,9692,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-self-hosted-4fa.json",9692],"5e5c84c3":[()=>n.e(8516).then(n.bind(n,2836)),"@site/docs/server-docs/game-types.md",2836],"5e95c892":[()=>n.e(9661).then(n.bind(n,5970)),"@theme/DocsRoot",5970],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"5fa82f91":[()=>n.e(4503).then(n.t.bind(n,1722,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-shelf-102.json",1722],"61be0f73":[()=>n.e(452).then(n.bind(n,5931)),"@site/docs/server-docs/structure.md",5931],"621db11d":[()=>Promise.all([n.e(532),n.e(2091),n.e(3940)]).then(n.bind(n,3435)),"@theme/Blog/Pages/BlogAuthorsListPage",3435],"63511f3c":[()=>n.e(5044).then(n.t.bind(n,7337,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-decision-making-c62.json",7337],"63b46e50":[()=>n.e(4819).then(n.t.bind(n,4881,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-health-monitoring-c3c.json",4881],"6535206c":[()=>n.e(3020).then(n.t.bind(n,3480,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-app-name-migration-54a.json",3480],"66e9ef90":[()=>n.e(786).then(n.t.bind(n,9746,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-analytics-43c.json",9746],"678c8d60":[()=>n.e(4430).then(n.t.bind(n,9939,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-drm-free-games-d6f.json",9939],"6875c492":[()=>Promise.all([n.e(532),n.e(6493),n.e(2091),n.e(8610)]).then(n.bind(n,8078)),"@theme/BlogTagsPostsPage",8078],"6a40fd04":[()=>n.e(5736).then(n.t.bind(n,3599,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-renaming-app-716.json",3599],"6bbbce94":[()=>n.e(2639).then(n.t.bind(n,2976,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-family-friendly-d7c.json",2976],"6e64f266":[()=>n.e(5781).then(n.t.bind(n,8076,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-documentation-migration-461.json",8076],"6ff2a8aa":[()=>n.e(7773).then(n.t.bind(n,1399,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-poll-55a.json",1399],"71f025ea":[()=>n.e(121).then(n.t.bind(n,389,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-community-driven-c68.json",389],"71f72e4c":[()=>n.e(7523).then(n.t.bind(n,5572,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-updates-66c.json",5572],"73ad9a8e":[()=>n.e(9096).then(n.t.bind(n,136,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-theme-b53.json",136],"7424d9c3":[()=>n.e(9268).then(n.bind(n,2903)),"@site/blog/2023-07-08.md",2903],"7486ddfc":[()=>n.e(8437).then(n.t.bind(n,7734,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-november-update-7a2.json",7734],"7489ed02":[()=>n.e(6515).then(n.bind(n,1173)),"@site/blog/2023-07-01.md?truncated=true",1173],"751a244a":[()=>n.e(9041).then(n.t.bind(n,2108,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-community-management-84a.json",2108],"7558b7a2":[()=>n.e(4327).then(n.t.bind(n,1416,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-transition-process-04a.json",1416],"7576ca6a":[()=>n.e(3236).then(n.t.bind(n,6467,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-video-games-c79.json",6467],"7754063d":[()=>n.e(3116).then(n.t.bind(n,1552,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-journey-706.json",1552],"77a8abe0":[()=>n.e(9348).then(n.t.bind(n,134,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-continued-support-22f.json",134],"77f7e459":[()=>n.e(5805).then(n.t.bind(n,9919,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-git-hub-issue-e5d.json",9919],"7864c493":[()=>n.e(111).then(n.t.bind(n,2941,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-blackmail-b61.json",2941],"7a0110f5":[()=>n.e(2777).then(n.t.bind(n,330,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-platform-8e2.json",330],"7b99d5ba":[()=>n.e(1383).then(n.bind(n,5538)),"@site/blog/2023-07-09.md?truncated=true",5538],"7c4a7780":[()=>n.e(5074).then(n.t.bind(n,6765,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-experience-d09.json",6765],"7ef69c2b":[()=>n.e(7020).then(n.bind(n,7534)),"@site/blog/2024-10-20.md?truncated=true",7534],80292675:[()=>n.e(6487).then(n.bind(n,6905)),"@site/docs/server-docs/setup/unraid.md",6905],"80404bfe":[()=>n.e(962).then(n.t.bind(n,4600,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-feature-requests-f1b.json",4600],"805ec11d":[()=>n.e(5164).then(n.t.bind(n,3342,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-server-update-54e.json",3342],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"8167ef7e":[()=>n.e(241).then(n.t.bind(n,7497,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-developers-001.json",7497],"82c81335":[()=>n.e(4251).then(n.t.bind(n,8576,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-testing-29d.json",8576],"8577c450":[()=>n.e(2561).then(n.t.bind(n,8283,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-spam-cff.json",8283],"8795eea9":[()=>n.e(1053).then(n.bind(n,8671)),"@site/blog/2023-07-20.md?truncated=true",8671],"87cefd36":[()=>n.e(5240).then(n.t.bind(n,6623,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-cloud-based-game-platforms-ee3.json",6623],"8852925a":[()=>n.e(7964).then(n.t.bind(n,2805,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-new-name-announcement-577.json",2805],"886fdd87":[()=>n.e(6927).then(n.t.bind(n,2070,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-git-hub-b4b.json",2070],"89db6d1d":[()=>n.e(5855).then(n.bind(n,9402)),"@site/blog/2023-07-15.md?truncated=true",9402],"8a3716b4":[()=>n.e(5059).then(n.t.bind(n,7858,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-metadata-framework-ab4.json",7858],"8a3c85db":[()=>n.e(235).then(n.t.bind(n,6381,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-domain-161.json",6381],"8b8fd5aa":[()=>n.e(1151).then(n.t.bind(n,393,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-polls-463.json",393],"8ba18f4f":[()=>n.e(147).then(n.bind(n,8508)),"@site/docs/server-docs/parental-control.md",8508],"8c4108df":[()=>n.e(4145).then(n.bind(n,9287)),"@site/docs/server-docs/setup/docker-compose.md",9287],"8e064018":[()=>n.e(1691).then(n.t.bind(n,7614,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-celebration-of-achievements-856.json",7614],"8ea09047":[()=>n.e(8644).then(n.t.bind(n,7362,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-page-2-433.json",7362],"8f8e2e78":[()=>n.e(8407).then(n.t.bind(n,5016,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-future-development-ef2.json",5016],"8ff99662":[()=>n.e(8489).then(n.t.bind(n,4233,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-app-80a.json",4233],"9019cc36":[()=>n.e(9565).then(n.bind(n,2716)),"@site/blog/2024-10-20.md",2716],"9046e000":[()=>n.e(2650).then(n.t.bind(n,9205,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-solution-4b2.json",9205],"9147d3af":[()=>n.e(5954).then(n.bind(n,8248)),"@site/blog/2024-03-28.md?truncated=true",8248],"915cb6f7":[()=>n.e(4509).then(n.t.bind(n,5532,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-april-fools-1f0.json",5532],92440753:[()=>n.e(3439).then(n.t.bind(n,8819,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-financial-assistance-4b1.json",8819],"92fb1dcd":[()=>n.e(2908).then(n.t.bind(n,6583,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-roadmap-e35.json",6583],"9404f843":[()=>n.e(4811).then(n.bind(n,7130)),"@site/docs/gamevault-plus/client-apis.md",7130],"9748c478":[()=>n.e(7807).then(n.bind(n,3326)),"@site/blog/2023-07-15.md",3326],"979ccdb6":[()=>n.e(9264).then(n.t.bind(n,4668,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-racist-e34.json",4668],"99d3d5ac":[()=>n.e(5150).then(n.t.bind(n,9782,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-development-d1f.json",9782],"99f2b7e6":[()=>n.e(7546).then(n.t.bind(n,8222,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-twitch-tv-219.json",8222],"9b1663d8":[()=>n.e(6497).then(n.t.bind(n,2022,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-66f.json",2022],"9b95b357":[()=>n.e(2942).then(n.t.bind(n,4133,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-servers-279.json",4133],"9d5a95a9":[()=>n.e(8023).then(n.t.bind(n,1272,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-igdb-8f8.json",1272],"9d86e7fa":[()=>n.e(7508).then(n.t.bind(n,1629,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-announcement-97a.json",1629],"9d9f8394":[()=>n.e(9360).then(n.bind(n,5465)),"@site/docs/troubleshooting.md",5465],"9e4087bc":[()=>n.e(3608).then(n.bind(n,7579)),"@theme/BlogArchivePage",7579],"9e75d8bf":[()=>n.e(8444).then(n.t.bind(n,2611,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-platform-values-e98.json",2611],"9fafd272":[()=>n.e(8666).then(n.t.bind(n,6839,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-50c.json",6839],a1072f2a:[()=>n.e(7650).then(n.bind(n,1674)),"@site/docs/client-docs/gui.md",1674],a1216fa4:[()=>n.e(5662).then(n.bind(n,6746)),"@site/blog/2023-07-24.md",6746],a1f57275:[()=>n.e(5325).then(n.bind(n,2688)),"@site/blog/2023-07-01.md",2688],a3fd4b44:[()=>n.e(9303).then(n.t.bind(n,9921,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-file-server-7d3.json",9921],a67f6c3e:[()=>n.e(2999).then(n.t.bind(n,8758,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-videogame-96d.json",8758],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(6493),n.e(2091),n.e(3089)]).then(n.bind(n,8602)),"@theme/BlogListPage",8602],a6fed517:[()=>n.e(4884).then(n.t.bind(n,3063,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-database-781.json",3063],a7456010:[()=>n.e(5980).then(n.t.bind(n,9365,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",9365],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,2767)),"@theme/DocVersionRoot",2767],a7d982d4:[()=>n.e(4691).then(n.t.bind(n,66,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-software-e0e.json",66],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,7872)),"@theme/DocRoot",7872],ab6782ba:[()=>n.e(6003).then(n.t.bind(n,3306,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-steam-739.json",3306],aba21aa0:[()=>n.e(3629).then(n.t.bind(n,1765,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",1765],acecf23e:[()=>n.e(7393).then(n.t.bind(n,1838,19)),"~blog/default/blogMetadata-default.json",1838],aeb57253:[()=>n.e(5447).then(n.t.bind(n,4733,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-surge-of-new-users-416.json",4733],b1d7f5b9:[()=>n.e(4039).then(n.bind(n,9490)),"@site/docs/server-docs/indexing.md",9490],b28c3188:[()=>n.e(3559).then(n.bind(n,1234)),"@site/docs/server-docs/configuration.md",1234],b2ade0e8:[()=>n.e(8563).then(n.t.bind(n,1579,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-open-source-bc6.json",1579],b2c9ad8a:[()=>n.e(3680).then(n.t.bind(n,2319,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-app-optimization-286.json",2319],b4068411:[()=>n.e(8042).then(n.bind(n,176)),"@site/docs/server-docs/setup/caprover.md",176],b493ea72:[()=>n.e(4781).then(n.bind(n,9794)),"@site/blog/2023-07-20.md",9794],b7026fb3:[()=>n.e(752).then(n.bind(n,2660)),"@site/blog/2023-07-09.md",2660],b8ecf3c5:[()=>n.e(9847).then(n.bind(n,6262)),"@site/docs/client-docs/setup.md",6262],ba3af7ad:[()=>n.e(1814).then(n.bind(n,5040)),"@site/blog/2023-07-08.md?truncated=true",5040],ba57e113:[()=>n.e(5948).then(n.bind(n,2826)),"@site/docs/license-contribute.md",2826],bb12dd4d:[()=>n.e(4286).then(n.t.bind(n,1988,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-logo-concept-discussion-9f8.json",1988],bc0aa6af:[()=>n.e(8404).then(n.t.bind(n,3389,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-plugin-system-7eb.json",3389],bcc2422e:[()=>n.e(8704).then(n.t.bind(n,939,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-ui-redesign-87d.json",939],bdf26d57:[()=>n.e(4452).then(n.t.bind(n,3806,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-collaboration-ed6.json",3806],c15d9823:[()=>n.e(6642).then(n.t.bind(n,2506,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-bd9.json",2506],c332f8df:[()=>n.e(8258).then(n.bind(n,8314)),"@site/blog/2023-07-19.md",8314],c4f5d8e4:[()=>Promise.all([n.e(532),n.e(4195)]).then(n.bind(n,2452)),"@site/src/pages/index.js",2452],c71ef62c:[()=>n.e(2328).then(n.t.bind(n,3584,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-keyhole-representation-72c.json",3584],c7bbcbc7:[()=>n.e(2422).then(n.t.bind(n,1360,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-startup-dff.json",1360],c8472403:[()=>n.e(9710).then(n.t.bind(n,4051,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-special-thanks-d94.json",4051],c89c7974:[()=>n.e(5865).then(n.bind(n,433)),"@site/docs/advanced-usage/rest-api.md",433],c8fbe42c:[()=>n.e(8364).then(n.t.bind(n,3131,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-selfhosted-podcast-cda.json",3131],c9618c72:[()=>n.e(1472).then(n.t.bind(n,9311,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-official-installations-22e.json",9311],c9cac9d9:[()=>n.e(6325).then(n.t.bind(n,1305,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-release-6bd.json",1305],c9d2adb2:[()=>n.e(2701).then(n.bind(n,5956)),"@site/docs/gamevault-plus/client-setup.md",5956],ca2d5c98:[()=>n.e(3392).then(n.t.bind(n,9401,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-motivation-041.json",9401],cc0b9cf0:[()=>n.e(6364).then(n.t.bind(n,7587,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-source-available-927.json",7587],cc616304:[()=>n.e(717).then(n.t.bind(n,2453,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-easter-egg-364.json",2453],ccc49370:[()=>Promise.all([n.e(532),n.e(6493),n.e(2091),n.e(6103)]).then(n.bind(n,6509)),"@theme/BlogPostPage",6509],cd59c184:[()=>n.e(3112).then(n.bind(n,1634)),"@site/blog/2024-04-14.md",1634],cd781ce1:[()=>n.e(9230).then(n.t.bind(n,2343,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-voting-6d1.json",2343],cddec16f:[()=>n.e(5316).then(n.bind(n,3964)),"@site/docs/server-docs/setup/native.md",3964],cee5390f:[()=>n.e(691).then(n.t.bind(n,9724,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-ui-update-5b0.json",9724],d527dda4:[()=>n.e(7416).then(n.t.bind(n,5239,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-coding-chronicle-d70.json",5239],d53cd084:[()=>n.e(3585).then(n.t.bind(n,481,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-parental-control-493.json",481],d5823966:[()=>n.e(7262).then(n.t.bind(n,6572,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-features-ebb.json",6572],d5dcebd7:[()=>n.e(187).then(n.t.bind(n,678,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-new-name-7a4.json",678],d6138fd2:[()=>n.e(7471).then(n.t.bind(n,4368,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-user-engagement-9c0.json",4368],d82a1228:[()=>n.e(5050).then(n.t.bind(n,8846,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-early-access-da1.json",8846],d9341347:[()=>n.e(9490).then(n.t.bind(n,7995,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-multi-user-authentication-6f6.json",7995],d9d4e1f1:[()=>n.e(5300).then(n.bind(n,8256)),"@site/blog/2023-11-20.md?truncated=true",8256],daddf69a:[()=>n.e(5548).then(n.t.bind(n,3169,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-community-bc6.json",3169],daf02673:[()=>n.e(3581).then(n.t.bind(n,6061,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-public-cb9.json",6061],db0b0363:[()=>n.e(2805).then(n.t.bind(n,8513,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-software-licensing-7b3.json",8513],dc8e8e39:[()=>n.e(1736).then(n.t.bind(n,2252,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-community-623.json",2252],dcb9a9e8:[()=>n.e(4758).then(n.bind(n,2160)),"@site/docs/advanced-usage/linux-client.md",2160],dd9b1d9d:[()=>n.e(3433).then(n.t.bind(n,836,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-success-3d9.json",836],defc3e62:[()=>n.e(4412).then(n.t.bind(n,7917,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-sustainability-369.json",7917],df8deb2d:[()=>n.e(8860).then(n.t.bind(n,9731,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-milestone-4c3.json",9731],e07621e3:[()=>n.e(6182).then(n.t.bind(n,1865,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-love-for-game-vault-828.json",1865],e0a15777:[()=>n.e(9737).then(n.t.bind(n,9859,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-revenue-generation-e31.json",9859],e0c5798e:[()=>n.e(339).then(n.bind(n,8801)),"@site/blog/2024-03-28.md",8801],e0da75fc:[()=>n.e(2656).then(n.bind(n,7282)),"@site/docs/advanced-usage/steamdeck.md",7282],e3409e91:[()=>n.e(1180).then(n.t.bind(n,3687,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-cfa.json",3687],e46b1034:[()=>n.e(386).then(n.t.bind(n,1940,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-partnerships-171.json",1940],e4878929:[()=>n.e(765).then(n.t.bind(n,1169,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-community-growth-95a.json",1169],e5c4b825:[()=>n.e(5658).then(n.t.bind(n,9564,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-migration-finalization-c0b.json",9564],e623129a:[()=>n.e(3251).then(n.t.bind(n,5569,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-future-features-136.json",5569],e6a59d41:[()=>n.e(356).then(n.bind(n,4244)),"@site/docs/server-docs/user-management.md",4244],e70842e4:[()=>n.e(5912).then(n.bind(n,4712)),"@site/blog/2024-04-14.md?truncated=true",4712],e78c2f6e:[()=>n.e(1545).then(n.t.bind(n,2415,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-creepy-behavior-daa.json",2415],e7aa45d5:[()=>n.e(9886).then(n.bind(n,3581)),"@site/blog/2023-07-29.md",3581],e935068c:[()=>n.e(8307).then(n.t.bind(n,3419,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-server-e37.json",3419],e98ed1e4:[()=>n.e(3017).then(n.t.bind(n,7459,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-name-migration-progress-68d.json",7459],e9e0f988:[()=>n.e(310).then(n.bind(n,2607)),"@site/docs/client-docs/updating-client.md",2607],e9e1de17:[()=>n.e(9473).then(n.t.bind(n,233,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-software-development-c0f.json",233],ec46a009:[()=>n.e(9362).then(n.bind(n,2983)),"@site/docs/gamevault-plus/introduction.md",2983],eda4f68b:[()=>n.e(9424).then(n.t.bind(n,4289,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-ai-generated-names-ac1.json",4289],ee98c124:[()=>n.e(5590).then(n.bind(n,2380)),"@site/docs/advanced-usage/failt2ban.md",2380],ef8b811a:[()=>n.e(2644).then(n.t.bind(n,9441,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-authors-790.json",9441],f2a7e769:[()=>n.e(6522).then(n.t.bind(n,5714,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-sharing-blog-posts-3f1.json",5714],f4d4319b:[()=>n.e(2500).then(n.bind(n,9550)),"@site/docs/server-docs/setup/setup.md",9550],f525eb8a:[()=>n.e(146).then(n.t.bind(n,9591,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-api-049.json",9591],f58fbef8:[()=>n.e(3066).then(n.t.bind(n,6772,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-feedback-67f.json",6772],f5b06269:[()=>n.e(5565).then(n.bind(n,9221)),"@site/docs/gamevault-plus/themes.md",9221],f677311a:[()=>n.e(857).then(n.t.bind(n,1823,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-inclusivity-cdf.json",1823],f6f174b1:[()=>n.e(7764).then(n.t.bind(n,3540,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-beta-testing-146.json",3540],f81c1134:[()=>n.e(4031).then(n.t.bind(n,4108,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-archive-f05.json",4108],f8aea940:[()=>n.e(5961).then(n.bind(n,5799)),"@site/docs/client-docs/themes.md",5799],f94e70f3:[()=>n.e(6609).then(n.t.bind(n,7006,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-drm-free-406.json",7006],fb0a08ce:[()=>n.e(1392).then(n.bind(n,83)),"@site/blog/2023-07-24.md?truncated=true",83],fb0e7a2f:[()=>n.e(4893).then(n.t.bind(n,7641,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-rawg-6b2.json",7641],fbaf179c:[()=>n.e(4760).then(n.bind(n,3507)),"@site/blog/2024-05-07.md",3507],fcad5cc1:[()=>n.e(3025).then(n.t.bind(n,7280,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-development-c3c.json",7280],fe2b2ad8:[()=>n.e(4907).then(n.bind(n,5216)),"@site/blog/2024-05-07.md?truncated=true",5216],fee02ac9:[()=>n.e(1720).then(n.t.bind(n,2510,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-council-member-71b.json",2510],ff51e3f1:[()=>n.e(9498).then(n.t.bind(n,5551,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-support-request-58e.json",5551]};var s=n(2676);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(7346),u=n(4721);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(1649).then(n.bind(n,1649)),modules:["@theme/NotFound"],webpack:()=>[1649],render(e,t){const n=e.default;return(0,s.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],g=(0,c.Z)(r);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const l=o.__props;return delete o.__props,(0,s.jsx)(u.z,{value:i,children:(0,s.jsx)(a,{...o,...l,...n})})}})}const p=[{path:"/blog",component:d("/blog","deb"),exact:!0},{path:"/blog/2023/07/01/",component:d("/blog/2023/07/01/","30b"),exact:!0},{path:"/blog/2023/07/08/",component:d("/blog/2023/07/08/","d10"),exact:!0},{path:"/blog/2023/07/09/",component:d("/blog/2023/07/09/","2c2"),exact:!0},{path:"/blog/2023/07/13/",component:d("/blog/2023/07/13/","6e5"),exact:!0},{path:"/blog/2023/07/15/",component:d("/blog/2023/07/15/","b20"),exact:!0},{path:"/blog/2023/07/19/",component:d("/blog/2023/07/19/","8a6"),exact:!0},{path:"/blog/2023/07/20/",component:d("/blog/2023/07/20/","9b6"),exact:!0},{path:"/blog/2023/07/24/",component:d("/blog/2023/07/24/","4f4"),exact:!0},{path:"/blog/2023/07/29/",component:d("/blog/2023/07/29/","44c"),exact:!0},{path:"/blog/2023/11/20/",component:d("/blog/2023/11/20/","3f2"),exact:!0},{path:"/blog/2023/12/09/",component:d("/blog/2023/12/09/","d2c"),exact:!0},{path:"/blog/2024/03/28/",component:d("/blog/2024/03/28/","60b"),exact:!0},{path:"/blog/2024/04/01/2024-04-01/",component:d("/blog/2024/04/01/2024-04-01/","59c"),exact:!0},{path:"/blog/2024/04/14/",component:d("/blog/2024/04/14/","e89"),exact:!0},{path:"/blog/2024/05/07/",component:d("/blog/2024/05/07/","2dc"),exact:!0},{path:"/blog/2024/10/20/",component:d("/blog/2024/10/20/","4e9"),exact:!0},{path:"/blog/archive",component:d("/blog/archive","182"),exact:!0},{path:"/blog/authors",component:d("/blog/authors","0b7"),exact:!0},{path:"/blog/page/2",component:d("/blog/page/2","fd3"),exact:!0},{path:"/blog/tags",component:d("/blog/tags","287"),exact:!0},{path:"/blog/tags/age-restrictions",component:d("/blog/tags/age-restrictions","8da"),exact:!0},{path:"/blog/tags/ai-generated-names",component:d("/blog/tags/ai-generated-names","de1"),exact:!0},{path:"/blog/tags/alternative",component:d("/blog/tags/alternative","0cb"),exact:!0},{path:"/blog/tags/analytics",component:d("/blog/tags/analytics","105"),exact:!0},{path:"/blog/tags/announcement",component:d("/blog/tags/announcement","3ab"),exact:!0},{path:"/blog/tags/api",component:d("/blog/tags/api","d97"),exact:!0},{path:"/blog/tags/app",component:d("/blog/tags/app","f50"),exact:!0},{path:"/blog/tags/app-name-migration",component:d("/blog/tags/app-name-migration","b3d"),exact:!0},{path:"/blog/tags/app-optimization",component:d("/blog/tags/app-optimization","4b7"),exact:!0},{path:"/blog/tags/april-fools",component:d("/blog/tags/april-fools","45b"),exact:!0},{path:"/blog/tags/backend",component:d("/blog/tags/backend","bc5"),exact:!0},{path:"/blog/tags/backend-application-migration",component:d("/blog/tags/backend-application-migration","ea3"),exact:!0},{path:"/blog/tags/beta-testing",component:d("/blog/tags/beta-testing","8e3"),exact:!0},{path:"/blog/tags/blackmail",component:d("/blog/tags/blackmail","2a4"),exact:!0},{path:"/blog/tags/box-representation",component:d("/blog/tags/box-representation","400"),exact:!0},{path:"/blog/tags/bugs",component:d("/blog/tags/bugs","ff5"),exact:!0},{path:"/blog/tags/celebration-of-achievements",component:d("/blog/tags/celebration-of-achievements","f97"),exact:!0},{path:"/blog/tags/client-application-update",component:d("/blog/tags/client-application-update","45e"),exact:!0},{path:"/blog/tags/client-update",component:d("/blog/tags/client-update","d5b"),exact:!0},{path:"/blog/tags/cloud-based-game-platforms",component:d("/blog/tags/cloud-based-game-platforms","a94"),exact:!0},{path:"/blog/tags/code-access",component:d("/blog/tags/code-access","1ef"),exact:!0},{path:"/blog/tags/coding-chronicle",component:d("/blog/tags/coding-chronicle","d18"),exact:!0},{path:"/blog/tags/collaboration",component:d("/blog/tags/collaboration","f74"),exact:!0},{path:"/blog/tags/community",component:d("/blog/tags/community","e39"),exact:!0},{path:"/blog/tags/community-driven",component:d("/blog/tags/community-driven","63b"),exact:!0},{path:"/blog/tags/community-feedback",component:d("/blog/tags/community-feedback","3ee"),exact:!0},{path:"/blog/tags/community-management",component:d("/blog/tags/community-management","93f"),exact:!0},{path:"/blog/tags/continued-support",component:d("/blog/tags/continued-support","afc"),exact:!0},{path:"/blog/tags/control",component:d("/blog/tags/control","04d"),exact:!0},{path:"/blog/tags/council-member",component:d("/blog/tags/council-member","a6a"),exact:!0},{path:"/blog/tags/creepy-behavior",component:d("/blog/tags/creepy-behavior","090"),exact:!0},{path:"/blog/tags/database",component:d("/blog/tags/database","ff5"),exact:!0},{path:"/blog/tags/decision-making",component:d("/blog/tags/decision-making","532"),exact:!0},{path:"/blog/tags/developers",component:d("/blog/tags/developers","487"),exact:!0},{path:"/blog/tags/development",component:d("/blog/tags/development","b27"),exact:!0},{path:"/blog/tags/development-milestones",component:d("/blog/tags/development-milestones","1c9"),exact:!0},{path:"/blog/tags/discord",component:d("/blog/tags/discord","6df"),exact:!0},{path:"/blog/tags/discord-channel",component:d("/blog/tags/discord-channel","b2d"),exact:!0},{path:"/blog/tags/discord-community-growth",component:d("/blog/tags/discord-community-growth","136"),exact:!0},{path:"/blog/tags/discord-server",component:d("/blog/tags/discord-server","e4d"),exact:!0},{path:"/blog/tags/discord-server-promotion",component:d("/blog/tags/discord-server-promotion","f55"),exact:!0},{path:"/blog/tags/documentation-migration",component:d("/blog/tags/documentation-migration","405"),exact:!0},{path:"/blog/tags/domain-acquisition",component:d("/blog/tags/domain-acquisition","e1a"),exact:!0},{path:"/blog/tags/drm-free",component:d("/blog/tags/drm-free","c7e"),exact:!0},{path:"/blog/tags/drm-free-games",component:d("/blog/tags/drm-free-games","6cf"),exact:!0},{path:"/blog/tags/early-access",component:d("/blog/tags/early-access","ed5"),exact:!0},{path:"/blog/tags/easter-egg",component:d("/blog/tags/easter-egg","7c7"),exact:!0},{path:"/blog/tags/engagement",component:d("/blog/tags/engagement","b3b"),exact:!0},{path:"/blog/tags/exclusive-preview",component:d("/blog/tags/exclusive-preview","0fe"),exact:!0},{path:"/blog/tags/family-friendly",component:d("/blog/tags/family-friendly","282"),exact:!0},{path:"/blog/tags/feature-requests",component:d("/blog/tags/feature-requests","61d"),exact:!0},{path:"/blog/tags/features",component:d("/blog/tags/features","3d5"),exact:!0},{path:"/blog/tags/feedback",component:d("/blog/tags/feedback","a81"),exact:!0},{path:"/blog/tags/file-server",component:d("/blog/tags/file-server","f0b"),exact:!0},{path:"/blog/tags/financial-assistance",component:d("/blog/tags/financial-assistance","e64"),exact:!0},{path:"/blog/tags/future-development",component:d("/blog/tags/future-development","db0"),exact:!0},{path:"/blog/tags/future-features",component:d("/blog/tags/future-features","bed"),exact:!0},{path:"/blog/tags/game",component:d("/blog/tags/game","a29"),exact:!0},{path:"/blog/tags/game-development",component:d("/blog/tags/game-development","97c"),exact:!0},{path:"/blog/tags/game-hub",component:d("/blog/tags/game-hub","6c3"),exact:!0},{path:"/blog/tags/game-shelf",component:d("/blog/tags/game-shelf","566"),exact:!0},{path:"/blog/tags/game-stash",component:d("/blog/tags/game-stash","728"),exact:!0},{path:"/blog/tags/game-vault",component:d("/blog/tags/game-vault","39f"),exact:!0},{path:"/blog/tags/game-vault-app",component:d("/blog/tags/game-vault-app","bd6"),exact:!0},{path:"/blog/tags/game-vault-domain",component:d("/blog/tags/game-vault-domain","a5b"),exact:!0},{path:"/blog/tags/game-vault-journey",component:d("/blog/tags/game-vault-journey","52d"),exact:!0},{path:"/blog/tags/game-vault-milestone",component:d("/blog/tags/game-vault-milestone","030"),exact:!0},{path:"/blog/tags/gaming",component:d("/blog/tags/gaming","2b9"),exact:!0},{path:"/blog/tags/gaming-community",component:d("/blog/tags/gaming-community","73c"),exact:!0},{path:"/blog/tags/gaming-experience",component:d("/blog/tags/gaming-experience","f8c"),exact:!0},{path:"/blog/tags/gaming-platform",component:d("/blog/tags/gaming-platform","12f"),exact:!0},{path:"/blog/tags/gaming-servers",component:d("/blog/tags/gaming-servers","e66"),exact:!0},{path:"/blog/tags/git-hub",component:d("/blog/tags/git-hub","590"),exact:!0},{path:"/blog/tags/git-hub-issue",component:d("/blog/tags/git-hub-issue","8a0"),exact:!0},{path:"/blog/tags/gratitude",component:d("/blog/tags/gratitude","1d7"),exact:!0},{path:"/blog/tags/harassment",component:d("/blog/tags/harassment","89d"),exact:!0},{path:"/blog/tags/harbor",component:d("/blog/tags/harbor","a9f"),exact:!0},{path:"/blog/tags/health-monitoring",component:d("/blog/tags/health-monitoring","d88"),exact:!0},{path:"/blog/tags/hybrid-model",component:d("/blog/tags/hybrid-model","038"),exact:!0},{path:"/blog/tags/igdb",component:d("/blog/tags/igdb","6ff"),exact:!0},{path:"/blog/tags/improvement",component:d("/blog/tags/improvement","0af"),exact:!0},{path:"/blog/tags/inclusivity",component:d("/blog/tags/inclusivity","7a0"),exact:!0},{path:"/blog/tags/installation-pipeline",component:d("/blog/tags/installation-pipeline","94b"),exact:!0},{path:"/blog/tags/kanban-board",component:d("/blog/tags/kanban-board","372"),exact:!0},{path:"/blog/tags/keyhole-representation",component:d("/blog/tags/keyhole-representation","ae7"),exact:!0},{path:"/blog/tags/lemmy-community",component:d("/blog/tags/lemmy-community","a2d"),exact:!0},{path:"/blog/tags/lemmy-community-launch",component:d("/blog/tags/lemmy-community-launch","9dd"),exact:!0},{path:"/blog/tags/lemmy-forum",component:d("/blog/tags/lemmy-forum","7bd"),exact:!0},{path:"/blog/tags/logo-concept-discussion",component:d("/blog/tags/logo-concept-discussion","7e7"),exact:!0},{path:"/blog/tags/logo-deciphering",component:d("/blog/tags/logo-deciphering","dc4"),exact:!0},{path:"/blog/tags/love-for-game-vault",component:d("/blog/tags/love-for-game-vault","2f9"),exact:!0},{path:"/blog/tags/market-analysis",component:d("/blog/tags/market-analysis","c1c"),exact:!0},{path:"/blog/tags/metadata",component:d("/blog/tags/metadata","2c9"),exact:!0},{path:"/blog/tags/metadata-framework",component:d("/blog/tags/metadata-framework","bc5"),exact:!0},{path:"/blog/tags/microsoft-store",component:d("/blog/tags/microsoft-store","cc8"),exact:!0},{path:"/blog/tags/microsoft-store-publication",component:d("/blog/tags/microsoft-store-publication","a3d"),exact:!0},{path:"/blog/tags/migration-finalization",component:d("/blog/tags/migration-finalization","138"),exact:!0},{path:"/blog/tags/motivation",component:d("/blog/tags/motivation","8c7"),exact:!0},{path:"/blog/tags/multi-user-authentication",component:d("/blog/tags/multi-user-authentication","3a5"),exact:!0},{path:"/blog/tags/name-migration-progress",component:d("/blog/tags/name-migration-progress","396"),exact:!0},{path:"/blog/tags/negative-narratives",component:d("/blog/tags/negative-narratives","ef7"),exact:!0},{path:"/blog/tags/new-logo",component:d("/blog/tags/new-logo","3d9"),exact:!0},{path:"/blog/tags/new-name",component:d("/blog/tags/new-name","28c"),exact:!0},{path:"/blog/tags/new-name-announcement",component:d("/blog/tags/new-name-announcement","7b6"),exact:!0},{path:"/blog/tags/notes",component:d("/blog/tags/notes","f1b"),exact:!0},{path:"/blog/tags/november-update",component:d("/blog/tags/november-update","a61"),exact:!0},{path:"/blog/tags/official-installations",component:d("/blog/tags/official-installations","733"),exact:!0},{path:"/blog/tags/open-source",component:d("/blog/tags/open-source","6be"),exact:!0},{path:"/blog/tags/parental-control",component:d("/blog/tags/parental-control","65b"),exact:!0},{path:"/blog/tags/partnership",component:d("/blog/tags/partnership","0de"),exact:!0},{path:"/blog/tags/partnerships",component:d("/blog/tags/partnerships","588"),exact:!0},{path:"/blog/tags/platform",component:d("/blog/tags/platform","0bc"),exact:!0},{path:"/blog/tags/platform-values",component:d("/blog/tags/platform-values","376"),exact:!0},{path:"/blog/tags/plugin-system",component:d("/blog/tags/plugin-system","4f9"),exact:!0},{path:"/blog/tags/poll",component:d("/blog/tags/poll","eda"),exact:!0},{path:"/blog/tags/poll-results",component:d("/blog/tags/poll-results","2a9"),exact:!0},{path:"/blog/tags/polls",component:d("/blog/tags/polls","829"),exact:!0},{path:"/blog/tags/public",component:d("/blog/tags/public","f5f"),exact:!0},{path:"/blog/tags/racist",component:d("/blog/tags/racist","2bb"),exact:!0},{path:"/blog/tags/rawg",component:d("/blog/tags/rawg","5ed"),exact:!0},{path:"/blog/tags/rawg-api",component:d("/blog/tags/rawg-api","751"),exact:!0},{path:"/blog/tags/reddit-forum",component:d("/blog/tags/reddit-forum","61e"),exact:!0},{path:"/blog/tags/release",component:d("/blog/tags/release","15f"),exact:!0},{path:"/blog/tags/renaming-app",component:d("/blog/tags/renaming-app","d2c"),exact:!0},{path:"/blog/tags/revenue-generation",component:d("/blog/tags/revenue-generation","68c"),exact:!0},{path:"/blog/tags/roadmap",component:d("/blog/tags/roadmap","e17"),exact:!0},{path:"/blog/tags/safe-environment",component:d("/blog/tags/safe-environment","620"),exact:!0},{path:"/blog/tags/self-hosted",component:d("/blog/tags/self-hosted","19e"),exact:!0},{path:"/blog/tags/self-hosted-newsletter",component:d("/blog/tags/self-hosted-newsletter","b53"),exact:!0},{path:"/blog/tags/selfhosted-podcast",component:d("/blog/tags/selfhosted-podcast","8d7"),exact:!0},{path:"/blog/tags/server-update",component:d("/blog/tags/server-update","7ee"),exact:!0},{path:"/blog/tags/sharing-blog-posts",component:d("/blog/tags/sharing-blog-posts","2e3"),exact:!0},{path:"/blog/tags/simplifying-game-installation",component:d("/blog/tags/simplifying-game-installation","0a0"),exact:!0},{path:"/blog/tags/software",component:d("/blog/tags/software","ed0"),exact:!0},{path:"/blog/tags/software-development",component:d("/blog/tags/software-development","f78"),exact:!0},{path:"/blog/tags/software-licensing",component:d("/blog/tags/software-licensing","6a0"),exact:!0},{path:"/blog/tags/software-updates",component:d("/blog/tags/software-updates","742"),exact:!0},{path:"/blog/tags/solution",component:d("/blog/tags/solution","a71"),exact:!0},{path:"/blog/tags/source-available",component:d("/blog/tags/source-available","501"),exact:!0},{path:"/blog/tags/source-available-software",component:d("/blog/tags/source-available-software","42f"),exact:!0},{path:"/blog/tags/spam",component:d("/blog/tags/spam","99a"),exact:!0},{path:"/blog/tags/special-thanks",component:d("/blog/tags/special-thanks","721"),exact:!0},{path:"/blog/tags/speculation",component:d("/blog/tags/speculation","691"),exact:!0},{path:"/blog/tags/spreading-the-word",component:d("/blog/tags/spreading-the-word","9a5"),exact:!0},{path:"/blog/tags/startup",component:d("/blog/tags/startup","387"),exact:!0},{path:"/blog/tags/steam",component:d("/blog/tags/steam","5cb"),exact:!0},{path:"/blog/tags/subreddit-migration",component:d("/blog/tags/subreddit-migration","bf0"),exact:!0},{path:"/blog/tags/subscription",component:d("/blog/tags/subscription","088"),exact:!0},{path:"/blog/tags/subscription-model",component:d("/blog/tags/subscription-model","7e6"),exact:!0},{path:"/blog/tags/subscription-to-updates-role",component:d("/blog/tags/subscription-to-updates-role","97f"),exact:!0},{path:"/blog/tags/success",component:d("/blog/tags/success","cc5"),exact:!0},{path:"/blog/tags/support",component:d("/blog/tags/support","a33"),exact:!0},{path:"/blog/tags/support-request",component:d("/blog/tags/support-request","99a"),exact:!0},{path:"/blog/tags/surge-of-new-users",component:d("/blog/tags/surge-of-new-users","4ba"),exact:!0},{path:"/blog/tags/sustainability",component:d("/blog/tags/sustainability","5a8"),exact:!0},{path:"/blog/tags/tech-progress",component:d("/blog/tags/tech-progress","1f3"),exact:!0},{path:"/blog/tags/testing",component:d("/blog/tags/testing","ad7"),exact:!0},{path:"/blog/tags/theme",component:d("/blog/tags/theme","6c7"),exact:!0},{path:"/blog/tags/threats",component:d("/blog/tags/threats","3f9"),exact:!0},{path:"/blog/tags/transition-process",component:d("/blog/tags/transition-process","a0e"),exact:!0},{path:"/blog/tags/transparency",component:d("/blog/tags/transparency","7b3"),exact:!0},{path:"/blog/tags/trolls",component:d("/blog/tags/trolls","22a"),exact:!0},{path:"/blog/tags/twitch-tv",component:d("/blog/tags/twitch-tv","c17"),exact:!0},{path:"/blog/tags/ui-redesign",component:d("/blog/tags/ui-redesign","1e3"),exact:!0},{path:"/blog/tags/ui-update",component:d("/blog/tags/ui-update","0da"),exact:!0},{path:"/blog/tags/upcoming-update",component:d("/blog/tags/upcoming-update","f39"),exact:!0},{path:"/blog/tags/update",component:d("/blog/tags/update","fa1"),exact:!0},{path:"/blog/tags/updates",component:d("/blog/tags/updates","125"),exact:!0},{path:"/blog/tags/user-engagement",component:d("/blog/tags/user-engagement","51e"),exact:!0},{path:"/blog/tags/user-participation",component:d("/blog/tags/user-participation","15b"),exact:!0},{path:"/blog/tags/video-games",component:d("/blog/tags/video-games","b8c"),exact:!0},{path:"/blog/tags/videogame",component:d("/blog/tags/videogame","f65"),exact:!0},{path:"/blog/tags/voting",component:d("/blog/tags/voting","f23"),exact:!0},{path:"/docs",component:d("/docs","30d"),routes:[{path:"/docs",component:d("/docs","91c"),routes:[{path:"/docs",component:d("/docs","467"),routes:[{path:"/docs/advanced-usage/early-access-program",component:d("/docs/advanced-usage/early-access-program","e94"),exact:!0,sidebar:"docs"},{path:"/docs/advanced-usage/fail2ban-gamevault-guide",component:d("/docs/advanced-usage/fail2ban-gamevault-guide","5c4"),exact:!0,sidebar:"docs"},{path:"/docs/advanced-usage/linux-client",component:d("/docs/advanced-usage/linux-client","b06"),exact:!0,sidebar:"docs"},{path:"/docs/advanced-usage/rest-api",component:d("/docs/advanced-usage/rest-api","604"),exact:!0,sidebar:"docs"},{path:"/docs/advanced-usage/steamdeck",component:d("/docs/advanced-usage/steamdeck","6a7"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/data",component:d("/docs/client-docs/data","15d"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/gui",component:d("/docs/client-docs/gui","765"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/how-to-use",component:d("/docs/client-docs/how-to-use","7d7"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/setup",component:d("/docs/client-docs/setup","acb"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/themes",component:d("/docs/client-docs/themes","c41"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/updating-client",component:d("/docs/client-docs/updating-client","a30"),exact:!0,sidebar:"docs"},{path:"/docs/gamevault-plus/client-apis",component:d("/docs/gamevault-plus/client-apis","74c"),exact:!0,sidebar:"docs"},{path:"/docs/gamevault-plus/client-setup",component:d("/docs/gamevault-plus/client-setup","1f8"),exact:!0,sidebar:"docs"},{path:"/docs/gamevault-plus/introduction",component:d("/docs/gamevault-plus/introduction","f5b"),exact:!0,sidebar:"docs"},{path:"/docs/gamevault-plus/themes",component:d("/docs/gamevault-plus/themes","316"),exact:!0,sidebar:"docs"},{path:"/docs/intro",component:d("/docs/intro","cf4"),exact:!0,sidebar:"docs"},{path:"/docs/license-contribute",component:d("/docs/license-contribute","de6"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/adding-games",component:d("/docs/server-docs/adding-games","beb"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/backup-and-restore",component:d("/docs/server-docs/backup-and-restore","342"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/configuration",component:d("/docs/server-docs/configuration","84c"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/game-types",component:d("/docs/server-docs/game-types","cf3"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/indexing",component:d("/docs/server-docs/indexing","52d"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/media",component:d("/docs/server-docs/media","a99"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/metadata-enrichment/metadata",component:d("/docs/server-docs/metadata-enrichment/metadata","514"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/metadata-enrichment/provider-igdb",component:d("/docs/server-docs/metadata-enrichment/provider-igdb","fb9"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/parental-control",component:d("/docs/server-docs/parental-control","f19"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/plugins",component:d("/docs/server-docs/plugins","f7b"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/server-news",component:d("/docs/server-docs/server-news","1a2"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/",component:d("/docs/server-docs/setup/","cbb"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/caprover",component:d("/docs/server-docs/setup/caprover","37c"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/docker-compose",component:d("/docs/server-docs/setup/docker-compose","9c7"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/native",component:d("/docs/server-docs/setup/native","22b"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/synology-container-manager",component:d("/docs/server-docs/setup/synology-container-manager","01c"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/truenas-scale",component:d("/docs/server-docs/setup/truenas-scale","4c8"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/unraid",component:d("/docs/server-docs/setup/unraid","54c"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/structure",component:d("/docs/server-docs/structure","ae1"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/updating-games",component:d("/docs/server-docs/updating-games","4c5"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/user-management",component:d("/docs/server-docs/user-management","5ad"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/websockets",component:d("/docs/server-docs/websockets","046"),exact:!0,sidebar:"docs"},{path:"/docs/troubleshooting",component:d("/docs/troubleshooting","417"),exact:!0,sidebar:"docs"}]}]}]},{path:"/",component:d("/","2e1"),exact:!0},{path:"*",component:d("*")}]},8271:(e,t,n)=>{var r,o;!function(){var a,i,s,l,c,u,d,p,f,g,m,b,h,y,v,_,w,x,S,k,E,O,j,P,C,T,I,A,N,L,R=function(e){var t=new R.Builder;return t.pipeline.add(R.trimmer,R.stopWordFilter,R.stemmer),t.searchPipeline.add(R.stemmer),e.call(t,t),t.build()};R.version="2.3.9",R.utils={},R.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),R.utils.asString=function(e){return null==e?"":e.toString()},R.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r<n.length;r++){var o=n[r],a=e[o];if(Array.isArray(a))t[o]=a.slice();else{if("string"!=typeof a&&"number"!=typeof a&&"boolean"!=typeof a)throw new TypeError("clone is not deep and does not support nested objects");t[o]=a}}return t},R.FieldRef=function(e,t,n){this.docRef=e,this.fieldName=t,this._stringValue=n},R.FieldRef.joiner="/",R.FieldRef.fromString=function(e){var t=e.indexOf(R.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var n=e.slice(0,t),r=e.slice(t+1);return new R.FieldRef(r,n,e)},R.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+R.FieldRef.joiner+this.docRef),this._stringValue},R.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},R.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},R.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},R.Set.prototype.contains=function(e){return!!this.elements[e]},R.Set.prototype.intersect=function(e){var t,n,r,o=[];if(e===R.Set.complete)return this;if(e===R.Set.empty)return e;this.length<e.length?(t=this,n=e):(t=e,n=this),r=Object.keys(t.elements);for(var a=0;a<r.length;a++){var i=r[a];i in n.elements&&o.push(i)}return new R.Set(o)},R.Set.prototype.union=function(e){return e===R.Set.complete?R.Set.complete:e===R.Set.empty?this:new R.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},R.idf=function(e,t){var n=0;for(var r in e)"_index"!=r&&(n+=Object.keys(e[r]).length);var o=(t-n+.5)/(n+.5);return Math.log(1+Math.abs(o))},R.Token=function(e,t){this.str=e||"",this.metadata=t||{}},R.Token.prototype.toString=function(){return this.str},R.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},R.Token.prototype.clone=function(e){return e=e||function(e){return e},new R.Token(e(this.str,this.metadata),this.metadata)},R.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new R.Token(R.utils.asString(e).toLowerCase(),R.utils.clone(t))}));for(var n=e.toString().toLowerCase(),r=n.length,o=[],a=0,i=0;a<=r;a++){var s=a-i;if(n.charAt(a).match(R.tokenizer.separator)||a==r){if(s>0){var l=R.utils.clone(t)||{};l.position=[i,s],l.index=o.length,o.push(new R.Token(n.slice(i,a),l))}i=a+1}}return o},R.tokenizer.separator=/[\s\-]+/,R.Pipeline=function(){this._stack=[]},R.Pipeline.registeredFunctions=Object.create(null),R.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&R.utils.warn("Overwriting existing registered function: "+t),e.label=t,R.Pipeline.registeredFunctions[e.label]=e},R.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||R.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},R.Pipeline.load=function(e){var t=new R.Pipeline;return e.forEach((function(e){var n=R.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},R.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){R.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},R.Pipeline.prototype.after=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},R.Pipeline.prototype.before=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},R.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},R.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n<t;n++){for(var r=this._stack[n],o=[],a=0;a<e.length;a++){var i=r(e[a],a,e);if(null!=i&&""!==i)if(Array.isArray(i))for(var s=0;s<i.length;s++)o.push(i[s]);else o.push(i)}e=o}return e},R.Pipeline.prototype.runString=function(e,t){var n=new R.Token(e,t);return this.run([n]).map((function(e){return e.toString()}))},R.Pipeline.prototype.reset=function(){this._stack=[]},R.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return R.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},R.Vector=function(e){this._magnitude=0,this.elements=e||[]},R.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,n=this.elements.length/2,r=n-t,o=Math.floor(r/2),a=this.elements[2*o];r>1&&(a<e&&(t=o),a>e&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:a<e?2*(o+1):void 0},R.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},R.Vector.prototype.upsert=function(e,t,n){this._magnitude=0;var r=this.positionForIndex(e);this.elements[r]==e?this.elements[r+1]=n(this.elements[r+1],t):this.elements.splice(r,0,e,t)},R.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,n=1;n<t;n+=2){var r=this.elements[n];e+=r*r}return this._magnitude=Math.sqrt(e)},R.Vector.prototype.dot=function(e){for(var t=0,n=this.elements,r=e.elements,o=n.length,a=r.length,i=0,s=0,l=0,c=0;l<o&&c<a;)(i=n[l])<(s=r[c])?l+=2:i>s?c+=2:i==s&&(t+=n[l+1]*r[c+1],l+=2,c+=2);return t},R.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},R.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t<this.elements.length;t+=2,n++)e[n]=this.elements[t];return e},R.Vector.prototype.toJSON=function(){return this.elements},R.stemmer=(i={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},s={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},d="^("+(c="[^aeiou][^aeiouy]*")+")?"+(u=(l="[aeiouy]")+"[aeiou]*")+c+"("+u+")?$",p="^("+c+")?"+u+c+u+c,f="^("+c+")?"+l,g=new RegExp("^("+c+")?"+u+c),m=new RegExp(p),b=new RegExp(d),h=new RegExp(f),y=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,_=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,x=/.$/,S=/(at|bl|iz)$/,k=new RegExp("([^aeiouylsz])\\1$"),E=new RegExp("^"+c+l+"[^aeiouwxy]$"),O=/^(.+?[^aeiou])y$/,j=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,P=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,C=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,T=/^(.+?)(s|t)(ion)$/,I=/^(.+?)e$/,A=/ll$/,N=new RegExp("^"+c+l+"[^aeiouwxy]$"),L=function(e){var t,n,r,o,a,l,c;if(e.length<3)return e;if("y"==(r=e.substr(0,1))&&(e=r.toUpperCase()+e.substr(1)),a=v,(o=y).test(e)?e=e.replace(o,"$1$2"):a.test(e)&&(e=e.replace(a,"$1$2")),a=w,(o=_).test(e)){var u=o.exec(e);(o=g).test(u[1])&&(o=x,e=e.replace(o,""))}else a.test(e)&&(t=(u=a.exec(e))[1],(a=h).test(t)&&(l=k,c=E,(a=S).test(e=t)?e+="e":l.test(e)?(o=x,e=e.replace(o,"")):c.test(e)&&(e+="e")));return(o=O).test(e)&&(e=(t=(u=o.exec(e))[1])+"i"),(o=j).test(e)&&(t=(u=o.exec(e))[1],n=u[2],(o=g).test(t)&&(e=t+i[n])),(o=P).test(e)&&(t=(u=o.exec(e))[1],n=u[2],(o=g).test(t)&&(e=t+s[n])),a=T,(o=C).test(e)?(t=(u=o.exec(e))[1],(o=m).test(t)&&(e=t)):a.test(e)&&(t=(u=a.exec(e))[1]+u[2],(a=m).test(t)&&(e=t)),(o=I).test(e)&&(t=(u=o.exec(e))[1],a=b,l=N,((o=m).test(t)||a.test(t)&&!l.test(t))&&(e=t)),a=m,(o=A).test(e)&&a.test(e)&&(o=x,e=e.replace(o,"")),"y"==r&&(e=r.toLowerCase()+e.substr(1)),e},function(e){return e.update(L)}),R.Pipeline.registerFunction(R.stemmer,"stemmer"),R.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},R.stopWordFilter=R.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),R.Pipeline.registerFunction(R.stopWordFilter,"stopWordFilter"),R.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},R.Pipeline.registerFunction(R.trimmer,"trimmer"),R.TokenSet=function(){this.final=!1,this.edges={},this.id=R.TokenSet._nextId,R.TokenSet._nextId+=1},R.TokenSet._nextId=1,R.TokenSet.fromArray=function(e){for(var t=new R.TokenSet.Builder,n=0,r=e.length;n<r;n++)t.insert(e[n]);return t.finish(),t.root},R.TokenSet.fromClause=function(e){return"editDistance"in e?R.TokenSet.fromFuzzyString(e.term,e.editDistance):R.TokenSet.fromString(e.term)},R.TokenSet.fromFuzzyString=function(e,t){for(var n=new R.TokenSet,r=[{node:n,editsRemaining:t,str:e}];r.length;){var o=r.pop();if(o.str.length>0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new R.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new R.TokenSet;o.node.edges["*"]=s}if(0==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var l=o.node.edges["*"];else{l=new R.TokenSet;o.node.edges["*"]=l}1==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var c,u=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?c=o.node.edges[d]:(c=new R.TokenSet,o.node.edges[d]=c),1==o.str.length&&(c.final=!0),r.push({node:c,editsRemaining:o.editsRemaining-1,str:u+o.str.slice(2)})}}}return n},R.TokenSet.fromString=function(e){for(var t=new R.TokenSet,n=t,r=0,o=e.length;r<o;r++){var a=e[r],i=r==o-1;if("*"==a)t.edges[a]=t,t.final=i;else{var s=new R.TokenSet;s.final=i,t.edges[a]=s,t=s}}return n},R.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var n=t.pop(),r=Object.keys(n.node.edges),o=r.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var a=0;a<o;a++){var i=r[a];t.push({prefix:n.prefix.concat(i),node:n.node.edges[i]})}}return e},R.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),n=t.length,r=0;r<n;r++){var o=t[r];e=e+o+this.edges[o].id}return e},R.TokenSet.prototype.intersect=function(e){for(var t=new R.TokenSet,n=void 0,r=[{qNode:e,output:t,node:this}];r.length;){n=r.pop();for(var o=Object.keys(n.qNode.edges),a=o.length,i=Object.keys(n.node.edges),s=i.length,l=0;l<a;l++)for(var c=o[l],u=0;u<s;u++){var d=i[u];if(d==c||"*"==c){var p=n.node.edges[d],f=n.qNode.edges[c],g=p.final&&f.final,m=void 0;d in n.output.edges?(m=n.output.edges[d]).final=m.final||g:((m=new R.TokenSet).final=g,n.output.edges[d]=m),r.push({qNode:f,output:m,node:p})}}}return t},R.TokenSet.Builder=function(){this.previousWord="",this.root=new R.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},R.TokenSet.Builder.prototype.insert=function(e){var t,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var r=0;r<e.length&&r<this.previousWord.length&&e[r]==this.previousWord[r];r++)n++;this.minimize(n),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(r=n;r<e.length;r++){var o=new R.TokenSet,a=e[r];t.edges[a]=o,this.uncheckedNodes.push({parent:t,char:a,child:o}),t=o}t.final=!0,this.previousWord=e},R.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},R.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},R.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},R.Index.prototype.search=function(e){return this.query((function(t){new R.QueryParser(e,t).parse()}))},R.Index.prototype.query=function(e){for(var t=new R.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),s=0;s<this.fields.length;s++)r[this.fields[s]]=new R.Vector;e.call(t,t);for(s=0;s<t.clauses.length;s++){var l=t.clauses[s],c=null,u=R.Set.empty;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var p=c[d];l.term=p;var f=R.TokenSet.fromClause(l),g=this.tokenSet.intersect(f).toArray();if(0===g.length&&l.presence===R.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){a[I=l.fields[m]]=R.Set.empty}break}for(var b=0;b<g.length;b++){var h=g[b],y=this.invertedIndex[h],v=y._index;for(m=0;m<l.fields.length;m++){var _=y[I=l.fields[m]],w=Object.keys(_),x=h+"/"+I,S=new R.Set(w);if(l.presence==R.Query.presence.REQUIRED&&(u=u.union(S),void 0===a[I]&&(a[I]=R.Set.complete)),l.presence!=R.Query.presence.PROHIBITED){if(r[I].upsert(v,l.boost,(function(e,t){return e+t})),!o[x]){for(var k=0;k<w.length;k++){var E,O=w[k],j=new R.FieldRef(O,I),P=_[O];void 0===(E=n[j])?n[j]=new R.MatchData(h,I,P):E.add(h,I,P)}o[x]=!0}}else void 0===i[I]&&(i[I]=R.Set.empty),i[I]=i[I].union(S)}}}if(l.presence===R.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){a[I=l.fields[m]]=a[I].intersect(u)}}var C=R.Set.complete,T=R.Set.empty;for(s=0;s<this.fields.length;s++){var I;a[I=this.fields[s]]&&(C=C.intersect(a[I])),i[I]&&(T=T.union(i[I]))}var A=Object.keys(n),N=[],L=Object.create(null);if(t.isNegated()){A=Object.keys(this.fieldVectors);for(s=0;s<A.length;s++){j=A[s];var D=R.FieldRef.fromString(j);n[j]=new R.MatchData}}for(s=0;s<A.length;s++){var F=(D=R.FieldRef.fromString(A[s])).docRef;if(C.contains(F)&&!T.contains(F)){var M,z=this.fieldVectors[D],B=r[D.fieldName].similarity(z);if(void 0!==(M=L[F]))M.score+=B,M.matchData.combine(n[D]);else{var $={ref:F,score:B,matchData:n[D]};L[F]=$,N.push($)}}}return N.sort((function(e,t){return t.score-e.score}))},R.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:R.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},R.Index.load=function(e){var t={},n={},r=e.fieldVectors,o=Object.create(null),a=e.invertedIndex,i=new R.TokenSet.Builder,s=R.Pipeline.load(e.pipeline);e.version!=R.version&&R.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+R.version+"' does not match serialized index '"+e.version+"'");for(var l=0;l<r.length;l++){var c=(d=r[l])[0],u=d[1];n[c]=new R.Vector(u)}for(l=0;l<a.length;l++){var d,p=(d=a[l])[0],f=d[1];i.insert(p),o[p]=f}return i.finish(),t.fields=e.fields,t.fieldVectors=n,t.invertedIndex=o,t.tokenSet=i.root,t.pipeline=s,new R.Index(t)},R.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=R.tokenizer,this.pipeline=new R.Pipeline,this.searchPipeline=new R.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},R.Builder.prototype.ref=function(e){this._ref=e},R.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},R.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},R.Builder.prototype.k1=function(e){this._k1=e},R.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o<r.length;o++){var a=r[o],i=this._fields[a].extractor,s=this._fields[a].isLiteral??!1,l=i?i(e):e[a],c=s?[l]:this.tokenizer(l,{fields:[a]}),u=s?c:this.pipeline.run(c),d=new R.FieldRef(n,a),p=Object.create(null);this.fieldTermFrequencies[d]=p,this.fieldLengths[d]=0,this.fieldLengths[d]+=u.length;for(var f=0;f<u.length;f++){var g=u[f];if(null==p[g]&&(p[g]=0),p[g]+=1,null==this.invertedIndex[g]){var m=Object.create(null);m._index=this.termIndex,this.termIndex+=1;for(var b=0;b<r.length;b++)m[r[b]]=Object.create(null);this.invertedIndex[g]=m}null==this.invertedIndex[g][a][n]&&(this.invertedIndex[g][a][n]=Object.create(null));for(var h=0;h<this.metadataWhitelist.length;h++){var y=this.metadataWhitelist[h],v=g.metadata[y];null==this.invertedIndex[g][a][n][y]&&(this.invertedIndex[g][a][n][y]=[]),this.invertedIndex[g][a][n][y].push(v)}}}},R.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,n={},r={},o=0;o<t;o++){var a=R.FieldRef.fromString(e[o]),i=a.fieldName;r[i]||(r[i]=0),r[i]+=1,n[i]||(n[i]=0),n[i]+=this.fieldLengths[a]}var s=Object.keys(this._fields);for(o=0;o<s.length;o++){var l=s[o];n[l]=n[l]/r[l]}this.averageFieldLength=n},R.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),n=t.length,r=Object.create(null),o=0;o<n;o++){for(var a=R.FieldRef.fromString(t[o]),i=a.fieldName,s=this.fieldLengths[a],l=new R.Vector,c=this.fieldTermFrequencies[a],u=Object.keys(c),d=u.length,p=this._fields[i].boost||1,f=this._documents[a.docRef].boost||1,g=0;g<d;g++){var m,b,h,y=u[g],v=c[y],_=this.invertedIndex[y]._index;void 0===r[y]?(m=R.idf(this.invertedIndex[y],this.documentCount),r[y]=m):m=r[y],b=m*((this._k1+1)*v)/(this._k1*(1-this._b+this._b*(s/this.averageFieldLength[i]))+v),b*=p,b*=f,h=Math.round(1e3*b)/1e3,l.insert(_,h)}e[a]=l}this.fieldVectors=e},R.Builder.prototype.createTokenSet=function(){this.tokenSet=R.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},R.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new R.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},R.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},R.MatchData=function(e,t,n){for(var r=Object.create(null),o=Object.keys(n||{}),a=0;a<o.length;a++){var i=o[a];r[i]=n[i].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=r)},R.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),n=0;n<t.length;n++){var r=t[n],o=Object.keys(e.metadata[r]);null==this.metadata[r]&&(this.metadata[r]=Object.create(null));for(var a=0;a<o.length;a++){var i=o[a],s=Object.keys(e.metadata[r][i]);null==this.metadata[r][i]&&(this.metadata[r][i]=Object.create(null));for(var l=0;l<s.length;l++){var c=s[l];null==this.metadata[r][i][c]?this.metadata[r][i][c]=e.metadata[r][i][c]:this.metadata[r][i][c]=this.metadata[r][i][c].concat(e.metadata[r][i][c])}}}},R.MatchData.prototype.add=function(e,t,n){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=n);if(t in this.metadata[e])for(var r=Object.keys(n),o=0;o<r.length;o++){var a=r[o];a in this.metadata[e][t]?this.metadata[e][t][a]=this.metadata[e][t][a].concat(n[a]):this.metadata[e][t][a]=n[a]}else this.metadata[e][t]=n},R.Query=function(e){this.clauses=[],this.allFields=e},R.Query.wildcard=new String("*"),R.Query.wildcard.NONE=0,R.Query.wildcard.LEADING=1,R.Query.wildcard.TRAILING=2,R.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},R.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=R.Query.wildcard.NONE),e.wildcard&R.Query.wildcard.LEADING&&e.term.charAt(0)!=R.Query.wildcard&&(e.term="*"+e.term),e.wildcard&R.Query.wildcard.TRAILING&&e.term.slice(-1)!=R.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=R.Query.presence.OPTIONAL),this.clauses.push(e),this},R.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=R.Query.presence.PROHIBITED)return!1;return!0},R.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,R.utils.clone(t))}),this),this;var n=t||{};return n.term=e.toString(),this.clause(n),this},R.QueryParseError=function(e,t,n){this.name="QueryParseError",this.message=e,this.start=t,this.end=n},R.QueryParseError.prototype=new Error,R.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},R.QueryLexer.prototype.run=function(){for(var e=R.QueryLexer.lexText;e;)e=e(this)},R.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,n=this.pos,r=0;r<this.escapeCharPositions.length;r++)n=this.escapeCharPositions[r],e.push(this.str.slice(t,n)),t=n+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},R.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},R.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},R.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return R.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},R.QueryLexer.prototype.width=function(){return this.pos-this.start},R.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},R.QueryLexer.prototype.backup=function(){this.pos-=1},R.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=R.QueryLexer.EOS&&this.backup()},R.QueryLexer.prototype.more=function(){return this.pos<this.length},R.QueryLexer.EOS="EOS",R.QueryLexer.FIELD="FIELD",R.QueryLexer.TERM="TERM",R.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",R.QueryLexer.BOOST="BOOST",R.QueryLexer.PRESENCE="PRESENCE",R.QueryLexer.lexField=function(e){return e.backup(),e.emit(R.QueryLexer.FIELD),e.ignore(),R.QueryLexer.lexText},R.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(R.QueryLexer.TERM)),e.ignore(),e.more())return R.QueryLexer.lexText},R.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.EDIT_DISTANCE),R.QueryLexer.lexText},R.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.BOOST),R.QueryLexer.lexText},R.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(R.QueryLexer.TERM)},R.QueryLexer.termSeparator=R.tokenizer.separator,R.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==R.QueryLexer.EOS)return R.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return R.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if(t.match(R.QueryLexer.termSeparator))return R.QueryLexer.lexTerm}else e.escapeCharacter()}},R.QueryParser=function(e,t){this.lexer=new R.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},R.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=R.QueryParser.parseClause;e;)e=e(this);return this.query},R.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},R.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},R.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},R.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case R.QueryLexer.PRESENCE:return R.QueryParser.parsePresence;case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new R.QueryParseError(n,t.start,t.end)}},R.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=R.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=R.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new R.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new R.QueryParseError(n,t.start,t.end)}switch(r.type){case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new R.QueryParseError(n,r.start,r.end)}}},R.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new R.QueryParseError(r,t.start,t.end)}if(o.type===R.QueryLexer.TERM)return R.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}},R.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new R.QueryParseError(r,n.start,n.end)}else e.nextClause()}},R.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},R.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return R})?r.call(t,n,t,e):r)||(e.exports=o)}()},4889:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>i});var r=n(5271),o=n(2676);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},9617:(e,t,n)=>{"use strict";var r=n(5271),o=n(8751),a=n(3810),i=n(8594),s=n(6809),l=n(6593);const c=[n(8797),n(361),n(1893),n(4798),n(1925)];var u=n(7297),d=n(3225),p=n(7677),f=n(2676);function g(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var m=n(2791),b=n(6172),h=n(285),y=n(9364),v=n(9967),_=n(9897),w=n(8451),x=n(9247),S=n(5678),k=n(8625);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,b.Z)(),r=(0,_.l)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function O(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,b.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,b.Z)(),{pathname:r}=(0,d.TH)();return e+(0,S.Do)((0,h.ZP)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function j(){const{i18n:{currentLocale:e}}=(0,b.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.h})]}),n&&(0,f.jsx)(v.d,{image:n}),(0,f.jsx)(O,{}),(0,f.jsx)(E,{}),(0,f.jsx)(k.Z,{tag:x.H,locale:e}),(0,f.jsx)(m.Z,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const P=new Map;var C=n(4889),T=n(4500),I=n(2246);function A(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const o=c.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,I.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),A("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function L(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?A("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=A("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),L(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.AW,{location:t,render:()=>e})})}}const D=R,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${M}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${z}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${z}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function $(){const{siteConfig:{baseUrl:e}}=(0,b.Z)();return(0,f.jsx)(f.Fragment,{children:!l.Z.canUseDOM&&(0,f.jsx)(m.Z,{children:(0,f.jsx)("script",{children:B(e)})})})}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,b.Z)(),{pathname:n}=(0,d.TH)();return t&&n===e?(0,f.jsx)($,{}):null}function H(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:o}}=(0,b.Z)(),a=(0,h.ZP)(e),{htmlLang:i,direction:s}=o[r];return(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("html",{lang:i,dir:s}),(0,f.jsx)("title",{children:t}),(0,f.jsx)("meta",{property:"og:title",content:t}),(0,f.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,f.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,f.jsx)("link",{rel:"icon",href:a})]})}var Q=n(1048),V=n(6594);function Z(){const e=(0,V.Z)();return(0,f.jsx)(m.Z,{children:(0,f.jsx)("html",{"data-has-hydrated":e})})}const W=(0,p.H)(u.Z);function q(){const e=function(e){if(P.has(e.pathname))return{...e,pathname:P.get(e.pathname)};if((0,p.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return P.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return P.set(e.pathname,t),{...e,pathname:t}}((0,d.TH)());return(0,f.jsx)(D,{location:e,children:W})}function G(){return(0,f.jsx)(Q.Z,{children:(0,f.jsx)(T.M,{children:(0,f.jsxs)(C.t,{children:[(0,f.jsxs)(g,{children:[(0,f.jsx)(H,{}),(0,f.jsx)(j,{}),(0,f.jsx)(U,{}),(0,f.jsx)(q,{})]}),(0,f.jsx)(Z,{})]})})})}var Y=n(6887);const K=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var X=n(7346);const J=new Set,ee=new Set,te=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ne={prefetch:e=>{if(!(e=>!te()&&!ee.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,p.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Y).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,X.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!te()&&!ee.has(e))(e)&&(ee.add(e),L(e))},re=Object.freeze(ne);function oe(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,f.jsx)(i.UT,{children:t}):(0,f.jsx)(i.VK,{children:t})}const ae=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=re;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(a.B6,{children:(0,f.jsx)(oe,{children:(0,f.jsx)(G,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ae)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};L(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},4500:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(5271),o=n(6809);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"advanced-usage/early-access-program","path":"/docs/advanced-usage/early-access-program","sidebar":"docs"},{"id":"advanced-usage/fail2ban-gamevault-guide","path":"/docs/advanced-usage/fail2ban-gamevault-guide","sidebar":"docs"},{"id":"advanced-usage/linux-client","path":"/docs/advanced-usage/linux-client","sidebar":"docs"},{"id":"advanced-usage/rest-api","path":"/docs/advanced-usage/rest-api","sidebar":"docs"},{"id":"advanced-usage/steamdeck","path":"/docs/advanced-usage/steamdeck","sidebar":"docs"},{"id":"client-docs/data","path":"/docs/client-docs/data","sidebar":"docs"},{"id":"client-docs/gui","path":"/docs/client-docs/gui","sidebar":"docs"},{"id":"client-docs/how-to-use","path":"/docs/client-docs/how-to-use","sidebar":"docs"},{"id":"client-docs/setup","path":"/docs/client-docs/setup","sidebar":"docs"},{"id":"client-docs/themes","path":"/docs/client-docs/themes","sidebar":"docs"},{"id":"client-docs/updating-client","path":"/docs/client-docs/updating-client","sidebar":"docs"},{"id":"gamevault-plus/client-apis","path":"/docs/gamevault-plus/client-apis","sidebar":"docs"},{"id":"gamevault-plus/client-setup","path":"/docs/gamevault-plus/client-setup","sidebar":"docs"},{"id":"gamevault-plus/introduction","path":"/docs/gamevault-plus/introduction","sidebar":"docs"},{"id":"gamevault-plus/themes","path":"/docs/gamevault-plus/themes","sidebar":"docs"},{"id":"intro","path":"/docs/intro","sidebar":"docs"},{"id":"license-contribute","path":"/docs/license-contribute","sidebar":"docs"},{"id":"server-docs/adding-games","path":"/docs/server-docs/adding-games","sidebar":"docs"},{"id":"server-docs/backup-and-restore","path":"/docs/server-docs/backup-and-restore","sidebar":"docs"},{"id":"server-docs/configuration","path":"/docs/server-docs/configuration","sidebar":"docs"},{"id":"server-docs/game-types","path":"/docs/server-docs/game-types","sidebar":"docs"},{"id":"server-docs/indexing","path":"/docs/server-docs/indexing","sidebar":"docs"},{"id":"server-docs/media","path":"/docs/server-docs/media","sidebar":"docs"},{"id":"server-docs/metadata-enrichment/metadata","path":"/docs/server-docs/metadata-enrichment/metadata","sidebar":"docs"},{"id":"server-docs/metadata-enrichment/provider-igdb","path":"/docs/server-docs/metadata-enrichment/provider-igdb","sidebar":"docs"},{"id":"server-docs/parental-control","path":"/docs/server-docs/parental-control","sidebar":"docs"},{"id":"server-docs/plugins","path":"/docs/server-docs/plugins","sidebar":"docs"},{"id":"server-docs/server-news","path":"/docs/server-docs/server-news","sidebar":"docs"},{"id":"server-docs/setup/caprover","path":"/docs/server-docs/setup/caprover","sidebar":"docs"},{"id":"server-docs/setup/docker-compose","path":"/docs/server-docs/setup/docker-compose","sidebar":"docs"},{"id":"server-docs/setup/native","path":"/docs/server-docs/setup/native","sidebar":"docs"},{"id":"server-docs/setup/synology-container-manager","path":"/docs/server-docs/setup/synology-container-manager","sidebar":"docs"},{"id":"server-docs/setup/toc","path":"/docs/server-docs/setup/","sidebar":"docs"},{"id":"server-docs/setup/truenas-scale","path":"/docs/server-docs/setup/truenas-scale","sidebar":"docs"},{"id":"server-docs/setup/unraid","path":"/docs/server-docs/setup/unraid","sidebar":"docs"},{"id":"server-docs/structure","path":"/docs/server-docs/structure","sidebar":"docs"},{"id":"server-docs/updating-games","path":"/docs/server-docs/updating-games","sidebar":"docs"},{"id":"server-docs/user-management","path":"/docs/server-docs/user-management","sidebar":"docs"},{"id":"server-docs/websockets","path":"/docs/server-docs/websockets","sidebar":"docs"},{"id":"troubleshooting","path":"/docs/troubleshooting","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/intro","label":"intro"}}}}],"breadcrumbs":true}},"@cmfcmf/docusaurus-search-local":{"default":{"titleBoost":5,"contentBoost":1,"tagsBoost":3,"parentCategoriesBoost":2,"indexDocSidebarParentCategories":0,"maxSearchResults":8}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"3.5.2","siteVersion":"1.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.5.2"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.5.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.5.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.5.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.5.2"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.5.2"},"docusaurus-plugin-image-zoom":{"type":"package","name":"docusaurus-plugin-image-zoom","version":"2.0.0"},"@cmfcmf/docusaurus-search-local":{"type":"package","name":"@cmfcmf/docusaurus-search-local","version":"1.2.0"},"tailwind-plugin":{"type":"local"}}}');var c=n(2676);const u={siteConfig:o.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},1048:(e,t,n)=>{"use strict";n.d(t,{Z:()=>m});var r=n(5271),o=n(6593),a=n(2791),i=n(5678),s=n(3557),l=n(4721),c=n(2676);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.BN)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,c.jsx)(l.z,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(p,{children:(0,c.jsxs)(m,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.Z,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.Z,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const g=e=>(0,c.jsx)(f,{...e});class m extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??g)(e)}return e??null}}},6593:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},2791:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(5271);var r=n(3810),o=n(2676);function a(e){return(0,o.jsx)(r.ql,{...e})}},6527:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(5271),o=n(8594),a=n(5678),i=n(6172),s=n(374),l=n(6593),c=n(4167),u=n(285),d=n(2676);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:g,isActive:m,"data-noBrokenLinkCheck":b,autoAddBaseUrl:h=!0,...y}=e;const{siteConfig:v}=(0,i.Z)(),{trailingSlash:_,baseUrl:w}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,u.Cg)(),k=(0,c.Z)(),E=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>E.current));const O=p||f;const j=(0,s.Z)(O),P=O?.replace("pathname://","");let C=void 0!==P?(T=P,h&&(e=>e.startsWith("/"))(T)?S(T):T):void 0;var T;"hash"===x&&C?.startsWith("./")&&(C=C?.slice(1)),C&&j&&(C=(0,a.Do)(C,{trailingSlash:_,baseUrl:w}));const I=(0,r.useRef)(!1),A=n?o.OL:o.rU,N=l.Z.canUseIntersectionObserver,L=(0,r.useRef)(),R=()=>{I.current||null==C||(window.docusaurus.preload(C),I.current=!0)};(0,r.useEffect)((()=>(!N&&j&&l.Z.canUseDOM&&null!=C&&window.docusaurus.prefetch(C),()=>{N&&L.current&&L.current.disconnect()})),[L,C,N,j]);const D=C?.startsWith("#")??!1,F=!y.target||"_self"===y.target,M=!C||!j||!F||D&&"hash"!==x;b||!D&&M||k.collectLink(C),y.id&&k.collectAnchor(y.id);const z={};return M?(0,d.jsx)("a",{ref:E,href:C,...O&&!j&&{target:"_blank",rel:"noopener noreferrer"},...y,...z}):(0,d.jsx)(A,{...y,onMouseEnter:R,onTouchStart:R,innerRef:e=>{E.current=e,N&&e&&j&&(L.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(L.current.unobserve(e),L.current.disconnect(),null!=C&&window.docusaurus.prefetch(C))}))})),L.current.observe(e))},to:C,...n&&{isActive:m,activeClassName:g},...z})}const f=r.forwardRef(p)},2922:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>l});var r=n(5271),o=n(2676);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=s({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},4384:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},374:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>o,b:()=>r})},285:(e,t,n)=>{"use strict";n.d(t,{Cg:()=>i,ZP:()=>s});var r=n(5271),o=n(6172),a=n(374);function i(){const{siteConfig:e}=(0,o.Z)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,a.b)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},4167:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(5271);n(2676);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},6172:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(5271),o=n(4500);function a(){return(0,r.useContext)(o._)}},3923:(e,t,n)=>{"use strict";n.d(t,{OD:()=>a,eZ:()=>i});var r=n(6172),o=n(4384);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},6594:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(5271),o=n(4889);function a(){return(0,r.useContext)(o._)}},2246:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(5271);const o=n(6593).Z.canUseDOM?r.useLayoutEffect:r.useEffect},4268:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(5271),o=n(4721);function a(){const e=r.useContext(o._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},7346:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},4721:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>i});var r=n(5271),o=n(2676);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},1777:(e,t,n)=>{"use strict";n.d(t,{J:()=>y,L5:()=>b,Oh:()=>v});var r=n(5271),o=n(5364),a=n(4384),i=n(9364),s=n(1118),l=n(8274),c=n(2676);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,s.WA)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.WA)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.WA)(u(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=r.createContext(null);function g(){const e=(0,o._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=g();return(0,c.jsx)(f.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return(0,c.jsx)(m,{children:t})}function h(){const e=(0,r.useContext)(f);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=a.m);const t=(0,o.zh)(e),[n,i]=h(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function v(){const e=(0,o._r)(),[t]=h();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},684:(e,t,n)=>{"use strict";n.d(t,{J:()=>a,z:()=>i});var r=n(5364),o=n(1777);function a(e,t){return`docs-${e}-${t}`}function i(){const e=(0,r._r)(),t=(0,r.WS)(),n=(0,o.Oh)();return[...Object.keys(e).map((function(r){const o=t?.activePlugin.pluginId===r?t.activeVersion:void 0,i=n[r],s=e[r].versions.find((e=>e.isLast));return a(r,(o??i??s).name)}))]}},1081:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,b:()=>l});var r=n(5271),o=n(8274),a=n(2676);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.i6("DocsSidebarProvider");return e}},4376:(e,t,n)=>{"use strict";n.d(t,{LM:()=>p,MN:()=>E,SN:()=>k,_F:()=>b,f:()=>y,jA:()=>f,lO:()=>w,oz:()=>x,s1:()=>_,vY:()=>S});var r=n(5271),o=n(3225),a=n(7677),i=n(5364),s=n(6422),l=n(2347),c=n(1777),u=n(5219),d=n(1081);function p(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=p(t);if(e)return e}}(e):void 0:e.href}function f(){const{pathname:e}=(0,o.TH)(),t=(0,d.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=v({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,s.Mg)(e,t),m=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||m(e.items,t))}function h(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>h(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function y(e,t){return(0,r.useMemo)((()=>e.filter((e=>h(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,s.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,s.Mg)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function _(){const e=(0,d.V)(),{pathname:t}=(0,o.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function w(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,c.J)(e),o=(0,i.yW)(e);return(0,r.useMemo)((()=>(0,l.jj)([t,n,o].filter(Boolean))),[t,n,o])}function x(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,l.jj)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function k(e){let{route:t}=e;const n=(0,o.TH)(),r=(0,u.E)(),i=t.routes,s=i.find((e=>(0,o.LX)(n.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?r.docsSidebars[l]:void 0;return{docElement:(0,a.H)(i),sidebarName:l,sidebarItems:c}}function E(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!p(e)))}},5219:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>s});var r=n(5271),o=n(8274),a=n(2676);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.i6("DocsVersionProvider");return e}},5364:(e,t,n)=>{"use strict";n.d(t,{MN:()=>l.MN,Iw:()=>y,gA:()=>g,WS:()=>m,_r:()=>p,jA:()=>l.jA,Jo:()=>v,z1:()=>u.z,zh:()=>f,J:()=>c.J,yW:()=>h,gB:()=>b});var r=n(3225),o=n(3923);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function s(e,t){const n=i(e,t),o=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}var l=n(4376),c=n(1777),u=n(684);const d={},p=()=>(0,o.OD)("docusaurus-plugin-content-docs")??d,f=e=>{try{return(0,o.eZ)("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function g(e){void 0===e&&(e={});const t=p(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function m(e){void 0===e&&(e={});const t=g(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:i(t.pluginData,n)}}function b(e){return f(e).versions}function h(e){const t=f(e);return a(t)}function y(e){const t=f(e),{pathname:n}=(0,r.TH)();return s(t,n)}function v(e){const t=f(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=a(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},4354:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(5271),l=[],c=[];var u=s.createContext(null);function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var o=d(e[r]);o.loading?t.loading=!0:(t.loaded[r]=o.loaded,t.error=o.error),n.push(o.promise),o.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function g(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var g=i({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),m=null;function b(){return m||(m=e(g.loader)),m.promise}return l.push(b),"function"==typeof g.webpack&&c.push((function(){if((0,g.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return b()})),p=d=function(t){function n(n){var r;return a(o(o(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),m=e(g.loader),r._loadModule()})),b(),r.state={error:m.error,pastDelay:!1,timedOut:!1,loading:m.loading,loaded:m.loaded},r}r(n,t),n.preload=function(){return b()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context&&Array.isArray(g.modules)&&g.modules.forEach((function(t){e.context.report(t)})),m.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof g.delay&&(0===g.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),g.delay)),"number"==typeof g.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),g.timeout));var n=function(){t({error:m.error,loaded:m.loaded,loading:m.loading}),e._clearTimeouts()};m.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(g.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?g.render(this.state.loaded,this.props):null},n}(s.Component),a(d,"contextType",u),p}function m(e){return g(d,e)}m.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return g(p,e)};var b=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){return s.createElement(u.Provider,{value:{report:this.props.report}},s.Children.only(this.props.children))},t}(s.Component);function h(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return h(e)}))}m.Capture=b,m.preloadAll=function(){return new Promise((function(e,t){h(l).then(e,t)}))},m.preloadReady=function(){return new Promise((function(e,t){h(c).then(e,e)}))},e.exports=m},1893:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(9981),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},361:(e,t,n)=>{"use strict";n.r(t);var r=n(739),o=n(6809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(1559),n(6573)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},3221:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(5271);var r=n(4814),o=n(2922),a=n(9364),i=n(6527),s=n(4167);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_BnxJ",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_re8X"};var c=n(2676);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.Z)(),{navbar:{hideOnScroll:p}}=(0,a.L)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,o.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.Z)("anchor",p?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},2366:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(5271);const r={iconExternalLink:"iconExternalLink_rK98"};var o=n(2676);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},3557:(e,t,n)=>{"use strict";n.d(t,{Z:()=>si});var r=n(5271),o=n(4814),a=n(1048),i=n(9967),s=n(3225),l=n(2922),c=n(4890),u=n(2676);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const g=(0,l.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??g,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":g,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var b=n(3509),h=n(8451);const y={skipToContent:"skipToContent_N_FB"};function v(){return(0,u.jsx)(m,{className:y.skipToContent})}var _=n(9364),w=n(6701);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_xADE"};function k(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.Z)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_CsLf"};function O(e){const{announcementBar:t}=(0,_.L)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.Z)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const j={announcementBar:"announcementBar_wEz5",announcementBarPlaceholder:"announcementBarPlaceholder_e0hD",announcementBarClose:"announcementBarClose_hClt",announcementBarContent:"announcementBarContent_RqlE"};function P(){const{announcementBar:e}=(0,_.L)(),{isActive:t,close:n}=(0,w.n)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,u.jsxs)("div",{className:j.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,u.jsx)("div",{className:j.announcementBarPlaceholder}),(0,u.jsx)(O,{className:j.announcementBarContent}),a&&(0,u.jsx)(k,{onClick:n,className:j.announcementBarClose})]})}var C=n(8568),T=n(1309);var I=n(8274),A=n(3158);const N=r.createContext(null);function L(e){let{children:t}=e;const n=function(){const e=(0,C.e)(),t=(0,A.HY)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,I.D9)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(N.Provider,{value:n,children:t})}function R(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(N);if(!e)throw new I.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,A.HY)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:R(a)})),[o,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=D();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(7934),z=n(6594);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_Ctpc",toggleButton:"toggleButton_QfJ4",darkToggleIcon:"darkToggleIcon_DyWs",lightToggleIcon:"lightToggleIcon_SP6E",toggleButtonDisabled:"toggleButtonDisabled_hyb0"};function H(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.Z)(),s=(0,l.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.Z)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,o.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,o.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const Q=r.memo(H),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_ul4N"};function Z(e){let{className:t}=e;const n=(0,_.L)().navbar.style,r=(0,_.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.I)();return r?null:(0,u.jsx)(Q,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(698);function q(){return(0,u.jsx)(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function G(){const e=(0,C.e)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(q,{}),(0,u.jsx)(Z,{className:"margin-right--md"}),(0,u.jsx)(G,{})]})}var K=n(6527),X=n(285),J=n(374);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(2366);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.ZP)(r),p=(0,X.ZP)(t),f=(0,X.ZP)(o,{forcePrependBaseUrl:!0}),g=a&&o&&!(0,J.Z)(o),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,g&&(0,u.jsx)(te.Z,{...s&&{width:12,height:12}})]})};return o?(0,u.jsx)(K.Z,{href:l?f:o,...c,...m}):(0,u.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...c,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,u.jsx)(ne,{className:(0,o.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,o.Z)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,u.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(3955),se=n(6422),le=n(6172);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_x5K8"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,o.Z)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(va,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:g}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[c,d,g]),(0,u.jsxs)("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,o.Z)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,u.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(va,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var ge=n(9897);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const be="iconLanguage_QTLV";var he=n(967);function ye(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,o)}),t)}}function ve(e){return{current:e}}function _e(e){return e!==Object(e)}function we(e,t){if(e===t)return!0;if(_e(e)||_e(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var o=r[n];if(!(o in t))return!1;if(!we(e[o],t[o]))return!1}return!0}var xe=function(){};function Se(e){var t=e.item,n=e.items,r=void 0===n?[]:n;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function ke(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(u){c=!0,o=u}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ee(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ee(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Oe=["items"],je=["items"];function Pe(e){return Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe(e)}function Ce(e){return function(e){if(Array.isArray(e))return Te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Te(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ie(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ae(Object(n),!0).forEach((function(t){Le(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ae(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Le(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Pe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Pe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Pe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Re(e){return e.map((function(e){var t=e.items,n=Ie(e,Oe);return Ne(Ne({},n),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||n.objectIDs})}))}function De(e){var t=function(e){var t=ke((e.version||"").split(".").map(Number),2),n=t[0],r=t[1];return n>=3||2===n&&r>=4||1===n&&r>=10}(e);function n(n,r,o){if(t&&void 0!==o){var a=o[0].__autocomplete_algoliaCredentials,i={"X-Algolia-Application-Id":a.appId,"X-Algolia-API-Key":a.apiKey};e.apply(void 0,[n].concat(Ce(r),[{headers:i}]))}else e.apply(void 0,[n].concat(Ce(r)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&n("clickedObjectIDsAfterSearch",Re(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&n("clickedObjectIDs",Re(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&n("convertedObjectIDsAfterSearch",Re(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&n("convertedObjectIDs",Re(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&t.reduce((function(e,t){var n=t.items,r=Ie(t,je);return[].concat(Ce(e),Ce(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r<e.objectIDs.length;r+=t)n.push(Ne(Ne({},e),{},{objectIDs:e.objectIDs.slice(r,r+t)}));return n}(Ne(Ne({},r),{},{objectIDs:(null==n?void 0:n.map((function(e){return e.objectID})))||r.objectIDs})).map((function(e){return{items:n,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return n("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function Fe(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function Me(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function ze(e){return ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ze(e)}function Be(e){return function(e){if(Array.isArray(e))return $e(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return $e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $e(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ue(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function He(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ue(Object(n),!0).forEach((function(t){Qe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ue(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Qe(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==ze(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==ze(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ze(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ve="2.6.0",Ze="https://cdn.jsdelivr.net/npm/search-insights@".concat(Ve,"/dist/search-insights.min.js"),We=ye((function(e){var t=e.onItemsChange,n=e.items,r=e.insights,o=e.state;t({insights:r,insightsEvents:Fe({items:n}).map((function(e){return He({eventName:"Items Viewed"},e)})),state:o})}),400);function qe(e){var t=function(e){return He({onItemsChange:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.viewedObjectIDs.apply(t,Be(n.map((function(e){return He(He({},e),{},{algoliaSource:Ge(e.algoliaSource,r.context)})}))))},onSelect:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.clickedObjectIDsAfterSearch.apply(t,Be(n.map((function(e){return He(He({},e),{},{algoliaSource:Ge(e.algoliaSource,r.context)})}))))},onActive:xe,__autocomplete_clickAnalytics:!0},e)}(e),n=t.insightsClient,r=t.onItemsChange,o=t.onSelect,a=t.onActive,i=t.__autocomplete_clickAnalytics,s=n;if(n||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(s=t[n]),s||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];t[n].queue.push(r)}),t[n].version=Ve,s=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=Ze,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(r){console.error(t)}}(t))})),!s)return{};var l=De(s),c=ve([]),u=ye((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(Be(e),Be(t.items))}),[]).filter(Me);we(c.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(c.current=n,n.length>0&&We({onItemsChange:r,items:n,insights:l,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive;function c(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:He(He({},i?{clickAnalytics:!0}:{}),e?{userToken:e}:{}),insights:l}})}s("addAlgoliaAgent","insights-plugin"),c(),s("onUserTokenChange",c),s("getUserToken",null,(function(e,t){c(t)})),n((function(e){var t=e.item,n=e.state,r=e.event,a=e.source;Me(t)&&o({state:n,event:r,insights:l,item:t,insightsEvents:[He({eventName:"Item Selected"},Se({item:t,items:a.getItems().filter(Me)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,o=e.event;Me(t)&&a({state:r,event:o,insights:l,item:t,insightsEvents:[He({eventName:"Item Active"},Se({item:t,items:n.getItems().filter(Me)}))]})}))},onStateChange:function(e){var t=e.state;u({state:t})},__autocomplete_pluginOptions:e}}function Ge(){var e,t=arguments.length>1?arguments[1]:void 0;return[].concat(Be(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),["autocomplete-internal"],Be(null!==(e=t.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}function Ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Ye(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ye(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ye(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Je(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,a){var i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ke(Object(n),!0).forEach((function(t){Xe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ke(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},o);o=e(o,{type:r,props:t,payload:a}),n({state:o,prevState:i})},pendingRequests:(r=[],{add:function(e){return r.push(e),e.finally((function(){r=r.filter((function(t){return t!==e}))}))},cancelAll:function(){r.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===r.length}})}}function et(e){return e.reduce((function(e,t){return e.concat(t)}),[])}function tt(e){return tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tt(e)}function nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nt(Object(n),!0).forEach((function(t){ot(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ot(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==tt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==tt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===tt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function at(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}var it=0;function st(){return"autocomplete-".concat(it++)}function lt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ct(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lt(Object(n),!0).forEach((function(t){ut(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ut(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==dt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==dt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===dt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dt(e){return dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dt(e)}function pt(e){return pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pt(e)}function ft(e){return function(e){if(Array.isArray(e))return gt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return gt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return gt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mt(Object(n),!0).forEach((function(t){ht(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ht(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==pt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==pt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===pt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yt(e,t){var n,r="undefined"!=typeof window?window:{},o=e.plugins||[];return bt(bt({debug:!1,openOnFocus:!1,enterKeyHint:void 0,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:void 0,environment:r,shouldPanelOpen:function(e){return at(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:st(),plugins:o,initialState:bt({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(ft(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Array.isArray(e),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:xe,onResolve:xe};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=ct(ct({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return et(e)})).then((function(e){return e.map((function(e){return bt(bt({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:bt({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function vt(e){return vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vt(e)}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_t(Object(n),!0).forEach((function(t){xt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_t(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xt(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==vt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==vt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===vt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function St(e){return St="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},St(e)}function kt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Et(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kt(Object(n),!0).forEach((function(t){Ot(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ot(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==St(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==St(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===St(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jt(e){return function(e){if(Array.isArray(e))return Pt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Pt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ct(e){return Boolean(e.execute)}function Tt(e,t,n){if(o=e,Boolean(null==o?void 0:o.execute)){var r="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(jt(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return Et(Et({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?Et(Et({},n),{},{params:Et(Et({},r),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}function It(e){var t=e.reduce((function(e,t){if(!Ct(t))return e.push(t),e;var n=t.searchClient,r=t.execute,o=t.requesterId,a=t.requests,i=e.find((function(e){return Ct(t)&&Ct(e)&&e.searchClient===n&&Boolean(o)&&e.requesterId===o}));if(i){var s;(s=i.items).push.apply(s,jt(a))}else{var l={execute:r,requesterId:o,items:a,searchClient:n};e.push(l)}return e}),[]).map((function(e){if(!Ct(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})}));return Promise.all(t).then((function(e){return et(e)}))}function At(e,t,n){return t.map((function(t){var r,o=e.filter((function(e){return e.sourceId===t.sourceId})),a=o.map((function(e){return e.items})),i=o[0].transformResponse,s=i?i({results:r=a,hits:r.map((function(e){return e.hits})).filter(Boolean),facetHits:r.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):a;return t.onResolve({source:t,results:a,items:s,state:n.getState()}),Array.isArray(s),s.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:s}}))}function Nt(e,t){var n=t;return{then:function(t,r){return Nt(e.then(Dt(t,n,e),Dt(r,n,e)),n)},catch:function(t){return Nt(e.catch(Dt(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),Nt(e.finally(Dt(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function Lt(e){return Nt(new Promise((function(t,n){return e(t,n)})),{isCanceled:!1,onCancelList:[]})}function Rt(e){return Nt(e,{isCanceled:!1,onCancelList:[]})}function Dt(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function Ft(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,a=0;!1===r;){var i=t.collections[o];if(i===n){r=!0;break}a+=i.items.length,o++}return t.activeItemId-a}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function Mt(e){return Mt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mt(e)}Lt.resolve=function(e){return Rt(Promise.resolve(e))},Lt.reject=function(e){return Rt(Promise.reject(e))};var zt=["event","nextState","props","query","refresh","store"];function Bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $t(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bt(Object(n),!0).forEach((function(t){Ut(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ut(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Mt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Mt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Mt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ht(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Qt,Vt,Zt,Wt=null,qt=(Qt=-1,Vt=-1,Zt=void 0,function(e){var t=++Qt;return Promise.resolve(e).then((function(e){return Zt&&t<Vt?Zt:(Vt=t,Zt=e,e)}))});function Gt(e){var t=e.event,n=e.nextState,r=void 0===n?{}:n,o=e.props,a=e.query,i=e.refresh,s=e.store,l=Ht(e,zt);Wt&&o.environment.clearTimeout(Wt);var c=l.setCollections,u=l.setIsOpen,d=l.setQuery,p=l.setActiveItemId,f=l.setStatus,g=l.setContext;if(d(a),p(o.defaultActiveItemId),!a&&!1===o.openOnFocus){var m,b=s.getState().collections.map((function(e){return $t($t({},e),{},{items:[]})}));f("idle"),c(b),u(null!==(m=r.isOpen)&&void 0!==m?m:o.shouldPanelOpen({state:s.getState()}));var h=Rt(qt(b).then((function(){return Promise.resolve()})));return s.pendingRequests.add(h)}f("loading"),Wt=o.environment.setTimeout((function(){f("stalled")}),o.stallThreshold);var y=Rt(qt(o.getSources($t({query:a,refresh:i,state:s.getState()},l)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems($t({query:a,refresh:i,state:s.getState()},l))).then((function(t){return Tt(t,e.sourceId,s.getState())}))}))).then(It).then((function(t){var n,r=t.some((function(e){return function(e){return!Array.isArray(e)&&Boolean(null==e?void 0:e._automaticInsights)}(e.items)}));r&&g({algoliaInsightsPlugin:$t($t({},(null===(n=s.getState().context)||void 0===n?void 0:n.algoliaInsightsPlugin)||{}),{},{__automaticInsights:r})});return At(t,e,s)})).then((function(e){return function(e){var t=e.collections,n=e.props,r=e.state,o=t.reduce((function(e,t){return wt(wt({},e),{},xt({},t.source.sourceId,wt(wt({},t.source),{},{getItems:function(){return et(t.items)}})))}),{}),a=n.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:o,state:r}).sourcesBySourceId;return et(n.reshape({sourcesBySourceId:a,sources:Object.values(a),state:r})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:s.getState()})}))})))).then((function(e){var n;f("idle"),c(e);var d=o.shouldPanelOpen({state:s.getState()});u(null!==(n=r.isOpen)&&void 0!==n?n:o.openOnFocus&&!a&&d||d);var p=Ft(s.getState());if(null!==s.getState().activeItemId&&p){var g=p.item,m=p.itemInputValue,b=p.itemUrl,h=p.source;h.onActive($t({event:t,item:g,itemInputValue:m,itemUrl:b,refresh:i,source:h,state:s.getState()},l))}})).finally((function(){f("idle"),Wt&&o.environment.clearTimeout(Wt)}));return s.pendingRequests.add(y)}function Yt(e,t,n){return[e,null==n?void 0:n.sourceId,t].filter(Boolean).join("-").replace(/\s/g,"")}function Kt(e){return Kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kt(e)}var Xt=["event","props","refresh","store"];function Jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function en(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Jt(Object(n),!0).forEach((function(t){tn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Jt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function tn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Kt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Kt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Kt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nn(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var rn=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function on(e){return on="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},on(e)}var an=["props","refresh","store"],sn=["inputElement","formElement","panelElement"],ln=["inputElement"],cn=["inputElement","maxLength"],un=["source"],dn=["item","source"];function pn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pn(Object(n),!0).forEach((function(t){gn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==on(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==on(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===on(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function mn(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function bn(e){var t=e.props,n=e.refresh,r=e.store,o=mn(e,an);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return fn({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},mn(e,sn))},getRootProps:function(e){return fn({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Yt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Yt(t.id,"label")},e)},getFormProps:function(e){e.inputElement;return fn({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(fn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(fn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},mn(e,ln))},getLabelProps:function(e){return fn({htmlFor:Yt(t.id,"input"),id:Yt(t.id,"label")},e)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&Gt(fn({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var s=e||{},l=(s.inputElement,s.maxLength),c=void 0===l?512:l,u=mn(s,cn),d=Ft(r.getState()),p=function(e){return Boolean(e&&e.match(rn))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),f=t.enterKeyHint||(null!=d&&d.itemUrl&&!p?"go":"search");return fn({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?Yt(t.id,"item-".concat(r.getState().activeItemId),null==d?void 0:d.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Yt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Yt(t.id,"label"),value:r.getState().completion||r.getState().query,id:Yt(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:f,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:c,type:"search",onChange:function(e){Gt(fn({event:e,props:t,query:e.currentTarget.value.slice(0,c),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=nn(e,Xt);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=Ft(o.getState()),t=n.environment.document.getElementById(Yt(n.id,"item-".concat(o.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},s=function(){var e=Ft(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,s=e.itemUrl,l=e.source;l.onActive(en({event:t,item:n,itemInputValue:i,itemUrl:s,refresh:r,source:l,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?Gt(en({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),s(),setTimeout(i,0)})):(o.dispatch(t.key,{}),s(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=Ft(o.getState()),c=l.item,u=l.itemInputValue,d=l.itemUrl,p=l.source;if(t.metaKey||t.ctrlKey)void 0!==d&&(p.onSelect(en({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:d,item:c,state:o.getState()}));else if(t.shiftKey)void 0!==d&&(p.onSelect(en({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:d,item:c,state:o.getState()}));else if(t.altKey);else{if(void 0!==d)return p.onSelect(en({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:o.getState()},a)),void n.navigator.navigate({itemUrl:d,item:c,state:o.getState()});Gt(en({event:t,nextState:{isOpen:!1},props:n,query:u,refresh:r,store:o},a)).then((function(){p.onSelect(en({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:o.getState()},a))}))}}}(fn({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:xe,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},u)},getPanelProps:function(e){return fn({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,o=mn(n,un);return fn({role:"listbox","aria-labelledby":Yt(t.id,"label"),id:Yt(t.id,"list",r)},o)},getItemProps:function(e){var a=e.item,i=e.source,s=mn(e,dn);return fn({id:Yt(t.id,"item-".concat(a.__autocomplete_id),i),role:"option","aria-selected":r.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",a.__autocomplete_id);var t=Ft(r.getState());if(null!==r.getState().activeItemId&&t){var i=t.item,s=t.itemInputValue,l=t.itemUrl,c=t.source;c.onActive(fn({event:e,item:i,itemInputValue:s,itemUrl:l,refresh:n,source:c,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var s=i.getItemInputValue({item:a,state:r.getState()}),l=i.getItemUrl({item:a,state:r.getState()});(l?Promise.resolve():Gt(fn({event:e,nextState:{isOpen:!1},props:t,query:s,refresh:n,store:r},o))).then((function(){i.onSelect(fn({event:e,item:a,itemInputValue:s,itemUrl:l,refresh:n,source:i,state:r.getState()},o))}))}},s)}}}var hn="1.12.2",yn=[{segment:"autocomplete-core",version:hn}];function vn(e){return vn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vn(e)}function _n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_n(Object(n),!0).forEach((function(t){xn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_n(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==vn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==vn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===vn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sn(e){var t,n,r,o,a=e.plugins,i=e.options,s=null===(t=((null===(n=i.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,l=s?xn({},s,Object.keys((null===(r=i.__autocomplete_metadata)||void 0===r?void 0:r.options)||{})):{};return{plugins:a.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:wn({"autocomplete-core":Object.keys(i)},l),ua:yn.concat((null===(o=i.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function kn(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=Ft(n))||void 0===t?void 0:t.itemInputValue)||null}function En(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function On(e){return On="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},On(e)}function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jn(Object(n),!0).forEach((function(t){Cn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Cn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==On(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==On(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===On(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Tn=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return Pn(Pn({},e),{},{activeItemId:t.payload});case"setQuery":return Pn(Pn({},e),{},{query:t.payload,completion:null});case"setCollections":return Pn(Pn({},e),{},{collections:t.payload});case"setIsOpen":return Pn(Pn({},e),{},{isOpen:t.payload});case"setStatus":return Pn(Pn({},e),{},{status:t.payload});case"setContext":return Pn(Pn({},e),{},{context:Pn(Pn({},e.context),t.payload)});case"ArrowDown":var n=Pn(Pn({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:En(1,e.activeItemId,at(e),t.props.defaultActiveItemId)});return Pn(Pn({},n),{},{completion:kn({state:n})});case"ArrowUp":var r=Pn(Pn({},e),{},{activeItemId:En(-1,e.activeItemId,at(e),t.props.defaultActiveItemId)});return Pn(Pn({},r),{},{completion:kn({state:r})});case"Escape":return e.isOpen?Pn(Pn({},e),{},{activeItemId:null,isOpen:!1,completion:null}):Pn(Pn({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return Pn(Pn({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return Pn(Pn({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",completion:null,query:""});case"focus":return Pn(Pn({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:Pn(Pn({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return Pn(Pn({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function In(e){return In="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},In(e)}function An(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?An(Object(n),!0).forEach((function(t){Ln(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):An(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ln(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==In(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==In(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===In(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rn(e){var t=[],n=yt(e,t),r=Je(Tn,n,(function(e){var t,r,a=e.prevState,c=e.state;if(n.onStateChange(Nn({prevState:a,state:c,refresh:i,navigator:n.navigator},o)),!l()&&null!==(t=c.context)&&void 0!==t&&null!==(r=t.algoliaInsightsPlugin)&&void 0!==r&&r.__automaticInsights&&!1!==n.insights){var u=qe({__autocomplete_clickAnalytics:!1});n.plugins.push(u),s([u])}})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return rt(rt({},e),{},{items:et(e.items).map((function(e){return rt(rt({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),a=bn(Nn({props:n,refresh:i,store:r,navigator:n.navigator},o));function i(){return Gt(Nn({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,navigator:n.navigator,query:r.getState().query,refresh:i,store:r},o))}function s(e){e.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,Nn(Nn({},o),{},{navigator:n.navigator,refresh:i,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))}))}function l(){return n.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))}if(n.insights&&!l()){var c="boolean"==typeof n.insights?{}:n.insights;n.plugins.push(qe(c))}return s(n.plugins),function(e){var t,n,r=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var a=o.document.createElement("meta"),i=o.document.querySelector("head");a.name="algolia:metadata",setTimeout((function(){a.content=JSON.stringify(r),i.appendChild(a)}),0)}}({metadata:Sn({plugins:n.plugins,options:e}),environment:n.environment}),Nn(Nn({refresh:i,navigator:n.navigator},a),o)}var Dn=function(e,t,n,r){var o;t[0]=0;for(var a=1;a<t.length;a++){var i=t[a++],s=t[a]?(t[0]|=i?1:2,n[t[a++]]):t[++a];3===i?r[0]=s:4===i?r[1]=Object.assign(r[1]||{},s):5===i?(r[1]=r[1]||{})[t[++a]]=s:6===i?r[1][t[++a]]+=s+"":i?(o=e.apply(s,Dn(e,s,n,["",null])),r.push(o),s[0]?t[0]|=2:(t[a-2]=0,t[a]=o)):r.push(s)}return r},Fn=new Map;function Mn(e){var t=Fn.get(this);return t||(t=new Map,Fn.set(this,t)),(t=Dn(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,o="",a="",i=[0],s=function(e){1===r&&(e||(o=o.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?i.push(0,e,o):3===r&&(e||o)?(i.push(3,e,o),r=2):2===r&&"..."===o&&e?i.push(4,e,0):2===r&&o&&!e?i.push(5,0,!0,o):r>=5&&((o||!e&&5===r)&&(i.push(r,0,o,n),r=6),e&&(i.push(r,e,0,n),r=6)),o=""},l=0;l<e.length;l++){l&&(1===r&&s(),s(l));for(var c=0;c<e[l].length;c++)t=e[l][c],1===r?"<"===t?(s(),i=[i],r=3):o+=t:4===r?"--"===o&&">"===t?(r=1,o=""):o=t+o[0]:a?t===a?a="":o+=t:'"'===t||"'"===t?a=t:">"===t?(s(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[l][c+1])?(s(),3===r&&(i=i[0]),r=i,(i=i[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(s(),r=2):o+=t),3===r&&"!--"===o&&(r=4,i=i[0])}return s(),i}(e)),t),arguments,[])).length>1?t:t[0]}var zn=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-SubmitIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","20"),n.setAttribute("height","20"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"),n.appendChild(r),n},Bn=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n},$n=function(e){var t=e.environment.document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("class","aa-LoadingIcon"),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("width","20"),t.setAttribute("height","20"),t.innerHTML='<circle\n cx="50"\n cy="50"\n fill="none"\n r="35"\n stroke="currentColor"\n stroke-dasharray="164.93361431346415 56.97787143782138"\n stroke-width="6"\n>\n <animateTransform\n attributeName="transform"\n type="rotate"\n repeatCount="indefinite"\n dur="1s"\n values="0 50 50;90 50 50;180 50 50;360 50 50"\n keyTimes="0;0.40;0.65;1"\n />\n</circle>',t},Un=["ontouchstart","ontouchend","ontouchmove","ontouchcancel"];function Hn(e,t,n){e[t]=null===n?"":"number"!=typeof n?n:n+"px"}function Qn(e){this._listeners[e.type](e)}function Vn(e,t,n){var r,o,a=e[t];if("style"===t)if("string"==typeof n)e.style=n;else if(null===n)e.style="";else for(t in n)a&&n[t]===a[t]||Hn(e.style,t,n[t]);else"o"===t[0]&&"n"===t[1]?(r=t!==(t=t.replace(/Capture$/,"")),((o=t.toLowerCase())in e||Un.includes(o))&&(t=o),t=t.slice(2),e._listeners||(e._listeners={}),e._listeners[t]=n,n?a||e.addEventListener(t,Qn,r):e.removeEventListener(t,Qn,r)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&"download"!==t&&"href"!==t&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function Zn(e){return"onChange"===e?"onInput":e}function Wn(e,t){for(var n in t)Vn(e,Zn(n),t[n])}function qn(e,t){for(var n in t)"o"===n[0]&&"n"===n[1]||Vn(e,Zn(n),t[n])}var Gn=["children"];function Yn(e){return function(e){if(Array.isArray(e))return Kn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Kn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Kn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Kn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Xn(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Jn(e){return function(t,n){var r=n.children,o=void 0===r?[]:r,a=Xn(n,Gn),i=e.document.createElement(t);return Wn(i,a),i.append.apply(i,Yn(o)),i}}function er(e){return er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},er(e)}var tr=["autocompleteScopeApi","environment","classNames","getInputProps","getInputPropsCore","isDetached","state"];function nr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nr(Object(n),!0).forEach((function(t){or(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function or(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==er(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==er(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===er(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ar(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ir=function(e){var t=e.autocompleteScopeApi,n=e.environment,r=(e.classNames,e.getInputProps),o=e.getInputPropsCore,a=e.isDetached,i=e.state,s=ar(e,tr),l=Jn(n)("input",s),c=r(rr({state:i,props:o({inputElement:l}),inputElement:l},t));return Wn(l,rr(rr({},c),{},{onKeyDown:function(e){a&&"Tab"===e.key||c.onKeyDown(e)}})),l};function sr(e){return sr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sr(e)}function lr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lr(Object(n),!0).forEach((function(t){ur(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ur(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==sr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==sr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===sr(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var dr,pr,fr,gr,mr,br,hr,yr={},vr=[],_r=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,wr=Array.isArray;function xr(e,t){for(var n in t)e[n]=t[n];return e}function Sr(e){var t=e.parentNode;t&&t.removeChild(e)}function kr(e,t,n){var r,o,a,i={};for(a in t)"key"==a?r=t[a]:"ref"==a?o=t[a]:i[a]=t[a];if(arguments.length>2&&(i.children=arguments.length>3?dr.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===i[a]&&(i[a]=e.defaultProps[a]);return Er(e,i,r,o,null)}function Er(e,t,n,r,o){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++fr:o,__i:-1,__u:0};return null==o&&null!=pr.vnode&&pr.vnode(a),a}function Or(e){return e.children}function jr(e,t){this.props=e,this.context=t}function Pr(e,t){if(null==t)return e.__?Pr(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?Pr(e):null}function Cr(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return Cr(e)}}function Tr(e){(!e.__d&&(e.__d=!0)&&gr.push(e)&&!Ir.__r++||mr!==pr.debounceRendering)&&((mr=pr.debounceRendering)||br)(Ir)}function Ir(){var e,t,n,r,o,a,i,s,l;for(gr.sort(hr);e=gr.shift();)e.__d&&(t=gr.length,r=void 0,a=(o=(n=e).__v).__e,s=[],l=[],(i=n.__P)&&((r=xr({},o)).__v=o.__v+1,pr.vnode&&pr.vnode(r),Br(i,r,o,n.__n,void 0!==i.ownerSVGElement,32&o.__u?[a]:null,s,null==a?Pr(o):a,!!(32&o.__u),l),r.__.__k[r.__i]=r,$r(s,r,l),r.__e!=a&&Cr(r)),gr.length>t&&gr.sort(hr));Ir.__r=0}function Ar(e,t,n,r,o,a,i,s,l,c,u){var d,p,f,g,m,b=r&&r.__k||vr,h=t.length;for(n.__d=l,Nr(n,t,b),l=n.__d,d=0;d<h;d++)null!=(f=n.__k[d])&&"boolean"!=typeof f&&"function"!=typeof f&&(p=-1===f.__i?yr:b[f.__i]||yr,f.__i=d,Br(e,f,p,o,a,i,s,l,c,u),g=f.__e,f.ref&&p.ref!=f.ref&&(p.ref&&Hr(p.ref,null,f),u.push(f.ref,f.__c||g,f)),null==m&&null!=g&&(m=g),65536&f.__u||p.__k===f.__k?l=Lr(f,l,e):"function"==typeof f.type&&void 0!==f.__d?l=f.__d:g&&(l=g.nextSibling),f.__d=void 0,f.__u&=-196609);n.__d=l,n.__e=m}function Nr(e,t,n){var r,o,a,i,s,l=t.length,c=n.length,u=c,d=0;for(e.__k=[],r=0;r<l;r++)null!=(o=e.__k[r]=null==(o=t[r])||"boolean"==typeof o||"function"==typeof o?null:"string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?Er(null,o,null,null,o):wr(o)?Er(Or,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?Er(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,s=Rr(o,n,i=r+d,u),o.__i=s,a=null,-1!==s&&(u--,(a=n[s])&&(a.__u|=131072)),null==a||null===a.__v?(-1==s&&d--,"function"!=typeof o.type&&(o.__u|=65536)):s!==i&&(s===i+1?d++:s>i?u>l-i?d+=s-i:d--:d=s<i&&s==i-1?s-i:0,s!==r+d&&(o.__u|=65536))):(a=n[r])&&null==a.key&&a.__e&&(a.__e==e.__d&&(e.__d=Pr(a)),Qr(a,a,!1),n[r]=null,u--);if(u)for(r=0;r<c;r++)null!=(a=n[r])&&0==(131072&a.__u)&&(a.__e==e.__d&&(e.__d=Pr(a)),Qr(a,a))}function Lr(e,t,n){var r,o;if("function"==typeof e.type){for(r=e.__k,o=0;r&&o<r.length;o++)r[o]&&(r[o].__=e,t=Lr(r[o],t,n));return t}return e.__e!=t&&(n.insertBefore(e.__e,t||null),t=e.__e),t&&t.nextSibling}function Rr(e,t,n,r){var o=e.key,a=e.type,i=n-1,s=n+1,l=t[n];if(null===l||l&&o==l.key&&a===l.type)return n;if(r>(null!=l&&0==(131072&l.__u)?1:0))for(;i>=0||s<t.length;){if(i>=0){if((l=t[i])&&0==(131072&l.__u)&&o==l.key&&a===l.type)return i;i--}if(s<t.length){if((l=t[s])&&0==(131072&l.__u)&&o==l.key&&a===l.type)return s;s++}}return-1}function Dr(e,t,n){"-"===t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||_r.test(t)?n:n+"px"}function Fr(e,t,n,r,o){var a;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||Dr(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||Dr(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])a=t!==(t=t.replace(/(PointerCapture)$|Capture$/,"$1")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r?n.u=r.u:(n.u=Date.now(),e.addEventListener(t,a?zr:Mr,a)):e.removeEventListener(t,a?zr:Mr,a);else{if(o)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==t&&"height"!==t&&"href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&"rowSpan"!==t&&"colSpan"!==t&&"role"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null==n||!1===n&&"-"!==t[4]?e.removeAttribute(t):e.setAttribute(t,n))}}function Mr(e){var t=this.l[e.type+!1];if(e.t){if(e.t<=t.u)return}else e.t=Date.now();return t(pr.event?pr.event(e):e)}function zr(e){return this.l[e.type+!0](pr.event?pr.event(e):e)}function Br(e,t,n,r,o,a,i,s,l,c){var u,d,p,f,g,m,b,h,y,v,_,w,x,S,k,E=t.type;if(void 0!==t.constructor)return null;128&n.__u&&(l=!!(32&n.__u),a=[s=t.__e=n.__e]),(u=pr.__b)&&u(t);e:if("function"==typeof E)try{if(h=t.props,y=(u=E.contextType)&&r[u.__c],v=u?y?y.props.value:u.__:r,n.__c?b=(d=t.__c=n.__c).__=d.__E:("prototype"in E&&E.prototype.render?t.__c=d=new E(h,v):(t.__c=d=new jr(h,v),d.constructor=E,d.render=Vr),y&&y.sub(d),d.props=h,d.state||(d.state={}),d.context=v,d.__n=r,p=d.__d=!0,d.__h=[],d._sb=[]),null==d.__s&&(d.__s=d.state),null!=E.getDerivedStateFromProps&&(d.__s==d.state&&(d.__s=xr({},d.__s)),xr(d.__s,E.getDerivedStateFromProps(h,d.__s))),f=d.props,g=d.state,d.__v=t,p)null==E.getDerivedStateFromProps&&null!=d.componentWillMount&&d.componentWillMount(),null!=d.componentDidMount&&d.__h.push(d.componentDidMount);else{if(null==E.getDerivedStateFromProps&&h!==f&&null!=d.componentWillReceiveProps&&d.componentWillReceiveProps(h,v),!d.__e&&(null!=d.shouldComponentUpdate&&!1===d.shouldComponentUpdate(h,d.__s,v)||t.__v===n.__v)){for(t.__v!==n.__v&&(d.props=h,d.state=d.__s,d.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.forEach((function(e){e&&(e.__=t)})),_=0;_<d._sb.length;_++)d.__h.push(d._sb[_]);d._sb=[],d.__h.length&&i.push(d);break e}null!=d.componentWillUpdate&&d.componentWillUpdate(h,d.__s,v),null!=d.componentDidUpdate&&d.__h.push((function(){d.componentDidUpdate(f,g,m)}))}if(d.context=v,d.props=h,d.__P=e,d.__e=!1,w=pr.__r,x=0,"prototype"in E&&E.prototype.render){for(d.state=d.__s,d.__d=!1,w&&w(t),u=d.render(d.props,d.state,d.context),S=0;S<d._sb.length;S++)d.__h.push(d._sb[S]);d._sb=[]}else do{d.__d=!1,w&&w(t),u=d.render(d.props,d.state,d.context),d.state=d.__s}while(d.__d&&++x<25);d.state=d.__s,null!=d.getChildContext&&(r=xr(xr({},r),d.getChildContext())),p||null==d.getSnapshotBeforeUpdate||(m=d.getSnapshotBeforeUpdate(f,g)),Ar(e,wr(k=null!=u&&u.type===Or&&null==u.key?u.props.children:u)?k:[k],t,n,r,o,a,i,s,l,c),d.base=t.__e,t.__u&=-161,d.__h.length&&i.push(d),b&&(d.__E=d.__=null)}catch(e){t.__v=null,l||null!=a?(t.__e=s,t.__u|=l?160:32,a[a.indexOf(s)]=null):(t.__e=n.__e,t.__k=n.__k),pr.__e(e,t,n)}else null==a&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=Ur(n.__e,t,n,r,o,a,i,l,c);(u=pr.diffed)&&u(t)}function $r(e,t,n){t.__d=void 0;for(var r=0;r<n.length;r++)Hr(n[r],n[++r],n[++r]);pr.__c&&pr.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){pr.__e(e,t.__v)}}))}function Ur(e,t,n,r,o,a,i,s,l){var c,u,d,p,f,g,m,b=n.props,h=t.props,y=t.type;if("svg"===y&&(o=!0),null!=a)for(c=0;c<a.length;c++)if((f=a[c])&&"setAttribute"in f==!!y&&(y?f.localName===y:3===f.nodeType)){e=f,a[c]=null;break}if(null==e){if(null===y)return document.createTextNode(h);e=o?document.createElementNS("http://www.w3.org/2000/svg",y):document.createElement(y,h.is&&h),a=null,s=!1}if(null===y)b===h||s&&e.data===h||(e.data=h);else{if(a=a&&dr.call(e.childNodes),b=n.props||yr,!s&&null!=a)for(b={},c=0;c<e.attributes.length;c++)b[(f=e.attributes[c]).name]=f.value;for(c in b)f=b[c],"children"==c||("dangerouslySetInnerHTML"==c?d=f:"key"===c||c in h||Fr(e,c,null,f,o));for(c in h)f=h[c],"children"==c?p=f:"dangerouslySetInnerHTML"==c?u=f:"value"==c?g=f:"checked"==c?m=f:"key"===c||s&&"function"!=typeof f||b[c]===f||Fr(e,c,f,b[c],o);if(u)s||d&&(u.__html===d.__html||u.__html===e.innerHTML)||(e.innerHTML=u.__html),t.__k=[];else if(d&&(e.innerHTML=""),Ar(e,wr(p)?p:[p],t,n,r,o&&"foreignObject"!==y,a,i,a?a[0]:n.__k&&Pr(n,0),s,l),null!=a)for(c=a.length;c--;)null!=a[c]&&Sr(a[c]);s||(c="value",void 0!==g&&(g!==e[c]||"progress"===y&&!g||"option"===y&&g!==b[c])&&Fr(e,c,g,b[c],!1),c="checked",void 0!==m&&m!==e[c]&&Fr(e,c,m,b[c],!1))}return e}function Hr(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){pr.__e(e,n)}}function Qr(e,t,n){var r,o;if(pr.unmount&&pr.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||Hr(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){pr.__e(e,t)}r.base=r.__P=null,e.__c=void 0}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&Qr(r[o],t,n||"function"!=typeof e.type);n||null==e.__e||Sr(e.__e),e.__=e.__e=e.__d=void 0}function Vr(e,t,n){return this.constructor(e,n)}function Zr(e,t,n){var r,o,a,i;pr.__&&pr.__(e,t),o=(r="function"==typeof n)?null:n&&n.__k||t.__k,a=[],i=[],Br(t,e=(!r&&n||t).__k=kr(Or,null,[e]),o||yr,yr,void 0!==t.ownerSVGElement,!r&&n?[n]:o?null:t.firstChild?dr.call(t.childNodes):null,a,!r&&n?n:o?o.__e:t.firstChild,r,i),$r(a,e,i)}function Wr(e,t){return t.reduce((function(e,t){return e&&e[t]}),e)}dr=vr.slice,pr={__e:function(e,t,n,r){for(var o,a,i;t=t.__;)if((o=t.__c)&&!o.__)try{if((a=o.constructor)&&null!=a.getDerivedStateFromError&&(o.setState(a.getDerivedStateFromError(e)),i=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),i=o.__d),i)return o.__E=o}catch(t){e=t}throw e}},fr=0,jr.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=xr({},this.state),"function"==typeof e&&(e=e(xr({},n),this.props)),e&&xr(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),Tr(this))},jr.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Tr(this))},jr.prototype.render=Or,gr=[],br="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,hr=function(e,t){return e.__v.__b-t.__v.__b},Ir.__r=0;var qr="__aa-highlight__",Gr="__/aa-highlight__";function Yr(e){var t=e.highlightedValue.split(qr),n=t.shift(),r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(Gr);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function Kr(e){return function(e){if(Array.isArray(e))return Xr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Xr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xr(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Jr(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=Wr(t,["_highlightResult"].concat(Kr(r),["value"]));return"string"!=typeof o&&(o=Wr(t,r)||""),Yr({highlightedValue:o})}function eo(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,a=e.tagName,i=void 0===a?"mark":a;return t(n,{},Jr({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(i,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Highlight",r}var to={"&":"&","<":"<",">":">",""":'"',"'":"'"},no=new RegExp(/\w/i),ro=/&(amp|quot|lt|gt|#39);/g,oo=RegExp(ro.source);function ao(e,t){var n,r,o,a=e[t],i=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,s=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return no.test((o=a.value)&&oo.test(o)?o.replace(ro,(function(e){return to[e]})):o)||s!==i?a.isHighlighted:s}function io(e){return io="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},io(e)}function so(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?so(Object(n),!0).forEach((function(t){co(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):so(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function co(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==io(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==io(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===io(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uo(e){return e.some((function(e){return e.isHighlighted}))?e.map((function(t,n){return lo(lo({},t),{},{isHighlighted:!ao(e,n)})})):e.map((function(e){return lo(lo({},e),{},{isHighlighted:!1})}))}function po(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,a=e.attribute,i=e.tagName,s=void 0===i?"mark":i;return t(n,{},(r={hit:o,attribute:a},uo(Jr(r))).map((function(e,n){return e.isHighlighted?t(s,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseHighlight",r}function fo(e){return function(e){if(Array.isArray(e))return go(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return go(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return go(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function go(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function mo(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=Wr(t,["_snippetResult"].concat(fo(r),["value"]));return"string"!=typeof o&&(o=Wr(t,r)||""),Yr({highlightedValue:o})}function bo(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,a=e.attribute,i=e.tagName,s=void 0===i?"mark":i;return t(n,{},(r={hit:o,attribute:a},uo(mo(r))).map((function(e,n){return e.isHighlighted?t(s,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseSnippet",r}function ho(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,a=e.tagName,i=void 0===a?"mark":a;return t(n,{},mo({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(i,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Snippet",r}function yo(e,t){if("string"==typeof t){var n=e.document.querySelector(t);return"The element ".concat(JSON.stringify(t)," is not in the document."),n}return t}function vo(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];r!==o&&(e[n]=[r,o].filter(Boolean).join(" "))})),e}),{})}function _o(e){return _o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_o(e)}var wo=["classNames","container","getEnvironmentProps","getFormProps","getInputProps","getItemProps","getLabelProps","getListProps","getPanelProps","getRootProps","panelContainer","panelPlacement","render","renderNoResults","renderer","detachedMediaQuery","components","translations"];function xo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function So(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xo(Object(n),!0).forEach((function(t){ko(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ko(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==_o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==_o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_o(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Eo(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Oo={clearButton:"aa-ClearButton",detachedCancelButton:"aa-DetachedCancelButton",detachedContainer:"aa-DetachedContainer",detachedFormContainer:"aa-DetachedFormContainer",detachedOverlay:"aa-DetachedOverlay",detachedSearchButton:"aa-DetachedSearchButton",detachedSearchButtonIcon:"aa-DetachedSearchButtonIcon",detachedSearchButtonPlaceholder:"aa-DetachedSearchButtonPlaceholder",detachedSearchButtonQuery:"aa-DetachedSearchButtonQuery",form:"aa-Form",input:"aa-Input",inputWrapper:"aa-InputWrapper",inputWrapperPrefix:"aa-InputWrapperPrefix",inputWrapperSuffix:"aa-InputWrapperSuffix",item:"aa-Item",label:"aa-Label",list:"aa-List",loadingIndicator:"aa-LoadingIndicator",panel:"aa-Panel",panelLayout:"aa-PanelLayout aa-Panel--scrollable",root:"aa-Autocomplete",source:"aa-Source",sourceFooter:"aa-SourceFooter",sourceHeader:"aa-SourceHeader",sourceNoResults:"aa-SourceNoResults",submitButton:"aa-SubmitButton"},jo=function(e,t){var n=e.children;(0,e.render)(n,t)},Po={createElement:kr,Fragment:Or,render:Zr};function Co(e){var t=e.panelPlacement,n=e.container,r=e.form,o=e.environment,a=n.getBoundingClientRect(),i=(o.pageYOffset||o.document.documentElement.scrollTop||o.document.body.scrollTop||0)+a.top+a.height;switch(t){case"start":return{top:i,left:a.left};case"end":return{top:i,right:o.document.documentElement.clientWidth-(a.left+a.width)};case"full-width":return{top:i,left:0,right:0,width:"unset",maxWidth:"unset"};case"input-wrapper-width":var s=r.getBoundingClientRect();return{top:i,left:s.left,right:o.document.documentElement.clientWidth-(s.left+s.width),width:"unset",maxWidth:"unset"};default:throw new Error("[Autocomplete] The `panelPlacement` value ".concat(JSON.stringify(t)," is not valid."))}}function To(e){return To="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},To(e)}function Io(){return Io=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Io.apply(this,arguments)}function Ao(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function No(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ao(Object(n),!0).forEach((function(t){Lo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ao(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Lo(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==To(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==To(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===To(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ro=[{segment:"autocomplete-js",version:hn}];function Do(e){return function(e){if(Array.isArray(e))return Fo(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Fo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Fo(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Mo(e){return Mo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mo(e)}var zo=function(e){return e&&"object"===Mo(e)&&"[object Object]"===Object.prototype.toString.call(e)};function Bo(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];Array.isArray(r)&&Array.isArray(o)?e[n]=r.concat.apply(r,Do(o)):zo(r)&&zo(o)?e[n]=Bo(r,o):e[n]=o})),e}),{})}function $o(e){return $o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$o(e)}function Uo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ho(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Uo(Object(n),!0).forEach((function(t){Qo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Uo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Qo(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==$o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==$o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===$o(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(u){c=!0,o=u}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Zo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Zo(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Zo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Wo=["components"];function qo(e){return qo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qo(e)}function Go(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Yo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ko(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yo(Object(n),!0).forEach((function(t){Xo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xo(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==qo(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==qo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===qo(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jo(e){var t,n=function(){var e=[],t=[];function n(n){e.push(n);var r=n();t.push(r)}return{runEffect:n,cleanupEffects:function(){var e=t;t=[],e.forEach((function(e){e()}))},runEffects:function(){var t=e;e=[],t.forEach((function(e){n(e)}))}}}(),r=n.runEffect,o=n.cleanupEffects,a=n.runEffects,i=(t=[],{reactive:function(e){var n=e(),r={_fn:e,_ref:{current:n},get value(){return this._ref.current},set value(e){this._ref.current=e}};return t.push(r),r},runReactives:function(){t.forEach((function(e){e._ref.current=e._fn()}))}}),s=i.reactive,l=i.runReactives,c=ve(!1),u=ve(e),d=ve(void 0),p=s((function(){return function(e){var t,n=e.classNames,r=e.container,o=e.getEnvironmentProps,a=e.getFormProps,i=e.getInputProps,s=e.getItemProps,l=e.getLabelProps,c=e.getListProps,u=e.getPanelProps,d=e.getRootProps,p=e.panelContainer,f=e.panelPlacement,g=e.render,m=e.renderNoResults,b=e.renderer,h=e.detachedMediaQuery,y=e.components,v=e.translations,_=Eo(e,wo),w="undefined"!=typeof window?window:{},x=yo(w,r);x.tagName;var S=So(So({},Po),b),k={Highlight:eo(S),ReverseHighlight:po(S),ReverseSnippet:bo(S),Snippet:ho(S)};return{renderer:{classNames:vo(Oo,null!=n?n:{}),container:x,getEnvironmentProps:null!=o?o:function(e){return e.props},getFormProps:null!=a?a:function(e){return e.props},getInputProps:null!=i?i:function(e){return e.props},getItemProps:null!=s?s:function(e){return e.props},getLabelProps:null!=l?l:function(e){return e.props},getListProps:null!=c?c:function(e){return e.props},getPanelProps:null!=u?u:function(e){return e.props},getRootProps:null!=d?d:function(e){return e.props},panelContainer:p?yo(w,p):w.document.body,panelPlacement:null!=f?f:"input-wrapper-width",render:null!=g?g:jo,renderNoResults:m,renderer:S,detachedMediaQuery:null!=h?h:getComputedStyle(w.document.documentElement).getPropertyValue("--aa-detached-media-query"),components:So(So({},k),y),translations:So(So({},{clearButtonTitle:"Clear",detachedCancelButtonText:"Cancel",submitButtonTitle:"Submit"}),v)},core:So(So({},_),{},{id:null!==(t=_.id)&&void 0!==t?t:st(),environment:w})}}(u.current)})),f=s((function(){return p.value.core.environment.matchMedia(p.value.renderer.detachedMediaQuery).matches})),g=s((function(){return Rn(Ko(Ko({},p.value.core),{},{onStateChange:function(e){var t,n,r;c.current=e.state.collections.some((function(e){return e.source.templates.noResults})),null===(t=d.current)||void 0===t||t.call(d,e),null===(n=(r=p.value.core).onStateChange)||void 0===n||n.call(r,e)},shouldPanelOpen:u.current.shouldPanelOpen||function(e){var t=e.state;if(f.value)return!0;var n=at(t)>0;if(!p.value.core.openOnFocus&&!t.query)return n;var r=Boolean(c.current||p.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:Ro,options:e}}))})),m=ve(Ko({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},p.value.core.initialState)),b={getEnvironmentProps:p.value.renderer.getEnvironmentProps,getFormProps:p.value.renderer.getFormProps,getInputProps:p.value.renderer.getInputProps,getItemProps:p.value.renderer.getItemProps,getLabelProps:p.value.renderer.getLabelProps,getListProps:p.value.renderer.getListProps,getPanelProps:p.value.renderer.getPanelProps,getRootProps:p.value.renderer.getRootProps},h={setActiveItemId:g.value.setActiveItemId,setQuery:g.value.setQuery,setCollections:g.value.setCollections,setIsOpen:g.value.setIsOpen,setStatus:g.value.setStatus,setContext:g.value.setContext,refresh:g.value.refresh,navigator:g.value.navigator},y=s((function(){return Mn.bind(p.value.renderer.renderer.createElement)})),v=s((function(){return function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.classNames,o=e.environment,a=e.isDetached,i=e.placeholder,s=void 0===i?"Search":i,l=e.propGetters,c=e.setIsModalOpen,u=e.state,d=e.translations,p=Jn(o),f=l.getRootProps(cr({state:u,props:t.getRootProps({})},n)),g=p("div",cr({class:r.root},f)),m=p("div",{class:r.detachedContainer,onMouseDown:function(e){e.stopPropagation()}}),b=p("div",{class:r.detachedOverlay,children:[m],onMouseDown:function(){c(!1),t.setIsOpen(!1)}}),h=l.getLabelProps(cr({state:u,props:t.getLabelProps({})},n)),y=p("button",{class:r.submitButton,type:"submit",title:d.submitButtonTitle,children:[zn({environment:o})]}),v=p("label",cr({class:r.label,children:[y]},h)),_=p("button",{class:r.clearButton,type:"reset",title:d.clearButtonTitle,children:[Bn({environment:o})]}),w=p("div",{class:r.loadingIndicator,children:[$n({environment:o})]}),x=ir({class:r.input,environment:o,state:u,getInputProps:l.getInputProps,getInputPropsCore:t.getInputProps,autocompleteScopeApi:n,isDetached:a}),S=p("div",{class:r.inputWrapperPrefix,children:[v,w]}),k=p("div",{class:r.inputWrapperSuffix,children:[_]}),E=p("div",{class:r.inputWrapper,children:[x]}),O=l.getFormProps(cr({state:u,props:t.getFormProps({inputElement:x})},n)),j=p("form",cr({class:r.form,children:[S,E,k]},O)),P=l.getPanelProps(cr({state:u,props:t.getPanelProps({})},n)),C=p("div",cr({class:r.panel},P)),T=p("div",{class:r.detachedSearchButtonQuery,textContent:u.query}),I=p("div",{class:r.detachedSearchButtonPlaceholder,hidden:Boolean(u.query),textContent:s});if(a){var A=p("div",{class:r.detachedSearchButtonIcon,children:[zn({environment:o})]}),N=p("button",{type:"button",class:r.detachedSearchButton,onClick:function(){c(!0)},children:[A,I,T]}),L=p("button",{type:"button",class:r.detachedCancelButton,textContent:d.detachedCancelButtonText,onTouchStart:function(e){e.stopPropagation()},onClick:function(){t.setIsOpen(!1),c(!1)}}),R=p("div",{class:r.detachedFormContainer,children:[j,L]});m.appendChild(R),g.appendChild(N)}else g.appendChild(j);return{detachedContainer:m,detachedOverlay:b,detachedSearchButtonQuery:T,detachedSearchButtonPlaceholder:I,inputWrapper:E,input:x,root:g,form:j,label:v,submitButton:y,clearButton:_,loadingIndicator:w,panel:C}}({autocomplete:g.value,autocompleteScopeApi:h,classNames:p.value.renderer.classNames,environment:p.value.core.environment,isDetached:f.value,placeholder:p.value.core.placeholder,propGetters:b,setIsModalOpen:S,state:m.current,translations:p.value.renderer.translations})}));function _(){Wn(v.value.panel,{style:f.value?{}:Co({panelPlacement:p.value.renderer.panelPlacement,container:v.value.root,form:v.value.form,environment:p.value.core.environment})})}function w(e){m.current=e;var t={autocomplete:g.value,autocompleteScopeApi:h,classNames:p.value.renderer.classNames,components:p.value.renderer.components,container:p.value.renderer.container,html:y.value,dom:v.value,panelContainer:f.value?v.value.detachedContainer:p.value.renderer.panelContainer,propGetters:b,state:m.current,renderer:p.value.renderer.renderer},n=!at(e)&&!c.current&&p.value.renderer.renderNoResults||p.value.renderer.render;!function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.dom,o=e.propGetters,a=e.state;qn(r.root,o.getRootProps(No({state:a,props:t.getRootProps({})},n))),qn(r.input,o.getInputProps(No({state:a,props:t.getInputProps({inputElement:r.input}),inputElement:r.input},n))),Wn(r.label,{hidden:"stalled"===a.status}),Wn(r.loadingIndicator,{hidden:"stalled"!==a.status}),Wn(r.clearButton,{hidden:!a.query}),Wn(r.detachedSearchButtonQuery,{textContent:a.query}),Wn(r.detachedSearchButtonPlaceholder,{hidden:Boolean(a.query)})}(t),function(e,t){var n=t.autocomplete,r=t.autocompleteScopeApi,o=t.classNames,a=t.html,i=t.dom,s=t.panelContainer,l=t.propGetters,c=t.state,u=t.components,d=t.renderer;if(c.isOpen){s.contains(i.panel)||"loading"===c.status||s.appendChild(i.panel),i.panel.classList.toggle("aa-Panel--stalled","stalled"===c.status);var p=c.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var i=e.source,s=e.items;return d.createElement("section",{key:t,className:o.source,"data-autocomplete-source-id":i.sourceId},i.templates.header&&d.createElement("div",{className:o.sourceHeader},i.templates.header({components:u,createElement:d.createElement,Fragment:d.Fragment,items:s,source:i,state:c,html:a})),i.templates.noResults&&0===s.length?d.createElement("div",{className:o.sourceNoResults},i.templates.noResults({components:u,createElement:d.createElement,Fragment:d.Fragment,source:i,state:c,html:a})):d.createElement("ul",Io({className:o.list},l.getListProps(No({state:c,props:n.getListProps({source:i})},r))),s.map((function(e){var t=n.getItemProps({item:e,source:i});return d.createElement("li",Io({key:t.id,className:o.item},l.getItemProps(No({state:c,props:t},r))),i.templates.item({components:u,createElement:d.createElement,Fragment:d.Fragment,item:e,state:c,html:a}))}))),i.templates.footer&&d.createElement("div",{className:o.sourceFooter},i.templates.footer({components:u,createElement:d.createElement,Fragment:d.Fragment,items:s,source:i,state:c,html:a})))})),f=d.createElement(d.Fragment,null,d.createElement("div",{className:o.panelLayout},p),d.createElement("div",{className:"aa-GradientBottom"})),g=p.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(No(No({children:f,state:c,sections:p,elements:g},d),{},{components:u,html:a},r),i.panel)}else s.contains(i.panel)&&s.removeChild(i.panel)}(n,t)}function x(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o();var t,n,r=p.value.renderer,i=r.components,s=Go(r,Wo);u.current=Bo(s,p.value.core,{components:(t=i,n=function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")},Object.entries(t).reduce((function(e,t){var r=Vo(t,2),o=r[0],a=r[1];return n({key:o,value:a})?Ho(Ho({},e),{},Qo({},o,a)):e}),{})),initialState:m.current},e),l(),a(),g.value.refresh().then((function(){w(m.current)}))}function S(e){requestAnimationFrame((function(){var t=p.value.core.environment.document.body.contains(v.value.detachedOverlay);e!==t&&(e?(p.value.core.environment.document.body.appendChild(v.value.detachedOverlay),p.value.core.environment.document.body.classList.add("aa-Detached"),v.value.input.focus()):(p.value.core.environment.document.body.removeChild(v.value.detachedOverlay),p.value.core.environment.document.body.classList.remove("aa-Detached")))}))}return r((function(){var e=g.value.getEnvironmentProps({formElement:v.value.form,panelElement:v.value.panel,inputElement:v.value.input});return Wn(p.value.core.environment,e),function(){Wn(p.value.core.environment,Object.keys(e).reduce((function(e,t){return Ko(Ko({},e),{},Xo({},t,void 0))}),{}))}})),r((function(){var e=f.value?p.value.core.environment.document.body:p.value.renderer.panelContainer,t=f.value?v.value.detachedOverlay:v.value.panel;return f.value&&m.current.isOpen&&S(!0),w(m.current),function(){e.contains(t)&&e.removeChild(t)}})),r((function(){var e=p.value.renderer.container;return e.appendChild(v.value.root),function(){e.removeChild(v.value.root)}})),r((function(){var e=ye((function(e){w(e.state)}),0);return d.current=function(t){var n=t.state,r=t.prevState;(f.value&&r.isOpen!==n.isOpen&&S(n.isOpen),f.value||!n.isOpen||r.isOpen||_(),n.query!==r.query)&&p.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){d.current=void 0}})),r((function(){var e=ye((function(){var e=f.value;f.value=p.value.core.environment.matchMedia(p.value.renderer.detachedMediaQuery).matches,e!==f.value?x({}):requestAnimationFrame(_)}),20);return p.value.core.environment.addEventListener("resize",e),function(){p.value.core.environment.removeEventListener("resize",e)}})),r((function(){if(!f.value)return function(){};function e(e){v.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=p.value.core.environment.matchMedia(getComputedStyle(p.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),r((function(){return requestAnimationFrame(_),function(){}})),Ko(Ko({},h),{},{update:x,destroy:function(){o()}})}var ea=n(2791);const ta=n(8271),na=ta;var ra=n(2e3),oa=n.n(ra);function aa(){const e=(0,s.TH)(),t=(0,s.k6)(),{siteConfig:{baseUrl:n}}=(0,le.Z)(),[o,a]=(0,r.useState)({terms:[],isDocsOrBlog:!1});return(0,r.useEffect)((()=>{if(!e.state?.cmfcmfhighlight||0===e.state.cmfcmfhighlight.terms.length)return;a(e.state.cmfcmfhighlight);const{cmfcmfhighlight:n,...r}=e.state;t.replace({...e,state:r})}),[e.state?.cmfcmfhighlight,t,e]),(0,r.useEffect)((()=>{if(0===o.terms.length)return;const e=o.isDocsOrBlog?document.getElementsByTagName("article")[0]:document.getElementsByTagName("main")[0];if(!e)return;const t=new(oa())(e),n={ignoreJoiners:!0};return t.mark(o.terms,n),()=>t.unmark(n)}),[o,n]),null}var ia=n(3923),sa=n(9247);function la(e){let{document:t}=e;const[n,r]=t.sectionRoute.split("#");let o=n;return r&&(o+="#"+r),o}const ca={documents:[],index:na((function(){this.ref("id"),this.field("title"),this.field("content")}))};const ua=()=>{const e=(0,z.Z)(),[t,o]=(0,r.useState)((()=>!!e&&"dark"===document.documentElement.getAttribute("data-theme")));(0,r.useEffect)((()=>{const e=new MutationObserver((()=>{o("dark"===document.documentElement.getAttribute("data-theme"))}));return e.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>e.disconnect()}),[]);const{siteConfig:{baseUrl:a}}=(0,le.Z)(),{titleBoost:i,contentBoost:c,tagsBoost:u,parentCategoriesBoost:d,indexDocSidebarParentCategories:p,maxSearchResults:f}=(0,ia.eZ)("@cmfcmf/docusaurus-search-local"),g=(0,s.k6)(),{tags:m}=function(){const{i18n:e}=(0,le.Z)(),t=n(5364).z1(),r=[sa.H,...t];return{locale:e.currentLocale,tags:r}}(),b=(0,r.useRef)(m);(0,r.useEffect)((()=>{b.current=m}),[m]);const h=(0,r.useRef)({}),y=async e=>{const t=h.current[e];switch(t?.state){case"ready":return t;case void 0:{const t=[];h.current[e]={state:"loading",callbacks:t};const n=await async function(e,t){{let r;try{const n=await fetch(`${e}search-index-${t}.json`);if(!n.ok)return ca;r=await n.json()}catch(n){return ca}return{documents:r.documents,index:na.Index.load(r.index)}}}(a,e);return t.forEach((e=>e(n))),h.current[e]={state:"ready",...n}}case"loading":return new Promise((e=>{t.callbacks.push(e)}))}},v=(0,l.I)({message:"cmfcmf/d-s-l.searchBar.placeholder",description:"Placeholder shown in the searchbar"}),_=(0,r.useRef)(null),w=(0,r.useRef)(null);return(0,r.useEffect)((()=>{if(_.current)return w.current=Jo({container:_.current,placeholder:v,renderer:{createElement:r.createElement,Fragment:r.Fragment,render:he.render},navigator:{navigate(e){let{item:t,itemUrl:n}=e;g.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},detachedMediaQuery:"",defaultActiveItemId:0,translations:{clearButtonTitle:(0,l.I)({message:"cmfcmf/d-s-l.searchBar.clearButtonTitle",description:"Title of the button to clear the current search input"}),detachedCancelButtonText:(0,l.I)({message:"cmfcmf/d-s-l.searchBar.detachedCancelButtonText",description:"Text of the button to close the detached search window"}),submitButtonTitle:(0,l.I)({message:"cmfcmf/d-s-l.searchBar.submitButtonTitle",description:"Title of the button to submit a new search"})},getSources(e){let{query:t}=e;return[{sourceId:"search-results",templates:{item(e){let{item:t}=e;const n=la(t);return r.createElement("a",{href:n,className:"aa-ItemLink",onClick:e=>{e.preventDefault(),g.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},r.createElement("div",{className:"aa-ItemContentTitle"},t.document.sectionTitle),t.document.pageTitle!==t.document.sectionTitle&&r.createElement("div",{className:"aa-ItemContentDescription"},t.document.pageTitle))),r.createElement("div",{className:"aa-ItemActions"},r.createElement("button",{className:"aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly",type:"button",title:"Select"},r.createElement("svg",{viewBox:"0 0 24 24",width:"20",height:"20",fill:"currentColor"},r.createElement("path",{d:"M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z"})))))},noResults:()=>r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},(0,l.I)({message:"cmfcmf/d-s-l.searchBar.noResults",description:"message shown if no results are found"})))},getItemUrl(e){let{item:t}=e;return la(t)},async getItems(){const e=b.current,n=await Promise.all(e.map((e=>y(e)))),r=(e=>ta.tokenizer(e).map((e=>e.str)))(t);return n.flatMap((e=>{let{index:t,documents:n}=e;return t.query((e=>{e.term(r,{fields:["title"],boost:i}),e.term(r,{fields:["title"],boost:i,wildcard:na.Query.wildcard.TRAILING}),e.term(r,{fields:["content"],boost:c}),e.term(r,{fields:["content"],boost:c,wildcard:na.Query.wildcard.TRAILING}),e.term(r,{fields:["tags"],boost:u}),e.term(r,{fields:["tags"],boost:u,wildcard:na.Query.wildcard.TRAILING}),p&&(e.term(r,{fields:["sidebarParentCategories"],boost:d}),e.term(r,{fields:["sidebarParentCategories"],boost:d,wildcard:na.Query.wildcard.TRAILING}))})).slice(0,f).map((e=>({document:n.find((t=>t.id.toString()===e.ref)),score:e.score,terms:r})))})).sort(((e,t)=>t.score-e.score)).slice(0,f)}}]}}),()=>w.current?.destroy()}),[f]),r.createElement(r.Fragment,null,r.createElement(ea.Z,null,r.createElement("body",{"data-theme":t?"dark":"light"})),r.createElement(aa,null),r.createElement("div",{className:"dsla-search-wrapper"},r.createElement("div",{className:"dsla-search-field",ref:_,"data-tags":m.join(",")})))},da={navbarSearchContainer:"navbarSearchContainer_ZzhW"};function pa(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.Z)(n,da.navbarSearchContainer),children:t})}var fa=n(5364),ga=n(4376);var ma=n(1777);function ba(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const ha={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),p=(0,ge.l)(),{search:f,hash:g}=(0,s.TH)(),m=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${g}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],b=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(me,{className:be}),b]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(pa,{className:n,children:(0,u.jsx)(ua,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,o.Z)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,fa.Iw)(r),i=(0,ga.vY)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,fa.Iw)(r),i=(0,ga.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,ga.lO)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ae,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:c,hash:d}=(0,s.TH)(),p=(0,fa.Iw)(n),f=(0,fa.gB)(n),{savePreferredVersionName:g}=(0,ma.J)(n),m=[...o,...f.map((function(e){const t=ba(e,p);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>g(e.name)}})),...a],b=(0,ga.lO)(n)[0],h=t&&m.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&m.length>1?void 0:ba(b,p).path;return m.length<=1?(0,u.jsx)(ae,{...i,mobile:t,label:h,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:h,to:y,items:m,isActive:r?()=>!1:void 0})}},ya=ha;function va(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=ya[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function _a(){const e=(0,C.e)(),t=(0,_.L)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(va,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function wa(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function xa(){const e=0===(0,_.L)().navbar.items.length,t=D();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(wa,{onClick:()=>t.hide()}),t.content]})}function Sa(){const e=(0,C.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(F,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(_a,{}),secondaryMenu:(0,u.jsx)(xa,{})}):null}const ka={navbarHideable:"navbarHideable_XAwL",navbarHidden:"navbarHidden_IdZ3"};function Ea(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.Z)("navbar-sidebar__backdrop",e.className)})}function Oa(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,_.L)(),i=(0,C.e)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,T.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<a.current)return void n(!0);if(o.current)return void(o.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-a.current,c=window.innerHeight;s&&i>=s?n(!1):i+c<l&&n(!0)})),(0,c.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("navbar","navbar--fixed-top",n&&[ka.navbarHideable,!d&&ka.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Ea,{onClick:i.toggle}),(0,u.jsx)(Sa,{})]})}var ja=n(5678);const Pa={errorBoundaryError:"errorBoundaryError_yDia",errorBoundaryFallback:"errorBoundaryFallback_ExJr"};function Ca(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ta(e){let{error:t}=e;const n=(0,ja.BN)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:Pa.errorBoundaryError,children:n})}class Ia extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Aa="right";function Na(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function La(){const{toggle:e,shown:t}=(0,C.e)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(Na,{})})}const Ra={colorModeToggle:"colorModeToggle_z0vY"};function Da(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(Ia,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(va,{...e})},t)))})}function Fa(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ma(){const e=(0,C.e)(),t=(0,_.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Aa)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(Fa,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(La,{}),(0,u.jsx)(q,{}),(0,u.jsx)(Da,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Da,{items:r}),(0,u.jsx)(Z,{className:Ra.colorModeToggle}),!o&&(0,u.jsx)(pa,{children:(0,u.jsx)(ua,{})})]})})}function za(){return(0,u.jsx)(Oa,{children:(0,u.jsx)(Ma,{})})}function Ba(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,X.ZP)(n),l=(0,X.ZP)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(K.Z,{className:"footer__link-item",...r?{href:a?l:r}:{to:s},...i,children:[o,r&&!(0,J.Z)(r)&&(0,u.jsx)(te.Z,{})]})}function $a(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(Ba,{item:t})},t.href??t.to)}function Ua(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)($a,{item:e},t)))})]})}function Ha(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(Ua,{column:e},t)))})}function Qa(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Va(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(Ba,{item:t})}function Za(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(Va,{item:e}),t.length!==n+1&&(0,u.jsx)(Qa,{})]},n)))})})}function Wa(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(Ha,{columns:t}):(0,u.jsx)(Za,{links:t})}var qa=n(4322);const Ga={footerLogoLink:"footerLogoLink_WvA8"};function Ya(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.Cg)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(qa.Z,{className:(0,o.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Ka(e){let{logo:t}=e;return t.href?(0,u.jsx)(K.Z,{href:t.href,className:Ga.footerLogoLink,target:t.target,children:(0,u.jsx)(Ya,{logo:t})}):(0,u.jsx)(Ya,{logo:t})}function Xa(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Ja(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,o.Z)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function ei(){const{footer:e}=(0,_.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,u.jsx)(Ja,{style:o,links:n&&n.length>0&&(0,u.jsx)(Wa,{links:n}),logo:r&&(0,u.jsx)(Ka,{logo:r}),copyright:t&&(0,u.jsx)(Xa,{copyright:t})})}const ti=r.memo(ei),ni=(0,I.Qc)([M.S,w.p,T.OC,ma.L5,i.VC,function(e){let{children:t}=e;return(0,u.jsx)(A.n2,{children:(0,u.jsx)(C.M,{children:(0,u.jsx)(L,{children:t})})})}]);function ri(e){let{children:t}=e;return(0,u.jsx)(ni,{children:t})}var oi=n(3221);function ai(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(oi.Z,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(Ca,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Ta,{error:t})})]})})})}const ii={mainWrapper:"mainWrapper_GHU6"};function si(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,h.t)(),(0,u.jsxs)(ri,{children:[(0,u.jsx)(i.d,{title:s,description:l}),(0,u.jsx)(v,{}),(0,u.jsx)(P,{}),(0,u.jsx)(za,{}),(0,u.jsx)("div",{id:d,className:(0,o.Z)(b.k.wrapper.main,ii.mainWrapper,r),children:(0,u.jsx)(a.Z,{fallback:e=>(0,u.jsx)(ai,{...e}),children:t})}),!n&&(0,u.jsx)(ti,{})]})}},698:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(5271);var r=n(6527),o=n(285),a=n(6172),i=n(9364),s=n(4322),l=n(2676);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.ZP)(t.src),dark:(0,o.ZP)(t.srcDark||t.src)},i=(0,l.jsx)(s.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.Z)(),{navbar:{title:n,logo:s}}=(0,i.L)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,o.ZP)(s?.href||"/"),g=n?"":t,m=s?.alt??g;return(0,l.jsxs)(r.Z,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:m,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},8625:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(5271);var r=n(2791),o=n(2676);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.Z,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},4322:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(5271),o=n(4814),a=n(6594),i=n(7934);const s={themedComponent:"themedComponent_EL3c","themedComponent--light":"themedComponent--light_qtcQ","themedComponent--dark":"themedComponent--dark_Jjwa"};var l=n(2676);function c(e){let{className:t,children:n}=e;const c=(0,a.Z)(),{colorMode:u}=(0,i.I)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.Z)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},3955:(e,t,n)=>{"use strict";n.d(t,{u:()=>c,z:()=>h});var r=n(5271),o=n(6593),a=n(2246),i=n(9276),s=n(2676);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function g(e){if(!o.Z.canUseDOM)return e?u:d}function m(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:u,style:c?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:l,children:o})}function b(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,a.Z)((()=>{t||i(!0)}),[t]),(0,a.Z)((()=>{o&&c(t)}),[o,t]),o?(0,s.jsx)(m,{...n,collapsed:l}):null}function h(e){let{lazy:t,...n}=e;const r=t?b:m;return(0,s.jsx)(r,{...n})}},6701:(e,t,n)=>{"use strict";n.d(t,{n:()=>m,p:()=>g});var r=n(5271),o=n(6594),a=n(1118),i=n(8274),s=n(9364),l=n(2676);const c=(0,a.WA)("docusaurus.announcement.dismiss"),u=(0,a.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,o.Z)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},7934:(e,t,n)=>{"use strict";n.d(t,{I:()=>h,S:()=>b});var r=n(5271),o=n(6593),a=n(8274),i=n(1118),s=n(9364),l=n(2676);const c=r.createContext(void 0),u="theme",d=(0,i.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,g=e=>o.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{d.set(f(e))};function b(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[o,a]=(0,r.useState)(g(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&m(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(c);if(null==e)throw new a.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},8568:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>g});var r=n(5271),o=n(3158),a=n(3320),i=n(3225),s=n(8274);function l(e){!function(e){const t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(9364),u=n(2676);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,c.L)().navbar;return 0===t.length&&!e.component}(),t=(0,a.i)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const u=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=p();return(0,u.jsx)(d.Provider,{value:n,children:t})}function g(){const e=r.useContext(d);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3158:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>c,n2:()=>s});var r=n(5271),o=n(8274),a=n(2676);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,o.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},8451:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>a});var r=n(5271);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},3320:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});var r=n(5271),o=n(6593);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},3509:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},9276:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2347:(e,t,n)=>{"use strict";function r(e){return Array.from(new Set(e))}function o(e,t){const n={};let r=0;for(const o of e){const e=t(o,r);n[e]??=[],n[e].push(o),r+=1}return n}n.d(t,{jj:()=>r,vM:()=>o})},9967:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>u,VC:()=>f});var r=n(5271),o=n(4814),a=n(2791),i=n(4268),s=n(285),l=n(6172);var c=n(2676);function u(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const u=function(e){const{siteConfig:t}=(0,l.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.Cg)(),p=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.Z,{children:[t&&(0,c.jsx)("title",{children:u}),t&&(0,c.jsx)("meta",{property:"og:title",content:u}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const d=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,o.Z)(i,t);return(0,c.jsxs)(d.Provider,{value:s,children:[(0,c.jsx)(a.Z,{children:(0,c.jsx)("html",{className:s})}),n]})}function f(e){let{children:t}=e;const n=(0,i.Z)(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,o.Z)(r,a),children:t})}},8274:(e,t,n)=>{"use strict";n.d(t,{D9:()=>s,Qc:()=>u,Ql:()=>c,i6:()=>l,zX:()=>i});var r=n(5271),o=n(2246),a=n(2676);function i(e){const t=(0,r.useRef)(e);return(0,o.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.Z)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},6422:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(5271),o=n(7297),a=n(6172);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.Z,baseUrl:e})),[e])}},1309:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>c,RF:()=>p});var r=n(5271),o=n(6593),a=n(6594),i=(n(2246),n(8274)),s=n(2676);const l=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,r.useRef)(d()),a=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&o<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(o-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},9247:(e,t,n)=>{"use strict";n.d(t,{H:()=>r});const r="default"},1118:(e,t,n)=>{"use strict";n.d(t,{WA:()=>c});n(5271);const r=JSON.parse('{"d":"localStorage","u":""}'),o=r.d;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${r.u}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const o=i(t?.persistence);return null===o?l:{get:()=>{try{return o.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=o.getItem(n);o.setItem(n,e),a({key:n,oldValue:t,newValue:e,storage:o})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=o.getItem(n);o.removeItem(n),a({key:n,oldValue:e,newValue:null,storage:o})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===o&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},9897:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(6172),o=n(3225),a=n(5678);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.Z)(),{pathname:l}=(0,o.TH)(),c=(0,a.Do)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},4890:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(5271),o=n(3225),a=n(8274);function i(e){const t=(0,o.TH)(),n=(0,a.D9)(t),i=(0,a.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},9364:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var r=n(6172);function o(){return(0,r.Z)().siteConfig.themeConfig}},3790:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,c=n,c?o(l):a(l));var l,c;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(3826);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},9725:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},5678:(e,t,n)=>{"use strict";t.BN=t.Do=t.uR=void 0;const r=n(5862);t.uR="__blog-post-container";var o=n(3790);Object.defineProperty(t,"Do",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(3826);var i=n(9725);Object.defineProperty(t,"BN",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},3826:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},1925:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var r=n(6809),o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(e){return"IMG"===e.tagName},i=function(e){return e&&1===e.nodeType},s=function(e){return".svg"===(e.currentSrc||e.src).substr(-4).toLowerCase()},l=function(e){try{return Array.isArray(e)?e.filter(a):function(e){return NodeList.prototype.isPrototypeOf(e)}(e)?[].slice.call(e).filter(a):i(e)?[e].filter(a):"string"==typeof e?[].slice.call(document.querySelectorAll(e)).filter(a):[]}catch(t){throw new TypeError("The provided selector is invalid.\nExpects a CSS selector, a Node element, a NodeList or an array.\nSee: https://github.com/francoischalifour/medium-zoom")}},c=function(e,t){var n=o({bubbles:!1,cancelable:!1,detail:void 0},t);if("function"==typeof window.CustomEvent)return new CustomEvent(e,n);var r=document.createEvent("CustomEvent");return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),r};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}");const u=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=window.Promise||function(e){function t(){}e(t,t)},a=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.reduce((function(e,t){return[].concat(e,l(t))}),[]);return r.filter((function(e){return-1===f.indexOf(e)})).forEach((function(e){f.push(e),e.classList.add("medium-zoom-image")})),g.forEach((function(e){var t=e.type,n=e.listener,o=e.options;r.forEach((function(e){e.addEventListener(t,n,o)}))})),_},u=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).target,t=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(h.container)if(h.container instanceof Object)t=(e=o({},e,h.container)).width-e.left-e.right-2*h.margin,n=e.height-e.top-e.bottom-2*h.margin;else{var r=(i(h.container)?h.container:document.querySelector(h.container)).getBoundingClientRect(),a=r.width,l=r.height,c=r.left,u=r.top;e=o({},e,{width:a,height:l,left:c,top:u})}t=t||e.width-2*h.margin,n=n||e.height-2*h.margin;var d=y.zoomedHd||y.original,p=s(d)?t:d.naturalWidth||t,f=s(d)?n:d.naturalHeight||n,g=d.getBoundingClientRect(),m=g.top,b=g.left,v=g.width,_=g.height,w=Math.min(Math.max(v,p),t)/v,x=Math.min(Math.max(_,f),n)/_,S=Math.min(w,x),k="scale("+S+") translate3d("+((t-v)/2-b+h.margin+e.left)/S+"px, "+((n-_)/2-m+h.margin+e.top)/S+"px, 0)";y.zoomed.style.transform=k,y.zoomedHd&&(y.zoomedHd.style.transform=k)};return new r((function(n){if(e&&-1===f.indexOf(e))n(_);else{if(y.zoomed)n(_);else{if(e)y.original=e;else{if(!(f.length>0))return void n(_);var r=f;y.original=r[0]}if(y.original.dispatchEvent(c("medium-zoom:open",{detail:{zoom:_}})),b=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,m=!0,y.zoomed=function(e){var t=e.getBoundingClientRect(),n=t.top,r=t.left,o=t.width,a=t.height,i=e.cloneNode(),s=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,l=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return i.removeAttribute("id"),i.style.position="absolute",i.style.top=n+s+"px",i.style.left=r+l+"px",i.style.width=o+"px",i.style.height=a+"px",i.style.transform="",i}(y.original),document.body.appendChild(v),h.template){var o=i(h.template)?h.template:document.querySelector(h.template);y.template=document.createElement("div"),y.template.appendChild(o.content.cloneNode(!0)),document.body.appendChild(y.template)}if(y.original.parentElement&&"PICTURE"===y.original.parentElement.tagName&&y.original.currentSrc&&(y.zoomed.src=y.original.currentSrc),document.body.appendChild(y.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),y.original.classList.add("medium-zoom-image--hidden"),y.zoomed.classList.add("medium-zoom-image--opened"),y.zoomed.addEventListener("click",d),y.zoomed.addEventListener("transitionend",(function e(){m=!1,y.zoomed.removeEventListener("transitionend",e),y.original.dispatchEvent(c("medium-zoom:opened",{detail:{zoom:_}})),n(_)})),y.original.getAttribute("data-zoom-src")){y.zoomedHd=y.zoomed.cloneNode(),y.zoomedHd.removeAttribute("srcset"),y.zoomedHd.removeAttribute("sizes"),y.zoomedHd.removeAttribute("loading"),y.zoomedHd.src=y.zoomed.getAttribute("data-zoom-src"),y.zoomedHd.onerror=function(){clearInterval(a),console.warn("Unable to reach the zoom image target "+y.zoomedHd.src),y.zoomedHd=null,t()};var a=setInterval((function(){y.zoomedHd.complete&&(clearInterval(a),y.zoomedHd.classList.add("medium-zoom-image--opened"),y.zoomedHd.addEventListener("click",d),document.body.appendChild(y.zoomedHd),t())}),10)}else if(y.original.hasAttribute("srcset")){y.zoomedHd=y.zoomed.cloneNode(),y.zoomedHd.removeAttribute("sizes"),y.zoomedHd.removeAttribute("loading");var s=y.zoomedHd.addEventListener("load",(function(){y.zoomedHd.removeEventListener("load",s),y.zoomedHd.classList.add("medium-zoom-image--opened"),y.zoomedHd.addEventListener("click",d),document.body.appendChild(y.zoomedHd),t()}))}else t()}}}))},d=function(){return new r((function(e){if(!m&&y.original){m=!0,document.body.classList.remove("medium-zoom--opened"),y.zoomed.style.transform="",y.zoomedHd&&(y.zoomedHd.style.transform=""),y.template&&(y.template.style.transition="opacity 150ms",y.template.style.opacity=0),y.original.dispatchEvent(c("medium-zoom:close",{detail:{zoom:_}})),y.zoomed.addEventListener("transitionend",(function t(){y.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(y.zoomed),y.zoomedHd&&document.body.removeChild(y.zoomedHd),document.body.removeChild(v),y.zoomed.classList.remove("medium-zoom-image--opened"),y.template&&document.body.removeChild(y.template),m=!1,y.zoomed.removeEventListener("transitionend",t),y.original.dispatchEvent(c("medium-zoom:closed",{detail:{zoom:_}})),y.original=null,y.zoomed=null,y.zoomedHd=null,y.template=null,e(_)}))}else e(_)}))},p=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).target;return y.original?d():u({target:e})},f=[],g=[],m=!1,b=0,h=n,y={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?h=t:(t||"string"==typeof t)&&a(t);var v=function(e){var t=document.createElement("div");return t.classList.add("medium-zoom-overlay"),t.style.background=e,t}((h=o({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},h)).background);document.addEventListener("click",(function(e){var t=e.target;t!==v?-1!==f.indexOf(t)&&p({target:t}):d()})),document.addEventListener("keyup",(function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||d()})),document.addEventListener("scroll",(function(){if(!m&&y.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(b-e)>h.scrollOffset&&setTimeout(d,150)}})),window.addEventListener("resize",d);var _={open:u,close:d,toggle:p,update:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e;if(e.background&&(v.style.background=e.background),e.container&&e.container instanceof Object&&(t.container=o({},h.container,e.container)),e.template){var n=i(e.template)?e.template:document.querySelector(e.template);t.template=n}return h=o({},h,t),f.forEach((function(e){e.dispatchEvent(c("medium-zoom:update",{detail:{zoom:_}}))})),_},clone:function(){return e(o({},h,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}))},attach:a,detach:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];y.zoomed&&d();var r=t.length>0?t.reduce((function(e,t){return[].concat(e,l(t))}),[]):f;return r.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(c("medium-zoom:detach",{detail:{zoom:_}}))})),f=f.filter((function(e){return-1===r.indexOf(e)})),_},on:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return f.forEach((function(r){r.addEventListener("medium-zoom:"+e,t,n)})),g.push({type:"medium-zoom:"+e,listener:t,options:n}),_},off:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return f.forEach((function(r){r.removeEventListener("medium-zoom:"+e,t,n)})),g=g.filter((function(n){return!(n.type==="medium-zoom:"+e&&n.listener.toString()===t.toString())})),_},getOptions:function(){return h},getImages:function(){return f},getZoomedImage:function(){return y.original}};return _},{themeConfig:d}=r.default;function p(e){var t,n;return document.querySelector('html[data-theme="dark"]')?(null===(t=e.background)||void 0===t?void 0:t.dark)||"rgb(50, 50, 50)":(null===(n=e.background)||void 0===n?void 0:n.light)||"rgb(255, 255, 255)"}const f=function(){if("undefined"==typeof window)return null;let e;const{zoom:t}=d,{selector:n=".markdown img",config:r={}}=t||{};if(!t)return null;r.background=p(t);var o=new MutationObserver((function(){e&&e.update({background:p(t)})}));const a=document.querySelector("html");return o.observe(a,{attributes:!0,attributeFilter:["data-theme"]}),setTimeout((()=>{e&&e.detach(),e=u(n,r)}),1e3),{onRouteUpdate(){setTimeout((()=>{e&&e.detach(),e=u(n,r)}),1e3)}}}()},4047:(e,t,n)=>{"use strict";n.d(t,{lX:()=>_,q_:()=>O,ob:()=>f,PP:()=>P,Ep:()=>p});var r=n(6920);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&o(e),l=t&&o(t),c=s||l;if(e&&o(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,p=i.length;p>=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var s=n(8624);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var m=!("undefined"==typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}var h="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function _(e){void 0===e&&(e={}),m||(0,s.Z)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,a=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,_=void 0!==c&&c,w=i.getUserConfirmation,x=void 0===w?b:w,S=i.keyLength,k=void 0===S?6:S,E=e.basename?d(l(e.basename)):"";function O(e){var t=e||{},n=t.key,r=t.state,o=window.location,a=o.pathname+o.search+o.hash;return E&&(a=u(a,E)),f(a,r,n)}function j(){return Math.random().toString(36).substr(2,k)}var P=g();function C(e){(0,r.Z)($,e),$.length=n.length,P.notifyListeners($.location,$.action)}function T(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||N(O(e.state))}function I(){N(O(v()))}var A=!1;function N(e){if(A)A=!1,C();else{P.confirmTransitionTo(e,"POP",x,(function(t){t?C({action:"POP",location:e}):function(e){var t=$.location,n=R.indexOf(t.key);-1===n&&(n=0);var r=R.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(A=!0,F(o))}(e)}))}}var L=O(v()),R=[L.key];function D(e){return E+p(e)}function F(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(h,T),a&&window.addEventListener(y,I)):0===M&&(window.removeEventListener(h,T),a&&window.removeEventListener(y,I))}var B=!1;var $={length:n.length,action:"POP",location:L,createHref:D,push:function(e,t){var r="PUSH",a=f(e,t,j(),$.location);P.confirmTransitionTo(a,r,x,(function(e){if(e){var t=D(a),i=a.key,s=a.state;if(o)if(n.pushState({key:i,state:s},null,t),_)window.location.href=t;else{var l=R.indexOf($.location.key),c=R.slice(0,l+1);c.push(a.key),R=c,C({action:r,location:a})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,j(),$.location);P.confirmTransitionTo(a,r,x,(function(e){if(e){var t=D(a),i=a.key,s=a.state;if(o)if(n.replaceState({key:i,state:s},null,t),_)window.location.replace(t);else{var l=R.indexOf($.location.key);-1!==l&&(R[l]=a.key),C({action:r,location:a})}else window.location.replace(t)}}))},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=P.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=P.appendListener(e);return z(1),function(){z(-1),t()}}};return $}var w="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:l},slash:{encodePath:l,decodePath:l}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function k(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function E(e){window.location.replace(S(window.location.href)+"#"+e)}function O(e){void 0===e&&(e={}),m||(0,s.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,a=void 0===o?b:o,i=n.hashType,c=void 0===i?"slash":i,h=e.basename?d(l(e.basename)):"",y=x[c],v=y.encodePath,_=y.decodePath;function O(){var e=_(k());return h&&(e=u(e,h)),f(e)}var j=g();function P(e){(0,r.Z)(B,e),B.length=t.length,j.notifyListeners(B.location,B.action)}var C=!1,T=null;function I(){var e,t,n=k(),r=v(n);if(n!==r)E(r);else{var o=O(),i=B.location;if(!C&&(t=o,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(T===p(o))return;T=null,function(e){if(C)C=!1,P();else{var t="POP";j.confirmTransitionTo(e,t,a,(function(n){n?P({action:t,location:e}):function(e){var t=B.location,n=R.lastIndexOf(p(t));-1===n&&(n=0);var r=R.lastIndexOf(p(e));-1===r&&(r=0);var o=n-r;o&&(C=!0,D(o))}(e)}))}}(o)}}var A=k(),N=v(A);A!==N&&E(N);var L=O(),R=[p(L)];function D(e){t.go(e)}var F=0;function M(e){1===(F+=e)&&1===e?window.addEventListener(w,I):0===F&&window.removeEventListener(w,I)}var z=!1;var B={length:t.length,action:"POP",location:L,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(h+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,B.location);j.confirmTransitionTo(r,n,a,(function(e){if(e){var t=p(r),o=v(h+t);if(k()!==o){T=t,function(e){window.location.hash=e}(o);var a=R.lastIndexOf(p(B.location)),i=R.slice(0,a+1);i.push(t),R=i,P({action:n,location:r})}else P()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,B.location);j.confirmTransitionTo(r,n,a,(function(e){if(e){var t=p(r),o=v(h+t);k()!==o&&(T=t,E(o));var a=R.indexOf(p(B.location));-1!==a&&(R[a]=t),P({action:n,location:r})}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=j.setPrompt(e);return z||(M(1),z=!0),function(){return z&&(z=!1,M(-1)),t()}},listen:function(e){var t=j.appendListener(e);return M(1),function(){M(-1),t()}}};return B}function j(e,t,n){return Math.min(Math.max(e,t),n)}function P(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,a=void 0===o?["/"]:o,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,c=void 0===l?6:l,u=g();function d(e){(0,r.Z)(_,e),_.length=_.entries.length,u.notifyListeners(_.location,_.action)}function m(){return Math.random().toString(36).substr(2,c)}var b=j(s,0,a.length-1),h=a.map((function(e){return f(e,void 0,"string"==typeof e?m():e.key||m())})),y=p;function v(e){var t=j(_.index+e,0,_.entries.length-1),r=_.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var _={length:h.length,action:"POP",location:h[b],index:b,entries:h,createHref:y,push:function(e,t){var r="PUSH",o=f(e,t,m(),_.location);u.confirmTransitionTo(o,r,n,(function(e){if(e){var t=_.index+1,n=_.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,m(),_.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(_.entries[_.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=_.index+e;return t>=0&&t<_.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return _}},2535:(e,t,n)=>{"use strict";var r=n(6237),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var o=f(n);o&&o!==g&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),m=l(n),b=0;b<i.length;++b){var h=i[b];if(!(a[h]||r&&r[h]||m&&m[h]||s&&s[h])){var y=p(n,h);try{c(t,h,y)}catch(v){}}}}return t}},3670:e=>{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},901:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2e3:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw new Error("iframe inaccessible")}catch(a){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(s){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),s=i.length,l=0;i=Array.prototype.slice.call(i);var c=function(){--s<=0&&a(l)};s||c(),i.forEach((function(t){e.matches(t,o.exclude)?c():o.onIframeReady(t,(function(e){n(t)&&(l++,r(e)),c()}),c)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return r.forEach((function(e,t){e.val===n&&(o=t,a=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||a?!1===o||a||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach((function(e){e.handled||o.getIframeContents(e.val,(function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var a=this,i=this.createIterator(t,e,r),s=[],l=[],c=void 0,u=void 0,d=function(){var e=a.getIteratorNode(i);return u=e.prevNode,c=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return a.checkIframeFilter(c,u,e,s)}),(function(t){a.createInstanceOnIframe(t).forEachNode(e,(function(e){return l.push(e)}),r)})),l.push(c);l.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;i||o(),a.forEach((function(a){var s=function(){r.iterateThroughNodes(e,a,t,n,(function(){--i<=0&&o()}))};r.iframes?r.waitForIframes(a,s):s()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every((function(t){return!r.call(e,t)||(o=!0,!1)})),o}return!1}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(o){n.every((function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,o="string"==typeof r?r:r.value,a="string"==typeof r?[]:r.limiters,i="";switch(a.forEach((function(e){i+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,s=parseInt(e.start,10)-i;return(r=(s=s>a?a:s)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),s<0||r-s<0||s>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every((function(i,s){var l=e.nodes[s+1];if(void 0===l||l.start>t){if(!r(i.node))return!1;var c=t-i.start,u=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),p=e.value.substr(u+i.start);if(i.node=a.wrapRangeInTextNode(i.node,c,u),e.value=d+p,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];)if(n(o[i],t)){var s=o.index;if(0!==i)for(var l=1;l<i;l++)s+=o[l].length;t=a.wrapRangeInTextNode(t,s,s+o[i].length),r(t.previousSibling),e.lastIndex=0}})),o()}))}},{key:"wrapMatchesAcrossElements",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&""!==s[i];){var l=s.index;if(0!==i)for(var c=1;c<i;c++)l+=s[c].length;var u=l+s[i].length;a.wrapRangeInMappedTextNode(t,l,u,(function(e){return n(s[i],e)}),(function(t,n){e.lastIndex=n,r(t)}))}o()}))}},{key:"wrapRangeFromIndex",value:function(e,t,n,r){var o=this;this.getTextNodes((function(a){var i=a.value.length;e.forEach((function(e,r){var s=o.checkWhitespaceRanges(e,i,a.value),l=s.start,c=s.end;s.valid&&o.wrapRangeInMappedTextNode(a,l,c,(function(n){return t(n,e,a.value.substring(l,c),r)}),(function(t){n(t,e)}))})),r()}))}},{key:"unwrapMatches",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:"normalizeTextNode",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:"markRegExp",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression "'+e+'"');var r=0,o="wrapMatches",a=function(e){r++,n.opt.each(e)};this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),this[o](e,this.opt.ignoreGroups,(function(e,t){return n.opt.filter(t,e,r)}),a,(function(){0===r&&n.opt.noMatch(e),n.opt.done(r)}))}},{key:"mark",value:function(e,t){var n=this;this.opt=t;var r=0,o="wrapMatches",a=this.getSeparatedKeywords("string"==typeof e?[e]:e),i=a.keywords,s=a.length,l=this.opt.caseSensitive?"":"i",c=function e(t){var a=new RegExp(n.createRegExp(t),"gm"+l),c=0;n.log('Searching with expression "'+a+'"'),n[o](a,1,(function(e,o){return n.opt.filter(o,t,r,c)}),(function(e){c++,r++,n.opt.each(e)}),(function(){0===c&&n.opt.noMatch(t),i[s-1]===t?n.opt.done(r):e(i[i.indexOf(t)+1])}))};this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),0===s?this.opt.done(r):c(i[0])}},{key:"markRanges",value:function(e,t){var n=this;this.opt=t;var r=0,o=this.checkRanges(e);o&&o.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(o)),this.wrapRangeFromIndex(o,(function(e,t,r,o){return n.opt.filter(e,t,r,o)}),(function(e,t){r++,n.opt.each(e,t)}),(function(){n.opt.done(r)}))):this.opt.done(r)}},{key:"unmark",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:"*";n+="[data-markjs]",this.opt.className&&(n+="."+this.opt.className),this.log('Removal selector "'+n+'"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,(function(e){t.unwrapMatches(e)}),(function(e){var r=o.matches(e,n),a=t.matchesExclude(e);return!r||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),this.opt.done)}},{key:"opt",set:function(e){this._opt=r({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:"iterator",get:function(){return new o(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),a}();function i(e){var t=this,n=new a(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}return i}()},8797:(e,t,n)=>{"use strict";n.r(t)},4798:(e,t,n)=>{"use strict";n.r(t)},9981:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},7720:(e,t,n)=>{var r=n(901);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return s(a(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,s="",u=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+d.length,p)s+=p[1];else{var g=e[i],m=n[2],b=n[3],h=n[4],y=n[5],v=n[6],_=n[7];s&&(r.push(s),s="");var w=null!=m&&null!=g&&g!==m,x="+"===v||"*"===v,S="?"===v||"*"===v,k=n[2]||u,E=h||y;r.push({name:b||a++,prefix:m||"",delimiter:k,optional:S,repeat:x,partial:w,asterisk:!!_,pattern:E?c(E):_?".*":"[^"+l(k)+"]+?"})}}return i<e.length&&(s+=e.substr(i)),s&&r.push(s),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(n[o]=new RegExp("^(?:"+e[o].pattern+")$",d(t)));return function(t,o){for(var a="",s=t||{},l=(o||{}).pretty?i:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,p=s[u.name];if(null==p){if(u.optional){u.partial&&(a+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(p)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=l(p[f]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");a+=(0===f?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(p),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');a+=u.prefix+d}}else a+=u}return a}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function c(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var o=(n=n||{}).strict,a=!1!==n.end,i="",s=0;s<e.length;s++){var c=e[s];if("string"==typeof c)i+=l(c);else{var p=l(c.prefix),f="(?:"+c.pattern+")";t.push(c),c.repeat&&(f+="(?:"+p+f+")*"),i+=f=c.optional?c.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var g=l(n.delimiter||"/"),m=i.slice(-g.length)===g;return o||(i=(m?i.slice(0,-g.length):i)+"(?:"+g+"(?=$))?"),i+=a?"$":o&&m?"":"(?="+g+"|$)",u(new RegExp("^"+i,d(n)),t)}function f(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return u(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],o=0;o<e.length;o++)r.push(f(e[o],t,n).source);return u(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return p(a(e,n),t,n)}(e,t,n)}},3209:()=>{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,i=0;i<o.length;i++)a[o[i]]=e.languages.bash[o[i]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(Prism)},1417:()=>{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},1559:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(o>=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),g=p.indexOf(f);if(g>-1){++o;var m=p.substring(0,g),b=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),h=p.substring(g+f.length),y=[];m&&y.push.apply(y,i([m])),y.push(b),h&&y.push.apply(y,i([h])),"string"==typeof c?s.splice.apply(s,[l,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},4049:(e,t,n)=>{"use strict";var r=n(6257);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},507:(e,t,n)=>{e.exports=n(4049)()},6257:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},6521:(e,t,n)=>{"use strict";var r=n(5271),o=n(7537);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;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."}var i=new Set,s={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[: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]*$/,f={},g={};function m(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){b[e]=new m(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];b[t]=new m(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){b[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){b[e]=new m(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){b[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){b[e]=new m(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){b[e]=new m(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){b[e]=new m(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){b[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var h=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,n,r){var o=b.hasOwnProperty(t)?b[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!d.call(g,e)||!d.call(f,e)&&(p.test(e)?g[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(h,y);b[t]=new m(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(h,y);b[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(h,y);b[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){b[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),b.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){b[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var _=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),O=Symbol.for("react.provider"),j=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),A=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var N=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var L=Symbol.iterator;function R(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=L&&e[L]||e["@@iterator"])?e:null}var D,F=Object.assign;function M(e){if(void 0===D)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);D=t&&t[1]||""}return"\n"+D+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var o=c.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,s=a.length-1;1<=i&&0<=s&&o[i]!==a[s];)s--;for(;1<=i&&0<=s;i--,s--)if(o[i]!==a[s]){if(1!==i||1!==s)do{if(i--,0>--s||o[i]!==a[s]){var l="\n"+o[i].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=i&&0<=s);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function $(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case E:return"Profiler";case k:return"StrictMode";case C:return"Suspense";case T:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case j:return(e.displayName||"Context")+".Consumer";case O:return(e._context.displayName||"Context")+".Provider";case P:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case I:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case A:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function H(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===k?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function Q(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Z(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function W(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function q(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function G(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Q(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function K(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){K(e,t);var n=Q(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,Q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&q(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Q(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return F({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:Q(n)}}function ae(e,t){var n=Q(t.value),r=Q(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ge=["Webkit","ms","Moz","O"];function me(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function be(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=me(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(fe).forEach((function(e){ge.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var he=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(he[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;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 _e=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,ke=null;function Ee(e){if(e=_o(e)){if("function"!=typeof xe)throw Error(a(280));var t=e.stateNode;t&&(t=xo(t),xe(e.stateNode,e.type,t))}}function Oe(e){Se?ke?ke.push(e):ke=[e]:Se=e}function je(){if(Se){var e=Se,t=ke;if(ke=Se=null,Ee(e),t)for(e=0;e<t.length;e++)Ee(t[e])}}function Pe(e,t){return e(t)}function Ce(){}var Te=!1;function Ie(e,t,n){if(Te)return e(t,n);Te=!0;try{return Pe(e,t,n)}finally{Te=!1,(null!==Se||null!==ke)&&(Ce(),je())}}function Ae(e,t){var n=e.stateNode;if(null===n)return null;var r=xo(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Ne=!1;if(u)try{var Le={};Object.defineProperty(Le,"passive",{get:function(){Ne=!0}}),window.addEventListener("test",Le,Le),window.removeEventListener("test",Le,Le)}catch(ue){Ne=!1}function Re(e,t,n,r,o,a,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var De=!1,Fe=null,Me=!1,ze=null,Be={onError:function(e){De=!0,Fe=e}};function $e(e,t,n,r,o,a,i,s,l){De=!1,Fe=null,Re.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Qe(e){if(Ue(e)!==e)throw Error(a(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var i=o.alternate;if(null===i){if(null!==(r=o.return)){n=r;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return Qe(o),e;if(i===r)return Qe(o),t;i=i.sibling}throw Error(a(188))}if(n.return!==r.return)n=o,r=i;else{for(var s=!1,l=o.child;l;){if(l===n){s=!0,n=o,r=i;break}if(l===r){s=!0,r=o,n=i;break}l=l.sibling}if(!s){for(l=i.child;l;){if(l===n){s=!0,n=i,r=o;break}if(l===r){s=!0,r=i,n=o;break}l=l.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?Ze(e):null}function Ze(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ze(e);if(null!==t)return t;e=e.sibling}return null}var We=o.unstable_scheduleCallback,qe=o.unstable_cancelCallback,Ge=o.unstable_shouldYield,Ye=o.unstable_requestPaint,Ke=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Je=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,rt=o.unstable_IdlePriority,ot=null,at=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){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: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 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~o;0!==s?r=dt(s):0!==(a&=i)&&(r=dt(a))}else 0!==(i=n&~o)?r=dt(i):0!==a&&(r=dt(a));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&0!=(4194240&a)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-it(t)),r|=e[n],t&=~o;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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;default:return-1}}function gt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function mt(){var e=ct;return 0==(4194240&(ct<<=1))&&(ct=64),e}function bt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ht(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var vt=0;function _t(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var wt,xt,St,kt,Et,Ot=!1,jt=[],Pt=null,Ct=null,Tt=null,It=new Map,At=new Map,Nt=[],Lt="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 submit".split(" ");function Rt(e,t){switch(e){case"focusin":case"focusout":Pt=null;break;case"dragenter":case"dragleave":Ct=null;break;case"mouseover":case"mouseout":Tt=null;break;case"pointerover":case"pointerout":It.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":At.delete(t.pointerId)}}function Dt(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&(null!==(t=_o(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Ft(e){var t=vo(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=He(n)))return e.blockedOn=t,void Et(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Gt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=_o(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);_e=r,n.target.dispatchEvent(r),_e=null,t.shift()}return!0}function zt(e,t,n){Mt(e)&&n.delete(t)}function Bt(){Ot=!1,null!==Pt&&Mt(Pt)&&(Pt=null),null!==Ct&&Mt(Ct)&&(Ct=null),null!==Tt&&Mt(Tt)&&(Tt=null),It.forEach(zt),At.forEach(zt)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,Ot||(Ot=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return $t(t,e)}if(0<jt.length){$t(jt[0],e);for(var n=1;n<jt.length;n++){var r=jt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Pt&&$t(Pt,e),null!==Ct&&$t(Ct,e),null!==Tt&&$t(Tt,e),It.forEach(t),At.forEach(t),n=0;n<Nt.length;n++)(r=Nt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Nt.length&&null===(n=Nt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Nt.shift()}var Ht=_.ReactCurrentBatchConfig,Qt=!0;function Vt(e,t,n,r){var o=vt,a=Ht.transition;Ht.transition=null;try{vt=1,Wt(e,t,n,r)}finally{vt=o,Ht.transition=a}}function Zt(e,t,n,r){var o=vt,a=Ht.transition;Ht.transition=null;try{vt=4,Wt(e,t,n,r)}finally{vt=o,Ht.transition=a}}function Wt(e,t,n,r){if(Qt){var o=Gt(e,t,n,r);if(null===o)Qr(e,t,r,qt,n),Rt(e,r);else if(function(e,t,n,r,o){switch(t){case"focusin":return Pt=Dt(Pt,e,t,n,r,o),!0;case"dragenter":return Ct=Dt(Ct,e,t,n,r,o),!0;case"mouseover":return Tt=Dt(Tt,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return It.set(a,Dt(It.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,At.set(a,Dt(At.get(a)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(Rt(e,r),4&t&&-1<Lt.indexOf(e)){for(;null!==o;){var a=_o(o);if(null!==a&&wt(a),null===(a=Gt(e,t,n,r))&&Qr(e,t,r,qt,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else Qr(e,t,r,null,n)}}var qt=null;function Gt(e,t,n,r){if(qt=null,null!==(e=vo(e=we(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=He(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return qt=e,null}function Yt(e){switch(e){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Kt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,o="value"in Kt?Kt.value:Kt.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);return Jt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,sn,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(cn),dn=F({},cn,{view:0,detail:0}),pn=on(dn),fn=F({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(an=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=an=0,ln=e),an)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),gn=on(fn),mn=on(F({},fn,{dataTransfer:0})),bn=on(F({},dn,{relatedTarget:0})),hn=on(F({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=F({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=on(yn),_n=on(F({},cn,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={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"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function kn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function En(){return kn}var On=F({},dn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),jn=on(On),Pn=on(F({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Cn=on(F({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En})),Tn=on(F({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),In=F({},fn,{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}),An=on(In),Nn=[9,13,27,32],Ln=u&&"CompositionEvent"in window,Rn=null;u&&"documentMode"in document&&(Rn=document.documentMode);var Dn=u&&"TextEvent"in window&&!Rn,Fn=u&&(!Ln||Rn&&8<Rn&&11>=Rn),Mn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Nn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var Hn={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 Qn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Vn(e,t,n,r){Oe(r),0<(t=Zr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Zn=null,Wn=null;function qn(e){Mr(e,0)}function Gn(e){if(W(wo(e)))return e}function Yn(e,t){if("change"===e)return t}var Kn=!1;if(u){var Xn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Kn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Zn&&(Zn.detachEvent("onpropertychange",nr),Wn=Zn=null)}function nr(e){if("value"===e.propertyName&&Gn(Wn)){var t=[];Vn(t,Wn,e,we(e)),Ie(qn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Wn=n,(Zn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Gn(Wn)}function ar(e,t){if("click"===e)return Gn(t)}function ir(e,t){if("input"===e||"change"===e)return Gn(t)}var sr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function lr(e,t){if(sr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!d.call(t,o)||!sr(e[o],t[o]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=q();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=q((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function gr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=ur(n,a);var i=ur(n,r);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var mr=u&&"documentMode"in document&&11>=document.documentMode,br=null,hr=null,yr=null,vr=!1;function _r(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==br||br!==q(r)||("selectionStart"in(r=br)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&lr(yr,r)||(yr=r,0<(r=Zr(hr,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=br)))}function wr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:wr("Animation","AnimationEnd"),animationiteration:wr("Animation","AnimationIteration"),animationstart:wr("Animation","AnimationStart"),transitionend:wr("Transition","TransitionEnd")},Sr={},kr={};function Er(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in kr)return Sr[e]=n[t];return e}u&&(kr=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var Or=Er("animationend"),jr=Er("animationiteration"),Pr=Er("animationstart"),Cr=Er("transitionend"),Tr=new Map,Ir="abort auxClick 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(" ");function Ar(e,t){Tr.set(e,t),l(t,[e])}for(var Nr=0;Nr<Ir.length;Nr++){var Lr=Ir[Nr];Ar(Lr.toLowerCase(),"on"+(Lr[0].toUpperCase()+Lr.slice(1)))}Ar(Or,"onAnimationEnd"),Ar(jr,"onAnimationIteration"),Ar(Pr,"onAnimationStart"),Ar("dblclick","onDoubleClick"),Ar("focusin","onFocus"),Ar("focusout","onBlur"),Ar(Cr,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Rr="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(" "),Dr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Rr));function Fr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,o,i,s,l,c){if($e.apply(this,arguments),De){if(!De)throw Error(a(198));var u=Fe;De=!1,Fe=null,Me||(Me=!0,ze=u)}}(r,t,void 0,e),e.currentTarget=null}function Mr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==a&&o.isPropagationStopped())break e;Fr(o,s,c),a=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,c=s.currentTarget,s=s.listener,l!==a&&o.isPropagationStopped())break e;Fr(o,s,c),a=l}}}if(Me)throw e=ze,Me=!1,ze=null,e}function zr(e,t){var n=t[bo];void 0===n&&(n=t[bo]=new Set);var r=e+"__bubble";n.has(r)||(Hr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),Hr(n,e,r,t)}var $r="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[$r]){e[$r]=!0,i.forEach((function(t){"selectionchange"!==t&&(Dr.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[$r]||(t[$r]=!0,Br("selectionchange",!1,t))}}function Hr(e,t,n,r){switch(Yt(t)){case 1:var o=Vt;break;case 4:o=Zt;break;default:o=Wt}n=o.bind(null,t,n,e),o=void 0,!Ne||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Qr(e,t,n,r,o){var a=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===o||8===s.nodeType&&s.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===o||8===l.nodeType&&l.parentNode===o))return;i=i.return}for(;null!==s;){if(null===(i=vo(s)))return;if(5===(l=i.tag)||6===l){r=a=i;continue e}s=s.parentNode}}r=r.return}Ie((function(){var r=a,o=we(n),i=[];e:{var s=Tr.get(e);if(void 0!==s){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=jn;break;case"focusin":c="focus",l=bn;break;case"focusout":c="blur",l=bn;break;case"beforeblur":case"afterblur":l=bn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=mn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Cn;break;case Or:case jr:case Pr:l=hn;break;case Cr:l=Tn;break;case"scroll":l=pn;break;case"wheel":l=An;break;case"copy":case"cut":case"paste":l=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Pn}var u=0!=(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var f,g=r;null!==g;){var m=(f=g).stateNode;if(5===f.tag&&null!==m&&(f=m,null!==p&&(null!=(m=Ae(g,p))&&u.push(Vr(g,m,f)))),d)break;g=g.return}0<u.length&&(s=new l(s,c,null,n,o),i.push({event:s,listeners:u}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===_e||!(c=n.relatedTarget||n.fromElement)||!vo(c)&&!c[mo])&&(l||s)&&(s=o.window===o?o:(s=o.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?vo(c):null)&&(c!==(d=Ue(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=gn,m="onMouseLeave",p="onMouseEnter",g="mouse","pointerout"!==e&&"pointerover"!==e||(u=Pn,m="onPointerLeave",p="onPointerEnter",g="pointer"),d=null==l?s:wo(l),f=null==c?s:wo(c),(s=new u(m,g+"leave",l,n,o)).target=d,s.relatedTarget=f,m=null,vo(o)===r&&((u=new u(p,g+"enter",c,n,o)).target=f,u.relatedTarget=d,m=u),d=m,l&&c)e:{for(p=c,g=0,f=u=l;f;f=Wr(f))g++;for(f=0,m=p;m;m=Wr(m))f++;for(;0<g-f;)u=Wr(u),g--;for(;0<f-g;)p=Wr(p),f--;for(;g--;){if(u===p||null!==p&&u===p.alternate)break e;u=Wr(u),p=Wr(p)}u=null}else u=null;null!==l&&qr(i,s,l,u,!1),null!==c&&null!==d&&qr(i,d,c,u,!0)}if("select"===(l=(s=r?wo(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var b=Yn;else if(Qn(s))if(Kn)b=ir;else{b=or;var h=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(b=ar);switch(b&&(b=b(e,r))?Vn(i,b,n,o):(h&&h(e,s,r),"focusout"===e&&(h=s._wrapperState)&&h.controlled&&"number"===s.type&&ee(s,"number",s.value)),h=r?wo(r):window,e){case"focusin":(Qn(h)||"true"===h.contentEditable)&&(br=h,hr=r,yr=null);break;case"focusout":yr=hr=br=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,_r(i,n,o);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":_r(i,n,o)}var y;if(Ln)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Un?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Fn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==v?"onCompositionEnd"===v&&Un&&(y=en()):(Xt="value"in(Kt=o)?Kt.value:Kt.textContent,Un=!0)),0<(h=Zr(r,v)).length&&(v=new _n(v,e,null,n,o),i.push({event:v,listeners:h}),y?v.data=y:null!==(y=$n(n))&&(v.data=y))),(y=Dn?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(zn=!0,Mn);case"textInput":return(e=t.data)===Mn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!Ln&&Bn(e,t)?(e=en(),Jt=Xt=Kt=null,Un=!1,e):null;switch(e){case"paste":default: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 Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Zr(r,"onBeforeInput")).length&&(o=new _n("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:r}),o.data=y))}Mr(i,t)}))}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Zr(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Ae(e,n))&&r.unshift(Vr(e,a,o)),null!=(a=Ae(e,t))&&r.push(Vr(e,a,o))),e=e.return}return r}function Wr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function qr(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,o?null!=(l=Ae(n,a))&&i.unshift(Vr(n,l,s)):o||null!=(l=Ae(n,a))&&i.push(Vr(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Gr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Kr(e){return("string"==typeof e?e:""+e).replace(Gr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Kr(t),Kr(e)!==t&&n)throw Error(a(425))}function Jr(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ro="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ao="function"==typeof Promise?Promise:void 0,io="function"==typeof queueMicrotask?queueMicrotask:void 0!==ao?function(e){return ao.resolve(null).then(e).catch(so)}:ro;function so(e){setTimeout((function(){throw e}))}function lo(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===r)return e.removeChild(o),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=o}while(n);Ut(t)}function co(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var po=Math.random().toString(36).slice(2),fo="__reactFiber$"+po,go="__reactProps$"+po,mo="__reactContainer$"+po,bo="__reactEvents$"+po,ho="__reactListeners$"+po,yo="__reactHandles$"+po;function vo(e){var t=e[fo];if(t)return t;for(var n=e.parentNode;n;){if(t=n[mo]||n[fo]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[fo])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function _o(e){return!(e=e[fo]||e[mo])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function xo(e){return e[go]||null}var So=[],ko=-1;function Eo(e){return{current:e}}function Oo(e){0>ko||(e.current=So[ko],So[ko]=null,ko--)}function jo(e,t){ko++,So[ko]=e.current,e.current=t}var Po={},Co=Eo(Po),To=Eo(!1),Io=Po;function Ao(e,t){var n=e.type.contextTypes;if(!n)return Po;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function No(e){return null!=(e=e.childContextTypes)}function Lo(){Oo(To),Oo(Co)}function Ro(e,t,n){if(Co.current!==Po)throw Error(a(168));jo(Co,t),jo(To,n)}function Do(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(a(108,H(e)||"Unknown",o));return F({},n,r)}function Fo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Po,Io=Co.current,jo(Co,e),jo(To,To.current),!0}function Mo(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=Do(e,t,Io),r.__reactInternalMemoizedMergedChildContext=e,Oo(To),Oo(Co),jo(Co,e)):Oo(To),jo(To,n)}var zo=null,Bo=!1,$o=!1;function Uo(e){null===zo?zo=[e]:zo.push(e)}function Ho(){if(!$o&&null!==zo){$o=!0;var e=0,t=vt;try{var n=zo;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}zo=null,Bo=!1}catch(o){throw null!==zo&&(zo=zo.slice(e+1)),We(Je,Ho),o}finally{vt=t,$o=!1}}return null}var Qo=[],Vo=0,Zo=null,Wo=0,qo=[],Go=0,Yo=null,Ko=1,Xo="";function Jo(e,t){Qo[Vo++]=Wo,Qo[Vo++]=Zo,Zo=e,Wo=t}function ea(e,t,n){qo[Go++]=Ko,qo[Go++]=Xo,qo[Go++]=Yo,Yo=e;var r=Ko;e=Xo;var o=32-it(r)-1;r&=~(1<<o),n+=1;var a=32-it(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Ko=1<<32-it(t)+o|n<<o|r,Xo=a+e}else Ko=1<<a|n<<o|r,Xo=e}function ta(e){null!==e.return&&(Jo(e,1),ea(e,1,0))}function na(e){for(;e===Zo;)Zo=Qo[--Vo],Qo[Vo]=null,Wo=Qo[--Vo],Qo[Vo]=null;for(;e===Yo;)Yo=qo[--Go],qo[Go]=null,Xo=qo[--Go],qo[Go]=null,Ko=qo[--Go],qo[Go]=null}var ra=null,oa=null,aa=!1,ia=null;function sa(e,t){var n=Ic(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function la(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ra=e,oa=co(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ra=e,oa=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Yo?{id:Ko,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Ic(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ra=e,oa=null,!0);default:return!1}}function ca(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function ua(e){if(aa){var t=oa;if(t){var n=t;if(!la(e,t)){if(ca(e))throw Error(a(418));t=co(n.nextSibling);var r=ra;t&&la(e,t)?sa(r,n):(e.flags=-4097&e.flags|2,aa=!1,ra=e)}}else{if(ca(e))throw Error(a(418));e.flags=-4097&e.flags|2,aa=!1,ra=e}}}function da(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ra=e}function pa(e){if(e!==ra)return!1;if(!aa)return da(e),aa=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oa)){if(ca(e))throw fa(),Error(a(418));for(;t;)sa(e,t),t=co(t.nextSibling)}if(da(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oa=co(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oa=null}}else oa=ra?co(e.stateNode.nextSibling):null;return!0}function fa(){for(var e=oa;e;)e=co(e.nextSibling)}function ga(){oa=ra=null,aa=!1}function ma(e){null===ia?ia=[e]:ia.push(e)}var ba=_.ReactCurrentBatchConfig;function ha(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var o=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=o.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function ya(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function va(e){return(0,e._init)(e._payload)}function _a(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Nc(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Fc(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function c(e,t,n,r){var a=n.type;return a===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===A&&va(a)===t.type)?((r=o(t,n.props)).ref=ha(e,t,n),r.return=e,r):((r=Lc(n.type,n.key,n.props,null,e.mode,r)).ref=ha(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Mc(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function d(e,t,n,r,a){return null===t||7!==t.tag?((t=Rc(n,e.mode,r,a)).return=e,t):((t=o(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Fc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Lc(t.type,t.key,t.props,null,e.mode,n)).ref=ha(e,null,t),n.return=e,n;case x:return(t=Mc(t,e.mode,n)).return=e,t;case A:return p(e,(0,t._init)(t._payload),n)}if(te(t)||R(t))return(t=Rc(t,e.mode,n,null)).return=e,t;ya(e,t)}return null}function f(e,t,n,r){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===o?c(e,t,n,r):null;case x:return n.key===o?u(e,t,n,r):null;case A:return f(e,t,(o=n._init)(n._payload),r)}if(te(n)||R(n))return null!==o?null:d(e,t,n,r,null);ya(e,n)}return null}function g(e,t,n,r,o){if("string"==typeof r&&""!==r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,o);if("object"==typeof r&&null!==r){switch(r.$$typeof){case w:return c(t,e=e.get(null===r.key?n:r.key)||null,r,o);case x:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case A:return g(e,t,n,(0,r._init)(r._payload),o)}if(te(r)||R(r))return d(t,e=e.get(n)||null,r,o,null);ya(t,r)}return null}function m(o,a,s,l){for(var c=null,u=null,d=a,m=a=0,b=null;null!==d&&m<s.length;m++){d.index>m?(b=d,d=null):b=d.sibling;var h=f(o,d,s[m],l);if(null===h){null===d&&(d=b);break}e&&d&&null===h.alternate&&t(o,d),a=i(h,a,m),null===u?c=h:u.sibling=h,u=h,d=b}if(m===s.length)return n(o,d),aa&&Jo(o,m),c;if(null===d){for(;m<s.length;m++)null!==(d=p(o,s[m],l))&&(a=i(d,a,m),null===u?c=d:u.sibling=d,u=d);return aa&&Jo(o,m),c}for(d=r(o,d);m<s.length;m++)null!==(b=g(d,o,m,s[m],l))&&(e&&null!==b.alternate&&d.delete(null===b.key?m:b.key),a=i(b,a,m),null===u?c=b:u.sibling=b,u=b);return e&&d.forEach((function(e){return t(o,e)})),aa&&Jo(o,m),c}function b(o,s,l,c){var u=R(l);if("function"!=typeof u)throw Error(a(150));if(null==(l=u.call(l)))throw Error(a(151));for(var d=u=null,m=s,b=s=0,h=null,y=l.next();null!==m&&!y.done;b++,y=l.next()){m.index>b?(h=m,m=null):h=m.sibling;var v=f(o,m,y.value,c);if(null===v){null===m&&(m=h);break}e&&m&&null===v.alternate&&t(o,m),s=i(v,s,b),null===d?u=v:d.sibling=v,d=v,m=h}if(y.done)return n(o,m),aa&&Jo(o,b),u;if(null===m){for(;!y.done;b++,y=l.next())null!==(y=p(o,y.value,c))&&(s=i(y,s,b),null===d?u=y:d.sibling=y,d=y);return aa&&Jo(o,b),u}for(m=r(o,m);!y.done;b++,y=l.next())null!==(y=g(m,o,b,y.value,c))&&(e&&null!==y.alternate&&m.delete(null===y.key?b:y.key),s=i(y,s,b),null===d?u=y:d.sibling=y,d=y);return e&&m.forEach((function(e){return t(o,e)})),aa&&Jo(o,b),u}return function e(r,a,i,l){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case w:e:{for(var c=i.key,u=a;null!==u;){if(u.key===c){if((c=i.type)===S){if(7===u.tag){n(r,u.sibling),(a=o(u,i.props.children)).return=r,r=a;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===A&&va(c)===u.type){n(r,u.sibling),(a=o(u,i.props)).ref=ha(r,u,i),a.return=r,r=a;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===S?((a=Rc(i.props.children,r.mode,l,i.key)).return=r,r=a):((l=Lc(i.type,i.key,i.props,null,r.mode,l)).ref=ha(r,a,i),l.return=r,r=l)}return s(r);case x:e:{for(u=i.key;null!==a;){if(a.key===u){if(4===a.tag&&a.stateNode.containerInfo===i.containerInfo&&a.stateNode.implementation===i.implementation){n(r,a.sibling),(a=o(a,i.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=Mc(i,r.mode,l)).return=r,r=a}return s(r);case A:return e(r,a,(u=i._init)(i._payload),l)}if(te(i))return m(r,a,i,l);if(R(i))return b(r,a,i,l);ya(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==a&&6===a.tag?(n(r,a.sibling),(a=o(a,i)).return=r,r=a):(n(r,a),(a=Fc(i,r.mode,l)).return=r,r=a),s(r)):n(r,a)}}var wa=_a(!0),xa=_a(!1),Sa=Eo(null),ka=null,Ea=null,Oa=null;function ja(){Oa=Ea=ka=null}function Pa(e){var t=Sa.current;Oo(Sa),e._currentValue=t}function Ca(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ta(e,t){ka=e,Oa=Ea=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(vs=!0),e.firstContext=null)}function Ia(e){var t=e._currentValue;if(Oa!==e)if(e={context:e,memoizedValue:t,next:null},null===Ea){if(null===ka)throw Error(a(308));Ea=e,ka.dependencies={lanes:0,firstContext:e}}else Ea=Ea.next=e;return t}var Aa=null;function Na(e){null===Aa?Aa=[e]:Aa.push(e)}function La(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,Na(t)):(n.next=o.next,o.next=n),t.interleaved=n,Ra(e,r)}function Ra(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Da=!1;function Fa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ma(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function za(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&Pl)){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Ra(e,n)}return null===(o=r.interleaved)?(t.next=t,Na(r)):(t.next=o.next,o.next=t),r.interleaved=t,Ra(e,n)}function $a(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Ua(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ha(e,t,n,r){var o=e.updateQueue;Da=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,s=o.shared.pending;if(null!==s){o.shared.pending=null;var l=s,c=l.next;l.next=null,null===i?a=c:i.next=c,i=l;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(null!==a){var d=o.baseState;for(i=0,u=c=l=null,s=a;;){var p=s.lane,f=s.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var g=e,m=s;switch(p=t,f=n,m.tag){case 1:if("function"==typeof(g=m.payload)){d=g.call(f,d,p);break e}d=g;break e;case 3:g.flags=-65537&g.flags|128;case 0:if(null==(p="function"==typeof(g=m.payload)?g.call(f,d,p):g))break e;d=F({},d,p);break e;case 2:Da=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=o.effects)?o.effects=[s]:p.push(s))}else f={eventTime:f,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(c=u=f,l=d):u=u.next=f,i|=p;if(null===(s=s.next)){if(null===(s=o.shared.pending))break;s=(p=s).next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}if(null===u&&(l=d),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=u,null!==(t=o.shared.interleaved)){o=t;do{i|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);Dl|=i,e.lanes=i,e.memoizedState=d}}function Qa(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!=typeof o)throw Error(a(191,o));o.call(r)}}}var Va={},Za=Eo(Va),Wa=Eo(Va),qa=Eo(Va);function Ga(e){if(e===Va)throw Error(a(174));return e}function Ya(e,t){switch(jo(qa,t),jo(Wa,e),jo(Za,Va),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Oo(Za),jo(Za,t)}function Ka(){Oo(Za),Oo(Wa),Oo(qa)}function Xa(e){Ga(qa.current);var t=Ga(Za.current),n=le(t,e.type);t!==n&&(jo(Wa,e),jo(Za,n))}function Ja(e){Wa.current===e&&(Oo(Za),Oo(Wa))}var ei=Eo(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ri(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var oi=_.ReactCurrentDispatcher,ai=_.ReactCurrentBatchConfig,ii=0,si=null,li=null,ci=null,ui=!1,di=!1,pi=0,fi=0;function gi(){throw Error(a(321))}function mi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function bi(e,t,n,r,o,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,oi.current=null===e||null===e.memoizedState?Ji:es,e=n(r,o),di){i=0;do{if(di=!1,pi=0,25<=i)throw Error(a(301));i+=1,ci=li=null,t.updateQueue=null,oi.current=ts,e=n(r,o)}while(di)}if(oi.current=Xi,t=null!==li&&null!==li.next,ii=0,ci=li=si=null,ui=!1,t)throw Error(a(300));return e}function hi(){var e=0!==pi;return pi=0,e}function yi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ci?si.memoizedState=ci=e:ci=ci.next=e,ci}function vi(){if(null===li){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=li.next;var t=null===ci?si.memoizedState:ci.next;if(null!==t)ci=t,li=e;else{if(null===e)throw Error(a(310));e={memoizedState:(li=e).memoizedState,baseState:li.baseState,baseQueue:li.baseQueue,queue:li.queue,next:null},null===ci?si.memoizedState=ci=e:ci=ci.next=e}return ci}function _i(e,t){return"function"==typeof t?t(e):t}function wi(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=li,o=r.baseQueue,i=n.pending;if(null!==i){if(null!==o){var s=o.next;o.next=i.next,i.next=s}r.baseQueue=o=i,n.pending=null}if(null!==o){i=o.next,r=r.baseState;var l=s=null,c=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=p,s=r):c=c.next=p,si.lanes|=d,Dl|=d}u=u.next}while(null!==u&&u!==i);null===c?s=r:c.next=l,sr(r,t.memoizedState)||(vs=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do{i=o.lane,si.lanes|=i,Dl|=i,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function xi(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,i=t.memoizedState;if(null!==o){n.pending=null;var s=o=o.next;do{i=e(i,s.action),s=s.next}while(s!==o);sr(i,t.memoizedState)||(vs=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Si(){}function ki(e,t){var n=si,r=vi(),o=t(),i=!sr(r.memoizedState,o);if(i&&(r.memoizedState=o,vs=!0),r=r.queue,Di(ji.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==ci&&1&ci.memoizedState.tag){if(n.flags|=2048,Ii(9,Oi.bind(null,n,r,o,t),void 0,null),null===Cl)throw Error(a(349));0!=(30&ii)||Ei(n,t,o)}return o}function Ei(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Oi(e,t,n,r){t.value=n,t.getSnapshot=r,Pi(t)&&Ci(e)}function ji(e,t,n){return n((function(){Pi(t)&&Ci(e)}))}function Pi(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function Ci(e){var t=Ra(e,1);null!==t&&nc(t,e,1,-1)}function Ti(e){var t=yi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:_i,lastRenderedState:e},t.queue=e,e=e.dispatch=qi.bind(null,si,e),[t.memoizedState,e]}function Ii(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Ai(){return vi().memoizedState}function Ni(e,t,n,r){var o=yi();si.flags|=e,o.memoizedState=Ii(1|t,n,void 0,void 0===r?null:r)}function Li(e,t,n,r){var o=vi();r=void 0===r?null:r;var a=void 0;if(null!==li){var i=li.memoizedState;if(a=i.destroy,null!==r&&mi(r,i.deps))return void(o.memoizedState=Ii(t,n,a,r))}si.flags|=e,o.memoizedState=Ii(1|t,n,a,r)}function Ri(e,t){return Ni(8390656,8,e,t)}function Di(e,t){return Li(2048,8,e,t)}function Fi(e,t){return Li(4,2,e,t)}function Mi(e,t){return Li(4,4,e,t)}function zi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,n){return n=null!=n?n.concat([e]):null,Li(4,4,zi.bind(null,t,e),n)}function $i(){}function Ui(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&mi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Hi(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&mi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Qi(e,t,n){return 0==(21&ii)?(e.baseState&&(e.baseState=!1,vs=!0),e.memoizedState=n):(sr(n,t)||(n=mt(),si.lanes|=n,Dl|=n,e.baseState=!0),t)}function Vi(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=ai.transition;ai.transition={};try{e(!1),t()}finally{vt=n,ai.transition=r}}function Zi(){return vi().memoizedState}function Wi(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Gi(e))Yi(t,n);else if(null!==(n=La(e,t,n,r))){nc(n,e,r,ec()),Ki(n,t,r)}}function qi(e,t,n){var r=tc(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Gi(e))Yi(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=a(i,n);if(o.hasEagerState=!0,o.eagerState=s,sr(s,i)){var l=t.interleaved;return null===l?(o.next=o,Na(t)):(o.next=l.next,l.next=o),void(t.interleaved=o)}}catch(c){}null!==(n=La(e,t,o,r))&&(nc(n,e,r,o=ec()),Ki(n,t,r))}}function Gi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Yi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ki(e,t,n){if(0!=(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}var Xi={readContext:Ia,useCallback:gi,useContext:gi,useEffect:gi,useImperativeHandle:gi,useInsertionEffect:gi,useLayoutEffect:gi,useMemo:gi,useReducer:gi,useRef:gi,useState:gi,useDebugValue:gi,useDeferredValue:gi,useTransition:gi,useMutableSource:gi,useSyncExternalStore:gi,useId:gi,unstable_isNewReconciler:!1},Ji={readContext:Ia,useCallback:function(e,t){return yi().memoizedState=[e,void 0===t?null:t],e},useContext:Ia,useEffect:Ri,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ni(4194308,4,zi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ni(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ni(4,2,e,t)},useMemo:function(e,t){var n=yi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=yi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Wi.bind(null,si,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},yi().memoizedState=e},useState:Ti,useDebugValue:$i,useDeferredValue:function(e){return yi().memoizedState=e},useTransition:function(){var e=Ti(!1),t=e[0];return e=Vi.bind(null,e[1]),yi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=si,o=yi();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Cl)throw Error(a(349));0!=(30&ii)||Ei(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Ri(ji.bind(null,r,i,e),[e]),r.flags|=2048,Ii(9,Oi.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=yi(),t=Cl.identifierPrefix;if(aa){var n=Xo;t=":"+t+"R"+(n=(Ko&~(1<<32-it(Ko)-1)).toString(32)+n),0<(n=pi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=fi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Ia,useCallback:Ui,useContext:Ia,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Fi,useLayoutEffect:Mi,useMemo:Hi,useReducer:wi,useRef:Ai,useState:function(){return wi(_i)},useDebugValue:$i,useDeferredValue:function(e){return Qi(vi(),li.memoizedState,e)},useTransition:function(){return[wi(_i)[0],vi().memoizedState]},useMutableSource:Si,useSyncExternalStore:ki,useId:Zi,unstable_isNewReconciler:!1},ts={readContext:Ia,useCallback:Ui,useContext:Ia,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Fi,useLayoutEffect:Mi,useMemo:Hi,useReducer:xi,useRef:Ai,useState:function(){return xi(_i)},useDebugValue:$i,useDeferredValue:function(e){var t=vi();return null===li?t.memoizedState=e:Qi(t,li.memoizedState,e)},useTransition:function(){return[xi(_i)[0],vi().memoizedState]},useMutableSource:Si,useSyncExternalStore:ki,useId:Zi,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rs(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var os={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=za(r,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),$a(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=za(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),$a(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),o=za(n,r);o.tag=2,null!=t&&(o.callback=t),null!==(t=Ba(e,o,r))&&(nc(t,e,r,n),$a(t,e,r))}};function as(e,t,n,r,o,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(o,a))}function is(e,t,n){var r=!1,o=Po,a=t.contextType;return"object"==typeof a&&null!==a?a=Ia(a):(o=No(t)?Io:Co.current,a=(r=null!=(r=t.contextTypes))?Ao(e,o):Po),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=os,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function ss(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&os.enqueueReplaceState(t,t.state,null)}function ls(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Fa(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=Ia(a):(a=No(t)?Io:Co.current,o.context=Ao(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(rs(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&os.enqueueReplaceState(o,o.state,null),Ha(e,n,o,r),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function cs(e,t){try{var n="",r=t;do{n+=$(r),r=r.return}while(r);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var ps="function"==typeof WeakMap?WeakMap:Map;function fs(e,t,n){(n=za(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ql||(Ql=!0,Vl=r),ds(0,t)},n}function gs(e,t,n){(n=za(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){ds(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof r&&(null===Zl?Zl=new Set([this]):Zl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function ms(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ps;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=Ec.bind(null,e,t,n),t.then(e,e))}function bs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function hs(e,t,n,r,o){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=za(-1,1)).tag=2,Ba(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var ys=_.ReactCurrentOwner,vs=!1;function _s(e,t,n,r){t.child=null===e?xa(t,null,n,r):wa(t,e.child,n,r)}function ws(e,t,n,r,o){n=n.render;var a=t.ref;return Ta(t,o),r=bi(e,t,n,r,a,o),n=hi(),null===e||vs?(aa&&n&&ta(t),t.flags|=1,_s(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Qs(e,t,o))}function xs(e,t,n,r,o){if(null===e){var a=n.type;return"function"!=typeof a||Ac(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Lc(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Ss(e,t,a,r,o))}if(a=e.child,0==(e.lanes&o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(i,r)&&e.ref===t.ref)return Qs(e,t,o)}return t.flags|=1,(e=Nc(a,r)).ref=t.ref,e.return=t,t.child=e}function Ss(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(lr(a,r)&&e.ref===t.ref){if(vs=!1,t.pendingProps=r=a,0==(e.lanes&o))return t.lanes=e.lanes,Qs(e,t,o);0!=(131072&e.flags)&&(vs=!0)}}return Os(e,t,n,r,o)}function ks(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},jo(Nl,Al),Al|=n;else{if(0==(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,jo(Nl,Al),Al|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,jo(Nl,Al),Al|=r}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,jo(Nl,Al),Al|=r;return _s(e,t,o,n),t.child}function Es(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Os(e,t,n,r,o){var a=No(n)?Io:Co.current;return a=Ao(t,a),Ta(t,o),n=bi(e,t,n,r,a,o),r=hi(),null===e||vs?(aa&&r&&ta(t),t.flags|=1,_s(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Qs(e,t,o))}function js(e,t,n,r,o){if(No(n)){var a=!0;Fo(t)}else a=!1;if(Ta(t,o),null===t.stateNode)Hs(e,t),is(t,n,r),ls(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=Ia(c):c=Ao(t,c=No(n)?Io:Co.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==c)&&ss(t,i,r,c),Da=!1;var p=t.memoizedState;i.state=p,Ha(t,r,i,o),l=t.memoizedState,s!==r||p!==l||To.current||Da?("function"==typeof u&&(rs(t,n,u,r),l=t.memoizedState),(s=Da||as(t,n,s,r,p,l,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=c,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Ma(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:ns(t.type,s),i.props=c,d=t.pendingProps,p=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=Ia(l):l=Ao(t,l=No(n)?Io:Co.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||p!==l)&&ss(t,i,r,l),Da=!1,p=t.memoizedState,i.state=p,Ha(t,r,i,o);var g=t.memoizedState;s!==d||p!==g||To.current||Da?("function"==typeof f&&(rs(t,n,f,r),g=t.memoizedState),(c=Da||as(t,n,c,r,p,g,l)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,g,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,g,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=g),i.props=r,i.state=g,i.context=l,r=c):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Ps(e,t,n,r,a,o)}function Ps(e,t,n,r,o,a){Es(e,t);var i=0!=(128&t.flags);if(!r&&!i)return o&&Mo(t,n,!1),Qs(e,t,a);r=t.stateNode,ys.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=wa(t,e.child,null,a),t.child=wa(t,null,s,a)):_s(e,t,s,a),t.memoizedState=r.state,o&&Mo(t,n,!0),t.child}function Cs(e){var t=e.stateNode;t.pendingContext?Ro(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Ro(0,t.context,!1),Ya(e,t.containerInfo)}function Ts(e,t,n,r,o){return ga(),ma(o),t.flags|=256,_s(e,t,n,r),t.child}var Is,As,Ns,Ls,Rs={dehydrated:null,treeContext:null,retryLane:0};function Ds(e){return{baseLanes:e,cachePool:null,transitions:null}}function Fs(e,t,n){var r,o=t.pendingProps,i=ei.current,s=!1,l=0!=(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!=(2&i)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),jo(ei,1&i),null===e)return ua(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=o.children,e=o.fallback,s?(o=t.mode,s=t.child,l={mode:"hidden",children:l},0==(1&o)&&null!==s?(s.childLanes=0,s.pendingProps=l):s=Dc(l,o,0,null),e=Rc(e,o,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ds(n),t.memoizedState=Rs,e):Ms(t,l));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,o,i,s){if(n)return 256&t.flags?(t.flags&=-257,zs(e,t,s,r=us(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=Dc({mode:"visible",children:r.children},o,0,null),(i=Rc(i,o,s,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,0!=(1&t.mode)&&wa(t,e.child,null,s),t.child.memoizedState=Ds(s),t.memoizedState=Rs,i);if(0==(1&t.mode))return zs(e,t,s,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var l=r.dgst;return r=l,zs(e,t,s,r=us(i=Error(a(419)),r,void 0))}if(l=0!=(s&e.childLanes),vs||l){if(null!==(r=Cl)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!=(o&(r.suspendedLanes|s))?0:o)&&o!==i.retryLane&&(i.retryLane=o,Ra(e,o),nc(r,e,o,-1))}return mc(),zs(e,t,s,r=us(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=jc.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,oa=co(o.nextSibling),ra=t,aa=!0,ia=null,null!==e&&(qo[Go++]=Ko,qo[Go++]=Xo,qo[Go++]=Yo,Ko=e.id,Xo=e.overflow,Yo=t),t=Ms(t,r.children),t.flags|=4096,t)}(e,t,l,o,r,i,n);if(s){s=o.fallback,l=t.mode,r=(i=e.child).sibling;var c={mode:"hidden",children:o.children};return 0==(1&l)&&t.child!==i?((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null):(o=Nc(i,c)).subtreeFlags=14680064&i.subtreeFlags,null!==r?s=Nc(r,s):(s=Rc(s,l,n,null)).flags|=2,s.return=t,o.return=t,o.sibling=s,t.child=o,o=s,s=t.child,l=null===(l=e.child.memoizedState)?Ds(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=Rs,o}return e=(s=e.child).sibling,o=Nc(s,{mode:"visible",children:o.children}),0==(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Ms(e,t){return(t=Dc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function zs(e,t,n,r){return null!==r&&ma(r),wa(t,e.child,null,n),(e=Ms(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Ca(e.return,t,n)}function $s(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function Us(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(_s(e,t,r.children,n),0!=(2&(r=ei.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,n,t);else if(19===e.tag)Bs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(jo(ei,r),0==(1&t.mode))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),$s(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ti(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}$s(t,!0,n,null,a);break;case"together":$s(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Hs(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Qs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Dl|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Nc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Nc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vs(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Zs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ws(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Zs(t),null;case 1:case 17:return No(t.type)&&Lo(),Zs(t),null;case 3:return r=t.stateNode,Ka(),Oo(To),Oo(Co),ri(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(pa(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==ia&&(ic(ia),ia=null))),As(e,t),Zs(t),null;case 5:Ja(t);var o=Ga(qa.current);if(n=t.type,null!==e&&null!=t.stateNode)Ns(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return Zs(t),null}if(e=Ga(Za.current),pa(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[fo]=t,r[go]=i,e=0!=(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(o=0;o<Rr.length;o++)zr(Rr[o],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":Y(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":oe(r,i),zr("invalid",r)}for(var l in ye(n,i),o=null,i)if(i.hasOwnProperty(l)){var c=i[l];"children"===l?"string"==typeof c?r.textContent!==c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",""+c]):s.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&zr("scroll",r)}switch(n){case"input":Z(r),J(r,i,!0);break;case"textarea":Z(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=o,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[fo]=t,e[go]=r,Is(e,t,!1,!1),t.stateNode=e;e:{switch(l=ve(n,r),n){case"dialog":zr("cancel",e),zr("close",e),o=r;break;case"iframe":case"object":case"embed":zr("load",e),o=r;break;case"video":case"audio":for(o=0;o<Rr.length;o++)zr(Rr[o],e);o=r;break;case"source":zr("error",e),o=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),o=r;break;case"details":zr("toggle",e),o=r;break;case"input":Y(e,r),o=G(e,r),zr("invalid",e);break;case"option":default:o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=F({},r,{value:void 0}),zr("invalid",e);break;case"textarea":oe(e,r),o=re(e,r),zr("invalid",e)}for(i in ye(n,o),c=o)if(c.hasOwnProperty(i)){var u=c[i];"style"===i?be(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&zr("scroll",e):null!=u&&v(e,i,u,l))}switch(n){case"input":Z(e),J(e,r,!1);break;case"textarea":Z(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+Q(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Zs(t),null;case 6:if(e&&null!=t.stateNode)Ls(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(a(166));if(n=Ga(qa.current),Ga(Za.current),pa(t)){if(r=t.stateNode,n=t.memoizedProps,r[fo]=t,(i=r.nodeValue!==n)&&null!==(e=ra))switch(e.tag){case 3:Xr(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,0!=(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[fo]=t,t.stateNode=r}return Zs(t),null;case 13:if(Oo(ei),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(aa&&null!==oa&&0!=(1&t.mode)&&0==(128&t.flags))fa(),ga(),t.flags|=98560,i=!1;else if(i=pa(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(a(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(a(317));i[fo]=t}else ga(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Zs(t),i=!1}else null!==ia&&(ic(ia),ia=null),i=!0;if(!i)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&ei.current)?0===Ll&&(Ll=3):mc())),null!==t.updateQueue&&(t.flags|=4),Zs(t),null);case 4:return Ka(),As(e,t),null===e&&Ur(t.stateNode.containerInfo),Zs(t),null;case 10:return Pa(t.type._context),Zs(t),null;case 19:if(Oo(ei),null===(i=t.memoizedState))return Zs(t),null;if(r=0!=(128&t.flags),null===(l=i.rendering))if(r)Vs(i,!1);else{if(0!==Ll||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(l=ti(e))){for(t.flags|=128,Vs(i,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(l=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return jo(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Ke()>Ul&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ti(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!l.alternate&&!aa)return Zs(t),null}else 2*Ke()-i.renderingStartTime>Ul&&1073741824!==n&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=i.last)?n.sibling=l:t.child=l,i.last=l)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ke(),t.sibling=null,n=ei.current,jo(ei,r?1&n|2:1&n),t):(Zs(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(1073741824&Al)&&(Zs(t),6&t.subtreeFlags&&(t.flags|=8192)):Zs(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function qs(e,t){switch(na(t),t.tag){case 1:return No(t.type)&&Lo(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Ka(),Oo(To),Oo(Co),ri(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Ja(t),null;case 13:if(Oo(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));ga()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Oo(ei),null;case 4:return Ka(),null;case 10:return Pa(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Is=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},As=function(){},Ns=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Ga(Za.current);var a,i=null;switch(n){case"input":o=G(e,o),r=G(e,r),i=[];break;case"select":o=F({},o,{value:void 0}),r=F({},r,{value:void 0}),i=[];break;case"textarea":o=re(e,o),r=re(e,r),i=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(u in ye(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var l=o[u];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(i||(i=[]),i.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(i=i||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(i=i||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&zr("scroll",e),i||l===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Ls=function(e,t,n,r){n!==r&&(t.flags|=4)};var Gs=!1,Ys=!1,Ks="function"==typeof WeakSet?WeakSet:Set,Xs=null;function Js(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){kc(e,t,r)}else n.current=null}function el(e,t,n){try{n()}catch(r){kc(e,t,r)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&el(t,n,a)}o=o.next}while(o!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ol(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function al(e){var t=e.alternate;null!==t&&(e.alternate=null,al(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[fo],delete t[go],delete t[bo],delete t[ho],delete t[yo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function il(e){return 5===e.tag||3===e.tag||4===e.tag}function sl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||il(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,dl=!1;function pl(e,t,n){for(n=n.child;null!==n;)fl(e,t,n),n=n.sibling}function fl(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(s){}switch(n.tag){case 5:Ys||Js(n,t);case 6:var r=ul,o=dl;ul=null,pl(e,t,n),dl=o,null!==(ul=r)&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?lo(e.parentNode,n):1===e.nodeType&&lo(e,n),Ut(e)):lo(ul,n.stateNode));break;case 4:r=ul,o=dl,ul=n.stateNode.containerInfo,dl=!0,pl(e,t,n),ul=r,dl=o;break;case 0:case 11:case 14:case 15:if(!Ys&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,void 0!==i&&(0!=(2&a)||0!=(4&a))&&el(n,t,i),o=o.next}while(o!==r)}pl(e,t,n);break;case 1:if(!Ys&&(Js(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){kc(n,t,s)}pl(e,t,n);break;case 21:pl(e,t,n);break;case 22:1&n.mode?(Ys=(r=Ys)||null!==n.memoizedState,pl(e,t,n),Ys=r):pl(e,t,n);break;default:pl(e,t,n)}}function gl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ks),t.forEach((function(t){var r=Pc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function ml(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var i=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(a(160));fl(i,s,o),ul=null,dl=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(u){kc(o,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)bl(t,e),t=t.sibling}function bl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(ml(t,e),hl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(b){kc(e,e.return,b)}try{nl(5,e,e.return)}catch(b){kc(e,e.return,b)}}break;case 1:ml(t,e),hl(e),512&r&&null!==n&&Js(n,n.return);break;case 5:if(ml(t,e),hl(e),512&r&&null!==n&&Js(n,n.return),32&e.flags){var o=e.stateNode;try{pe(o,"")}catch(b){kc(e,e.return,b)}}if(4&r&&null!=(o=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===i.type&&null!=i.name&&K(o,i),ve(l,s);var u=ve(l,i);for(s=0;s<c.length;s+=2){var d=c[s],p=c[s+1];"style"===d?be(o,p):"dangerouslySetInnerHTML"===d?de(o,p):"children"===d?pe(o,p):v(o,d,p,u)}switch(l){case"input":X(o,i);break;case"textarea":ae(o,i);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var g=i.value;null!=g?ne(o,!!i.multiple,g,!1):f!==!!i.multiple&&(null!=i.defaultValue?ne(o,!!i.multiple,i.defaultValue,!0):ne(o,!!i.multiple,i.multiple?[]:"",!1))}o[go]=i}catch(b){kc(e,e.return,b)}}break;case 6:if(ml(t,e),hl(e),4&r){if(null===e.stateNode)throw Error(a(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(b){kc(e,e.return,b)}}break;case 3:if(ml(t,e),hl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(b){kc(e,e.return,b)}break;case 4:default:ml(t,e),hl(e);break;case 13:ml(t,e),hl(e),8192&(o=e.child).flags&&(i=null!==o.memoizedState,o.stateNode.isHidden=i,!i||null!==o.alternate&&null!==o.alternate.memoizedState||($l=Ke())),4&r&&gl(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ys=(u=Ys)||d,ml(t,e),Ys=u):ml(t,e),hl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&0!=(1&e.mode))for(Xs=e,d=e.child;null!==d;){for(p=Xs=d;null!==Xs;){switch(g=(f=Xs).child,f.tag){case 0:case 11:case 14:case 15:nl(4,f,f.return);break;case 1:Js(f,f.return);var m=f.stateNode;if("function"==typeof m.componentWillUnmount){r=f,n=f.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(b){kc(r,n,b)}}break;case 5:Js(f,f.return);break;case 22:if(null!==f.memoizedState){wl(p);continue}}null!==g?(g.return=f,Xs=g):wl(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{o=p.stateNode,u?"function"==typeof(i=o.style).setProperty?i.setProperty("display","none","important"):i.display="none":(l=p.stateNode,s=null!=(c=p.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=me("display",s))}catch(b){kc(e,e.return,b)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(b){kc(e,e.return,b)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:ml(t,e),hl(e),4&r&&gl(e);case 21:}}function hl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(il(n)){var r=n;break e}n=n.return}throw Error(a(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(pe(o,""),r.flags&=-33),cl(e,sl(e),o);break;case 3:case 4:var i=r.stateNode.containerInfo;ll(e,sl(e),i);break;default:throw Error(a(161))}}catch(s){kc(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yl(e,t,n){Xs=e,vl(e,t,n)}function vl(e,t,n){for(var r=0!=(1&e.mode);null!==Xs;){var o=Xs,a=o.child;if(22===o.tag&&r){var i=null!==o.memoizedState||Gs;if(!i){var s=o.alternate,l=null!==s&&null!==s.memoizedState||Ys;s=Gs;var c=Ys;if(Gs=i,(Ys=l)&&!c)for(Xs=o;null!==Xs;)l=(i=Xs).child,22===i.tag&&null!==i.memoizedState?xl(o):null!==l?(l.return=i,Xs=l):xl(o);for(;null!==a;)Xs=a,vl(a,t,n),a=a.sibling;Xs=o,Gs=s,Ys=c}_l(e)}else 0!=(8772&o.subtreeFlags)&&null!==a?(a.return=o,Xs=a):_l(e)}}function _l(e){for(;null!==Xs;){var t=Xs;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Ys||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ys)if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Qa(t,i,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Qa(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Ut(p)}}}break;default:throw Error(a(163))}Ys||512&t.flags&&ol(t)}catch(f){kc(t,t.return,f)}}if(t===e){Xs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Xs=n;break}Xs=t.return}}function wl(e){for(;null!==Xs;){var t=Xs;if(t===e){Xs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Xs=n;break}Xs=t.return}}function xl(e){for(;null!==Xs;){var t=Xs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){kc(t,n,l)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(l){kc(t,o,l)}}var a=t.return;try{ol(t)}catch(l){kc(t,a,l)}break;case 5:var i=t.return;try{ol(t)}catch(l){kc(t,i,l)}}}catch(l){kc(t,t.return,l)}if(t===e){Xs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Xs=s;break}Xs=t.return}}var Sl,kl=Math.ceil,El=_.ReactCurrentDispatcher,Ol=_.ReactCurrentOwner,jl=_.ReactCurrentBatchConfig,Pl=0,Cl=null,Tl=null,Il=0,Al=0,Nl=Eo(0),Ll=0,Rl=null,Dl=0,Fl=0,Ml=0,zl=null,Bl=null,$l=0,Ul=1/0,Hl=null,Ql=!1,Vl=null,Zl=null,Wl=!1,ql=null,Gl=0,Yl=0,Kl=null,Xl=-1,Jl=0;function ec(){return 0!=(6&Pl)?Ke():-1!==Xl?Xl:Xl=Ke()}function tc(e){return 0==(1&e.mode)?1:0!=(2&Pl)&&0!==Il?Il&-Il:null!==ba.transition?(0===Jl&&(Jl=mt()),Jl):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Yt(e.type)}function nc(e,t,n,r){if(50<Yl)throw Yl=0,Kl=null,Error(a(185));ht(e,n,r),0!=(2&Pl)&&e===Cl||(e===Cl&&(0==(2&Pl)&&(Fl|=n),4===Ll&&sc(e,Il)),rc(e,r),1===n&&0===Pl&&0==(1&t.mode)&&(Ul=Ke()+500,Bo&&Ho()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-it(a),s=1<<i,l=o[i];-1===l?0!=(s&n)&&0==(s&r)||(o[i]=ft(s,t)):l<=t&&(e.expiredLanes|=s),a&=~s}}(e,t);var r=pt(e,e===Cl?Il:0);if(0===r)null!==n&&qe(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&qe(n),1===t)0===e.tag?function(e){Bo=!0,Uo(e)}(lc.bind(null,e)):Uo(lc.bind(null,e)),io((function(){0==(6&Pl)&&Ho()})),n=null;else{switch(_t(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Cc(n,oc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function oc(e,t){if(Xl=-1,Jl=0,0!=(6&Pl))throw Error(a(327));var n=e.callbackNode;if(xc()&&e.callbackNode!==n)return null;var r=pt(e,e===Cl?Il:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=bc(e,r);else{t=r;var o=Pl;Pl|=2;var i=gc();for(Cl===e&&Il===t||(Hl=null,Ul=Ke()+500,pc(e,t));;)try{yc();break}catch(l){fc(e,l)}ja(),El.current=i,Pl=o,null!==Tl?t=0:(Cl=null,Il=0,t=Ll)}if(0!==t){if(2===t&&(0!==(o=gt(e))&&(r=o,t=ac(e,o))),1===t)throw n=Rl,pc(e,0),sc(e,r),rc(e,Ke()),n;if(6===t)sc(e,r);else{if(o=e.current.alternate,0==(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!sr(a(),o))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)&&(2===(t=bc(e,r))&&(0!==(i=gt(e))&&(r=i,t=ac(e,i))),1===t))throw n=Rl,pc(e,0),sc(e,r),rc(e,Ke()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(a(345));case 2:case 5:wc(e,Bl,Hl);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=$l+500-Ke())){if(0!==pt(e,0))break;if(((o=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ro(wc.bind(null,e,Bl,Hl),t);break}wc(e,Bl,Hl);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var s=31-it(r);i=1<<s,(s=t[s])>o&&(o=s),r&=~i}if(r=o,10<(r=(120>(r=Ke()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*kl(r/1960))-r)){e.timeoutHandle=ro(wc.bind(null,e,Bl,Hl),r);break}wc(e,Bl,Hl);break;default:throw Error(a(329))}}}return rc(e,Ke()),e.callbackNode===n?oc.bind(null,e):null}function ac(e,t){var n=zl;return e.current.memoizedState.isDehydrated&&(pc(e,t).flags|=256),2!==(e=bc(e,t))&&(t=Bl,Bl=n,null!==t&&ic(t)),e}function ic(e){null===Bl?Bl=e:Bl.push.apply(Bl,e)}function sc(e,t){for(t&=~Ml,t&=~Fl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(0!=(6&Pl))throw Error(a(327));xc();var t=pt(e,0);if(0==(1&t))return rc(e,Ke()),null;var n=bc(e,t);if(0!==e.tag&&2===n){var r=gt(e);0!==r&&(t=r,n=ac(e,r))}if(1===n)throw n=Rl,pc(e,0),sc(e,t),rc(e,Ke()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wc(e,Bl,Hl),rc(e,Ke()),null}function cc(e,t){var n=Pl;Pl|=1;try{return e(t)}finally{0===(Pl=n)&&(Ul=Ke()+500,Bo&&Ho())}}function uc(e){null!==ql&&0===ql.tag&&0==(6&Pl)&&xc();var t=Pl;Pl|=1;var n=jl.transition,r=vt;try{if(jl.transition=null,vt=1,e)return e()}finally{vt=r,jl.transition=n,0==(6&(Pl=t))&&Ho()}}function dc(){Al=Nl.current,Oo(Nl)}function pc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Tl)for(n=Tl.return;null!==n;){var r=n;switch(na(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Lo();break;case 3:Ka(),Oo(To),Oo(Co),ri();break;case 5:Ja(r);break;case 4:Ka();break;case 13:case 19:Oo(ei);break;case 10:Pa(r.type._context);break;case 22:case 23:dc()}n=n.return}if(Cl=e,Tl=e=Nc(e.current,null),Il=Al=t,Ll=0,Rl=null,Ml=Fl=Dl=0,Bl=zl=null,null!==Aa){for(t=0;t<Aa.length;t++)if(null!==(r=(n=Aa[t]).interleaved)){n.interleaved=null;var o=r.next,a=n.pending;if(null!==a){var i=a.next;a.next=o,r.next=i}n.pending=r}Aa=null}return e}function fc(e,t){for(;;){var n=Tl;try{if(ja(),oi.current=Xi,ui){for(var r=si.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}ui=!1}if(ii=0,ci=li=si=null,di=!1,pi=0,Ol.current=null,null===n||null===n.return){Ll=1,Rl=t,Tl=null;break}e:{var i=e,s=n.return,l=n,c=t;if(t=Il,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=l,p=d.tag;if(0==(1&d.mode)&&(0===p||11===p||15===p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var g=bs(s);if(null!==g){g.flags&=-257,hs(g,s,l,0,t),1&g.mode&&ms(i,u,t),c=u;var m=(t=g).updateQueue;if(null===m){var b=new Set;b.add(c),t.updateQueue=b}else m.add(c);break e}if(0==(1&t)){ms(i,u,t),mc();break e}c=Error(a(426))}else if(aa&&1&l.mode){var h=bs(s);if(null!==h){0==(65536&h.flags)&&(h.flags|=256),hs(h,s,l,0,t),ma(cs(c,l));break e}}i=c=cs(c,l),4!==Ll&&(Ll=2),null===zl?zl=[i]:zl.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,fs(0,c,t));break e;case 1:l=c;var y=i.type,v=i.stateNode;if(0==(128&i.flags)&&("function"==typeof y.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===Zl||!Zl.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,gs(i,l,t));break e}}i=i.return}while(null!==i)}_c(n)}catch(_){t=_,Tl===n&&null!==n&&(Tl=n=n.return);continue}break}}function gc(){var e=El.current;return El.current=Xi,null===e?Xi:e}function mc(){0!==Ll&&3!==Ll&&2!==Ll||(Ll=4),null===Cl||0==(268435455&Dl)&&0==(268435455&Fl)||sc(Cl,Il)}function bc(e,t){var n=Pl;Pl|=2;var r=gc();for(Cl===e&&Il===t||(Hl=null,pc(e,t));;)try{hc();break}catch(o){fc(e,o)}if(ja(),Pl=n,El.current=r,null!==Tl)throw Error(a(261));return Cl=null,Il=0,Ll}function hc(){for(;null!==Tl;)vc(Tl)}function yc(){for(;null!==Tl&&!Ge();)vc(Tl)}function vc(e){var t=Sl(e.alternate,e,Al);e.memoizedProps=e.pendingProps,null===t?_c(e):Tl=t,Ol.current=null}function _c(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=Ws(n,t,Al)))return void(Tl=n)}else{if(null!==(n=qs(n,t)))return n.flags&=32767,void(Tl=n);if(null===e)return Ll=6,void(Tl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Tl=t);Tl=t=e}while(null!==t);0===Ll&&(Ll=5)}function wc(e,t,n){var r=vt,o=jl.transition;try{jl.transition=null,vt=1,function(e,t,n,r){do{xc()}while(null!==ql);if(0!=(6&Pl))throw Error(a(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-it(n),a=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~a}}(e,i),e===Cl&&(Tl=Cl=null,Il=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Wl||(Wl=!0,Cc(tt,(function(){return xc(),null}))),i=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||i){i=jl.transition,jl.transition=null;var s=vt;vt=1;var l=Pl;Pl|=4,Ol.current=null,function(e,t){if(eo=Qt,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(w){n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,p=e,f=null;t:for(;;){for(var g;p!==n||0!==o&&3!==p.nodeType||(l=s+o),p!==i||0!==r&&3!==p.nodeType||(c=s+r),3===p.nodeType&&(s+=p.nodeValue.length),null!==(g=p.firstChild);)f=p,p=g;for(;;){if(p===e)break t;if(f===n&&++u===o&&(l=s),f===i&&++d===r&&(c=s),null!==(g=p.nextSibling))break;f=(p=f).parentNode}p=g}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Qt=!1,Xs=t;null!==Xs;)if(e=(t=Xs).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Xs=e;else for(;null!==Xs;){t=Xs;try{var m=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var b=m.memoizedProps,h=m.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?b:ns(t.type,b),h);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var _=t.stateNode.containerInfo;1===_.nodeType?_.textContent="":9===_.nodeType&&_.documentElement&&_.removeChild(_.documentElement);break;default:throw Error(a(163))}}catch(w){kc(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,Xs=e;break}Xs=t.return}m=tl,tl=!1}(e,n),bl(n,e),gr(to),Qt=!!eo,to=eo=null,e.current=n,yl(n,e,o),Ye(),Pl=l,vt=s,jl.transition=i}else e.current=n;if(Wl&&(Wl=!1,ql=e,Gl=o),i=e.pendingLanes,0===i&&(Zl=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,128==(128&e.current.flags))}catch(t){}}(n.stateNode),rc(e,Ke()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],r(o.value,{componentStack:o.stack,digest:o.digest});if(Ql)throw Ql=!1,e=Vl,Vl=null,e;0!=(1&Gl)&&0!==e.tag&&xc(),i=e.pendingLanes,0!=(1&i)?e===Kl?Yl++:(Yl=0,Kl=e):Yl=0,Ho()}(e,t,n,r)}finally{jl.transition=o,vt=r}return null}function xc(){if(null!==ql){var e=_t(Gl),t=jl.transition,n=vt;try{if(jl.transition=null,vt=16>e?16:e,null===ql)var r=!1;else{if(e=ql,ql=null,Gl=0,0!=(6&Pl))throw Error(a(331));var o=Pl;for(Pl|=4,Xs=e.current;null!==Xs;){var i=Xs,s=i.child;if(0!=(16&Xs.flags)){var l=i.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Xs=u;null!==Xs;){var d=Xs;switch(d.tag){case 0:case 11:case 15:nl(8,d,i)}var p=d.child;if(null!==p)p.return=d,Xs=p;else for(;null!==Xs;){var f=(d=Xs).sibling,g=d.return;if(al(d),d===u){Xs=null;break}if(null!==f){f.return=g,Xs=f;break}Xs=g}}}var m=i.alternate;if(null!==m){var b=m.child;if(null!==b){m.child=null;do{var h=b.sibling;b.sibling=null,b=h}while(null!==b)}}Xs=i}}if(0!=(2064&i.subtreeFlags)&&null!==s)s.return=i,Xs=s;else e:for(;null!==Xs;){if(0!=(2048&(i=Xs).flags))switch(i.tag){case 0:case 11:case 15:nl(9,i,i.return)}var y=i.sibling;if(null!==y){y.return=i.return,Xs=y;break e}Xs=i.return}}var v=e.current;for(Xs=v;null!==Xs;){var _=(s=Xs).child;if(0!=(2064&s.subtreeFlags)&&null!==_)_.return=s,Xs=_;else e:for(s=v;null!==Xs;){if(0!=(2048&(l=Xs).flags))try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(x){kc(l,l.return,x)}if(l===s){Xs=null;break e}var w=l.sibling;if(null!==w){w.return=l.return,Xs=w;break e}Xs=l.return}}if(Pl=o,Ho(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(ot,e)}catch(x){}r=!0}return r}finally{vt=n,jl.transition=t}}return!1}function Sc(e,t,n){e=Ba(e,t=fs(0,t=cs(n,t),1),1),t=ec(),null!==e&&(ht(e,1,t),rc(e,t))}function kc(e,t,n){if(3===e.tag)Sc(e,e,n);else for(;null!==t;){if(3===t.tag){Sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Zl||!Zl.has(r))){t=Ba(t,e=gs(t,e=cs(n,e),1),1),e=ec(),null!==t&&(ht(t,1,e),rc(t,e));break}}t=t.return}}function Ec(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,Cl===e&&(Il&n)===n&&(4===Ll||3===Ll&&(130023424&Il)===Il&&500>Ke()-$l?pc(e,0):Ml|=n),rc(e,t)}function Oc(e,t){0===t&&(0==(1&e.mode)?t=1:(t=ut,0==(130023424&(ut<<=1))&&(ut=4194304)));var n=ec();null!==(e=Ra(e,t))&&(ht(e,t,n),rc(e,n))}function jc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Oc(e,n)}function Pc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Oc(e,n)}function Cc(e,t){return We(e,t)}function Tc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ic(e,t,n,r){return new Tc(e,t,n,r)}function Ac(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Nc(e,t){var n=e.alternate;return null===n?((n=Ic(e.tag,t,e.key,e.mode)).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=14680064&e.flags,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=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Lc(e,t,n,r,o,i){var s=2;if(r=e,"function"==typeof e)Ac(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case S:return Rc(n.children,o,i,t);case k:s=8,o|=8;break;case E:return(e=Ic(12,n,t,2|o)).elementType=E,e.lanes=i,e;case C:return(e=Ic(13,n,t,o)).elementType=C,e.lanes=i,e;case T:return(e=Ic(19,n,t,o)).elementType=T,e.lanes=i,e;case N:return Dc(n,o,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case O:s=10;break e;case j:s=9;break e;case P:s=11;break e;case I:s=14;break e;case A:s=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Ic(s,n,t,o)).elementType=e,t.type=r,t.lanes=i,t}function Rc(e,t,n,r){return(e=Ic(7,e,r,t)).lanes=n,e}function Dc(e,t,n,r){return(e=Ic(22,e,r,t)).elementType=N,e.lanes=n,e.stateNode={isHidden:!1},e}function Fc(e,t,n){return(e=Ic(6,e,null,t)).lanes=n,e}function Mc(e,t,n){return(t=Ic(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function zc(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bt(0),this.expirationTimes=bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bt(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bc(e,t,n,r,o,a,i,s,l){return e=new zc(e,t,n,s,l),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Ic(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Fa(a),e}function $c(e){if(!e)return Po;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(No(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(No(n))return Do(e,n,t)}return t}function Uc(e,t,n,r,o,a,i,s,l){return(e=Bc(n,r,!0,e,0,a,0,s,l)).context=$c(null),n=e.current,(a=za(r=ec(),o=tc(n))).callback=null!=t?t:null,Ba(n,a,o),e.current.lanes=o,ht(e,o,r),rc(e,r),e}function Hc(e,t,n,r){var o=t.current,a=ec(),i=tc(o);return n=$c(n),null===t.context?t.context=n:t.pendingContext=n,(t=za(a,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ba(o,t,i))&&(nc(e,o,i,a),$a(e,o,i)),i}function Qc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Zc(e,t){Vc(e,t),(e=e.alternate)&&Vc(e,t)}Sl=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||To.current)vs=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return vs=!1,function(e,t,n){switch(t.tag){case 3:Cs(t),ga();break;case 5:Xa(t);break;case 1:No(t.type)&&Fo(t);break;case 4:Ya(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;jo(Sa,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(jo(ei,1&ei.current),t.flags|=128,null):0!=(n&t.child.childLanes)?Fs(e,t,n):(jo(ei,1&ei.current),null!==(e=Qs(e,t,n))?e.sibling:null);jo(ei,1&ei.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return Us(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),jo(ei,ei.current),r)break;return null;case 22:case 23:return t.lanes=0,ks(e,t,n)}return Qs(e,t,n)}(e,t,n);vs=0!=(131072&e.flags)}else vs=!1,aa&&0!=(1048576&t.flags)&&ea(t,Wo,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Hs(e,t),e=t.pendingProps;var o=Ao(t,Co.current);Ta(t,n),o=bi(null,t,r,e,o,n);var i=hi();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,No(r)?(i=!0,Fo(t)):i=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Fa(t),o.updater=os,t.stateNode=o,o._reactInternals=t,ls(t,r,e,n),t=Ps(null,t,r,!0,i,n)):(t.tag=0,aa&&i&&ta(t),_s(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Hs(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Ac(e)?1:0;if(null!=e){if((e=e.$$typeof)===P)return 11;if(e===I)return 14}return 2}(r),e=ns(r,e),o){case 0:t=Os(null,t,r,e,n);break e;case 1:t=js(null,t,r,e,n);break e;case 11:t=ws(null,t,r,e,n);break e;case 14:t=xs(null,t,r,ns(r.type,e),n);break e}throw Error(a(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,Os(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 1:return r=t.type,o=t.pendingProps,js(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 3:e:{if(Cs(t),null===e)throw Error(a(387));r=t.pendingProps,o=(i=t.memoizedState).element,Ma(e,t),Ha(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Ts(e,t,r,n,o=cs(Error(a(423)),t));break e}if(r!==o){t=Ts(e,t,r,n,o=cs(Error(a(424)),t));break e}for(oa=co(t.stateNode.containerInfo.firstChild),ra=t,aa=!0,ia=null,n=xa(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ga(),r===o){t=Qs(e,t,n);break e}_s(e,t,r,n)}t=t.child}return t;case 5:return Xa(t),null===e&&ua(t),r=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,s=o.children,no(r,o)?s=null:null!==i&&no(r,i)&&(t.flags|=32),Es(e,t),_s(e,t,s,n),t.child;case 6:return null===e&&ua(t),null;case 13:return Fs(e,t,n);case 4:return Ya(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=wa(t,null,r,n):_s(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,ws(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 7:return _s(e,t,t.pendingProps,n),t.child;case 8:case 12:return _s(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,jo(Sa,r._currentValue),r._currentValue=s,null!==i)if(sr(i.value,s)){if(i.children===o.children&&!To.current){t=Qs(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var l=i.dependencies;if(null!==l){s=i.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===i.tag){(c=za(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),Ca(i.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(a(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),Ca(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}_s(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Ta(t,n),r=r(o=Ia(o)),t.flags|=1,_s(e,t,r,n),t.child;case 14:return o=ns(r=t.type,t.pendingProps),xs(e,t,r,o=ns(r.type,o),n);case 15:return Ss(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ns(r,o),Hs(e,t),t.tag=1,No(r)?(e=!0,Fo(t)):e=!1,Ta(t,n),is(t,r,o),ls(t,r,o,n),Ps(null,t,r,!0,e,n);case 19:return Us(e,t,n);case 22:return ks(e,t,n)}throw Error(a(156,t.tag))};var Wc="function"==typeof reportError?reportError:function(e){console.error(e)};function qc(e){this._internalRoot=e}function Gc(e){this._internalRoot=e}function Yc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Kc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Xc(){}function Jc(e,t,n,r,o){var a=n._reactRootContainer;if(a){var i=a;if("function"==typeof o){var s=o;o=function(){var e=Qc(i);s.call(e)}}Hc(t,i,e,o)}else i=function(e,t,n,r,o){if(o){if("function"==typeof r){var a=r;r=function(){var e=Qc(i);a.call(e)}}var i=Uc(t,r,e,0,null,!1,0,"",Xc);return e._reactRootContainer=i,e[mo]=i.current,Ur(8===e.nodeType?e.parentNode:e),uc(),i}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof r){var s=r;r=function(){var e=Qc(l);s.call(e)}}var l=Bc(e,0,!1,null,0,!1,0,"",Xc);return e._reactRootContainer=l,e[mo]=l.current,Ur(8===e.nodeType?e.parentNode:e),uc((function(){Hc(t,l,n,r)})),l}(n,t,e,o,r);return Qc(i)}Gc.prototype.render=qc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));Hc(e,t,null,null)},Gc.prototype.unmount=qc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){Hc(null,e,null,null)})),t[mo]=null}},Gc.prototype.unstable_scheduleHydration=function(e){if(e){var t=kt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Nt.length&&0!==t&&t<Nt[n].priority;n++);Nt.splice(n,0,e),0===n&&Ft(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),rc(t,Ke()),0==(6&Pl)&&(Ul=Ke()+500,Ho()))}break;case 13:uc((function(){var t=Ra(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Zc(e,1)}},xt=function(e){if(13===e.tag){var t=Ra(e,134217728);if(null!==t)nc(t,e,134217728,ec());Zc(e,134217728)}},St=function(e){if(13===e.tag){var t=tc(e),n=Ra(e,t);if(null!==n)nc(n,e,t,ec());Zc(e,t)}},kt=function(){return vt},Et=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=xo(r);if(!o)throw Error(a(90));W(r),X(r,o)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Pe=cc,Ce=uc;var eu={usingClientEntryPoint:!1,Events:[_o,wo,xo,Oe,je,cc]},tu={findFiberByHostInstance:vo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:_.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{ot=ru.inject(nu),at=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yc(t))throw Error(a(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Yc(e))throw Error(a(299));var n=!1,r="",o=Wc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Bc(e,1,!1,null,0,n,0,r,o),e[mo]=t.current,Ur(8===e.nodeType?e.parentNode:e),new qc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Kc(t))throw Error(a(200));return Jc(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Yc(e))throw Error(a(405));var r=null!=n&&n.hydratedSources||null,o=!1,i="",s=Wc;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Uc(t,null,e,1,null!=n?n:null,o,0,i,s),e[mo]=t.current,Ur(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Gc(t)},t.render=function(e,t,n){if(!Kc(t))throw Error(a(200));return Jc(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Kc(e))throw Error(a(40));return!!e._reactRootContainer&&(uc((function(){Jc(null,null,e,!1,(function(){e._reactRootContainer=null,e[mo]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Kc(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return Jc(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},8751:(e,t,n)=>{"use strict";var r=n(967);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},967:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(6521)},5154:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,c,u;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!a(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;for(u=e.entries();!(l=u.next()).done;)if(!a(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,c[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!e.$$typeof)&&!a(e[c[l]],i[c[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return a(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},3810:(e,t,n)=>{"use strict";n.d(t,{B6:()=>V,ql:()=>J});var r=n(5271),o=n(507),a=n.n(o),i=n(5154),s=n.n(i),l=n(3670),c=n.n(l),u=n(631),d=n.n(u);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function g(e,t){return g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},g(e,t)}function m(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}var b={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},h={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},_=Object.keys(b).map((function(e){return b[e]})),w={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(w).reduce((function(e,t){return e[w[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},k=function(e){var t=S(e,b.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},E=function(e){return S(e,"onChangeClientState")||function(){}},O=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},j=function(e,t){return t.filter((function(e){return void 0!==e[b.BASE]})).map((function(e){return e[b.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o+=1){var a=r[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},P=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n,a=Object.keys(e),i=0;i<a.length;i+=1){var s=a[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][c]&&(o[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(o),i=0;i<a.length;i+=1){var s=a[i],l=p({},r[s],o[s]);r[s]=l}return e}),[]).reverse()},C=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},T=function(e){return Array.isArray(e)?e.join(""):e},I=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},A=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},N=[b.NOSCRIPT,b.SCRIPT,b.STYLE],L=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},R=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},D=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[w[n]||n]=e[n],t}),t)},F=function(e,t){return t.map((function(t,n){var o,a=((o={key:n})["data-rh"]=!0,o);return Object.keys(t).forEach((function(e){var n=w[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]})),r.createElement(e,a)}))},M=function(e,t,n){switch(e){case b.TITLE:return{toComponent:function(){return n=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,a=D(n,o),[r.createElement(b.TITLE,a,e)];var e,n,o,a},toString:function(){return function(e,t,n,r){var o=R(n),a=T(t);return o?"<"+e+' data-rh="true" '+o+">"+L(a,r)+"</"+e+">":"<"+e+' data-rh="true">'+L(a,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return D(t)},toString:function(){return R(t)}};default:return{toComponent:function(){return F(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+L(r[t],n)+'"';return e?e+" "+o:o}),""),a=r.innerHTML||r.cssText||"",i=-1===N.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(i?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,a=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var g=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,o=I(e.metaTags,v),a=I(t,h),i=I(n,y);return{priorityMethods:{toComponent:function(){return[].concat(F(b.META,o.priority),F(b.LINK,a.priority),F(b.SCRIPT,i.priority))},toString:function(){return M(b.META,o.priority,r)+" "+M(b.LINK,a.priority,r)+" "+M(b.SCRIPT,i.priority,r)}},metaTags:o.default,linkTags:a.default,scriptTags:i.default}}(e);f=g.priorityMethods,u=g.linkTags,d=g.metaTags,p=g.scriptTags}return{priority:f,base:M(b.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",o,r),link:M(b.LINK,u,r),meta:M(b.META,d,r),noscript:M(b.NOSCRIPT,a,r),script:M(b.SCRIPT,p,r),style:M(b.STYLE,i,r),title:M(b.TITLE,{title:l,titleAttributes:c},r)}},B=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),H=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),Q="undefined"!=typeof document,V=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);V.canUseDOM=Q,V.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var Z=function(e,t){var n,r=document.head||document.querySelector(b.HEAD),o=r.querySelectorAll(e+"[data-rh]"),a=[].slice.call(o),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?r.innerHTML=t.innerHTML:"cssText"===o?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(o,void 0===t[o]?"":t[o]));r.setAttribute("data-rh","true"),a.some((function(e,t){return n=t,r.isEqualNode(e)}))?a.splice(n,1):i.push(r)})),a.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:a,newTags:i}},W=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),o=r?r.split(","):[],a=[].concat(o),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],c=t[l]||"";n.getAttribute(l)!==c&&n.setAttribute(l,c),-1===o.indexOf(l)&&o.push(l);var u=a.indexOf(l);-1!==u&&a.splice(u,1)}for(var d=a.length-1;d>=0;d-=1)n.removeAttribute(a[d]);o.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},q=function(e,t){var n=e.baseTag,r=e.htmlAttributes,o=e.linkTags,a=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;W(b.BODY,e.bodyAttributes),W(b.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=T(e)),W(b.TITLE,t)}(u,d);var p={baseTag:Z(b.BASE,n),linkTags:Z(b.LINK,o),metaTags:Z(b.META,a),noscriptTags:Z(b.NOSCRIPT,i),scriptTags:Z(b.SCRIPT,l),styleTags:Z(b.STYLE,c)},f={},g={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(g[e]=p[e].oldTags)})),t&&t(),s(e,f,g)},G=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,o=null,a=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:j(["href"],e),bodyAttributes:O("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:O("htmlAttributes",e),linkTags:P(b.LINK,["rel","href"],e),metaTags:P(b.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:P(b.NOSCRIPT,["innerHTML"],e),onChangeClientState:E(e),scriptTags:P(b.SCRIPT,["src","innerHTML"],e),styleTags:P(b.STYLE,["cssText"],e),title:k(e),titleAttributes:O("titleAttributes",e),prioritizeSeoTags:C(e,"prioritizeSeoTags")});V.canUseDOM?(t=a,G&&cancelAnimationFrame(G),t.defer?G=requestAnimationFrame((function(){q(t,(function(){G=null}))})):(q(t),G=null)):z&&(o=z(a)),r(o)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:H.isRequired},Y.displayName="HelmetDispatcher";var K=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(A(this.props,"helmetData"),A(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case b.SCRIPT:case b.NOSCRIPT:return{innerHTML:t};case b.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,a=e.newChildProps,i=e.nestedChildren;switch(r.type){case b.TITLE:return p({},o,((t={})[r.type]=i,t.titleAttributes=p({},a),t));case b.BODY:return p({},o,{bodyAttributes:p({},a)});case b.HTML:return p({},o,{htmlAttributes:p({},a)});default:return p({},o,((n={})[r.type]=p({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(_.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+_.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,o={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,a=r.children,i=m(r,K),s=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,a),l){case b.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case b.LINK:case b.META:case b.NOSCRIPT:case b.SCRIPT:case b.STYLE:o=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:s,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:a})}}})),this.mapArrayTypeChildrenToProps(o,t)},n.render=function(){var e=this.props,t=e.children,n=m(e,X),o=p({},n),a=n.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!a||a instanceof $||(a=new $(a.context,a.instances)),a?r.createElement(Y,p({},o,{context:a.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,p({},o,{context:e}))}))},t}(r.Component);J.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},198:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,g=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,b=n?Symbol.for("react.lazy"):60116,h=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,_=n?Symbol.for("react.scope"):60119;function w(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case a:case s:case i:case f:return e;default:switch(e=e&&e.$$typeof){case c:case p:case b:case m:case l:return e;default:return t}}case o:return t}}}function x(e){return w(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=p,t.Fragment=a,t.Lazy=b,t.Memo=m,t.Portal=o,t.Profiler=s,t.StrictMode=i,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||w(e)===u},t.isConcurrentMode=x,t.isContextConsumer=function(e){return w(e)===c},t.isContextProvider=function(e){return w(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return w(e)===p},t.isFragment=function(e){return w(e)===a},t.isLazy=function(e){return w(e)===b},t.isMemo=function(e){return w(e)===m},t.isPortal=function(e){return w(e)===o},t.isProfiler=function(e){return w(e)===s},t.isStrictMode=function(e){return w(e)===i},t.isSuspense=function(e){return w(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===s||e===i||e===f||e===g||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===m||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p||e.$$typeof===y||e.$$typeof===v||e.$$typeof===_||e.$$typeof===h)},t.typeOf=w},6237:(e,t,n)=>{"use strict";e.exports=n(198)},7677:(e,t,n)=>{"use strict";n.d(t,{H:()=>s,f:()=>i});var r=n(3225),o=n(6920),a=n(5271);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return o&&(n.push({route:e,match:o}),e.routes&&i(e.routes,t,n)),o})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?a.createElement(r.rs,n,e.map((function(e,n){return a.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.Z)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.Z)({},n,t,{route:e}))}})}))):null}},8594:(e,t,n)=>{"use strict";n.d(t,{OL:()=>_,UT:()=>d,VK:()=>u,rU:()=>h});var r=n(3225),o=n(2666),a=n(5271),i=n(4047),s=n(6920),l=n(3804),c=n(8624),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,o.Z)(t,e),t.prototype.render=function(){return a.createElement(r.F0,{history:this.history,children:this.props.children})},t}(a.Component);var d=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.q_)(t.props),t}return(0,o.Z)(t,e),t.prototype.render=function(){return a.createElement(r.F0,{history:this.history,children:this.props.children})},t}(a.Component);var p=function(e,t){return"function"==typeof e?e(t):e},f=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},g=function(e){return e},m=a.forwardRef;void 0===m&&(m=g);var b=m((function(e,t){var n=e.innerRef,r=e.navigate,o=e.onClick,i=(0,l.Z)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,s.Z)({},i,{onClick:function(e){try{o&&o(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=g!==m&&t||n,a.createElement("a",u)}));var h=m((function(e,t){var n=e.component,o=void 0===n?b:n,u=e.replace,d=e.to,h=e.innerRef,y=(0,l.Z)(e,["component","replace","to","innerRef"]);return a.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=e.history,r=f(p(d,e.location),e.location),l=r?n.createHref(r):"",b=(0,s.Z)({},y,{href:l,navigate:function(){var t=p(d,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(f(t));(u||r?n.replace:n.push)(t)}});return g!==m?b.ref=t||h:b.innerRef=h,a.createElement(o,b)}))})),y=function(e){return e},v=a.forwardRef;void 0===v&&(v=y);var _=v((function(e,t){var n=e["aria-current"],o=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,d=e.activeStyle,g=e.className,m=e.exact,b=e.isActive,_=e.location,w=e.sensitive,x=e.strict,S=e.style,k=e.to,E=e.innerRef,O=(0,l.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=_||e.location,i=f(p(k,n),n),l=i.pathname,j=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),P=j?(0,r.LX)(n.pathname,{path:j,exact:m,sensitive:w,strict:x}):null,C=!!(b?b(P,n):P),T="function"==typeof g?g(C):g,I="function"==typeof S?S(C):S;C&&(T=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(T,u),I=(0,s.Z)({},I,d));var A=(0,s.Z)({"aria-current":C&&o||null,className:T,style:I,to:i},O);return y!==v?A.ref=t||E:A.innerRef=E,a.createElement(h,A)}))}))},3225:(e,t,n)=>{"use strict";n.d(t,{AW:()=>k,F0:()=>v,LX:()=>S,TH:()=>N,k6:()=>A,rs:()=>T,s6:()=>y});var r=n(2666),o=n(5271),a=n(507),i=n.n(a),s=n(4047),l=n(8624),c=n(6920),u=n(7720),d=n.n(u),p=(n(6237),n(3804)),f=(n(2535),1073741823),g="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var m=o.createContext||function(e,t){var n,a,s="__create-react-context-"+function(){var e="__global_unique_id__";return g[e]=(g[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return(t=e.call.apply(e,[this].concat(a))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var o=n.prototype;return o.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((a=r)===(i=o)?0!==a||1/a==1/i:a!=a&&i!=i)?n=0:(n="function"==typeof t?t(r,o):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var a,i},o.render=function(){return this.props.children},n}(o.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var o=n.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},o.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},o.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},o.getValue=function(){return this.context[s]?this.context[s].get():e},o.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return c.contextTypes=((a={})[s]=i().object,a),{Provider:l,Consumer:c}},b=function(e){var t=m();return t.displayName=e,t},h=b("Router-History"),y=b("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(y.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(h.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var _={},w=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,s=void 0!==i&&i,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=_[n]||(_[n]={});if(r[e])return r[e];var o=[],a={regexp:d()(e,o,t),keys:o};return x<w&&(r[e]=a,x++),a}(n,{end:a,strict:s,sensitive:c}),o=r.regexp,i=r.keys,l=o.exec(e);if(!l)return null;var u=l[0],p=l.slice(1),f=e===u;return a&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var k=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,l.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,a=(0,c.Z)({},t,{location:n,match:r}),i=e.props,s=i.children,u=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===o.Children.count(e)}(s)&&(s=null),o.createElement(y.Provider,{value:a},a.match?s?"function"==typeof s?s(a):s:u?o.createElement(u,a):d?d(a):null:"function"==typeof s?s(a):null)}))},t}(o.Component);function E(e){return"/"===e.charAt(0)?e:"/"+e}function O(e,t){if(!e)return t;var n=E(e);return 0!==t.pathname.indexOf(n)?t:(0,c.Z)({},t,{pathname:t.pathname.substr(n.length)})}function j(e){return"string"==typeof e?e:(0,s.Ep)(e)}function P(e){return function(){(0,l.Z)(!1)}}function C(){}o.Component;var T=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,l.Z)(!1);var n,r,a=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==r&&o.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(a.pathname,(0,c.Z)({},e.props,{path:i})):t.match}})),r?o.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(o.Component);var I=o.useContext;function A(){return I(h)}function N(){return I(y).location}},8193:(e,t,n)=>{"use strict";var r=n(5271),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!l.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:a,_owner:s.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},7596:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,b={};function h(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}h.prototype.isReactComponent={},h.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): 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")},h.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=h.prototype;var _=v.prototype=new y;_.constructor=v,m(_,h.prototype),_.isPureReactComponent=!0;var w=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var o,a={},i=null,s=null;if(null!=t)for(o in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,o)&&!k.hasOwnProperty(o)&&(a[o]=t[o]);var l=arguments.length-2;if(1===l)a.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(o in l=e.defaultProps)void 0===a[o]&&(a[o]=l[o]);return{$$typeof:n,type:e,key:i,ref:s,props:a,_owner:S.current}}function O(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var j=/\/+/g;function P(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function C(e,t,o,a,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return i=i(l=e),e=""===a?"."+P(l,0):a,w(i)?(o="",null!=e&&(o=e.replace(j,"$&/")+"/"),C(i,t,o,"",(function(e){return e}))):null!=i&&(O(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,o+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(j,"$&/")+"/")+e)),t.push(i)),1;if(l=0,a=""===a?".":a+":",w(e))for(var c=0;c<e.length;c++){var u=a+P(s=e[c],c);l+=C(s,t,o,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=C(s=s.value,t,o,u=a+P(s,c++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function T(e,t,n){if(null==e)return e;var r=[],o=0;return C(e,r,"","",(function(e){return t.call(n,e,o++)})),r}function I(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var A={current:null},N={transition:null},L={ReactCurrentDispatcher:A,ReactCurrentBatchConfig:N,ReactCurrentOwner:S};function R(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:T,forEach:function(e,t,n){T(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return T(e,(function(){t++})),t},toArray:function(e){return T(e,(function(e){return e}))||[]},only:function(e){if(!O(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=h,t.Fragment=o,t.Profiler=i,t.PureComponent=v,t.StrictMode=a,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=L,t.act=R,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=m({},e.props),a=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=S.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)x.call(t,c)&&!k.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];o.children=l}return{$$typeof:n,type:e.type,key:a,ref:i,props:o,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=O,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:I}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=N.transition;N.transition={};try{e()}finally{N.transition=t}},t.unstable_act=R,t.useCallback=function(e,t){return A.current.useCallback(e,t)},t.useContext=function(e){return A.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return A.current.useDeferredValue(e)},t.useEffect=function(e,t){return A.current.useEffect(e,t)},t.useId=function(){return A.current.useId()},t.useImperativeHandle=function(e,t,n){return A.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return A.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return A.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return A.current.useMemo(e,t)},t.useReducer=function(e,t,n){return A.current.useReducer(e,t,n)},t.useRef=function(e){return A.current.useRef(e)},t.useState=function(e){return A.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return A.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return A.current.useTransition()},t.version="18.3.1"},5271:(e,t,n)=>{"use strict";e.exports=n(7596)},2676:(e,t,n)=>{"use strict";e.exports=n(8193)},8088:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(!(0<a(o,t)))break e;e[r]=t,e[n]=o,n=r}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,i=o>>>1;r<i;){var s=2*(r+1)-1,l=e[s],c=s+1,u=e[c];if(0>a(l,n))c<o&&0>a(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[s]=n,r=s);else{if(!(c<o&&0>a(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,p=null,f=3,g=!1,m=!1,b=!1,h="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function _(e){for(var t=r(u);null!==t;){if(null===t.callback)o(u);else{if(!(t.startTime<=e))break;o(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function w(e){if(b=!1,_(e),!m)if(null!==r(c))m=!0,N(x);else{var t=r(u);null!==t&&L(w,t.startTime-e)}}function x(e,n){m=!1,b&&(b=!1,y(O),O=-1),g=!0;var a=f;try{for(_(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!C());){var i=p.callback;if("function"==typeof i){p.callback=null,f=p.priorityLevel;var s=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?p.callback=s:p===r(c)&&o(c),_(n)}else o(c);p=r(c)}if(null!==p)var l=!0;else{var d=r(u);null!==d&&L(w,d.startTime-n),l=!1}return l}finally{p=null,f=a,g=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,k=!1,E=null,O=-1,j=5,P=-1;function C(){return!(t.unstable_now()-P<j)}function T(){if(null!==E){var e=t.unstable_now();P=e;var n=!0;try{n=E(!0,e)}finally{n?S():(k=!1,E=null)}}else k=!1}if("function"==typeof v)S=function(){v(T)};else if("undefined"!=typeof MessageChannel){var I=new MessageChannel,A=I.port2;I.port1.onmessage=T,S=function(){A.postMessage(null)}}else S=function(){h(T,0)};function N(e){E=e,k||(k=!0,S())}function L(e,n){O=h((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||g||(m=!0,N(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):j=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,o,a){var i=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0<a?i+a:i:a=i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:a,expirationTime:s=a+s,sortIndex:-1},a>i?(e.sortIndex=a,n(u,e),null===r(c)&&e===r(u)&&(b?(y(O),O=-1):b=!0,L(w,a-i))):(e.sortIndex=s,n(c,e),m||g||(m=!0,N(x))),e},t.unstable_shouldYield=C,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},7537:(e,t,n)=>{"use strict";e.exports=n(8088)},631:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<a.length;l++){var c=a[l];if(!s(c))return!1;var u=e[c],d=t[c];if(!1===(o=n?n.call(r,u,d,c):void 0)||void 0===o&&u!==d)return!1}return!0}},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"GameVault",tagline:"the self-hosted gaming platform for drm-free games",favicon:"img/logo.png",url:"https://gamevau.lt",baseUrl:"/",organizationName:"Phalcode",projectName:"gamevault-docs",onBrokenLinks:"throw",onBrokenMarkdownLinks:"throw",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},plugins:[["@docusaurus/plugin-client-redirects",{fromExtensions:["html","htm"],redirects:[{from:"/gamevault-plus",to:"/docs/gamevault-plus/introduction"},{from:"/license",to:"/docs/license-contribute"}]}],"/home/runner/work/gamevault-docs/gamevault-docs/node_modules/.pnpm/docusaurus-plugin-image-zoom@2.0.0_@docusaurus+theme-classic@3.5.2_@types+react@18.2.45_react_6zaxrksshcrr2kvhptvh3gewqe/node_modules/docusaurus-plugin-image-zoom/lib/index.js","/home/runner/work/gamevault-docs/gamevault-docs/node_modules/.pnpm/@cmfcmf+docusaurus-search-local@1.2.0_@docusaurus+core@3.5.2_@docusaurus+types@3.5.2_react-do_ebqvlsi7hqfuk5gfydy2ivw3ca/node_modules/@cmfcmf/docusaurus-search-local/lib/server/index.js",null],presets:[["@docusaurus/preset-classic",{docs:{showLastUpdateAuthor:!0,showLastUpdateTime:!0,sidebarPath:"/home/runner/work/gamevault-docs/gamevault-docs/sidebars.js",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master"},blog:{showReadingTime:!0,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master",blogSidebarCount:"ALL"},theme:{customCss:"/home/runner/work/gamevault-docs/gamevault-docs/src/css/custom.css"}}]],themeConfig:{navbar:{logo:{alt:"GameVault",src:"img/logo.png"},title:"GameVault",items:[{type:"docSidebar",sidebarId:"docs",position:"left",label:"Documentation"},{to:"/blog",label:"Blog",position:"left"},{label:"GameVault+",to:"/docs/gamevault-plus/introduction",position:"left"},{label:"GitHub",href:"https://github.com/phalcode",position:"right"},{label:"Discord",href:"https://discord.gg/NEdNen2dSu",position:"right"},{label:"Support us",href:"https://gamevau.lt/docs/intro#support",position:"right"}],hideOnScroll:!1},footer:{logo:{src:"img/phalcode_bright.png",srcDark:"img/phalcode_dark.png",height:"30vh",href:"https://phalco.de"},links:[{title:"Shortcuts",items:[{label:"Introduction",to:"/docs/intro"},{label:"Blog",to:"/blog"},{label:"Server Setup",to:"/docs/server-docs/setup"},{label:"Troubleshooting",to:"/docs/troubleshooting"}]},{title:"Development",items:[{label:"Roadmap",href:"https://github.com/orgs/Phalcode/projects/4"},{label:"Repositories",href:"https://github.com/orgs/Phalcode/repositories?q=gamevault"}]},{title:"Socials",items:[{label:"Reddit",href:"https://reddit.com/r/Phalcode"},{label:"Lemmy",href:"https://lemmy.world/c/phalcode"},{label:"Discord",href:"https://discord.gg/NEdNen2dSu"}]},{title:"Support us",items:[{label:"Get GameVault+",href:"/docs/gamevault-plus/introduction"},{label:"GitHub Sponsors",href:"https://github.com/sponsors/Phalcode"},{href:"https://ko-fi.com/phalcode",label:"Ko-Fi"},{href:"https://liberapay.com/phalcode",label:"Liberapay"},{href:"https://www.paypal.me/phalcode",label:"PayPal"}]},{title:"Legals",items:[{label:"License",href:"/docs/license-contribute"},{label:"Legal Notice",href:"https://phalco.de/legal"},{label:"Privacy Policy",href:"https://phalco.de/privacy"},{label:"Terms of Service",href:"https://phalco.de/tos"}]}],copyright:'Copyright \xa9 2024 <a href="https://phalco.de">Phalcode</a> - All Rights Reserved',style:"light"},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["bash","json"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},zoom:{selector:".zoomable,img:not(nav img):not(footer img):not(.nozoom):not([alt~='ko-fi']):not([alt~='GameVault'])",config:{background:{light:"#e2e1ef",dark:"#171528"}}},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,future:{experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},6920:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},2666:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>o})},3804:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}n.d(t,{Z:()=>r})},4814:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=r(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}n.d(t,{Z:()=>o});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=r(e))&&(o&&(o+=" "),o+=t);return o}},739:(e,t,n)=>{"use strict";n.d(t,{p1:()=>j,y$:()=>ne});var r,o,a,i,s,l,c,u=n(5271),d=n(4814),p=Object.create,f=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptor,b=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertyNames,y=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))_.call(t,n)&&x(e,n,t[n]);if(y)for(var n of y(t))w.call(t,n)&&x(e,n,t[n]);return e},k=(e,t)=>g(e,b(t)),E=(e,t)=>{var n={};for(var r in e)_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&y)for(var r of y(e))t.indexOf(r)<0&&w.call(e,r)&&(n[r]=e[r]);return n},O=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var o,a;switch(n=n||{},r.util.type(t)){case"Object":if(a=r.util.objId(t),n[a])return n[a];for(var i in o={},n[a]=o,t)t.hasOwnProperty(i)&&(o[i]=e(t[i],n));return o;case"Array":return a=r.util.objId(t),n[a]?n[a]:(o=[],n[a]=o,t.forEach((function(t,r){o[r]=e(t,n)})),o);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var o in t)n[o]=t[o];return n},insertBefore:function(e,t,n,o){var a=(o=o||r.languages)[e],i={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=a[s])}var c=o[e];return o[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,o,a){a=a||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],o||s);var l=t[s],c=r.util.type(l);"Object"!==c||a[i(l)]?"Array"!==c||a[i(l)]||(a[i(l)]=!0,e(l,n,s,a)):(a[i(l)]=!0,e(l,n,null,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",a),!a.grammar)throw new Error('The language "'+a.language+'" has no grammar.');return a.tokens=r.tokenize(a.code,a.grammar),r.hooks.run("after-tokenize",a),o.stringify(r.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var o=new s;return l(o,o.head,e),i(e,o,t,o.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(o)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function a(e,t,n,r){e.lastIndex=t;var o=e.exec(n);if(o&&r&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function i(e,t,n,s,u,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var g=0;g<f.length;++g){if(d&&d.cause==p+","+g)return;var m=f[g],b=m.inside,h=!!m.lookbehind,y=!!m.greedy,v=m.alias;if(y&&!m.pattern.global){var _=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,_+"g")}for(var w=m.pattern||m,x=s.next,S=u;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var k=x.value;if(t.length>e.length)return;if(!(k instanceof o)){var E,O=1;if(y){if(!(E=a(w,S,e,h))||E.index>=e.length)break;var j=E.index,P=E.index+E[0].length,C=S;for(C+=x.value.length;j>=C;)C+=(x=x.next).value.length;if(S=C-=x.value.length,x.value instanceof o)continue;for(var T=x;T!==t.tail&&(C<P||"string"==typeof T.value);T=T.next)O++,C+=T.value.length;O--,k=e.slice(S,C),E.index-=S}else if(!(E=a(w,0,k,h)))continue;j=E.index;var I=E[0],A=k.slice(0,j),N=k.slice(j+I.length),L=S+k.length;d&&L>d.reach&&(d.reach=L);var R=x.prev;if(A&&(R=l(t,R,A),S+=A.length),c(t,R,O),x=l(t,R,new o(p,b?r.tokenize(I,b):I,v,I)),N&&l(t,x,N),O>1){var D={cause:p+","+g,reach:L};i(e,t,n,x.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function c(e,t,n){for(var r=t.next,o=0;o<n&&r!==e.tail;o++)r=r.next;t.next=r,r.prev=t,e.length-=o}return o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,n)})),o}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),r.hooks.run("wrap",a);var s="";for(var l in a.attributes)s+=" "+l+'="'+(a.attributes[l]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+s+">"+a.content+"</"+a.tag+">"},r}();t.exports=n,n.default=n}},function(){return o||(0,r[h(r)[0]])((o={exports:{}}).exports,o),o.exports}),j=((e,t,n)=>(n=null!=e?p(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of h(t))_.call(e,o)||o===n||f(e,o,{get:()=>t[o],enumerable:!(r=m(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(O());j.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},j.languages.markup.tag.inside["attr-value"].inside.entity=j.languages.markup.entity,j.languages.markup.doctype.inside["internal-subset"].inside=j.languages.markup,j.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(j.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:j.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:j.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},j.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(j.languages.markup.tag,"addAttribute",{value:function(e,t){j.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:j.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),j.languages.html=j.languages.markup,j.languages.mathml=j.languages.markup,j.languages.svg=j.languages.markup,j.languages.xml=j.languages.extend("markup",{}),j.languages.ssml=j.languages.xml,j.languages.atom=j.languages.xml,j.languages.rss=j.languages.xml,a=j,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},l="(?:[^\\\\-]|"+(s=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",l=RegExp(l+"-"+l),c={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},a.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:l,inside:{escape:s,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:s}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":c}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:s,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":c}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},j.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},j.languages.javascript=j.languages.extend("clike",{"class-name":[j.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),j.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,j.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:j.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:j.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:j.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:j.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:j.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),j.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:j.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),j.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),j.languages.markup&&(j.languages.markup.tag.addInlined("script","javascript"),j.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),j.languages.js=j.languages.javascript,j.languages.actionscript=j.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),j.languages.actionscript["class-name"].alias="function",delete j.languages.actionscript.parameter,delete j.languages.actionscript["literal-property"],j.languages.markup&&j.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:j.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(j),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},o="doc-comment";if(a=e.languages[t]){var a,i=a[o];if((i=i||(a=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[o])instanceof RegExp&&(i=a[o]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s<l;s++)i[s]instanceof RegExp&&(i[s]={pattern:i[s]}),r(i[s]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(j),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(j),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(j),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(j),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var o,a=t[n];"code"!==a.type?e(a.content):(o=a.content[1],a=a.content[3],o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),a.alias?"string"==typeof a.alias?a.alias=[a.alias,o]:a.alias.push(o):a.alias=[o]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,o=t.classes.length;r<o;r++){var a=t.classes[r];if(a=/language-(.+)/.exec(a)){n=a[1];break}}var c,u=e.languages[n];u?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n)):s[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(j),j.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:j.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},j.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var o=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var a=p(/^\($/,/^\)$/);if(-1===a)continue;for(;n<a;n++){var i=u(0);"variable"===i.type&&(f(i,"variable-input"),o.push(i.content))}n=a+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,f(u(0),"property-mutation"),0<o.length)){var s=p(/^\{$/,/^\}$/);if(-1!==s)for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&0<=o.indexOf(c.content)&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function p(e,r){for(var o=1,a=n;a<t.length;a++){var i=t[a],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))o++;else if(r.test(s)&&0==--o)return a}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),j.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,o=r.inside["interpolation-punctuation"],a=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function l(t,n,i){var l=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),c=0,u={},d=(l=s(l.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n})).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var a=0;a<n.length;a++){if(c>=d.length)return;var i,l,p,f,g,m,b,h=n[a];"string"==typeof h||"string"==typeof h.content?(i=d[c],-1!==(b=(m="string"==typeof h?h:h.content).indexOf(i))&&(++c,l=m.substring(0,b),g=u[i],p=void 0,(f={})["interpolation-punctuation"]=o,3===(f=e.tokenize(g,f)).length&&((p=[1,1]).push.apply(p,s(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,r.alias,g),f=m.substring(b+i.length),g=[],l&&g.push(l),g.push(p),f&&(t(m=[f]),g.push.apply(g,m)),"string"==typeof h?(n.splice.apply(n,[a,1].concat(g)),a+=g.length-1):h.content=g)):(b=h.content,Array.isArray(b)?t(b):t([b]))}}(l),new e.Token(i,l,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(n){for(var r=0,o=n.length;r<o;r++){var a,i,s,c=n[r];"string"!=typeof c&&(a=c.content,Array.isArray(a)?"template-string"===c.type?(c=a[1],3===a.length&&"string"!=typeof c&&"embedded-code"===c.type&&(i=u(c),c=c.alias,c=Array.isArray(c)?c[0]:c,s=e.languages[c])&&(a[1]=l(i,s,c))):t(a):"string"!=typeof a&&t([a]))}}(t.tokens)}))}(j),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(j),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(j),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(j),j.languages.n4js=j.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),j.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),j.languages.n4jsd=j.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var o=n[r],a=e.languages.javascript[o];o=(a="RegExp"===e.util.type(a)?e.languages.javascript[o]={pattern:a}:a).inside||{};(a.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(j),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function a(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return o})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var o=t[r],a=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===s(o.content[0].content[1])&&n.pop():"/>"!==o.content[o.content.length-1].content&&n.push({tagName:s(o.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&0<n.length&&0===n[n.length-1].openedBraces&&(a=s(o),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(a+=s(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(a=s(t[r-1])+a,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",a,null,a)),o.content&&"string"!=typeof o.content&&i(o.content)}}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(j),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(j),j.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},j.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=j.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(j),j.languages.c=j.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),j.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),j.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},j.languages.c.string],char:j.languages.c.char,comment:j.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:j.languages.c}}}}),j.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete j.languages.c.boolean,j.languages.objectivec=j.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete j.languages.objectivec["class-name"],j.languages.objc=j.languages.objectivec,j.languages.reason=j.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),j.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete j.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(j),j.languages.go=j.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),j.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete j.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(j),j.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},j.languages.python["string-interpolation"].inside.interpolation.inside.rest=j.languages.python,j.languages.py=j.languages.python,j.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},j.languages.webmanifest=j.languages.json;((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>P,duotoneDark:()=>C,duotoneLight:()=>T,github:()=>I,gruvboxMaterialDark:()=>q,gruvboxMaterialLight:()=>G,jettwaveDark:()=>Q,jettwaveLight:()=>V,nightOwl:()=>A,nightOwlLight:()=>N,oceanicNext:()=>D,okaidia:()=>F,oneDark:()=>Z,oneLight:()=>W,palenight:()=>M,shadesOfPurple:()=>z,synthwave84:()=>B,ultramin:()=>$,vsDark:()=>U,vsLight:()=>H});var P={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},C={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},T={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},I={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},A={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},N={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},L="#c5a5c5",R="#8dc891",D={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:L}},{types:["attr-value"],style:{color:R}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:R}},{types:["punctuation"],style:{color:R}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:L}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},F={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},M={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},B={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},$={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},U={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},H={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},Q={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},V={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},Z={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},W={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},q={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},G={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},Y=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:o}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),o);e[t]=n})),e}),{});return r.root=n,r.plain=k(S({},n),{backgroundColor:void 0}),r},K=/\r\n|\r|\n/,X=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},J=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},ee=e=>{const t=[[]],n=[e],r=[0],o=[e.length];let a=0,i=0,s=[];const l=[s];for(;i>-1;){for(;(a=r[i]++)<o[i];){let e,c=t[i];const u=n[i][a];if("string"==typeof u?(c=i>0?c:["plain"],e=u):(c=J(c,u.type),u.alias&&(c=J(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),o.push(e.length);continue}const d=e.split(K),p=d.length;s.push({types:c,content:d[0]});for(let t=1;t<p;t++)X(s),l.push(s=[]),s.push({types:c,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),o.pop()}return X(s),l},te=({children:e,language:t,code:n,theme:r,prism:o})=>{const a=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,u.useState)(Y(t,e)),o=(0,u.useRef)(),a=(0,u.useRef)();return(0,u.useEffect)((()=>{t===o.current&&e===a.current||(o.current=t,a.current=e,r(Y(t,e)))}),[e,t]),n})(a,r),s=(e=>(0,u.useCallback)((t=>{var n=t,{className:r,style:o,line:a}=n,i=E(n,["className","style","line"]);const s=k(S({},i),{className:(0,d.Z)("token-line",r)});return"object"==typeof e&&"plain"in e&&(s.style=e.plain),"object"==typeof o&&(s.style=S(S({},s.style||{}),o)),s}),[e]))(i),l=(e=>{const t=(0,u.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,u.useCallback)((e=>{var n=e,{token:r,className:o,style:a}=n,i=E(n,["token","className","style"]);const s=k(S({},i),{className:(0,d.Z)("token",...r.types,o),children:r.content,style:t(r)});return null!=a&&(s.style=S(S({},s.style||{}),a)),s}),[t])})(i),c=(({prism:e,code:t,grammar:n,language:r})=>{const o=(0,u.useRef)(e);return(0,u.useMemo)((()=>{if(null==n)return ee([t]);const e={code:t,grammar:n,language:r,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,n),o.current.hooks.run("after-tokenize",e),ee(e.tokens)}),[t,n,r])})({prism:o,language:a,code:n,grammar:o.languages[a]});return e({tokens:c,className:`prism-code language-${a}`,style:null!=i?i.root:{},getLineProps:s,getTokenProps:l})},ne=e=>(0,u.createElement)(te,k(S({},e),{prism:e.prism||j,theme:e.theme||U,code:e.code,language:e.language}))},8624:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=!0,o="Invariant failed";function a(e,t){if(!e){if(r)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},5862:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>L,__assign:()=>a,__asyncDelegator:()=>E,__asyncGenerator:()=>k,__asyncValues:()=>O,__await:()=>S,__awaiter:()=>g,__classPrivateFieldGet:()=>I,__classPrivateFieldIn:()=>N,__classPrivateFieldSet:()=>A,__createBinding:()=>b,__decorate:()=>s,__disposeResources:()=>D,__esDecorate:()=>c,__exportStar:()=>h,__extends:()=>o,__generator:()=>m,__importDefault:()=>T,__importStar:()=>C,__makeTemplateObject:()=>j,__metadata:()=>f,__param:()=>l,__propKey:()=>d,__read:()=>v,__rest:()=>i,__runInitializers:()=>u,__setFunctionName:()=>p,__spread:()=>_,__spreadArray:()=>x,__spreadArrays:()=>w,__values:()=>y,default:()=>F});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function i(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function s(e,t,n,r){var o,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,n,i):o(t,n))||i);return a>3&&i&&Object.defineProperty(t,n,i),i}function l(e,t){return function(n,r){t(n,r,e)}}function c(e,t,n,r,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),p=!1,f=n.length-1;f>=0;f--){var g={};for(var m in r)g[m]="access"===m?{}:r[m];for(var m in r.access)g.access[m]=r.access[m];g.addInitializer=function(e){if(p)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var b=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],g);if("accessor"===l){if(void 0===b)continue;if(null===b||"object"!=typeof b)throw new TypeError("Object expected");(s=i(b.get))&&(d.get=s),(s=i(b.set))&&(d.set=s),(s=i(b.init))&&o.unshift(s)}else(s=i(b))&&("field"===l?o.unshift(s):d[c]=s)}u&&Object.defineProperty(u,r.name,d),p=!0}function u(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function p(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function f(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function g(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}l((r=r.apply(e,t||[])).next())}))}function m(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(l){s=[6,l],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}var b=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function h(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||b(t,e,n)}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function w(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var a=arguments[t],i=0,s=a.length;i<s;i++,o++)r[o]=a[i];return r}function x(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function S(e){return this instanceof S?(this.v=e,this):new S(e)}function k(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r={},i("next"),i("throw"),i("return",(function(e){return function(t){return Promise.resolve(t).then(e,c)}})),r[Symbol.asyncIterator]=function(){return this},r;function i(e,t){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||s(e,t)}))},t&&(r[e]=t(r[e])))}function s(e,t){try{(n=o[e](t)).value instanceof S?Promise.resolve(n.value.v).then(l,c):u(a[0][2],n)}catch(r){u(a[0][3],r)}var n}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function E(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:S(e[r](t)),done:!1}:o?o(t):t}:o}}function O(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=y(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function j(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var P=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function C(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&b(t,e,n);return P(t,e),t}function T(e){return e&&e.__esModule?e:{default:e}}function I(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function A(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function N(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function L(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if("function"!=typeof r)throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var R="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function D(e){function t(t){e.error=e.hasError?new R(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function n(){for(;e.stack.length;){var r=e.stack.pop();try{var o=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(o).then(n,(function(e){return t(e),n()}))}catch(a){t(a)}}if(e.hasError)throw e.error}()}const F={__extends:o,__assign:a,__rest:i,__decorate:s,__param:l,__metadata:f,__awaiter:g,__generator:m,__createBinding:b,__exportStar:h,__values:y,__read:v,__spread:_,__spreadArrays:w,__spreadArray:x,__await:S,__asyncGenerator:k,__asyncDelegator:E,__asyncValues:O,__makeTemplateObject:j,__importStar:C,__importDefault:T,__classPrivateFieldGet:I,__classPrivateFieldSet:A,__classPrivateFieldIn:N,__addDisposableResource:L,__disposeResources:D}},7529:e=>{"use strict";e.exports=JSON.parse('{"cmfcmf/d-s-l.searchBar.placeholder":"Search...","cmfcmf/d-s-l.searchBar.noResults":"No results found.","cmfcmf/d-s-l.searchBar.clearButtonTitle":"Clear","cmfcmf/d-s-l.searchBar.detachedCancelButtonText":"Cancel","cmfcmf/d-s-l.searchBar.submitButtonTitle":"Submit"}')},6887:e=>{"use strict";e.exports=JSON.parse('{"/blog-deb":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"},{"content":"fe2b2ad8"},{"content":"e70842e4"},{"content":"47aca6da"},{"content":"9147d3af"},{"content":"3fc3119e"},{"content":"d9d4e1f1"},{"content":"2024b8b1"},{"content":"fb0a08ce"},{"content":"8795eea9"}],"__props":"c15d9823"},"/blog/2023/07/01/-30b":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"a1f57275"},"/blog/2023/07/08/-d10":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"7424d9c3"},"/blog/2023/07/09/-2c2":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"b7026fb3"},"/blog/2023/07/13/-6e5":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"0bfa7fcc"},"/blog/2023/07/15/-b20":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"9748c478"},"/blog/2023/07/19/-8a6":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"c332f8df"},"/blog/2023/07/20/-9b6":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"b493ea72"},"/blog/2023/07/24/-4f4":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"a1216fa4"},"/blog/2023/07/29/-44c":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"e7aa45d5"},"/blog/2023/11/20/-3f2":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"55dfe132"},"/blog/2023/12/09/-d2c":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"0b705c82"},"/blog/2024/03/28/-60b":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"e0c5798e"},"/blog/2024/04/01/2024-04-01/-59c":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"4a6974fe"},"/blog/2024/04/14/-e89":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"cd59c184"},"/blog/2024/05/07/-2dc":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"fbaf179c"},"/blog/2024/10/20/-4e9":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"9019cc36"},"/blog/archive-182":{"__comp":"9e4087bc","__context":{"plugin":"36994c47"},"__props":"f81c1134"},"/blog/authors-0b7":{"__comp":"621db11d","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","__props":"ef8b811a"},"/blog/page/2-fd3":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"},{"content":"89db6d1d"},{"content":"2e008a3a"},{"content":"7b99d5ba"},{"content":"ba3af7ad"},{"content":"7489ed02"}],"__props":"8ea09047"},"/blog/tags-287":{"__comp":"01a85c17","__context":{"plugin":"36994c47"},"sidebar":"814f3328","__props":"3a2db09e"},"/blog/tags/age-restrictions-8da":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"416eca3f"},"/blog/tags/ai-generated-names-de1":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"eda4f68b"},"/blog/tags/alternative-0cb":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"5ac1a9ec"},"/blog/tags/analytics-105":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"66e9ef90"},"/blog/tags/announcement-3ab":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"9147d3af"},{"content":"ba3af7ad"}],"__props":"9d86e7fa"},"/blog/tags/api-d97":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"},{"content":"7489ed02"}],"__props":"f525eb8a"},"/blog/tags/app-f50":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"10d38074"},"/blog/tags/app-name-migration-b3d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"6535206c"},"/blog/tags/app-optimization-4b7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"b2c9ad8a"},"/blog/tags/april-fools-45b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"47aca6da"}],"__props":"915cb6f7"},"/blog/tags/backend-bc5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"5c99339f"},"/blog/tags/backend-application-migration-ea3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"4fb3dfba"},"/blog/tags/beta-testing-8e3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"f6f174b1"},"/blog/tags/blackmail-2a4":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"7864c493"},"/blog/tags/box-representation-400":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"24c2f136"},"/blog/tags/bugs-ff5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"3f6275a8"},"/blog/tags/celebration-of-achievements-f97":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"8e064018"},"/blog/tags/client-application-update-45e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"077db3c5"},"/blog/tags/client-update-d5b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"36bc9c65"},"/blog/tags/cloud-based-game-platforms-a94":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"87cefd36"},"/blog/tags/code-access-1ef":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"0a27b0d0"},"/blog/tags/coding-chronicle-d18":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"d527dda4"},"/blog/tags/collaboration-f74":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"bdf26d57"},"/blog/tags/community-e39":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"},{"content":"9147d3af"},{"content":"2024b8b1"},{"content":"ba3af7ad"}],"__props":"dc8e8e39"},"/blog/tags/community-driven-63b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"71f025ea"},"/blog/tags/community-feedback-3ee":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"},{"content":"89db6d1d"}],"__props":"3fc2248c"},"/blog/tags/community-management-93f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"751a244a"},"/blog/tags/continued-support-afc":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"77a8abe0"},"/blog/tags/control-04d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"2a693baa"},"/blog/tags/council-member-a6a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"fee02ac9"},"/blog/tags/creepy-behavior-090":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"e78c2f6e"},"/blog/tags/database-ff5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"a6fed517"},"/blog/tags/decision-making-532":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"63511f3c"},"/blog/tags/developers-487":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"8167ef7e"},"/blog/tags/development-b27":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"9147d3af"},{"content":"2024b8b1"}],"__props":"fcad5cc1"},"/blog/tags/development-milestones-1c9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"0ad562e6"},"/blog/tags/discord-6df":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"3fc3119e"},{"content":"2024b8b1"}],"__props":"e3409e91"},"/blog/tags/discord-channel-b2d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"},{"content":"0bd541ed"}],"__props":"18747338"},"/blog/tags/discord-community-growth-136":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"e4878929"},"/blog/tags/discord-server-e4d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"e935068c"},"/blog/tags/discord-server-promotion-f55":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"2f44e9f7"},"/blog/tags/documentation-migration-405":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"6e64f266"},"/blog/tags/domain-acquisition-e1a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"065dfc11"},"/blog/tags/drm-free-c7e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"f94e70f3"},"/blog/tags/drm-free-games-6cf":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"678c8d60"},"/blog/tags/early-access-ed5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"3fc3119e"}],"__props":"d82a1228"},"/blog/tags/easter-egg-7c7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"cc616304"},"/blog/tags/engagement-b3b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"01fcf7cb"},"/blog/tags/exclusive-preview-0fe":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"4efd7f8f"},"/blog/tags/family-friendly-282":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"6bbbce94"},"/blog/tags/feature-requests-61d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"80404bfe"},"/blog/tags/features-3d5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"},{"content":"e70842e4"},{"content":"2024b8b1"}],"__props":"d5823966"},"/blog/tags/feedback-a81":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"2024b8b1"},{"content":"fb0a08ce"},{"content":"ba3af7ad"}],"__props":"f58fbef8"},"/blog/tags/file-server-f0b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"a3fd4b44"},"/blog/tags/financial-assistance-e64":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"92440753"},"/blog/tags/future-development-db0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"8f8e2e78"},"/blog/tags/future-features-bed":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"e623129a"},"/blog/tags/game-a29":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"1dd5d307"},"/blog/tags/game-development-97c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"99d3d5ac"},"/blog/tags/game-hub-6c3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"4ff7c2f7"},"/blog/tags/game-shelf-566":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"5fa82f91"},"/blog/tags/game-stash-728":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"51fa4cf1"},"/blog/tags/game-vault-39f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"},{"content":"fe2b2ad8"},{"content":"e70842e4"},{"content":"9147d3af"},{"content":"3fc3119e"},{"content":"2024b8b1"},{"content":"89db6d1d"},{"content":"ba3af7ad"},{"content":"7489ed02"}],"__props":"9fafd272"},"/blog/tags/game-vault-app-bd6":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"8ff99662"},"/blog/tags/game-vault-domain-a5b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"8a3c85db"},"/blog/tags/game-vault-journey-52d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"7754063d"},"/blog/tags/game-vault-milestone-030":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"df8deb2d"},"/blog/tags/gaming-2b9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"9147d3af"},{"content":"3fc3119e"},{"content":"7489ed02"}],"__props":"9b1663d8"},"/blog/tags/gaming-community-73c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"daddf69a"},"/blog/tags/gaming-experience-f8c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"7c4a7780"},"/blog/tags/gaming-platform-12f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"7a0110f5"},"/blog/tags/gaming-servers-e66":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"9b95b357"},"/blog/tags/git-hub-590":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"886fdd87"},"/blog/tags/git-hub-issue-8a0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"77f7e459"},"/blog/tags/gratitude-1d7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"03919031"},"/blog/tags/harassment-89d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"251cbb95"},"/blog/tags/harbor-a9f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"524a34e7"},"/blog/tags/health-monitoring-d88":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"63b46e50"},"/blog/tags/hybrid-model-038":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"2296bbef"},"/blog/tags/igdb-6ff":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"9d5a95a9"},"/blog/tags/improvement-0af":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"7b99d5ba"}],"__props":"013bccfd"},"/blog/tags/inclusivity-7a0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"f677311a"},"/blog/tags/installation-pipeline-94b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"5a8f8fa9"},"/blog/tags/kanban-board-372":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"5bbd8cf3"},"/blog/tags/keyhole-representation-ae7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"c71ef62c"},"/blog/tags/lemmy-community-a2d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"26ca8ce1"},"/blog/tags/lemmy-community-launch-9dd":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"063ffaec"},"/blog/tags/lemmy-forum-7bd":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"3ac72a53"},"/blog/tags/logo-concept-discussion-7e7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"bb12dd4d"},"/blog/tags/logo-deciphering-dc4":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"3b659bf0"},"/blog/tags/love-for-game-vault-2f9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"e07621e3"},"/blog/tags/market-analysis-c1c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"04a3aba4"},"/blog/tags/metadata-2c9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"},{"content":"7489ed02"}],"__props":"46e7f252"},"/blog/tags/metadata-framework-bc5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"8a3716b4"},"/blog/tags/microsoft-store-cc8":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"5a2f6c5d"},"/blog/tags/microsoft-store-publication-a3d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"591d17b8"},"/blog/tags/migration-finalization-138":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"e5c4b825"},"/blog/tags/motivation-8c7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"ca2d5c98"},"/blog/tags/multi-user-authentication-3a5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"d9341347"},"/blog/tags/name-migration-progress-396":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"e98ed1e4"},"/blog/tags/negative-narratives-ef7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"2608b85a"},"/blog/tags/new-logo-3d9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"3f99d67c"},"/blog/tags/new-name-28c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"d5dcebd7"},"/blog/tags/new-name-announcement-7b6":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"8852925a"},"/blog/tags/notes-f1b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"3bdf5af6"},"/blog/tags/november-update-a61":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"7486ddfc"},"/blog/tags/official-installations-733":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"c9618c72"},"/blog/tags/open-source-6be":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"b2ade0e8"},"/blog/tags/parental-control-65b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"d53cd084"},"/blog/tags/partnership-0de":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"204759e4"},"/blog/tags/partnerships-588":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"e46b1034"},"/blog/tags/platform-0bc":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"2024b8b1"}],"__props":"4e01c0f4"},"/blog/tags/platform-values-376":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"9e75d8bf"},"/blog/tags/plugin-system-4f9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"bc0aa6af"},"/blog/tags/poll-eda":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"6ff2a8aa"},"/blog/tags/poll-results-2a9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"500e67e3"},"/blog/tags/polls-829":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"8b8fd5aa"},"/blog/tags/public-f5f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"daf02673"},"/blog/tags/racist-2bb":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"979ccdb6"},"/blog/tags/rawg-5ed":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"fb0e7a2f"},"/blog/tags/rawg-api-751":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"0c6a4732"},"/blog/tags/reddit-forum-61e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"0d3164f5"},"/blog/tags/release-15f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"c9cac9d9"},"/blog/tags/renaming-app-d2c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"6a40fd04"},"/blog/tags/revenue-generation-68c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"e0a15777"},"/blog/tags/roadmap-e17":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"92fb1dcd"},"/blog/tags/safe-environment-620":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"1334883d"},"/blog/tags/self-hosted-19e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"7489ed02"}],"__props":"5db30e8c"},"/blog/tags/self-hosted-newsletter-b53":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"573c7c88"},"/blog/tags/selfhosted-podcast-8d7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"c8fbe42c"},"/blog/tags/server-update-7ee":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"805ec11d"},"/blog/tags/sharing-blog-posts-2e3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"f2a7e769"},"/blog/tags/simplifying-game-installation-0a0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"1ff343c8"},"/blog/tags/software-ed0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"9147d3af"}],"__props":"a7d982d4"},"/blog/tags/software-development-f78":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"e9e1de17"},"/blog/tags/software-licensing-6a0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"db0b0363"},"/blog/tags/software-updates-742":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"4f991444"},"/blog/tags/solution-a71":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"9046e000"},"/blog/tags/source-available-501":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"},{"content":"7489ed02"}],"__props":"cc0b9cf0"},"/blog/tags/source-available-software-42f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"23a0eab7"},"/blog/tags/spam-99a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"8577c450"},"/blog/tags/special-thanks-721":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"c8472403"},"/blog/tags/speculation-691":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"5baa483a"},"/blog/tags/spreading-the-word-9a5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"},{"content":"8795eea9"}],"__props":"113d89da"},"/blog/tags/startup-387":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"9147d3af"}],"__props":"c7bbcbc7"},"/blog/tags/steam-5cb":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"ab6782ba"},"/blog/tags/subreddit-migration-bf0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"19e4f252"},"/blog/tags/subscription-088":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"00dfabf5"},"/blog/tags/subscription-model-7e6":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"9147d3af"}],"__props":"2aa0a660"},"/blog/tags/subscription-to-updates-role-97f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"534e7ef5"},"/blog/tags/success-cc5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"dd9b1d9d"},"/blog/tags/support-a33":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"009c376a"},"/blog/tags/support-request-99a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"ff51e3f1"},"/blog/tags/surge-of-new-users-4ba":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"aeb57253"},"/blog/tags/sustainability-5a8":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"defc3e62"},"/blog/tags/tech-progress-1f3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"20661643"},"/blog/tags/testing-ad7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"82c81335"},"/blog/tags/theme-6c7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"73ad9a8e"},"/blog/tags/threats-3f9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"4534f50b"},"/blog/tags/transition-process-a0e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"7558b7a2"},"/blog/tags/transparency-7b3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"00fcf151"},"/blog/tags/trolls-22a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"41e301a0"},"/blog/tags/twitch-tv-c17":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"99f2b7e6"},"/blog/tags/ui-redesign-1e3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"bcc2422e"},"/blog/tags/ui-update-0da":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"cee5390f"},"/blog/tags/upcoming-update-f39":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"3af271b3"},"/blog/tags/update-fa1":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"0766ce7b"},"/blog/tags/updates-125":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"71f72e4c"},"/blog/tags/user-engagement-51e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"d6138fd2"},"/blog/tags/user-participation-15b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"357ebdd0"},"/blog/tags/video-games-b8c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"7576ca6a"},"/blog/tags/videogame-f65":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"a67f6c3e"},"/blog/tags/voting-f23":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"},{"content":"ba3af7ad"}],"__props":"cd781ce1"},"/docs-30d":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/docs-91c":{"__comp":"a7bd4aaa","__props":"0058b4c6"},"/docs-467":{"__comp":"a94703ab"},"/docs/advanced-usage/early-access-program-e94":{"__comp":"17896441","content":"264f4708"},"/docs/advanced-usage/fail2ban-gamevault-guide-5c4":{"__comp":"17896441","content":"ee98c124"},"/docs/advanced-usage/linux-client-b06":{"__comp":"17896441","content":"dcb9a9e8"},"/docs/advanced-usage/rest-api-604":{"__comp":"17896441","content":"c89c7974"},"/docs/advanced-usage/steamdeck-6a7":{"__comp":"17896441","content":"e0da75fc"},"/docs/client-docs/data-15d":{"__comp":"17896441","content":"51e7bf36"},"/docs/client-docs/gui-765":{"__comp":"17896441","content":"a1072f2a"},"/docs/client-docs/how-to-use-7d7":{"__comp":"17896441","content":"435302bb"},"/docs/client-docs/setup-acb":{"__comp":"17896441","content":"b8ecf3c5"},"/docs/client-docs/themes-c41":{"__comp":"17896441","content":"f8aea940"},"/docs/client-docs/updating-client-a30":{"__comp":"17896441","content":"e9e0f988"},"/docs/gamevault-plus/client-apis-74c":{"__comp":"17896441","content":"9404f843"},"/docs/gamevault-plus/client-setup-1f8":{"__comp":"17896441","content":"c9d2adb2"},"/docs/gamevault-plus/introduction-f5b":{"__comp":"17896441","content":"ec46a009"},"/docs/gamevault-plus/themes-316":{"__comp":"17896441","content":"f5b06269"},"/docs/intro-cf4":{"__comp":"17896441","content":"0e384e19"},"/docs/license-contribute-de6":{"__comp":"17896441","content":"ba57e113"},"/docs/server-docs/adding-games-beb":{"__comp":"17896441","content":"14b6aafb"},"/docs/server-docs/backup-and-restore-342":{"__comp":"17896441","content":"4d393b3e"},"/docs/server-docs/configuration-84c":{"__comp":"17896441","content":"b28c3188"},"/docs/server-docs/game-types-cf3":{"__comp":"17896441","content":"5e5c84c3"},"/docs/server-docs/indexing-52d":{"__comp":"17896441","content":"b1d7f5b9"},"/docs/server-docs/media-a99":{"__comp":"17896441","content":"007d2baa"},"/docs/server-docs/metadata-enrichment/metadata-514":{"__comp":"17896441","content":"0748c3bc"},"/docs/server-docs/metadata-enrichment/provider-igdb-fb9":{"__comp":"17896441","content":"193fe191"},"/docs/server-docs/parental-control-f19":{"__comp":"17896441","content":"8ba18f4f"},"/docs/server-docs/plugins-f7b":{"__comp":"17896441","content":"18d9fd7d"},"/docs/server-docs/server-news-1a2":{"__comp":"17896441","content":"438c7fa2"},"/docs/server-docs/setup/-cbb":{"__comp":"17896441","content":"f4d4319b"},"/docs/server-docs/setup/caprover-37c":{"__comp":"17896441","content":"b4068411"},"/docs/server-docs/setup/docker-compose-9c7":{"__comp":"17896441","content":"8c4108df"},"/docs/server-docs/setup/native-22b":{"__comp":"17896441","content":"cddec16f"},"/docs/server-docs/setup/synology-container-manager-01c":{"__comp":"17896441","content":"1e0a1681"},"/docs/server-docs/setup/truenas-scale-4c8":{"__comp":"17896441","content":"1630eae8"},"/docs/server-docs/setup/unraid-54c":{"__comp":"17896441","content":"80292675"},"/docs/server-docs/structure-ae1":{"__comp":"17896441","content":"61be0f73"},"/docs/server-docs/updating-games-4c5":{"__comp":"17896441","content":"4a631206"},"/docs/server-docs/user-management-5ad":{"__comp":"17896441","content":"e6a59d41"},"/docs/server-docs/websockets-046":{"__comp":"17896441","content":"5046667d"},"/docs/troubleshooting-417":{"__comp":"17896441","content":"9d9f8394"},"/-2e1":{"__comp":"c4f5d8e4","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=9617,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.d1342fc0.js.LICENSE.txt b/assets/js/main.03039855.js.LICENSE.txt similarity index 100% rename from assets/js/main.d1342fc0.js.LICENSE.txt rename to assets/js/main.03039855.js.LICENSE.txt diff --git a/assets/js/main.d1342fc0.js b/assets/js/main.d1342fc0.js deleted file mode 100644 index e86494186..000000000 --- a/assets/js/main.d1342fc0.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.d1342fc0.js.LICENSE.txt */ -(self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[]).push([[179],{6573:(e,t,n)=>{var r={"./prism-bash":3209,"./prism-json":1417};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6573},240:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(5271);var r=n(4354),o=n.n(r),a=n(6887);const i={"0058b4c6":[()=>n.e(4088).then(n.t.bind(n,6462,19)),"@generated/docusaurus-plugin-content-docs/default/p/docs-175.json",6462],"007d2baa":[()=>n.e(6021).then(n.bind(n,4902)),"@site/docs/server-docs/media.md",4902],"009c376a":[()=>n.e(8847).then(n.t.bind(n,9062,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-support-4e8.json",9062],"00dfabf5":[()=>n.e(4956).then(n.t.bind(n,1410,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-subscription-223.json",1410],"00fcf151":[()=>n.e(1693).then(n.t.bind(n,912,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-transparency-2c4.json",912],"013bccfd":[()=>n.e(6835).then(n.t.bind(n,8325,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-improvement-e54.json",8325],"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,5103)),"@theme/BlogTagsListPage",5103],"01fcf7cb":[()=>n.e(5789).then(n.t.bind(n,8196,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-engagement-408.json",8196],"03919031":[()=>n.e(7951).then(n.t.bind(n,3868,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gratitude-944.json",3868],"04a3aba4":[()=>n.e(2873).then(n.t.bind(n,2896,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-market-analysis-e77.json",2896],"063ffaec":[()=>n.e(9399).then(n.t.bind(n,3875,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-lemmy-community-launch-0dd.json",3875],"065dfc11":[()=>n.e(2314).then(n.t.bind(n,3114,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-domain-acquisition-75b.json",3114],"0748c3bc":[()=>n.e(6241).then(n.bind(n,3785)),"@site/docs/server-docs/metadata-enrichment/metadata.md",3785],"0766ce7b":[()=>n.e(6987).then(n.t.bind(n,1411,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-update-1f1.json",1411],"077db3c5":[()=>n.e(6807).then(n.t.bind(n,6380,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-client-application-update-423.json",6380],"0a27b0d0":[()=>n.e(9518).then(n.t.bind(n,3170,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-code-access-151.json",3170],"0ad562e6":[()=>n.e(2275).then(n.t.bind(n,6923,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-development-milestones-2fd.json",6923],"0b705c82":[()=>n.e(2510).then(n.bind(n,5808)),"@site/blog/2023-12-09.md",5808],"0bd541ed":[()=>n.e(4023).then(n.bind(n,4341)),"@site/blog/2023-07-19.md?truncated=true",4341],"0bfa7fcc":[()=>n.e(6071).then(n.bind(n,1297)),"@site/blog/2023-07-13.md",1297],"0c6a4732":[()=>n.e(9338).then(n.t.bind(n,1415,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-rawg-api-f4d.json",1415],"0d3164f5":[()=>n.e(4649).then(n.t.bind(n,5918,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-reddit-forum-6ca.json",5918],"0e384e19":[()=>n.e(9671).then(n.bind(n,4816)),"@site/docs/intro.md",4816],"10d38074":[()=>n.e(8823).then(n.t.bind(n,2379,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-app-0c9.json",2379],"113d89da":[()=>n.e(9099).then(n.t.bind(n,1707,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-spreading-the-word-793.json",1707],"1334883d":[()=>n.e(4895).then(n.t.bind(n,7574,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-safe-environment-fa4.json",7574],"14b6aafb":[()=>n.e(8495).then(n.bind(n,5479)),"@site/docs/server-docs/adding-games.md",5479],"1630eae8":[()=>n.e(1105).then(n.bind(n,1628)),"@site/docs/server-docs/setup/truenas-scale.md",1628],17896441:[()=>Promise.all([n.e(532),n.e(2433),n.e(7918)]).then(n.bind(n,6409)),"@theme/DocItem",6409],18747338:[()=>n.e(7919).then(n.t.bind(n,6444,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-channel-e8c.json",6444],"18d9fd7d":[()=>n.e(2002).then(n.bind(n,4485)),"@site/docs/server-docs/plugins.md",4485],"193fe191":[()=>n.e(7459).then(n.bind(n,3323)),"@site/docs/server-docs/metadata-enrichment/provider-igdb.md",3323],"19e4f252":[()=>n.e(3488).then(n.t.bind(n,8201,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-subreddit-migration-749.json",8201],"1dd5d307":[()=>n.e(9418).then(n.t.bind(n,4759,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-3e5.json",4759],"1e0a1681":[()=>n.e(1420).then(n.bind(n,7547)),"@site/docs/server-docs/setup/synology-container-manager.md",7547],"1ff343c8":[()=>n.e(2980).then(n.t.bind(n,4019,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-simplifying-game-installation-c9f.json",4019],"2024b8b1":[()=>n.e(7596).then(n.bind(n,9216)),"@site/blog/2023-07-29.md?truncated=true",9216],"204759e4":[()=>n.e(2337).then(n.t.bind(n,6577,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-partnership-7e9.json",6577],20661643:[()=>n.e(8953).then(n.t.bind(n,5268,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-tech-progress-c60.json",5268],"2296bbef":[()=>n.e(6623).then(n.t.bind(n,1865,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-hybrid-model-384.json",1865],"23a0eab7":[()=>n.e(5773).then(n.t.bind(n,9169,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-source-available-software-761.json",9169],"24c2f136":[()=>n.e(9584).then(n.t.bind(n,9379,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-box-representation-da0.json",9379],"251cbb95":[()=>n.e(4584).then(n.t.bind(n,111,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-harassment-11d.json",111],"2608b85a":[()=>n.e(5156).then(n.t.bind(n,8964,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-negative-narratives-b3f.json",8964],"264f4708":[()=>n.e(1517).then(n.bind(n,2015)),"@site/docs/advanced-usage/early-access-program.md",2015],"26ca8ce1":[()=>n.e(3518).then(n.t.bind(n,3606,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-lemmy-community-5b4.json",3606],"2a693baa":[()=>n.e(8521).then(n.t.bind(n,4413,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-control-29f.json",4413],"2aa0a660":[()=>n.e(675).then(n.t.bind(n,9980,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-subscription-model-e21.json",9980],"2e008a3a":[()=>n.e(5694).then(n.bind(n,2990)),"@site/blog/2023-07-13.md?truncated=true",2990],"2f44e9f7":[()=>n.e(3357).then(n.t.bind(n,9752,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-server-promotion-03a.json",9752],"357ebdd0":[()=>n.e(69).then(n.t.bind(n,8496,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-user-participation-4a2.json",8496],"36994c47":[()=>n.e(9208).then(n.t.bind(n,4468,19)),"@generated/docusaurus-plugin-content-blog/default/__plugin.json",4468],"36bc9c65":[()=>n.e(6135).then(n.t.bind(n,950,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-client-update-ad5.json",950],"3a2db09e":[()=>n.e(9361).then(n.t.bind(n,7588,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-df9.json",7588],"3ac72a53":[()=>n.e(6152).then(n.t.bind(n,4937,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-lemmy-forum-09e.json",4937],"3af271b3":[()=>n.e(6072).then(n.t.bind(n,4726,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-upcoming-update-894.json",4726],"3b659bf0":[()=>n.e(6635).then(n.t.bind(n,1069,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-logo-deciphering-a29.json",1069],"3bdf5af6":[()=>n.e(15).then(n.t.bind(n,551,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-notes-dea.json",551],"3f6275a8":[()=>n.e(447).then(n.t.bind(n,6195,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-bugs-30a.json",6195],"3f99d67c":[()=>n.e(1283).then(n.t.bind(n,6250,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-new-logo-031.json",6250],"3fc2248c":[()=>n.e(8038).then(n.t.bind(n,7029,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-community-feedback-110.json",7029],"3fc3119e":[()=>n.e(1362).then(n.bind(n,658)),"@site/blog/2023-12-09.md?truncated=true",658],"416eca3f":[()=>n.e(4517).then(n.t.bind(n,3949,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-age-restrictions-5d3.json",3949],"41e301a0":[()=>n.e(3712).then(n.t.bind(n,5581,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-trolls-732.json",5581],"435302bb":[()=>n.e(2126).then(n.bind(n,5076)),"@site/docs/client-docs/how-to-use.md",5076],"438c7fa2":[()=>n.e(1601).then(n.bind(n,5729)),"@site/docs/server-docs/server-news.md",5729],"4534f50b":[()=>n.e(7253).then(n.t.bind(n,3695,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-threats-86b.json",3695],"46e7f252":[()=>n.e(9190).then(n.t.bind(n,6312,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-metadata-b2d.json",6312],"47aca6da":[()=>n.e(3465).then(n.bind(n,5251)),"@site/blog/2024-04-01/2024-04-01.md?truncated=true",5251],"4a631206":[()=>n.e(7937).then(n.bind(n,6226)),"@site/docs/server-docs/updating-games.md",6226],"4a6974fe":[()=>n.e(6634).then(n.bind(n,4159)),"@site/blog/2024-04-01/2024-04-01.md",4159],"4d393b3e":[()=>n.e(9155).then(n.bind(n,2197)),"@site/docs/server-docs/backup-and-restore.md",2197],"4e01c0f4":[()=>n.e(3198).then(n.t.bind(n,4615,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-platform-b8a.json",4615],"4efd7f8f":[()=>n.e(9950).then(n.t.bind(n,3665,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-exclusive-preview-10f.json",3665],"4f991444":[()=>n.e(1271).then(n.t.bind(n,774,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-software-updates-c8d.json",774],"4fb3dfba":[()=>n.e(428).then(n.t.bind(n,6389,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-backend-application-migration-545.json",6389],"4ff7c2f7":[()=>n.e(8565).then(n.t.bind(n,7479,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-hub-801.json",7479],"500e67e3":[()=>n.e(5724).then(n.t.bind(n,4617,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-poll-results-c1e.json",4617],"5046667d":[()=>n.e(4275).then(n.bind(n,1575)),"@site/docs/server-docs/websockets.md",1575],"51e7bf36":[()=>n.e(7146).then(n.bind(n,7520)),"@site/docs/client-docs/data.md",7520],"51fa4cf1":[()=>n.e(5501).then(n.t.bind(n,5318,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-stash-816.json",5318],"524a34e7":[()=>n.e(6953).then(n.t.bind(n,2478,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-harbor-82c.json",2478],"534e7ef5":[()=>n.e(2834).then(n.t.bind(n,2583,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-subscription-to-updates-role-792.json",2583],"55dfe132":[()=>n.e(5487).then(n.bind(n,9932)),"@site/blog/2023-11-20.md",9932],"573c7c88":[()=>n.e(8846).then(n.t.bind(n,6983,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-self-hosted-newsletter-6aa.json",6983],"591d17b8":[()=>n.e(8218).then(n.t.bind(n,1880,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-microsoft-store-publication-729.json",1880],"5a2f6c5d":[()=>n.e(2158).then(n.t.bind(n,6888,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-microsoft-store-736.json",6888],"5a8f8fa9":[()=>n.e(8346).then(n.t.bind(n,7698,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-installation-pipeline-ebc.json",7698],"5ac1a9ec":[()=>n.e(2518).then(n.t.bind(n,139,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-alternative-214.json",139],"5baa483a":[()=>n.e(9006).then(n.t.bind(n,5735,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-speculation-a41.json",5735],"5bbd8cf3":[()=>n.e(8912).then(n.t.bind(n,7288,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-kanban-board-262.json",7288],"5c99339f":[()=>n.e(7283).then(n.t.bind(n,9948,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-backend-c70.json",9948],"5db30e8c":[()=>n.e(7044).then(n.t.bind(n,9692,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-self-hosted-4fa.json",9692],"5e5c84c3":[()=>n.e(8516).then(n.bind(n,2836)),"@site/docs/server-docs/game-types.md",2836],"5e95c892":[()=>n.e(9661).then(n.bind(n,5970)),"@theme/DocsRoot",5970],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"5fa82f91":[()=>n.e(4503).then(n.t.bind(n,1722,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-shelf-102.json",1722],"61be0f73":[()=>n.e(452).then(n.bind(n,5931)),"@site/docs/server-docs/structure.md",5931],"621db11d":[()=>Promise.all([n.e(532),n.e(369),n.e(3940)]).then(n.bind(n,8016)),"@theme/Blog/Pages/BlogAuthorsListPage",8016],"63511f3c":[()=>n.e(5044).then(n.t.bind(n,7337,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-decision-making-c62.json",7337],"63b46e50":[()=>n.e(4819).then(n.t.bind(n,4881,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-health-monitoring-c3c.json",4881],"6535206c":[()=>n.e(3020).then(n.t.bind(n,3480,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-app-name-migration-54a.json",3480],"66e9ef90":[()=>n.e(786).then(n.t.bind(n,9746,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-analytics-43c.json",9746],"678c8d60":[()=>n.e(4430).then(n.t.bind(n,9939,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-drm-free-games-d6f.json",9939],"6875c492":[()=>Promise.all([n.e(532),n.e(2433),n.e(369),n.e(8610)]).then(n.bind(n,8078)),"@theme/BlogTagsPostsPage",8078],"6a40fd04":[()=>n.e(5736).then(n.t.bind(n,3599,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-renaming-app-716.json",3599],"6bbbce94":[()=>n.e(2639).then(n.t.bind(n,2976,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-family-friendly-d7c.json",2976],"6e64f266":[()=>n.e(5781).then(n.t.bind(n,8076,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-documentation-migration-461.json",8076],"6ff2a8aa":[()=>n.e(7773).then(n.t.bind(n,1399,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-poll-55a.json",1399],"71f025ea":[()=>n.e(121).then(n.t.bind(n,389,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-community-driven-c68.json",389],"71f72e4c":[()=>n.e(7523).then(n.t.bind(n,5572,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-updates-66c.json",5572],"73ad9a8e":[()=>n.e(9096).then(n.t.bind(n,136,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-theme-b53.json",136],"7424d9c3":[()=>n.e(9268).then(n.bind(n,4686)),"@site/blog/2023-07-08.md",4686],"7486ddfc":[()=>n.e(8437).then(n.t.bind(n,7734,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-november-update-7a2.json",7734],"7489ed02":[()=>n.e(6515).then(n.bind(n,2952)),"@site/blog/2023-07-01.md?truncated=true",2952],"751a244a":[()=>n.e(9041).then(n.t.bind(n,2108,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-community-management-84a.json",2108],"7558b7a2":[()=>n.e(4327).then(n.t.bind(n,1416,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-transition-process-04a.json",1416],"7576ca6a":[()=>n.e(3236).then(n.t.bind(n,6467,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-video-games-c79.json",6467],"7754063d":[()=>n.e(3116).then(n.t.bind(n,1552,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-journey-706.json",1552],"77a8abe0":[()=>n.e(9348).then(n.t.bind(n,134,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-continued-support-22f.json",134],"77f7e459":[()=>n.e(5805).then(n.t.bind(n,9919,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-git-hub-issue-e5d.json",9919],"7864c493":[()=>n.e(111).then(n.t.bind(n,2941,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-blackmail-b61.json",2941],"7a0110f5":[()=>n.e(2777).then(n.t.bind(n,330,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-platform-8e2.json",330],"7b99d5ba":[()=>n.e(1383).then(n.bind(n,4606)),"@site/blog/2023-07-09.md?truncated=true",4606],"7c4a7780":[()=>n.e(5074).then(n.t.bind(n,6765,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-experience-d09.json",6765],"7ef69c2b":[()=>n.e(7020).then(n.bind(n,9447)),"@site/blog/2024-10-20.md?truncated=true",9447],80292675:[()=>n.e(6487).then(n.bind(n,6905)),"@site/docs/server-docs/setup/unraid.md",6905],"80404bfe":[()=>n.e(962).then(n.t.bind(n,4600,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-feature-requests-f1b.json",4600],"805ec11d":[()=>n.e(5164).then(n.t.bind(n,3342,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-server-update-54e.json",3342],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"8167ef7e":[()=>n.e(241).then(n.t.bind(n,7497,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-developers-001.json",7497],"82c81335":[()=>n.e(4251).then(n.t.bind(n,8576,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-testing-29d.json",8576],"8577c450":[()=>n.e(2561).then(n.t.bind(n,8283,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-spam-cff.json",8283],"8795eea9":[()=>n.e(1053).then(n.bind(n,914)),"@site/blog/2023-07-20.md?truncated=true",914],"87cefd36":[()=>n.e(5240).then(n.t.bind(n,6623,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-cloud-based-game-platforms-ee3.json",6623],"8852925a":[()=>n.e(7964).then(n.t.bind(n,2805,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-new-name-announcement-577.json",2805],"886fdd87":[()=>n.e(6927).then(n.t.bind(n,2070,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-git-hub-b4b.json",2070],"89db6d1d":[()=>n.e(5855).then(n.bind(n,8977)),"@site/blog/2023-07-15.md?truncated=true",8977],"8a3716b4":[()=>n.e(5059).then(n.t.bind(n,7858,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-metadata-framework-ab4.json",7858],"8a3c85db":[()=>n.e(235).then(n.t.bind(n,6381,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-domain-161.json",6381],"8b8fd5aa":[()=>n.e(1151).then(n.t.bind(n,393,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-polls-463.json",393],"8ba18f4f":[()=>n.e(147).then(n.bind(n,8508)),"@site/docs/server-docs/parental-control.md",8508],"8c4108df":[()=>n.e(4145).then(n.bind(n,9287)),"@site/docs/server-docs/setup/docker-compose.md",9287],"8e064018":[()=>n.e(1691).then(n.t.bind(n,7614,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-celebration-of-achievements-856.json",7614],"8ea09047":[()=>n.e(8644).then(n.t.bind(n,7362,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-page-2-433.json",7362],"8f8e2e78":[()=>n.e(8407).then(n.t.bind(n,5016,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-future-development-ef2.json",5016],"8ff99662":[()=>n.e(8489).then(n.t.bind(n,4233,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-app-80a.json",4233],"9019cc36":[()=>n.e(9565).then(n.bind(n,9736)),"@site/blog/2024-10-20.md",9736],"9046e000":[()=>n.e(2650).then(n.t.bind(n,9205,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-solution-4b2.json",9205],"9147d3af":[()=>n.e(5954).then(n.bind(n,115)),"@site/blog/2024-03-28.md?truncated=true",115],"915cb6f7":[()=>n.e(4509).then(n.t.bind(n,5532,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-april-fools-1f0.json",5532],92440753:[()=>n.e(3439).then(n.t.bind(n,8819,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-financial-assistance-4b1.json",8819],"92fb1dcd":[()=>n.e(2908).then(n.t.bind(n,6583,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-roadmap-e35.json",6583],"9404f843":[()=>n.e(4811).then(n.bind(n,7130)),"@site/docs/gamevault-plus/client-apis.md",7130],"9748c478":[()=>n.e(7807).then(n.bind(n,9004)),"@site/blog/2023-07-15.md",9004],"979ccdb6":[()=>n.e(9264).then(n.t.bind(n,4668,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-racist-e34.json",4668],"99d3d5ac":[()=>n.e(5150).then(n.t.bind(n,9782,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-development-d1f.json",9782],"99f2b7e6":[()=>n.e(7546).then(n.t.bind(n,6487,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-twitch-tv-219.json",6487],"9b1663d8":[()=>n.e(6497).then(n.t.bind(n,2022,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-66f.json",2022],"9b95b357":[()=>n.e(2942).then(n.t.bind(n,4133,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-servers-279.json",4133],"9d5a95a9":[()=>n.e(8023).then(n.t.bind(n,1272,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-igdb-8f8.json",1272],"9d86e7fa":[()=>n.e(7508).then(n.t.bind(n,1629,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-announcement-97a.json",1629],"9d9f8394":[()=>n.e(9360).then(n.bind(n,5465)),"@site/docs/troubleshooting.md",5465],"9e4087bc":[()=>n.e(3608).then(n.bind(n,7579)),"@theme/BlogArchivePage",7579],"9e75d8bf":[()=>n.e(8444).then(n.t.bind(n,2611,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-platform-values-e98.json",2611],"9fafd272":[()=>n.e(8666).then(n.t.bind(n,6839,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-50c.json",6839],a1072f2a:[()=>n.e(7650).then(n.bind(n,1674)),"@site/docs/client-docs/gui.md",1674],a1216fa4:[()=>n.e(5662).then(n.bind(n,9973)),"@site/blog/2023-07-24.md",9973],a1f57275:[()=>n.e(5325).then(n.bind(n,9909)),"@site/blog/2023-07-01.md",9909],a3fd4b44:[()=>n.e(9303).then(n.t.bind(n,9921,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-file-server-7d3.json",9921],a67f6c3e:[()=>n.e(2999).then(n.t.bind(n,8758,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-videogame-96d.json",8758],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(2433),n.e(369),n.e(3089)]).then(n.bind(n,8602)),"@theme/BlogListPage",8602],a6fed517:[()=>n.e(4884).then(n.t.bind(n,3063,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-database-781.json",3063],a7456010:[()=>n.e(5980).then(n.t.bind(n,9365,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",9365],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,2767)),"@theme/DocVersionRoot",2767],a7d982d4:[()=>n.e(4691).then(n.t.bind(n,66,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-software-e0e.json",66],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,3745)),"@theme/DocRoot",3745],ab6782ba:[()=>n.e(6003).then(n.t.bind(n,3306,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-steam-739.json",3306],aba21aa0:[()=>n.e(3629).then(n.t.bind(n,1765,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",1765],acecf23e:[()=>n.e(7393).then(n.t.bind(n,1838,19)),"~blog/default/blogMetadata-default.json",1838],aeb57253:[()=>n.e(5447).then(n.t.bind(n,4733,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-surge-of-new-users-416.json",4733],b1d7f5b9:[()=>n.e(4039).then(n.bind(n,9490)),"@site/docs/server-docs/indexing.md",9490],b28c3188:[()=>n.e(3559).then(n.bind(n,1234)),"@site/docs/server-docs/configuration.md",1234],b2ade0e8:[()=>n.e(8563).then(n.t.bind(n,1579,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-open-source-bc6.json",1579],b2c9ad8a:[()=>n.e(3680).then(n.t.bind(n,2319,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-app-optimization-286.json",2319],b4068411:[()=>n.e(8042).then(n.bind(n,176)),"@site/docs/server-docs/setup/caprover.md",176],b493ea72:[()=>n.e(4781).then(n.bind(n,3313)),"@site/blog/2023-07-20.md",3313],b7026fb3:[()=>n.e(752).then(n.bind(n,7821)),"@site/blog/2023-07-09.md",7821],b8ecf3c5:[()=>n.e(9847).then(n.bind(n,6262)),"@site/docs/client-docs/setup.md",6262],ba3af7ad:[()=>n.e(1814).then(n.bind(n,3358)),"@site/blog/2023-07-08.md?truncated=true",3358],ba57e113:[()=>n.e(5948).then(n.bind(n,2826)),"@site/docs/license-contribute.md",2826],bb12dd4d:[()=>n.e(4286).then(n.t.bind(n,1988,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-logo-concept-discussion-9f8.json",1988],bc0aa6af:[()=>n.e(8404).then(n.t.bind(n,3389,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-plugin-system-7eb.json",3389],bcc2422e:[()=>n.e(8704).then(n.t.bind(n,2246,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-ui-redesign-87d.json",2246],bdf26d57:[()=>n.e(4452).then(n.t.bind(n,3806,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-collaboration-ed6.json",3806],c15d9823:[()=>n.e(6642).then(n.t.bind(n,2506,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-bd9.json",2506],c332f8df:[()=>n.e(8258).then(n.bind(n,8667)),"@site/blog/2023-07-19.md",8667],c4f5d8e4:[()=>Promise.all([n.e(532),n.e(4195)]).then(n.bind(n,9853)),"@site/src/pages/index.js",9853],c71ef62c:[()=>n.e(2328).then(n.t.bind(n,3584,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-keyhole-representation-72c.json",3584],c7bbcbc7:[()=>n.e(2422).then(n.t.bind(n,1360,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-startup-dff.json",1360],c8472403:[()=>n.e(9710).then(n.t.bind(n,4051,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-special-thanks-d94.json",4051],c89c7974:[()=>n.e(5865).then(n.bind(n,433)),"@site/docs/advanced-usage/rest-api.md",433],c8fbe42c:[()=>n.e(8364).then(n.t.bind(n,3131,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-selfhosted-podcast-cda.json",3131],c9618c72:[()=>n.e(1472).then(n.t.bind(n,9311,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-official-installations-22e.json",9311],c9cac9d9:[()=>n.e(6325).then(n.t.bind(n,1305,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-release-6bd.json",1305],c9d2adb2:[()=>n.e(2701).then(n.bind(n,5956)),"@site/docs/gamevault-plus/client-setup.md",5956],ca2d5c98:[()=>n.e(3392).then(n.t.bind(n,9401,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-motivation-041.json",9401],cc0b9cf0:[()=>n.e(6364).then(n.t.bind(n,7587,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-source-available-927.json",7587],cc616304:[()=>n.e(717).then(n.t.bind(n,2453,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-easter-egg-364.json",2453],ccc49370:[()=>Promise.all([n.e(532),n.e(2433),n.e(369),n.e(6103)]).then(n.bind(n,6509)),"@theme/BlogPostPage",6509],cd59c184:[()=>n.e(3112).then(n.bind(n,1990)),"@site/blog/2024-04-14.md",1990],cd781ce1:[()=>n.e(9230).then(n.t.bind(n,2343,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-voting-6d1.json",2343],cddec16f:[()=>n.e(5316).then(n.bind(n,3964)),"@site/docs/server-docs/setup/native.md",3964],cee5390f:[()=>n.e(691).then(n.t.bind(n,9724,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-ui-update-5b0.json",9724],d527dda4:[()=>n.e(7416).then(n.t.bind(n,5239,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-coding-chronicle-d70.json",5239],d53cd084:[()=>n.e(3585).then(n.t.bind(n,481,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-parental-control-493.json",481],d5823966:[()=>n.e(7262).then(n.t.bind(n,6572,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-features-ebb.json",6572],d5dcebd7:[()=>n.e(187).then(n.t.bind(n,678,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-new-name-7a4.json",678],d6138fd2:[()=>n.e(7471).then(n.t.bind(n,4368,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-user-engagement-9c0.json",4368],d82a1228:[()=>n.e(5050).then(n.t.bind(n,8846,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-early-access-da1.json",8846],d9341347:[()=>n.e(9490).then(n.t.bind(n,7995,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-multi-user-authentication-6f6.json",7995],d9d4e1f1:[()=>n.e(5300).then(n.bind(n,1156)),"@site/blog/2023-11-20.md?truncated=true",1156],daddf69a:[()=>n.e(5548).then(n.t.bind(n,3169,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-gaming-community-bc6.json",3169],daf02673:[()=>n.e(3581).then(n.t.bind(n,6061,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-public-cb9.json",6061],db0b0363:[()=>n.e(2805).then(n.t.bind(n,8513,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-software-licensing-7b3.json",8513],dc8e8e39:[()=>n.e(1736).then(n.t.bind(n,2252,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-community-623.json",2252],dcb9a9e8:[()=>n.e(4758).then(n.bind(n,2160)),"@site/docs/advanced-usage/linux-client.md",2160],dd9b1d9d:[()=>n.e(3433).then(n.t.bind(n,836,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-success-3d9.json",836],defc3e62:[()=>n.e(4412).then(n.t.bind(n,7917,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-sustainability-369.json",7917],df8deb2d:[()=>n.e(8860).then(n.t.bind(n,9731,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-game-vault-milestone-4c3.json",9731],e07621e3:[()=>n.e(6182).then(n.t.bind(n,9089,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-love-for-game-vault-828.json",9089],e0a15777:[()=>n.e(9737).then(n.t.bind(n,9859,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-revenue-generation-e31.json",9859],e0c5798e:[()=>n.e(339).then(n.bind(n,1133)),"@site/blog/2024-03-28.md",1133],e0da75fc:[()=>n.e(2656).then(n.bind(n,7282)),"@site/docs/advanced-usage/steamdeck.md",7282],e3409e91:[()=>n.e(1180).then(n.t.bind(n,3687,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-cfa.json",3687],e46b1034:[()=>n.e(386).then(n.t.bind(n,1940,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-partnerships-171.json",1940],e4878929:[()=>n.e(765).then(n.t.bind(n,1169,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-community-growth-95a.json",1169],e5c4b825:[()=>n.e(5658).then(n.t.bind(n,9564,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-migration-finalization-c0b.json",9564],e623129a:[()=>n.e(3251).then(n.t.bind(n,5569,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-future-features-136.json",5569],e6a59d41:[()=>n.e(356).then(n.bind(n,4244)),"@site/docs/server-docs/user-management.md",4244],e70842e4:[()=>n.e(5912).then(n.bind(n,4853)),"@site/blog/2024-04-14.md?truncated=true",4853],e78c2f6e:[()=>n.e(1545).then(n.t.bind(n,2415,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-creepy-behavior-daa.json",2415],e7aa45d5:[()=>n.e(9886).then(n.bind(n,4069)),"@site/blog/2023-07-29.md",4069],e935068c:[()=>n.e(8307).then(n.t.bind(n,3419,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-discord-server-e37.json",3419],e98ed1e4:[()=>n.e(3017).then(n.t.bind(n,7459,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-name-migration-progress-68d.json",7459],e9e0f988:[()=>n.e(310).then(n.bind(n,2607)),"@site/docs/client-docs/updating-client.md",2607],e9e1de17:[()=>n.e(9473).then(n.t.bind(n,233,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-software-development-c0f.json",233],ec46a009:[()=>n.e(9362).then(n.bind(n,2983)),"@site/docs/gamevault-plus/introduction.md",2983],eda4f68b:[()=>n.e(9424).then(n.t.bind(n,4289,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-ai-generated-names-ac1.json",4289],ee98c124:[()=>n.e(5590).then(n.bind(n,2380)),"@site/docs/advanced-usage/failt2ban.md",2380],ef8b811a:[()=>n.e(2644).then(n.t.bind(n,9441,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-authors-790.json",9441],f2a7e769:[()=>n.e(6522).then(n.t.bind(n,5714,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-sharing-blog-posts-3f1.json",5714],f4d4319b:[()=>n.e(2500).then(n.bind(n,9550)),"@site/docs/server-docs/setup/setup.md",9550],f525eb8a:[()=>n.e(146).then(n.t.bind(n,9591,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-api-049.json",9591],f58fbef8:[()=>n.e(3066).then(n.t.bind(n,6772,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-feedback-67f.json",6772],f5b06269:[()=>n.e(5565).then(n.bind(n,9221)),"@site/docs/gamevault-plus/themes.md",9221],f677311a:[()=>n.e(857).then(n.t.bind(n,1823,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-inclusivity-cdf.json",1823],f6f174b1:[()=>n.e(7764).then(n.t.bind(n,3540,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-beta-testing-146.json",3540],f81c1134:[()=>n.e(4031).then(n.t.bind(n,4108,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-archive-f05.json",4108],f8aea940:[()=>n.e(5961).then(n.bind(n,5799)),"@site/docs/client-docs/themes.md",5799],f94e70f3:[()=>n.e(6609).then(n.t.bind(n,7006,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-drm-free-406.json",7006],fb0a08ce:[()=>n.e(1392).then(n.bind(n,3328)),"@site/blog/2023-07-24.md?truncated=true",3328],fb0e7a2f:[()=>n.e(4893).then(n.t.bind(n,7641,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-rawg-6b2.json",7641],fbaf179c:[()=>n.e(4760).then(n.bind(n,5002)),"@site/blog/2024-05-07.md",5002],fcad5cc1:[()=>n.e(3025).then(n.t.bind(n,7280,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-development-c3c.json",7280],fe2b2ad8:[()=>n.e(4907).then(n.bind(n,690)),"@site/blog/2024-05-07.md?truncated=true",690],fee02ac9:[()=>n.e(1720).then(n.t.bind(n,2510,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-council-member-71b.json",2510],ff51e3f1:[()=>n.e(9498).then(n.t.bind(n,5551,19)),"@generated/docusaurus-plugin-content-blog/default/p/blog-tags-support-request-58e.json",5551]};var s=n(2676);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(255),u=n(1933);function d(e,t){if("*"===e)return o()({loading:l,loader:()=>n.e(1649).then(n.bind(n,1649)),modules:["@theme/NotFound"],webpack:()=>[1649],render(e,t){const n=e.default;return(0,s.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],g=(0,c.Z)(r);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;delete o.__context;const l=o.__props;return delete o.__props,(0,s.jsx)(u.z,{value:i,children:(0,s.jsx)(a,{...o,...l,...n})})}})}const p=[{path:"/blog",component:d("/blog","deb"),exact:!0},{path:"/blog/2023/07/01/",component:d("/blog/2023/07/01/","30b"),exact:!0},{path:"/blog/2023/07/08/",component:d("/blog/2023/07/08/","d10"),exact:!0},{path:"/blog/2023/07/09/",component:d("/blog/2023/07/09/","2c2"),exact:!0},{path:"/blog/2023/07/13/",component:d("/blog/2023/07/13/","6e5"),exact:!0},{path:"/blog/2023/07/15/",component:d("/blog/2023/07/15/","b20"),exact:!0},{path:"/blog/2023/07/19/",component:d("/blog/2023/07/19/","8a6"),exact:!0},{path:"/blog/2023/07/20/",component:d("/blog/2023/07/20/","9b6"),exact:!0},{path:"/blog/2023/07/24/",component:d("/blog/2023/07/24/","4f4"),exact:!0},{path:"/blog/2023/07/29/",component:d("/blog/2023/07/29/","44c"),exact:!0},{path:"/blog/2023/11/20/",component:d("/blog/2023/11/20/","3f2"),exact:!0},{path:"/blog/2023/12/09/",component:d("/blog/2023/12/09/","d2c"),exact:!0},{path:"/blog/2024/03/28/",component:d("/blog/2024/03/28/","60b"),exact:!0},{path:"/blog/2024/04/01/2024-04-01/",component:d("/blog/2024/04/01/2024-04-01/","59c"),exact:!0},{path:"/blog/2024/04/14/",component:d("/blog/2024/04/14/","e89"),exact:!0},{path:"/blog/2024/05/07/",component:d("/blog/2024/05/07/","2dc"),exact:!0},{path:"/blog/2024/10/20/",component:d("/blog/2024/10/20/","4e9"),exact:!0},{path:"/blog/archive",component:d("/blog/archive","182"),exact:!0},{path:"/blog/authors",component:d("/blog/authors","0b7"),exact:!0},{path:"/blog/page/2",component:d("/blog/page/2","fd3"),exact:!0},{path:"/blog/tags",component:d("/blog/tags","287"),exact:!0},{path:"/blog/tags/age-restrictions",component:d("/blog/tags/age-restrictions","8da"),exact:!0},{path:"/blog/tags/ai-generated-names",component:d("/blog/tags/ai-generated-names","de1"),exact:!0},{path:"/blog/tags/alternative",component:d("/blog/tags/alternative","0cb"),exact:!0},{path:"/blog/tags/analytics",component:d("/blog/tags/analytics","105"),exact:!0},{path:"/blog/tags/announcement",component:d("/blog/tags/announcement","3ab"),exact:!0},{path:"/blog/tags/api",component:d("/blog/tags/api","d97"),exact:!0},{path:"/blog/tags/app",component:d("/blog/tags/app","f50"),exact:!0},{path:"/blog/tags/app-name-migration",component:d("/blog/tags/app-name-migration","b3d"),exact:!0},{path:"/blog/tags/app-optimization",component:d("/blog/tags/app-optimization","4b7"),exact:!0},{path:"/blog/tags/april-fools",component:d("/blog/tags/april-fools","45b"),exact:!0},{path:"/blog/tags/backend",component:d("/blog/tags/backend","bc5"),exact:!0},{path:"/blog/tags/backend-application-migration",component:d("/blog/tags/backend-application-migration","ea3"),exact:!0},{path:"/blog/tags/beta-testing",component:d("/blog/tags/beta-testing","8e3"),exact:!0},{path:"/blog/tags/blackmail",component:d("/blog/tags/blackmail","2a4"),exact:!0},{path:"/blog/tags/box-representation",component:d("/blog/tags/box-representation","400"),exact:!0},{path:"/blog/tags/bugs",component:d("/blog/tags/bugs","ff5"),exact:!0},{path:"/blog/tags/celebration-of-achievements",component:d("/blog/tags/celebration-of-achievements","f97"),exact:!0},{path:"/blog/tags/client-application-update",component:d("/blog/tags/client-application-update","45e"),exact:!0},{path:"/blog/tags/client-update",component:d("/blog/tags/client-update","d5b"),exact:!0},{path:"/blog/tags/cloud-based-game-platforms",component:d("/blog/tags/cloud-based-game-platforms","a94"),exact:!0},{path:"/blog/tags/code-access",component:d("/blog/tags/code-access","1ef"),exact:!0},{path:"/blog/tags/coding-chronicle",component:d("/blog/tags/coding-chronicle","d18"),exact:!0},{path:"/blog/tags/collaboration",component:d("/blog/tags/collaboration","f74"),exact:!0},{path:"/blog/tags/community",component:d("/blog/tags/community","e39"),exact:!0},{path:"/blog/tags/community-driven",component:d("/blog/tags/community-driven","63b"),exact:!0},{path:"/blog/tags/community-feedback",component:d("/blog/tags/community-feedback","3ee"),exact:!0},{path:"/blog/tags/community-management",component:d("/blog/tags/community-management","93f"),exact:!0},{path:"/blog/tags/continued-support",component:d("/blog/tags/continued-support","afc"),exact:!0},{path:"/blog/tags/control",component:d("/blog/tags/control","04d"),exact:!0},{path:"/blog/tags/council-member",component:d("/blog/tags/council-member","a6a"),exact:!0},{path:"/blog/tags/creepy-behavior",component:d("/blog/tags/creepy-behavior","090"),exact:!0},{path:"/blog/tags/database",component:d("/blog/tags/database","ff5"),exact:!0},{path:"/blog/tags/decision-making",component:d("/blog/tags/decision-making","532"),exact:!0},{path:"/blog/tags/developers",component:d("/blog/tags/developers","487"),exact:!0},{path:"/blog/tags/development",component:d("/blog/tags/development","b27"),exact:!0},{path:"/blog/tags/development-milestones",component:d("/blog/tags/development-milestones","1c9"),exact:!0},{path:"/blog/tags/discord",component:d("/blog/tags/discord","6df"),exact:!0},{path:"/blog/tags/discord-channel",component:d("/blog/tags/discord-channel","b2d"),exact:!0},{path:"/blog/tags/discord-community-growth",component:d("/blog/tags/discord-community-growth","136"),exact:!0},{path:"/blog/tags/discord-server",component:d("/blog/tags/discord-server","e4d"),exact:!0},{path:"/blog/tags/discord-server-promotion",component:d("/blog/tags/discord-server-promotion","f55"),exact:!0},{path:"/blog/tags/documentation-migration",component:d("/blog/tags/documentation-migration","405"),exact:!0},{path:"/blog/tags/domain-acquisition",component:d("/blog/tags/domain-acquisition","e1a"),exact:!0},{path:"/blog/tags/drm-free",component:d("/blog/tags/drm-free","c7e"),exact:!0},{path:"/blog/tags/drm-free-games",component:d("/blog/tags/drm-free-games","6cf"),exact:!0},{path:"/blog/tags/early-access",component:d("/blog/tags/early-access","ed5"),exact:!0},{path:"/blog/tags/easter-egg",component:d("/blog/tags/easter-egg","7c7"),exact:!0},{path:"/blog/tags/engagement",component:d("/blog/tags/engagement","b3b"),exact:!0},{path:"/blog/tags/exclusive-preview",component:d("/blog/tags/exclusive-preview","0fe"),exact:!0},{path:"/blog/tags/family-friendly",component:d("/blog/tags/family-friendly","282"),exact:!0},{path:"/blog/tags/feature-requests",component:d("/blog/tags/feature-requests","61d"),exact:!0},{path:"/blog/tags/features",component:d("/blog/tags/features","3d5"),exact:!0},{path:"/blog/tags/feedback",component:d("/blog/tags/feedback","a81"),exact:!0},{path:"/blog/tags/file-server",component:d("/blog/tags/file-server","f0b"),exact:!0},{path:"/blog/tags/financial-assistance",component:d("/blog/tags/financial-assistance","e64"),exact:!0},{path:"/blog/tags/future-development",component:d("/blog/tags/future-development","db0"),exact:!0},{path:"/blog/tags/future-features",component:d("/blog/tags/future-features","bed"),exact:!0},{path:"/blog/tags/game",component:d("/blog/tags/game","a29"),exact:!0},{path:"/blog/tags/game-development",component:d("/blog/tags/game-development","97c"),exact:!0},{path:"/blog/tags/game-hub",component:d("/blog/tags/game-hub","6c3"),exact:!0},{path:"/blog/tags/game-shelf",component:d("/blog/tags/game-shelf","566"),exact:!0},{path:"/blog/tags/game-stash",component:d("/blog/tags/game-stash","728"),exact:!0},{path:"/blog/tags/game-vault",component:d("/blog/tags/game-vault","39f"),exact:!0},{path:"/blog/tags/game-vault-app",component:d("/blog/tags/game-vault-app","bd6"),exact:!0},{path:"/blog/tags/game-vault-domain",component:d("/blog/tags/game-vault-domain","a5b"),exact:!0},{path:"/blog/tags/game-vault-journey",component:d("/blog/tags/game-vault-journey","52d"),exact:!0},{path:"/blog/tags/game-vault-milestone",component:d("/blog/tags/game-vault-milestone","030"),exact:!0},{path:"/blog/tags/gaming",component:d("/blog/tags/gaming","2b9"),exact:!0},{path:"/blog/tags/gaming-community",component:d("/blog/tags/gaming-community","73c"),exact:!0},{path:"/blog/tags/gaming-experience",component:d("/blog/tags/gaming-experience","f8c"),exact:!0},{path:"/blog/tags/gaming-platform",component:d("/blog/tags/gaming-platform","12f"),exact:!0},{path:"/blog/tags/gaming-servers",component:d("/blog/tags/gaming-servers","e66"),exact:!0},{path:"/blog/tags/git-hub",component:d("/blog/tags/git-hub","590"),exact:!0},{path:"/blog/tags/git-hub-issue",component:d("/blog/tags/git-hub-issue","8a0"),exact:!0},{path:"/blog/tags/gratitude",component:d("/blog/tags/gratitude","1d7"),exact:!0},{path:"/blog/tags/harassment",component:d("/blog/tags/harassment","89d"),exact:!0},{path:"/blog/tags/harbor",component:d("/blog/tags/harbor","a9f"),exact:!0},{path:"/blog/tags/health-monitoring",component:d("/blog/tags/health-monitoring","d88"),exact:!0},{path:"/blog/tags/hybrid-model",component:d("/blog/tags/hybrid-model","038"),exact:!0},{path:"/blog/tags/igdb",component:d("/blog/tags/igdb","6ff"),exact:!0},{path:"/blog/tags/improvement",component:d("/blog/tags/improvement","0af"),exact:!0},{path:"/blog/tags/inclusivity",component:d("/blog/tags/inclusivity","7a0"),exact:!0},{path:"/blog/tags/installation-pipeline",component:d("/blog/tags/installation-pipeline","94b"),exact:!0},{path:"/blog/tags/kanban-board",component:d("/blog/tags/kanban-board","372"),exact:!0},{path:"/blog/tags/keyhole-representation",component:d("/blog/tags/keyhole-representation","ae7"),exact:!0},{path:"/blog/tags/lemmy-community",component:d("/blog/tags/lemmy-community","a2d"),exact:!0},{path:"/blog/tags/lemmy-community-launch",component:d("/blog/tags/lemmy-community-launch","9dd"),exact:!0},{path:"/blog/tags/lemmy-forum",component:d("/blog/tags/lemmy-forum","7bd"),exact:!0},{path:"/blog/tags/logo-concept-discussion",component:d("/blog/tags/logo-concept-discussion","7e7"),exact:!0},{path:"/blog/tags/logo-deciphering",component:d("/blog/tags/logo-deciphering","dc4"),exact:!0},{path:"/blog/tags/love-for-game-vault",component:d("/blog/tags/love-for-game-vault","2f9"),exact:!0},{path:"/blog/tags/market-analysis",component:d("/blog/tags/market-analysis","c1c"),exact:!0},{path:"/blog/tags/metadata",component:d("/blog/tags/metadata","2c9"),exact:!0},{path:"/blog/tags/metadata-framework",component:d("/blog/tags/metadata-framework","bc5"),exact:!0},{path:"/blog/tags/microsoft-store",component:d("/blog/tags/microsoft-store","cc8"),exact:!0},{path:"/blog/tags/microsoft-store-publication",component:d("/blog/tags/microsoft-store-publication","a3d"),exact:!0},{path:"/blog/tags/migration-finalization",component:d("/blog/tags/migration-finalization","138"),exact:!0},{path:"/blog/tags/motivation",component:d("/blog/tags/motivation","8c7"),exact:!0},{path:"/blog/tags/multi-user-authentication",component:d("/blog/tags/multi-user-authentication","3a5"),exact:!0},{path:"/blog/tags/name-migration-progress",component:d("/blog/tags/name-migration-progress","396"),exact:!0},{path:"/blog/tags/negative-narratives",component:d("/blog/tags/negative-narratives","ef7"),exact:!0},{path:"/blog/tags/new-logo",component:d("/blog/tags/new-logo","3d9"),exact:!0},{path:"/blog/tags/new-name",component:d("/blog/tags/new-name","28c"),exact:!0},{path:"/blog/tags/new-name-announcement",component:d("/blog/tags/new-name-announcement","7b6"),exact:!0},{path:"/blog/tags/notes",component:d("/blog/tags/notes","f1b"),exact:!0},{path:"/blog/tags/november-update",component:d("/blog/tags/november-update","a61"),exact:!0},{path:"/blog/tags/official-installations",component:d("/blog/tags/official-installations","733"),exact:!0},{path:"/blog/tags/open-source",component:d("/blog/tags/open-source","6be"),exact:!0},{path:"/blog/tags/parental-control",component:d("/blog/tags/parental-control","65b"),exact:!0},{path:"/blog/tags/partnership",component:d("/blog/tags/partnership","0de"),exact:!0},{path:"/blog/tags/partnerships",component:d("/blog/tags/partnerships","588"),exact:!0},{path:"/blog/tags/platform",component:d("/blog/tags/platform","0bc"),exact:!0},{path:"/blog/tags/platform-values",component:d("/blog/tags/platform-values","376"),exact:!0},{path:"/blog/tags/plugin-system",component:d("/blog/tags/plugin-system","4f9"),exact:!0},{path:"/blog/tags/poll",component:d("/blog/tags/poll","eda"),exact:!0},{path:"/blog/tags/poll-results",component:d("/blog/tags/poll-results","2a9"),exact:!0},{path:"/blog/tags/polls",component:d("/blog/tags/polls","829"),exact:!0},{path:"/blog/tags/public",component:d("/blog/tags/public","f5f"),exact:!0},{path:"/blog/tags/racist",component:d("/blog/tags/racist","2bb"),exact:!0},{path:"/blog/tags/rawg",component:d("/blog/tags/rawg","5ed"),exact:!0},{path:"/blog/tags/rawg-api",component:d("/blog/tags/rawg-api","751"),exact:!0},{path:"/blog/tags/reddit-forum",component:d("/blog/tags/reddit-forum","61e"),exact:!0},{path:"/blog/tags/release",component:d("/blog/tags/release","15f"),exact:!0},{path:"/blog/tags/renaming-app",component:d("/blog/tags/renaming-app","d2c"),exact:!0},{path:"/blog/tags/revenue-generation",component:d("/blog/tags/revenue-generation","68c"),exact:!0},{path:"/blog/tags/roadmap",component:d("/blog/tags/roadmap","e17"),exact:!0},{path:"/blog/tags/safe-environment",component:d("/blog/tags/safe-environment","620"),exact:!0},{path:"/blog/tags/self-hosted",component:d("/blog/tags/self-hosted","19e"),exact:!0},{path:"/blog/tags/self-hosted-newsletter",component:d("/blog/tags/self-hosted-newsletter","b53"),exact:!0},{path:"/blog/tags/selfhosted-podcast",component:d("/blog/tags/selfhosted-podcast","8d7"),exact:!0},{path:"/blog/tags/server-update",component:d("/blog/tags/server-update","7ee"),exact:!0},{path:"/blog/tags/sharing-blog-posts",component:d("/blog/tags/sharing-blog-posts","2e3"),exact:!0},{path:"/blog/tags/simplifying-game-installation",component:d("/blog/tags/simplifying-game-installation","0a0"),exact:!0},{path:"/blog/tags/software",component:d("/blog/tags/software","ed0"),exact:!0},{path:"/blog/tags/software-development",component:d("/blog/tags/software-development","f78"),exact:!0},{path:"/blog/tags/software-licensing",component:d("/blog/tags/software-licensing","6a0"),exact:!0},{path:"/blog/tags/software-updates",component:d("/blog/tags/software-updates","742"),exact:!0},{path:"/blog/tags/solution",component:d("/blog/tags/solution","a71"),exact:!0},{path:"/blog/tags/source-available",component:d("/blog/tags/source-available","501"),exact:!0},{path:"/blog/tags/source-available-software",component:d("/blog/tags/source-available-software","42f"),exact:!0},{path:"/blog/tags/spam",component:d("/blog/tags/spam","99a"),exact:!0},{path:"/blog/tags/special-thanks",component:d("/blog/tags/special-thanks","721"),exact:!0},{path:"/blog/tags/speculation",component:d("/blog/tags/speculation","691"),exact:!0},{path:"/blog/tags/spreading-the-word",component:d("/blog/tags/spreading-the-word","9a5"),exact:!0},{path:"/blog/tags/startup",component:d("/blog/tags/startup","387"),exact:!0},{path:"/blog/tags/steam",component:d("/blog/tags/steam","5cb"),exact:!0},{path:"/blog/tags/subreddit-migration",component:d("/blog/tags/subreddit-migration","bf0"),exact:!0},{path:"/blog/tags/subscription",component:d("/blog/tags/subscription","088"),exact:!0},{path:"/blog/tags/subscription-model",component:d("/blog/tags/subscription-model","7e6"),exact:!0},{path:"/blog/tags/subscription-to-updates-role",component:d("/blog/tags/subscription-to-updates-role","97f"),exact:!0},{path:"/blog/tags/success",component:d("/blog/tags/success","cc5"),exact:!0},{path:"/blog/tags/support",component:d("/blog/tags/support","a33"),exact:!0},{path:"/blog/tags/support-request",component:d("/blog/tags/support-request","99a"),exact:!0},{path:"/blog/tags/surge-of-new-users",component:d("/blog/tags/surge-of-new-users","4ba"),exact:!0},{path:"/blog/tags/sustainability",component:d("/blog/tags/sustainability","5a8"),exact:!0},{path:"/blog/tags/tech-progress",component:d("/blog/tags/tech-progress","1f3"),exact:!0},{path:"/blog/tags/testing",component:d("/blog/tags/testing","ad7"),exact:!0},{path:"/blog/tags/theme",component:d("/blog/tags/theme","6c7"),exact:!0},{path:"/blog/tags/threats",component:d("/blog/tags/threats","3f9"),exact:!0},{path:"/blog/tags/transition-process",component:d("/blog/tags/transition-process","a0e"),exact:!0},{path:"/blog/tags/transparency",component:d("/blog/tags/transparency","7b3"),exact:!0},{path:"/blog/tags/trolls",component:d("/blog/tags/trolls","22a"),exact:!0},{path:"/blog/tags/twitch-tv",component:d("/blog/tags/twitch-tv","c17"),exact:!0},{path:"/blog/tags/ui-redesign",component:d("/blog/tags/ui-redesign","1e3"),exact:!0},{path:"/blog/tags/ui-update",component:d("/blog/tags/ui-update","0da"),exact:!0},{path:"/blog/tags/upcoming-update",component:d("/blog/tags/upcoming-update","f39"),exact:!0},{path:"/blog/tags/update",component:d("/blog/tags/update","fa1"),exact:!0},{path:"/blog/tags/updates",component:d("/blog/tags/updates","125"),exact:!0},{path:"/blog/tags/user-engagement",component:d("/blog/tags/user-engagement","51e"),exact:!0},{path:"/blog/tags/user-participation",component:d("/blog/tags/user-participation","15b"),exact:!0},{path:"/blog/tags/video-games",component:d("/blog/tags/video-games","b8c"),exact:!0},{path:"/blog/tags/videogame",component:d("/blog/tags/videogame","f65"),exact:!0},{path:"/blog/tags/voting",component:d("/blog/tags/voting","f23"),exact:!0},{path:"/docs",component:d("/docs","8dd"),routes:[{path:"/docs",component:d("/docs","f52"),routes:[{path:"/docs",component:d("/docs","da4"),routes:[{path:"/docs/advanced-usage/early-access-program",component:d("/docs/advanced-usage/early-access-program","ba1"),exact:!0,sidebar:"docs"},{path:"/docs/advanced-usage/fail2ban-gamevault-guide",component:d("/docs/advanced-usage/fail2ban-gamevault-guide","d67"),exact:!0,sidebar:"docs"},{path:"/docs/advanced-usage/linux-client",component:d("/docs/advanced-usage/linux-client","c4f"),exact:!0,sidebar:"docs"},{path:"/docs/advanced-usage/rest-api",component:d("/docs/advanced-usage/rest-api","6f8"),exact:!0,sidebar:"docs"},{path:"/docs/advanced-usage/steamdeck",component:d("/docs/advanced-usage/steamdeck","0f5"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/data",component:d("/docs/client-docs/data","2c9"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/gui",component:d("/docs/client-docs/gui","115"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/how-to-use",component:d("/docs/client-docs/how-to-use","cbd"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/setup",component:d("/docs/client-docs/setup","3bd"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/themes",component:d("/docs/client-docs/themes","edf"),exact:!0,sidebar:"docs"},{path:"/docs/client-docs/updating-client",component:d("/docs/client-docs/updating-client","9df"),exact:!0,sidebar:"docs"},{path:"/docs/gamevault-plus/client-apis",component:d("/docs/gamevault-plus/client-apis","ae1"),exact:!0,sidebar:"docs"},{path:"/docs/gamevault-plus/client-setup",component:d("/docs/gamevault-plus/client-setup","671"),exact:!0,sidebar:"docs"},{path:"/docs/gamevault-plus/introduction",component:d("/docs/gamevault-plus/introduction","76d"),exact:!0,sidebar:"docs"},{path:"/docs/gamevault-plus/themes",component:d("/docs/gamevault-plus/themes","6da"),exact:!0,sidebar:"docs"},{path:"/docs/intro",component:d("/docs/intro","e6c"),exact:!0,sidebar:"docs"},{path:"/docs/license-contribute",component:d("/docs/license-contribute","217"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/adding-games",component:d("/docs/server-docs/adding-games","22c"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/backup-and-restore",component:d("/docs/server-docs/backup-and-restore","dac"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/configuration",component:d("/docs/server-docs/configuration","a86"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/game-types",component:d("/docs/server-docs/game-types","a4c"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/indexing",component:d("/docs/server-docs/indexing","5c7"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/media",component:d("/docs/server-docs/media","013"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/metadata-enrichment/metadata",component:d("/docs/server-docs/metadata-enrichment/metadata","c76"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/metadata-enrichment/provider-igdb",component:d("/docs/server-docs/metadata-enrichment/provider-igdb","c04"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/parental-control",component:d("/docs/server-docs/parental-control","c29"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/plugins",component:d("/docs/server-docs/plugins","414"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/server-news",component:d("/docs/server-docs/server-news","9a9"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/",component:d("/docs/server-docs/setup/","e47"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/caprover",component:d("/docs/server-docs/setup/caprover","d28"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/docker-compose",component:d("/docs/server-docs/setup/docker-compose","85c"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/native",component:d("/docs/server-docs/setup/native","455"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/synology-container-manager",component:d("/docs/server-docs/setup/synology-container-manager","0d4"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/truenas-scale",component:d("/docs/server-docs/setup/truenas-scale","9d2"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/setup/unraid",component:d("/docs/server-docs/setup/unraid","8fa"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/structure",component:d("/docs/server-docs/structure","2f6"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/updating-games",component:d("/docs/server-docs/updating-games","8f0"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/user-management",component:d("/docs/server-docs/user-management","960"),exact:!0,sidebar:"docs"},{path:"/docs/server-docs/websockets",component:d("/docs/server-docs/websockets","6cf"),exact:!0,sidebar:"docs"},{path:"/docs/troubleshooting",component:d("/docs/troubleshooting","8fd"),exact:!0,sidebar:"docs"}]}]}]},{path:"/",component:d("/","2e1"),exact:!0},{path:"*",component:d("*")}]},8892:(e,t,n)=>{var r,o;!function(){var a,i,s,l,c,u,d,p,f,g,m,b,h,y,v,_,w,x,S,k,E,O,j,P,C,T,I,A,N,L,R=function(e){var t=new R.Builder;return t.pipeline.add(R.trimmer,R.stopWordFilter,R.stemmer),t.searchPipeline.add(R.stemmer),e.call(t,t),t.build()};R.version="2.3.9",R.utils={},R.utils.warn=(a=this,function(e){a.console&&console.warn&&console.warn(e)}),R.utils.asString=function(e){return null==e?"":e.toString()},R.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r<n.length;r++){var o=n[r],a=e[o];if(Array.isArray(a))t[o]=a.slice();else{if("string"!=typeof a&&"number"!=typeof a&&"boolean"!=typeof a)throw new TypeError("clone is not deep and does not support nested objects");t[o]=a}}return t},R.FieldRef=function(e,t,n){this.docRef=e,this.fieldName=t,this._stringValue=n},R.FieldRef.joiner="/",R.FieldRef.fromString=function(e){var t=e.indexOf(R.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var n=e.slice(0,t),r=e.slice(t+1);return new R.FieldRef(r,n,e)},R.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+R.FieldRef.joiner+this.docRef),this._stringValue},R.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},R.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},R.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},R.Set.prototype.contains=function(e){return!!this.elements[e]},R.Set.prototype.intersect=function(e){var t,n,r,o=[];if(e===R.Set.complete)return this;if(e===R.Set.empty)return e;this.length<e.length?(t=this,n=e):(t=e,n=this),r=Object.keys(t.elements);for(var a=0;a<r.length;a++){var i=r[a];i in n.elements&&o.push(i)}return new R.Set(o)},R.Set.prototype.union=function(e){return e===R.Set.complete?R.Set.complete:e===R.Set.empty?this:new R.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},R.idf=function(e,t){var n=0;for(var r in e)"_index"!=r&&(n+=Object.keys(e[r]).length);var o=(t-n+.5)/(n+.5);return Math.log(1+Math.abs(o))},R.Token=function(e,t){this.str=e||"",this.metadata=t||{}},R.Token.prototype.toString=function(){return this.str},R.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},R.Token.prototype.clone=function(e){return e=e||function(e){return e},new R.Token(e(this.str,this.metadata),this.metadata)},R.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new R.Token(R.utils.asString(e).toLowerCase(),R.utils.clone(t))}));for(var n=e.toString().toLowerCase(),r=n.length,o=[],a=0,i=0;a<=r;a++){var s=a-i;if(n.charAt(a).match(R.tokenizer.separator)||a==r){if(s>0){var l=R.utils.clone(t)||{};l.position=[i,s],l.index=o.length,o.push(new R.Token(n.slice(i,a),l))}i=a+1}}return o},R.tokenizer.separator=/[\s\-]+/,R.Pipeline=function(){this._stack=[]},R.Pipeline.registeredFunctions=Object.create(null),R.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&R.utils.warn("Overwriting existing registered function: "+t),e.label=t,R.Pipeline.registeredFunctions[e.label]=e},R.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||R.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},R.Pipeline.load=function(e){var t=new R.Pipeline;return e.forEach((function(e){var n=R.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},R.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){R.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},R.Pipeline.prototype.after=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},R.Pipeline.prototype.before=function(e,t){R.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},R.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},R.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n<t;n++){for(var r=this._stack[n],o=[],a=0;a<e.length;a++){var i=r(e[a],a,e);if(null!=i&&""!==i)if(Array.isArray(i))for(var s=0;s<i.length;s++)o.push(i[s]);else o.push(i)}e=o}return e},R.Pipeline.prototype.runString=function(e,t){var n=new R.Token(e,t);return this.run([n]).map((function(e){return e.toString()}))},R.Pipeline.prototype.reset=function(){this._stack=[]},R.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return R.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},R.Vector=function(e){this._magnitude=0,this.elements=e||[]},R.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,n=this.elements.length/2,r=n-t,o=Math.floor(r/2),a=this.elements[2*o];r>1&&(a<e&&(t=o),a>e&&(n=o),a!=e);)r=n-t,o=t+Math.floor(r/2),a=this.elements[2*o];return a==e||a>e?2*o:a<e?2*(o+1):void 0},R.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},R.Vector.prototype.upsert=function(e,t,n){this._magnitude=0;var r=this.positionForIndex(e);this.elements[r]==e?this.elements[r+1]=n(this.elements[r+1],t):this.elements.splice(r,0,e,t)},R.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,n=1;n<t;n+=2){var r=this.elements[n];e+=r*r}return this._magnitude=Math.sqrt(e)},R.Vector.prototype.dot=function(e){for(var t=0,n=this.elements,r=e.elements,o=n.length,a=r.length,i=0,s=0,l=0,c=0;l<o&&c<a;)(i=n[l])<(s=r[c])?l+=2:i>s?c+=2:i==s&&(t+=n[l+1]*r[c+1],l+=2,c+=2);return t},R.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},R.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t<this.elements.length;t+=2,n++)e[n]=this.elements[t];return e},R.Vector.prototype.toJSON=function(){return this.elements},R.stemmer=(i={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},s={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},d="^("+(c="[^aeiou][^aeiouy]*")+")?"+(u=(l="[aeiouy]")+"[aeiou]*")+c+"("+u+")?$",p="^("+c+")?"+u+c+u+c,f="^("+c+")?"+l,g=new RegExp("^("+c+")?"+u+c),m=new RegExp(p),b=new RegExp(d),h=new RegExp(f),y=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,_=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,x=/.$/,S=/(at|bl|iz)$/,k=new RegExp("([^aeiouylsz])\\1$"),E=new RegExp("^"+c+l+"[^aeiouwxy]$"),O=/^(.+?[^aeiou])y$/,j=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,P=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,C=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,T=/^(.+?)(s|t)(ion)$/,I=/^(.+?)e$/,A=/ll$/,N=new RegExp("^"+c+l+"[^aeiouwxy]$"),L=function(e){var t,n,r,o,a,l,c;if(e.length<3)return e;if("y"==(r=e.substr(0,1))&&(e=r.toUpperCase()+e.substr(1)),a=v,(o=y).test(e)?e=e.replace(o,"$1$2"):a.test(e)&&(e=e.replace(a,"$1$2")),a=w,(o=_).test(e)){var u=o.exec(e);(o=g).test(u[1])&&(o=x,e=e.replace(o,""))}else a.test(e)&&(t=(u=a.exec(e))[1],(a=h).test(t)&&(l=k,c=E,(a=S).test(e=t)?e+="e":l.test(e)?(o=x,e=e.replace(o,"")):c.test(e)&&(e+="e")));return(o=O).test(e)&&(e=(t=(u=o.exec(e))[1])+"i"),(o=j).test(e)&&(t=(u=o.exec(e))[1],n=u[2],(o=g).test(t)&&(e=t+i[n])),(o=P).test(e)&&(t=(u=o.exec(e))[1],n=u[2],(o=g).test(t)&&(e=t+s[n])),a=T,(o=C).test(e)?(t=(u=o.exec(e))[1],(o=m).test(t)&&(e=t)):a.test(e)&&(t=(u=a.exec(e))[1]+u[2],(a=m).test(t)&&(e=t)),(o=I).test(e)&&(t=(u=o.exec(e))[1],a=b,l=N,((o=m).test(t)||a.test(t)&&!l.test(t))&&(e=t)),a=m,(o=A).test(e)&&a.test(e)&&(o=x,e=e.replace(o,"")),"y"==r&&(e=r.toLowerCase()+e.substr(1)),e},function(e){return e.update(L)}),R.Pipeline.registerFunction(R.stemmer,"stemmer"),R.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},R.stopWordFilter=R.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),R.Pipeline.registerFunction(R.stopWordFilter,"stopWordFilter"),R.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},R.Pipeline.registerFunction(R.trimmer,"trimmer"),R.TokenSet=function(){this.final=!1,this.edges={},this.id=R.TokenSet._nextId,R.TokenSet._nextId+=1},R.TokenSet._nextId=1,R.TokenSet.fromArray=function(e){for(var t=new R.TokenSet.Builder,n=0,r=e.length;n<r;n++)t.insert(e[n]);return t.finish(),t.root},R.TokenSet.fromClause=function(e){return"editDistance"in e?R.TokenSet.fromFuzzyString(e.term,e.editDistance):R.TokenSet.fromString(e.term)},R.TokenSet.fromFuzzyString=function(e,t){for(var n=new R.TokenSet,r=[{node:n,editsRemaining:t,str:e}];r.length;){var o=r.pop();if(o.str.length>0){var a,i=o.str.charAt(0);i in o.node.edges?a=o.node.edges[i]:(a=new R.TokenSet,o.node.edges[i]=a),1==o.str.length&&(a.final=!0),r.push({node:a,editsRemaining:o.editsRemaining,str:o.str.slice(1)})}if(0!=o.editsRemaining){if("*"in o.node.edges)var s=o.node.edges["*"];else{s=new R.TokenSet;o.node.edges["*"]=s}if(0==o.str.length&&(s.final=!0),r.push({node:s,editsRemaining:o.editsRemaining-1,str:o.str}),o.str.length>1&&r.push({node:o.node,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)}),1==o.str.length&&(o.node.final=!0),o.str.length>=1){if("*"in o.node.edges)var l=o.node.edges["*"];else{l=new R.TokenSet;o.node.edges["*"]=l}1==o.str.length&&(l.final=!0),r.push({node:l,editsRemaining:o.editsRemaining-1,str:o.str.slice(1)})}if(o.str.length>1){var c,u=o.str.charAt(0),d=o.str.charAt(1);d in o.node.edges?c=o.node.edges[d]:(c=new R.TokenSet,o.node.edges[d]=c),1==o.str.length&&(c.final=!0),r.push({node:c,editsRemaining:o.editsRemaining-1,str:u+o.str.slice(2)})}}}return n},R.TokenSet.fromString=function(e){for(var t=new R.TokenSet,n=t,r=0,o=e.length;r<o;r++){var a=e[r],i=r==o-1;if("*"==a)t.edges[a]=t,t.final=i;else{var s=new R.TokenSet;s.final=i,t.edges[a]=s,t=s}}return n},R.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var n=t.pop(),r=Object.keys(n.node.edges),o=r.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var a=0;a<o;a++){var i=r[a];t.push({prefix:n.prefix.concat(i),node:n.node.edges[i]})}}return e},R.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),n=t.length,r=0;r<n;r++){var o=t[r];e=e+o+this.edges[o].id}return e},R.TokenSet.prototype.intersect=function(e){for(var t=new R.TokenSet,n=void 0,r=[{qNode:e,output:t,node:this}];r.length;){n=r.pop();for(var o=Object.keys(n.qNode.edges),a=o.length,i=Object.keys(n.node.edges),s=i.length,l=0;l<a;l++)for(var c=o[l],u=0;u<s;u++){var d=i[u];if(d==c||"*"==c){var p=n.node.edges[d],f=n.qNode.edges[c],g=p.final&&f.final,m=void 0;d in n.output.edges?(m=n.output.edges[d]).final=m.final||g:((m=new R.TokenSet).final=g,n.output.edges[d]=m),r.push({qNode:f,output:m,node:p})}}}return t},R.TokenSet.Builder=function(){this.previousWord="",this.root=new R.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},R.TokenSet.Builder.prototype.insert=function(e){var t,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var r=0;r<e.length&&r<this.previousWord.length&&e[r]==this.previousWord[r];r++)n++;this.minimize(n),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(r=n;r<e.length;r++){var o=new R.TokenSet,a=e[r];t.edges[a]=o,this.uncheckedNodes.push({parent:t,char:a,child:o}),t=o}t.final=!0,this.previousWord=e},R.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},R.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},R.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},R.Index.prototype.search=function(e){return this.query((function(t){new R.QueryParser(e,t).parse()}))},R.Index.prototype.query=function(e){for(var t=new R.Query(this.fields),n=Object.create(null),r=Object.create(null),o=Object.create(null),a=Object.create(null),i=Object.create(null),s=0;s<this.fields.length;s++)r[this.fields[s]]=new R.Vector;e.call(t,t);for(s=0;s<t.clauses.length;s++){var l=t.clauses[s],c=null,u=R.Set.empty;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var p=c[d];l.term=p;var f=R.TokenSet.fromClause(l),g=this.tokenSet.intersect(f).toArray();if(0===g.length&&l.presence===R.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){a[I=l.fields[m]]=R.Set.empty}break}for(var b=0;b<g.length;b++){var h=g[b],y=this.invertedIndex[h],v=y._index;for(m=0;m<l.fields.length;m++){var _=y[I=l.fields[m]],w=Object.keys(_),x=h+"/"+I,S=new R.Set(w);if(l.presence==R.Query.presence.REQUIRED&&(u=u.union(S),void 0===a[I]&&(a[I]=R.Set.complete)),l.presence!=R.Query.presence.PROHIBITED){if(r[I].upsert(v,l.boost,(function(e,t){return e+t})),!o[x]){for(var k=0;k<w.length;k++){var E,O=w[k],j=new R.FieldRef(O,I),P=_[O];void 0===(E=n[j])?n[j]=new R.MatchData(h,I,P):E.add(h,I,P)}o[x]=!0}}else void 0===i[I]&&(i[I]=R.Set.empty),i[I]=i[I].union(S)}}}if(l.presence===R.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){a[I=l.fields[m]]=a[I].intersect(u)}}var C=R.Set.complete,T=R.Set.empty;for(s=0;s<this.fields.length;s++){var I;a[I=this.fields[s]]&&(C=C.intersect(a[I])),i[I]&&(T=T.union(i[I]))}var A=Object.keys(n),N=[],L=Object.create(null);if(t.isNegated()){A=Object.keys(this.fieldVectors);for(s=0;s<A.length;s++){j=A[s];var D=R.FieldRef.fromString(j);n[j]=new R.MatchData}}for(s=0;s<A.length;s++){var F=(D=R.FieldRef.fromString(A[s])).docRef;if(C.contains(F)&&!T.contains(F)){var M,z=this.fieldVectors[D],B=r[D.fieldName].similarity(z);if(void 0!==(M=L[F]))M.score+=B,M.matchData.combine(n[D]);else{var $={ref:F,score:B,matchData:n[D]};L[F]=$,N.push($)}}}return N.sort((function(e,t){return t.score-e.score}))},R.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:R.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},R.Index.load=function(e){var t={},n={},r=e.fieldVectors,o=Object.create(null),a=e.invertedIndex,i=new R.TokenSet.Builder,s=R.Pipeline.load(e.pipeline);e.version!=R.version&&R.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+R.version+"' does not match serialized index '"+e.version+"'");for(var l=0;l<r.length;l++){var c=(d=r[l])[0],u=d[1];n[c]=new R.Vector(u)}for(l=0;l<a.length;l++){var d,p=(d=a[l])[0],f=d[1];i.insert(p),o[p]=f}return i.finish(),t.fields=e.fields,t.fieldVectors=n,t.invertedIndex=o,t.tokenSet=i.root,t.pipeline=s,new R.Index(t)},R.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=R.tokenizer,this.pipeline=new R.Pipeline,this.searchPipeline=new R.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},R.Builder.prototype.ref=function(e){this._ref=e},R.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},R.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},R.Builder.prototype.k1=function(e){this._k1=e},R.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var o=0;o<r.length;o++){var a=r[o],i=this._fields[a].extractor,s=this._fields[a].isLiteral??!1,l=i?i(e):e[a],c=s?[l]:this.tokenizer(l,{fields:[a]}),u=s?c:this.pipeline.run(c),d=new R.FieldRef(n,a),p=Object.create(null);this.fieldTermFrequencies[d]=p,this.fieldLengths[d]=0,this.fieldLengths[d]+=u.length;for(var f=0;f<u.length;f++){var g=u[f];if(null==p[g]&&(p[g]=0),p[g]+=1,null==this.invertedIndex[g]){var m=Object.create(null);m._index=this.termIndex,this.termIndex+=1;for(var b=0;b<r.length;b++)m[r[b]]=Object.create(null);this.invertedIndex[g]=m}null==this.invertedIndex[g][a][n]&&(this.invertedIndex[g][a][n]=Object.create(null));for(var h=0;h<this.metadataWhitelist.length;h++){var y=this.metadataWhitelist[h],v=g.metadata[y];null==this.invertedIndex[g][a][n][y]&&(this.invertedIndex[g][a][n][y]=[]),this.invertedIndex[g][a][n][y].push(v)}}}},R.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,n={},r={},o=0;o<t;o++){var a=R.FieldRef.fromString(e[o]),i=a.fieldName;r[i]||(r[i]=0),r[i]+=1,n[i]||(n[i]=0),n[i]+=this.fieldLengths[a]}var s=Object.keys(this._fields);for(o=0;o<s.length;o++){var l=s[o];n[l]=n[l]/r[l]}this.averageFieldLength=n},R.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),n=t.length,r=Object.create(null),o=0;o<n;o++){for(var a=R.FieldRef.fromString(t[o]),i=a.fieldName,s=this.fieldLengths[a],l=new R.Vector,c=this.fieldTermFrequencies[a],u=Object.keys(c),d=u.length,p=this._fields[i].boost||1,f=this._documents[a.docRef].boost||1,g=0;g<d;g++){var m,b,h,y=u[g],v=c[y],_=this.invertedIndex[y]._index;void 0===r[y]?(m=R.idf(this.invertedIndex[y],this.documentCount),r[y]=m):m=r[y],b=m*((this._k1+1)*v)/(this._k1*(1-this._b+this._b*(s/this.averageFieldLength[i]))+v),b*=p,b*=f,h=Math.round(1e3*b)/1e3,l.insert(_,h)}e[a]=l}this.fieldVectors=e},R.Builder.prototype.createTokenSet=function(){this.tokenSet=R.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},R.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new R.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},R.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},R.MatchData=function(e,t,n){for(var r=Object.create(null),o=Object.keys(n||{}),a=0;a<o.length;a++){var i=o[a];r[i]=n[i].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=r)},R.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),n=0;n<t.length;n++){var r=t[n],o=Object.keys(e.metadata[r]);null==this.metadata[r]&&(this.metadata[r]=Object.create(null));for(var a=0;a<o.length;a++){var i=o[a],s=Object.keys(e.metadata[r][i]);null==this.metadata[r][i]&&(this.metadata[r][i]=Object.create(null));for(var l=0;l<s.length;l++){var c=s[l];null==this.metadata[r][i][c]?this.metadata[r][i][c]=e.metadata[r][i][c]:this.metadata[r][i][c]=this.metadata[r][i][c].concat(e.metadata[r][i][c])}}}},R.MatchData.prototype.add=function(e,t,n){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=n);if(t in this.metadata[e])for(var r=Object.keys(n),o=0;o<r.length;o++){var a=r[o];a in this.metadata[e][t]?this.metadata[e][t][a]=this.metadata[e][t][a].concat(n[a]):this.metadata[e][t][a]=n[a]}else this.metadata[e][t]=n},R.Query=function(e){this.clauses=[],this.allFields=e},R.Query.wildcard=new String("*"),R.Query.wildcard.NONE=0,R.Query.wildcard.LEADING=1,R.Query.wildcard.TRAILING=2,R.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},R.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=R.Query.wildcard.NONE),e.wildcard&R.Query.wildcard.LEADING&&e.term.charAt(0)!=R.Query.wildcard&&(e.term="*"+e.term),e.wildcard&R.Query.wildcard.TRAILING&&e.term.slice(-1)!=R.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=R.Query.presence.OPTIONAL),this.clauses.push(e),this},R.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=R.Query.presence.PROHIBITED)return!1;return!0},R.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,R.utils.clone(t))}),this),this;var n=t||{};return n.term=e.toString(),this.clause(n),this},R.QueryParseError=function(e,t,n){this.name="QueryParseError",this.message=e,this.start=t,this.end=n},R.QueryParseError.prototype=new Error,R.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},R.QueryLexer.prototype.run=function(){for(var e=R.QueryLexer.lexText;e;)e=e(this)},R.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,n=this.pos,r=0;r<this.escapeCharPositions.length;r++)n=this.escapeCharPositions[r],e.push(this.str.slice(t,n)),t=n+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},R.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},R.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},R.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return R.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},R.QueryLexer.prototype.width=function(){return this.pos-this.start},R.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},R.QueryLexer.prototype.backup=function(){this.pos-=1},R.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=R.QueryLexer.EOS&&this.backup()},R.QueryLexer.prototype.more=function(){return this.pos<this.length},R.QueryLexer.EOS="EOS",R.QueryLexer.FIELD="FIELD",R.QueryLexer.TERM="TERM",R.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",R.QueryLexer.BOOST="BOOST",R.QueryLexer.PRESENCE="PRESENCE",R.QueryLexer.lexField=function(e){return e.backup(),e.emit(R.QueryLexer.FIELD),e.ignore(),R.QueryLexer.lexText},R.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(R.QueryLexer.TERM)),e.ignore(),e.more())return R.QueryLexer.lexText},R.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.EDIT_DISTANCE),R.QueryLexer.lexText},R.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(R.QueryLexer.BOOST),R.QueryLexer.lexText},R.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(R.QueryLexer.TERM)},R.QueryLexer.termSeparator=R.tokenizer.separator,R.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==R.QueryLexer.EOS)return R.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return R.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(R.QueryLexer.TERM),R.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(R.QueryLexer.PRESENCE),R.QueryLexer.lexText;if(t.match(R.QueryLexer.termSeparator))return R.QueryLexer.lexTerm}else e.escapeCharacter()}},R.QueryParser=function(e,t){this.lexer=new R.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},R.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=R.QueryParser.parseClause;e;)e=e(this);return this.query},R.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},R.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},R.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},R.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case R.QueryLexer.PRESENCE:return R.QueryParser.parsePresence;case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new R.QueryParseError(n,t.start,t.end)}},R.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=R.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=R.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new R.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new R.QueryParseError(n,t.start,t.end)}switch(r.type){case R.QueryLexer.FIELD:return R.QueryParser.parseField;case R.QueryLexer.TERM:return R.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new R.QueryParseError(n,r.start,r.end)}}},R.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var o=e.peekLexeme();if(null==o){r="expecting term, found nothing";throw new R.QueryParseError(r,t.start,t.end)}if(o.type===R.QueryLexer.TERM)return R.QueryParser.parseTerm;r="expecting term, found '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}},R.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new R.QueryParseError(r,n.start,n.end)}else e.nextClause()}},R.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},R.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new R.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var o=e.peekLexeme();if(null!=o)switch(o.type){case R.QueryLexer.TERM:return e.nextClause(),R.QueryParser.parseTerm;case R.QueryLexer.FIELD:return e.nextClause(),R.QueryParser.parseField;case R.QueryLexer.EDIT_DISTANCE:return R.QueryParser.parseEditDistance;case R.QueryLexer.BOOST:return R.QueryParser.parseBoost;case R.QueryLexer.PRESENCE:return e.nextClause(),R.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+o.type+"'";throw new R.QueryParseError(r,o.start,o.end)}else e.nextClause()}},void 0===(o="function"==typeof(r=function(){return R})?r.call(t,n,t,e):r)||(e.exports=o)}()},2657:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>i});var r=n(5271),o=n(2676);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},943:(e,t,n)=>{"use strict";var r=n(5271),o=n(8751),a=n(3810),i=n(8594),s=n(6809),l=n(7405);const c=[n(9530),n(361),n(1893),n(8716),n(1925)];var u=n(240),d=n(3225),p=n(7677),f=n(2676);function g(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var m=n(5363),b=n(2100),h=n(8086),y=n(5996),v=n(947),_=n(9561),w=n(6149),x=n(8984),S=n(5678),k=n(8625);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,b.Z)(),r=(0,_.l)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,f.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function O(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,b.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,b.Z)(),{pathname:r}=(0,d.TH)();return e+(0,S.Do)((0,h.ZP)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{property:"og:url",content:o}),(0,f.jsx)("link",{rel:"canonical",href:o})]})}function j(){const{i18n:{currentLocale:e}}=(0,b.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:w.h})]}),n&&(0,f.jsx)(v.d,{image:n}),(0,f.jsx)(O,{}),(0,f.jsx)(E,{}),(0,f.jsx)(k.Z,{tag:x.H,locale:e}),(0,f.jsx)(m.Z,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const P=new Map;var C=n(2657),T=n(7099),I=n(7386);function A(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const o=c.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,I.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),A("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function L(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?A("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=A("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),L(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.AW,{location:t,render:()=>e})})}}const D=R,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${M}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${z}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${z}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function $(){const{siteConfig:{baseUrl:e}}=(0,b.Z)();return(0,f.jsx)(f.Fragment,{children:!l.Z.canUseDOM&&(0,f.jsx)(m.Z,{children:(0,f.jsx)("script",{children:B(e)})})})}function U(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,b.Z)(),{pathname:n}=(0,d.TH)();return t&&n===e?(0,f.jsx)($,{}):null}function H(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:o}}=(0,b.Z)(),a=(0,h.ZP)(e),{htmlLang:i,direction:s}=o[r];return(0,f.jsxs)(m.Z,{children:[(0,f.jsx)("html",{lang:i,dir:s}),(0,f.jsx)("title",{children:t}),(0,f.jsx)("meta",{property:"og:title",content:t}),(0,f.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,f.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,f.jsx)("link",{rel:"icon",href:a})]})}var Q=n(3791),V=n(1951);function Z(){const e=(0,V.Z)();return(0,f.jsx)(m.Z,{children:(0,f.jsx)("html",{"data-has-hydrated":e})})}const W=(0,p.H)(u.Z);function q(){const e=function(e){if(P.has(e.pathname))return{...e,pathname:P.get(e.pathname)};if((0,p.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return P.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return P.set(e.pathname,t),{...e,pathname:t}}((0,d.TH)());return(0,f.jsx)(D,{location:e,children:W})}function G(){return(0,f.jsx)(Q.Z,{children:(0,f.jsx)(T.M,{children:(0,f.jsxs)(C.t,{children:[(0,f.jsxs)(g,{children:[(0,f.jsx)(H,{}),(0,f.jsx)(j,{}),(0,f.jsx)(U,{}),(0,f.jsx)(q,{})]}),(0,f.jsx)(Z,{})]})})})}var Y=n(6887);const K=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var X=n(255);const J=new Set,ee=new Set,te=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ne={prefetch:e=>{if(!(e=>!te()&&!ee.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,p.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Y).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,X.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!te()&&!ee.has(e))(e)&&(ee.add(e),L(e))},re=Object.freeze(ne);function oe(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,f.jsx)(i.UT,{children:t}):(0,f.jsx)(i.VK,{children:t})}const ae=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=re;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(a.B6,{children:(0,f.jsx)(oe,{children:(0,f.jsx)(G,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(ae)window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n});else{const r=o.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};L(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},7099:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(5271),o=n(6809);const a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"advanced-usage/early-access-program","path":"/docs/advanced-usage/early-access-program","sidebar":"docs"},{"id":"advanced-usage/fail2ban-gamevault-guide","path":"/docs/advanced-usage/fail2ban-gamevault-guide","sidebar":"docs"},{"id":"advanced-usage/linux-client","path":"/docs/advanced-usage/linux-client","sidebar":"docs"},{"id":"advanced-usage/rest-api","path":"/docs/advanced-usage/rest-api","sidebar":"docs"},{"id":"advanced-usage/steamdeck","path":"/docs/advanced-usage/steamdeck","sidebar":"docs"},{"id":"client-docs/data","path":"/docs/client-docs/data","sidebar":"docs"},{"id":"client-docs/gui","path":"/docs/client-docs/gui","sidebar":"docs"},{"id":"client-docs/how-to-use","path":"/docs/client-docs/how-to-use","sidebar":"docs"},{"id":"client-docs/setup","path":"/docs/client-docs/setup","sidebar":"docs"},{"id":"client-docs/themes","path":"/docs/client-docs/themes","sidebar":"docs"},{"id":"client-docs/updating-client","path":"/docs/client-docs/updating-client","sidebar":"docs"},{"id":"gamevault-plus/client-apis","path":"/docs/gamevault-plus/client-apis","sidebar":"docs"},{"id":"gamevault-plus/client-setup","path":"/docs/gamevault-plus/client-setup","sidebar":"docs"},{"id":"gamevault-plus/introduction","path":"/docs/gamevault-plus/introduction","sidebar":"docs"},{"id":"gamevault-plus/themes","path":"/docs/gamevault-plus/themes","sidebar":"docs"},{"id":"intro","path":"/docs/intro","sidebar":"docs"},{"id":"license-contribute","path":"/docs/license-contribute","sidebar":"docs"},{"id":"server-docs/adding-games","path":"/docs/server-docs/adding-games","sidebar":"docs"},{"id":"server-docs/backup-and-restore","path":"/docs/server-docs/backup-and-restore","sidebar":"docs"},{"id":"server-docs/configuration","path":"/docs/server-docs/configuration","sidebar":"docs"},{"id":"server-docs/game-types","path":"/docs/server-docs/game-types","sidebar":"docs"},{"id":"server-docs/indexing","path":"/docs/server-docs/indexing","sidebar":"docs"},{"id":"server-docs/media","path":"/docs/server-docs/media","sidebar":"docs"},{"id":"server-docs/metadata-enrichment/metadata","path":"/docs/server-docs/metadata-enrichment/metadata","sidebar":"docs"},{"id":"server-docs/metadata-enrichment/provider-igdb","path":"/docs/server-docs/metadata-enrichment/provider-igdb","sidebar":"docs"},{"id":"server-docs/parental-control","path":"/docs/server-docs/parental-control","sidebar":"docs"},{"id":"server-docs/plugins","path":"/docs/server-docs/plugins","sidebar":"docs"},{"id":"server-docs/server-news","path":"/docs/server-docs/server-news","sidebar":"docs"},{"id":"server-docs/setup/caprover","path":"/docs/server-docs/setup/caprover","sidebar":"docs"},{"id":"server-docs/setup/docker-compose","path":"/docs/server-docs/setup/docker-compose","sidebar":"docs"},{"id":"server-docs/setup/native","path":"/docs/server-docs/setup/native","sidebar":"docs"},{"id":"server-docs/setup/synology-container-manager","path":"/docs/server-docs/setup/synology-container-manager","sidebar":"docs"},{"id":"server-docs/setup/toc","path":"/docs/server-docs/setup/","sidebar":"docs"},{"id":"server-docs/setup/truenas-scale","path":"/docs/server-docs/setup/truenas-scale","sidebar":"docs"},{"id":"server-docs/setup/unraid","path":"/docs/server-docs/setup/unraid","sidebar":"docs"},{"id":"server-docs/structure","path":"/docs/server-docs/structure","sidebar":"docs"},{"id":"server-docs/updating-games","path":"/docs/server-docs/updating-games","sidebar":"docs"},{"id":"server-docs/user-management","path":"/docs/server-docs/user-management","sidebar":"docs"},{"id":"server-docs/websockets","path":"/docs/server-docs/websockets","sidebar":"docs"},{"id":"troubleshooting","path":"/docs/troubleshooting","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/docs/intro","label":"intro"}}}}],"breadcrumbs":true}},"@cmfcmf/docusaurus-search-local":{"default":{"titleBoost":5,"contentBoost":1,"tagsBoost":3,"parentCategoriesBoost":2,"indexDocSidebarParentCategories":0,"maxSearchResults":8}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"3.5.2","siteVersion":"1.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.5.2"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.5.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.5.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.5.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.5.2"},"docusaurus-plugin-client-redirects":{"type":"package","name":"@docusaurus/plugin-client-redirects","version":"3.5.2"},"docusaurus-plugin-image-zoom":{"type":"package","name":"docusaurus-plugin-image-zoom","version":"2.0.0"},"@cmfcmf/docusaurus-search-local":{"type":"package","name":"@cmfcmf/docusaurus-search-local","version":"1.2.0"},"tailwind-plugin":{"type":"local"}}}');var c=n(2676);const u={siteConfig:o.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},3791:(e,t,n)=>{"use strict";n.d(t,{Z:()=>m});var r=n(5271),o=n(7405),a=n(5363),i=n(5678),s=n(8849),l=n(1933),c=n(2676);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.BN)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,c.jsx)(l.z,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(p,{children:(0,c.jsxs)(m,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(a.Z,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.Z,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const g=e=>(0,c.jsx)(f,{...e});class m extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??g)(e)}return e??null}}},7405:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5363:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(5271);var r=n(3810),o=n(2676);function a(e){return(0,o.jsx)(r.ql,{...e})}},9347:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(5271),o=n(8594),a=n(5678),i=n(2100),s=n(8642),l=n(7405),c=n(4393),u=n(8086),d=n(2676);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:g,isActive:m,"data-noBrokenLinkCheck":b,autoAddBaseUrl:h=!0,...y}=e;const{siteConfig:v}=(0,i.Z)(),{trailingSlash:_,baseUrl:w}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,u.Cg)(),k=(0,c.Z)(),E=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>E.current));const O=p||f;const j=(0,s.Z)(O),P=O?.replace("pathname://","");let C=void 0!==P?(T=P,h&&(e=>e.startsWith("/"))(T)?S(T):T):void 0;var T;"hash"===x&&C?.startsWith("./")&&(C=C?.slice(1)),C&&j&&(C=(0,a.Do)(C,{trailingSlash:_,baseUrl:w}));const I=(0,r.useRef)(!1),A=n?o.OL:o.rU,N=l.Z.canUseIntersectionObserver,L=(0,r.useRef)(),R=()=>{I.current||null==C||(window.docusaurus.preload(C),I.current=!0)};(0,r.useEffect)((()=>(!N&&j&&l.Z.canUseDOM&&null!=C&&window.docusaurus.prefetch(C),()=>{N&&L.current&&L.current.disconnect()})),[L,C,N,j]);const D=C?.startsWith("#")??!1,F=!y.target||"_self"===y.target,M=!C||!j||!F||D&&"hash"!==x;b||!D&&M||k.collectLink(C),y.id&&k.collectAnchor(y.id);const z={};return M?(0,d.jsx)("a",{ref:E,href:C,...O&&!j&&{target:"_blank",rel:"noopener noreferrer"},...y,...z}):(0,d.jsx)(A,{...y,onMouseEnter:R,onTouchStart:R,innerRef:e=>{E.current=e,N&&e&&j&&(L.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(L.current.unobserve(e),L.current.disconnect(),null!=C&&window.docusaurus.prefetch(C))}))})),L.current.observe(e))},to:C,...n&&{isActive:m,activeClassName:g},...z})}const f=r.forwardRef(p)},9665:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>l});var r=n(5271),o=n(2676);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=s({message:t,id:n});return(0,o.jsx)(o.Fragment,{children:a(i,r)})}},885:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},8642:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>o,b:()=>r})},8086:(e,t,n)=>{"use strict";n.d(t,{Cg:()=>i,ZP:()=>s});var r=n(5271),o=n(2100),a=n(8642);function i(){const{siteConfig:e}=(0,o.Z)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:o=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,a.b)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(o)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},4393:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(5271);n(2676);const o=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),a=()=>(0,r.useContext)(o);function i(){return a()}},2100:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(5271),o=n(7099);function a(){return(0,r.useContext)(o._)}},970:(e,t,n)=>{"use strict";n.d(t,{OD:()=>a,eZ:()=>i});var r=n(2100),o=n(885);function a(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=a(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},1951:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(5271),o=n(2657);function a(){return(0,r.useContext)(o._)}},7386:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(5271);const o=n(7405).Z.canUseDOM?r.useLayoutEffect:r.useEffect},5824:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(5271),o=n(1933);function a(){const e=r.useContext(o._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}},255:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(n,o){Object.entries(n).forEach((n=>{let[a,i]=n;const s=o?`${o}.${a}`:a;r(i)?e(i,s):t[s]=i}))}(e),t}},1933:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>i});var r=n(5271),o=n(2676);const a=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(a),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,o.jsx)(a.Provider,{value:s,children:t})}},7620:(e,t,n)=>{"use strict";n.d(t,{J:()=>y,L5:()=>b,Oh:()=>v});var r=n(5271),o=n(738),a=n(885),i=n(5996),s=n(7001),l=n(1669),c=n(2676);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,s.WA)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.WA)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.WA)(u(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=r.createContext(null);function g(){const e=(0,o._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function o(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=g();return(0,c.jsx)(f.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return(0,c.jsx)(m,{children:t})}function h(){const e=(0,r.useContext)(f);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=a.m);const t=(0,o.zh)(e),[n,i]=h(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function v(){const e=(0,o._r)(),[t]=h();function n(n){const r=e[n],{preferredVersionName:o}=t[n];return r.versions.find((e=>e.name===o))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},3092:(e,t,n)=>{"use strict";n.d(t,{J:()=>a,z:()=>i});var r=n(738),o=n(7620);function a(e,t){return`docs-${e}-${t}`}function i(){const e=(0,r._r)(),t=(0,r.WS)(),n=(0,o.Oh)();return[...Object.keys(e).map((function(r){const o=t?.activePlugin.pluginId===r?t.activeVersion:void 0,i=n[r],s=e[r].versions.find((e=>e.isLast));return a(r,(o??i??s).name)}))]}},7076:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,b:()=>l});var r=n(5271),o=n(1669),a=n(2676);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:o}=e;const i=(0,r.useMemo)((()=>n&&o?{name:n,items:o}:null),[n,o]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new o.i6("DocsSidebarProvider");return e}},3077:(e,t,n)=>{"use strict";n.d(t,{LM:()=>p,MN:()=>E,SN:()=>k,_F:()=>b,f:()=>y,jA:()=>f,lO:()=>w,oz:()=>x,s1:()=>_,vY:()=>S});var r=n(5271),o=n(3225),a=n(7677),i=n(738),s=n(9322),l=n(3696),c=n(7620),u=n(327),d=n(7076);function p(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=p(t);if(e)return e}}(e):void 0:e.href}function f(){const{pathname:e}=(0,o.TH)(),t=(0,d.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=v({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,s.Mg)(e,t),m=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||m(e.items,t))}function h(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>h(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function y(e,t){return(0,r.useMemo)((()=>e.filter((e=>h(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const o=[];return function e(t){for(const a of t)if("category"===a.type&&((0,s.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,s.Mg)(a.href,n)){return r&&"category"!==a.type||o.unshift(a),!0}return!1}(t),o}function _(){const e=(0,d.V)(),{pathname:t}=(0,o.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function w(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,c.J)(e),o=(0,i.yW)(e);return(0,r.useMemo)((()=>(0,l.jj)([t,n,o].filter(Boolean))),[t,n,o])}function x(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=w(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,l.jj)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function k(e){let{route:t}=e;const n=(0,o.TH)(),r=(0,u.E)(),i=t.routes,s=i.find((e=>(0,o.LX)(n.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?r.docsSidebars[l]:void 0;return{docElement:(0,a.H)(i),sidebarName:l,sidebarItems:c}}function E(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!p(e)))}},327:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>s});var r=n(5271),o=n(1669),a=n(2676);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new o.i6("DocsVersionProvider");return e}},738:(e,t,n)=>{"use strict";n.d(t,{MN:()=>l.MN,Iw:()=>y,gA:()=>g,WS:()=>m,_r:()=>p,jA:()=>l.jA,Jo:()=>v,z1:()=>u.z,zh:()=>f,J:()=>c.J,yW:()=>h,gB:()=>b});var r=n(3225),o=n(970);const a=e=>e.versions.find((e=>e.isLast));function i(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function s(e,t){const n=i(e,t),o=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:o,alternateDocVersions:o?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(o.id):{}}}var l=n(3077),c=n(7620),u=n(3092);const d={},p=()=>(0,o.OD)("docusaurus-plugin-content-docs")??d,f=e=>{try{return(0,o.eZ)("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function g(e){void 0===e&&(e={});const t=p(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),a=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function m(e){void 0===e&&(e={});const t=g(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:i(t.pluginData,n)}}function b(e){return f(e).versions}function h(e){const t=f(e);return a(t)}function y(e){const t=f(e),{pathname:n}=(0,r.TH)();return s(t,n)}function v(e){const t=f(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=a(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},4354:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(5271),l=[],c=[];var u=s.createContext(null);function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var o=d(e[r]);o.loading?t.loading=!0:(t.loaded[r]=o.loaded,t.error=o.error),n.push(o.promise),o.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function g(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var g=i({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),m=null;function b(){return m||(m=e(g.loader)),m.promise}return l.push(b),"function"==typeof g.webpack&&c.push((function(){if((0,g.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return b()})),p=d=function(t){function n(n){var r;return a(o(o(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),m=e(g.loader),r._loadModule()})),b(),r.state={error:m.error,pastDelay:!1,timedOut:!1,loading:m.loading,loaded:m.loaded},r}r(n,t),n.preload=function(){return b()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context&&Array.isArray(g.modules)&&g.modules.forEach((function(t){e.context.report(t)})),m.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof g.delay&&(0===g.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),g.delay)),"number"==typeof g.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),g.timeout));var n=function(){t({error:m.error,loaded:m.loaded,loading:m.loading}),e._clearTimeouts()};m.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(g.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?g.render(this.state.loaded,this.props):null},n}(s.Component),a(d,"contextType",u),p}function m(e){return g(d,e)}m.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return g(p,e)};var b=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){return s.createElement(u.Provider,{value:{report:this.props.report}},s.Children.only(this.props.children))},t}(s.Component);function h(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return h(e)}))}m.Capture=b,m.preloadAll=function(){return new Promise((function(e,t){h(l).then(e,t)}))},m.preloadReady=function(){return new Promise((function(e,t){h(c).then(e,e)}))},e.exports=m},1893:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(9981),o=n.n(r);o().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},361:(e,t,n)=>{"use strict";n.r(t);var r=n(739),o=n(6809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(1559),n(6573)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},6078:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(5271);var r=n(4814),o=n(9665),a=n(5996),i=n(9347),s=n(4393);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_BnxJ",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_re8X"};var c=n(2676);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.Z)(),{navbar:{hideOnScroll:p}}=(0,a.L)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,o.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.Z)("anchor",p?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},127:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(5271);const r={iconExternalLink:"iconExternalLink_rK98"};var o=n(2676);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,o.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,o.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},8849:(e,t,n)=>{"use strict";n.d(t,{Z:()=>si});var r=n(5271),o=n(4814),a=n(3791),i=n(947),s=n(3225),l=n(9665),c=n(6137),u=n(2676);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const g=(0,l.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??g,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":g,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var b=n(8832),h=n(6149);const y={skipToContent:"skipToContent_N_FB"};function v(){return(0,u.jsx)(m,{className:y.skipToContent})}var _=n(5996),w=n(7891);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:o=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:o,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_xADE"};function k(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,o.Z)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_CsLf"};function O(e){const{announcementBar:t}=(0,_.L)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,o.Z)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const j={announcementBar:"announcementBar_wEz5",announcementBarPlaceholder:"announcementBarPlaceholder_e0hD",announcementBarClose:"announcementBarClose_hClt",announcementBarContent:"announcementBarContent_RqlE"};function P(){const{announcementBar:e}=(0,_.L)(),{isActive:t,close:n}=(0,w.n)();if(!t)return null;const{backgroundColor:r,textColor:o,isCloseable:a}=e;return(0,u.jsxs)("div",{className:j.announcementBar,style:{backgroundColor:r,color:o},role:"banner",children:[a&&(0,u.jsx)("div",{className:j.announcementBarPlaceholder}),(0,u.jsx)(O,{className:j.announcementBarContent}),a&&(0,u.jsx)(k,{onClick:n,className:j.announcementBarClose})]})}var C=n(7270),T=n(5266);var I=n(1669),A=n(2466);const N=r.createContext(null);function L(e){let{children:t}=e;const n=function(){const e=(0,C.e)(),t=(0,A.HY)(),[n,o]=(0,r.useState)(!1),a=null!==t.component,i=(0,I.D9)(a);return(0,r.useEffect)((()=>{a&&!i&&o(!0)}),[a,i]),(0,r.useEffect)((()=>{a?e.shown||o(!0):o(!1)}),[e.shown,a]),(0,r.useMemo)((()=>[n,o]),[n])}();return(0,u.jsx)(N.Provider,{value:n,children:t})}function R(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(N);if(!e)throw new I.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,o=(0,r.useCallback)((()=>n(!1)),[n]),a=(0,A.HY)();return(0,r.useMemo)((()=>({shown:t,hide:o,content:R(a)})),[o,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:a}=D();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(7931),z=n(1951);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_Ctpc",toggleButton:"toggleButton_QfJ4",darkToggleIcon:"darkToggleIcon_DyWs",lightToggleIcon:"lightToggleIcon_SP6E",toggleButtonDisabled:"toggleButtonDisabled_hyb0"};function H(e){let{className:t,buttonClassName:n,value:r,onChange:a}=e;const i=(0,z.Z)(),s=(0,l.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,o.Z)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,o.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,o.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,o.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const Q=r.memo(H),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_ul4N"};function Z(e){let{className:t}=e;const n=(0,_.L)().navbar.style,r=(0,_.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:a}=(0,M.I)();return r?null:(0,u.jsx)(Q,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:o,onChange:a})}var W=n(698);function q(){return(0,u.jsx)(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function G(){const e=(0,C.e)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(q,{}),(0,u.jsx)(Z,{className:"margin-right--md"}),(0,u.jsx)(G,{})]})}var K=n(9347),X=n(8086),J=n(8642);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(127);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:o,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.ZP)(r),p=(0,X.ZP)(t),f=(0,X.ZP)(o,{forcePrependBaseUrl:!0}),g=a&&o&&!(0,J.Z)(o),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,g&&(0,u.jsx)(te.Z,{...s&&{width:12,height:12}})]})};return o?(0,u.jsx)(K.Z,{href:l?f:o,...c,...m}):(0,u.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...c,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const a=(0,u.jsx)(ne,{className:(0,o.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:a}):a}function oe(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,o.Z)("menu__link",t),...r})})}function ae(e){let{mobile:t=!1,position:n,...r}=e;const o=t?oe:re;return(0,u.jsx)(o,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(5647),se=n(9322),le=n(2100);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_x5K8"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,o.Z)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(va,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:a,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:g}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[c,d,g]),(0,u.jsxs)("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,o.Z)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,u.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(va,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var ge=n(9561);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const be="iconLanguage_QTLV";var he=n(967);function ye(e,t){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,o)}),t)}}function ve(e){return{current:e}}function _e(e){return e!==Object(e)}function we(e,t){if(e===t)return!0;if(_e(e)||_e(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var o=r[n];if(!(o in t))return!1;if(!we(e[o],t[o]))return!1}return!0}var xe=function(){};function Se(e){var t=e.item,n=e.items,r=void 0===n?[]:n;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function ke(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(u){c=!0,o=u}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Ee(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ee(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Oe=["items"],je=["items"];function Pe(e){return Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe(e)}function Ce(e){return function(e){if(Array.isArray(e))return Te(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Te(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Te(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ie(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ne(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ae(Object(n),!0).forEach((function(t){Le(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ae(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Le(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Pe(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Pe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Pe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Re(e){return e.map((function(e){var t=e.items,n=Ie(e,Oe);return Ne(Ne({},n),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||n.objectIDs})}))}function De(e){var t=function(e){var t=ke((e.version||"").split(".").map(Number),2),n=t[0],r=t[1];return n>=3||2===n&&r>=4||1===n&&r>=10}(e);function n(n,r,o){if(t&&void 0!==o){var a=o[0].__autocomplete_algoliaCredentials,i={"X-Algolia-Application-Id":a.appId,"X-Algolia-API-Key":a.apiKey};e.apply(void 0,[n].concat(Ce(r),[{headers:i}]))}else e.apply(void 0,[n].concat(Ce(r)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&n("clickedObjectIDsAfterSearch",Re(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&n("clickedObjectIDs",Re(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&n("convertedObjectIDsAfterSearch",Re(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&n("convertedObjectIDs",Re(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&t.reduce((function(e,t){var n=t.items,r=Ie(t,je);return[].concat(Ce(e),Ce(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,n=[],r=0;r<e.objectIDs.length;r+=t)n.push(Ne(Ne({},e),{},{objectIDs:e.objectIDs.slice(r,r+t)}));return n}(Ne(Ne({},r),{},{objectIDs:(null==n?void 0:n.map((function(e){return e.objectID})))||r.objectIDs})).map((function(e){return{items:n,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return n("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function Fe(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function Me(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function ze(e){return ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ze(e)}function Be(e){return function(e){if(Array.isArray(e))return $e(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return $e(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $e(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ue(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function He(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ue(Object(n),!0).forEach((function(t){Qe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ue(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Qe(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==ze(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==ze(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ze(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ve="2.6.0",Ze="https://cdn.jsdelivr.net/npm/search-insights@".concat(Ve,"/dist/search-insights.min.js"),We=ye((function(e){var t=e.onItemsChange,n=e.items,r=e.insights,o=e.state;t({insights:r,insightsEvents:Fe({items:n}).map((function(e){return He({eventName:"Items Viewed"},e)})),state:o})}),400);function qe(e){var t=function(e){return He({onItemsChange:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.viewedObjectIDs.apply(t,Be(n.map((function(e){return He(He({},e),{},{algoliaSource:Ge(e.algoliaSource,r.context)})}))))},onSelect:function(e){var t=e.insights,n=e.insightsEvents,r=e.state;t.clickedObjectIDsAfterSearch.apply(t,Be(n.map((function(e){return He(He({},e),{},{algoliaSource:Ge(e.algoliaSource,r.context)})}))))},onActive:xe,__autocomplete_clickAnalytics:!0},e)}(e),n=t.insightsClient,r=t.onItemsChange,o=t.onSelect,a=t.onActive,i=t.__autocomplete_clickAnalytics,s=n;if(n||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(s=t[n]),s||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];t[n].queue.push(r)}),t[n].version=Ve,s=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=Ze,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(r){console.error(t)}}(t))})),!s)return{};var l=De(s),c=ve([]),u=ye((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(Be(e),Be(t.items))}),[]).filter(Me);we(c.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(c.current=n,n.length>0&&We({onItemsChange:r,items:n,insights:l,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,n=e.onSelect,r=e.onActive;function c(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:He(He({},i?{clickAnalytics:!0}:{}),e?{userToken:e}:{}),insights:l}})}s("addAlgoliaAgent","insights-plugin"),c(),s("onUserTokenChange",c),s("getUserToken",null,(function(e,t){c(t)})),n((function(e){var t=e.item,n=e.state,r=e.event,a=e.source;Me(t)&&o({state:n,event:r,insights:l,item:t,insightsEvents:[He({eventName:"Item Selected"},Se({item:t,items:a.getItems().filter(Me)}))]})})),r((function(e){var t=e.item,n=e.source,r=e.state,o=e.event;Me(t)&&a({state:r,event:o,insights:l,item:t,insightsEvents:[He({eventName:"Item Active"},Se({item:t,items:n.getItems().filter(Me)}))]})}))},onStateChange:function(e){var t=e.state;u({state:t})},__autocomplete_pluginOptions:e}}function Ge(){var e,t=arguments.length>1?arguments[1]:void 0;return[].concat(Be(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),["autocomplete-internal"],Be(null!==(e=t.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}function Ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Ye(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Ye(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ye(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Je(e,t,n){var r,o=t.initialState;return{getState:function(){return o},dispatch:function(r,a){var i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ke(Object(n),!0).forEach((function(t){Xe(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ke(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},o);o=e(o,{type:r,props:t,payload:a}),n({state:o,prevState:i})},pendingRequests:(r=[],{add:function(e){return r.push(e),e.finally((function(){r=r.filter((function(t){return t!==e}))}))},cancelAll:function(){r.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===r.length}})}}function et(e){return e.reduce((function(e,t){return e.concat(t)}),[])}function tt(e){return tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},tt(e)}function nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nt(Object(n),!0).forEach((function(t){ot(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ot(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==tt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==tt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===tt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function at(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}var it=0;function st(){return"autocomplete-".concat(it++)}function lt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ct(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lt(Object(n),!0).forEach((function(t){ut(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ut(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==dt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==dt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===dt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dt(e){return dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},dt(e)}function pt(e){return pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pt(e)}function ft(e){return function(e){if(Array.isArray(e))return gt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return gt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return gt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mt(Object(n),!0).forEach((function(t){ht(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ht(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==pt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==pt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===pt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yt(e,t){var n,r="undefined"!=typeof window?window:{},o=e.plugins||[];return bt(bt({debug:!1,openOnFocus:!1,enterKeyHint:void 0,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:void 0,environment:r,shouldPanelOpen:function(e){return at(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(n=e.id)&&void 0!==n?n:st(),plugins:o,initialState:bt({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var n;null===(n=e.onStateChange)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onStateChange)||void 0===n?void 0:n.call(e,t)}))},onSubmit:function(t){var n;null===(n=e.onSubmit)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onSubmit)||void 0===n?void 0:n.call(e,t)}))},onReset:function(t){var n;null===(n=e.onReset)||void 0===n||n.call(e,t),o.forEach((function(e){var n;return null===(n=e.onReset)||void 0===n?void 0:n.call(e,t)}))},getSources:function(n){return Promise.all([].concat(ft(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var n=[];return Promise.resolve(e(t)).then((function(e){return Array.isArray(e),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,n.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));n.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:xe,onResolve:xe};Object.keys(t).forEach((function(e){t[e].__default=!0}));var r=ct(ct({},t),e);return Promise.resolve(r)})))}))}(e,n)}))).then((function(e){return et(e)})).then((function(e){return e.map((function(e){return bt(bt({},e),{},{onSelect:function(n){e.onSelect(n),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,n)}))},onActive:function(n){e.onActive(n),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,n)}))},onResolve:function(n){e.onResolve(n),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,n)}))}})}))}))},navigator:bt({navigate:function(e){var t=e.itemUrl;r.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,n=r.open(t,"_blank","noopener");null==n||n.focus()},navigateNewWindow:function(e){var t=e.itemUrl;r.open(t,"_blank","noopener")}},e.navigator)})}function vt(e){return vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vt(e)}function _t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_t(Object(n),!0).forEach((function(t){xt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_t(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xt(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==vt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==vt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===vt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function St(e){return St="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},St(e)}function kt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Et(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kt(Object(n),!0).forEach((function(t){Ot(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ot(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==St(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==St(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===St(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jt(e){return function(e){if(Array.isArray(e))return Pt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Pt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ct(e){return Boolean(e.execute)}function Tt(e,t,n){if(o=e,Boolean(null==o?void 0:o.execute)){var r="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(jt(Object.keys(n.context).map((function(e){var t;return null===(t=n.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return Et(Et({},e),{},{requests:e.queries.map((function(n){return{query:"algolia"===e.requesterId?Et(Et({},n),{},{params:Et(Et({},r),n.params)}):n,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}function It(e){var t=e.reduce((function(e,t){if(!Ct(t))return e.push(t),e;var n=t.searchClient,r=t.execute,o=t.requesterId,a=t.requests,i=e.find((function(e){return Ct(t)&&Ct(e)&&e.searchClient===n&&Boolean(o)&&e.requesterId===o}));if(i){var s;(s=i.items).push.apply(s,jt(a))}else{var l={execute:r,requesterId:o,items:a,searchClient:n};e.push(l)}return e}),[]).map((function(e){if(!Ct(e))return Promise.resolve(e);var t=e,n=t.execute,r=t.items;return n({searchClient:t.searchClient,requests:r})}));return Promise.all(t).then((function(e){return et(e)}))}function At(e,t,n){return t.map((function(t){var r,o=e.filter((function(e){return e.sourceId===t.sourceId})),a=o.map((function(e){return e.items})),i=o[0].transformResponse,s=i?i({results:r=a,hits:r.map((function(e){return e.hits})).filter(Boolean),facetHits:r.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):a;return t.onResolve({source:t,results:a,items:s,state:n.getState()}),Array.isArray(s),s.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:s}}))}function Nt(e,t){var n=t;return{then:function(t,r){return Nt(e.then(Dt(t,n,e),Dt(r,n,e)),n)},catch:function(t){return Nt(e.catch(Dt(t,n,e)),n)},finally:function(t){return t&&n.onCancelList.push(t),Nt(e.finally(Dt(t&&function(){return n.onCancelList=[],t()},n,e)),n)},cancel:function(){n.isCanceled=!0;var e=n.onCancelList;n.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===n.isCanceled}}}function Lt(e){return Nt(new Promise((function(t,n){return e(t,n)})),{isCanceled:!1,onCancelList:[]})}function Rt(e){return Nt(e,{isCanceled:!1,onCancelList:[]})}function Dt(e,t,n){return e?function(n){return t.isCanceled?n:e(n)}:n}function Ft(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,n){var r=(e[n-1]||0)+t;return e.push(r),e}),[]).reduce((function(t,n){return n<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var n=t.items[function(e){for(var t=e.state,n=e.collection,r=!1,o=0,a=0;!1===r;){var i=t.collections[o];if(i===n){r=!0;break}a+=i.items.length,o++}return t.activeItemId-a}({state:e,collection:t})],r=t.source;return{item:n,itemInputValue:r.getItemInputValue({item:n,state:e}),itemUrl:r.getItemUrl({item:n,state:e}),source:r}}function Mt(e){return Mt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mt(e)}Lt.resolve=function(e){return Rt(Promise.resolve(e))},Lt.reject=function(e){return Rt(Promise.reject(e))};var zt=["event","nextState","props","query","refresh","store"];function Bt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function $t(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bt(Object(n),!0).forEach((function(t){Ut(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ut(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Mt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Mt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Mt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ht(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Qt,Vt,Zt,Wt=null,qt=(Qt=-1,Vt=-1,Zt=void 0,function(e){var t=++Qt;return Promise.resolve(e).then((function(e){return Zt&&t<Vt?Zt:(Vt=t,Zt=e,e)}))});function Gt(e){var t=e.event,n=e.nextState,r=void 0===n?{}:n,o=e.props,a=e.query,i=e.refresh,s=e.store,l=Ht(e,zt);Wt&&o.environment.clearTimeout(Wt);var c=l.setCollections,u=l.setIsOpen,d=l.setQuery,p=l.setActiveItemId,f=l.setStatus,g=l.setContext;if(d(a),p(o.defaultActiveItemId),!a&&!1===o.openOnFocus){var m,b=s.getState().collections.map((function(e){return $t($t({},e),{},{items:[]})}));f("idle"),c(b),u(null!==(m=r.isOpen)&&void 0!==m?m:o.shouldPanelOpen({state:s.getState()}));var h=Rt(qt(b).then((function(){return Promise.resolve()})));return s.pendingRequests.add(h)}f("loading"),Wt=o.environment.setTimeout((function(){f("stalled")}),o.stallThreshold);var y=Rt(qt(o.getSources($t({query:a,refresh:i,state:s.getState()},l)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems($t({query:a,refresh:i,state:s.getState()},l))).then((function(t){return Tt(t,e.sourceId,s.getState())}))}))).then(It).then((function(t){var n,r=t.some((function(e){return function(e){return!Array.isArray(e)&&Boolean(null==e?void 0:e._automaticInsights)}(e.items)}));r&&g({algoliaInsightsPlugin:$t($t({},(null===(n=s.getState().context)||void 0===n?void 0:n.algoliaInsightsPlugin)||{}),{},{__automaticInsights:r})});return At(t,e,s)})).then((function(e){return function(e){var t=e.collections,n=e.props,r=e.state,o=t.reduce((function(e,t){return wt(wt({},e),{},xt({},t.source.sourceId,wt(wt({},t.source),{},{getItems:function(){return et(t.items)}})))}),{}),a=n.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:o,state:r}).sourcesBySourceId;return et(n.reshape({sourcesBySourceId:a,sources:Object.values(a),state:r})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:s.getState()})}))})))).then((function(e){var n;f("idle"),c(e);var d=o.shouldPanelOpen({state:s.getState()});u(null!==(n=r.isOpen)&&void 0!==n?n:o.openOnFocus&&!a&&d||d);var p=Ft(s.getState());if(null!==s.getState().activeItemId&&p){var g=p.item,m=p.itemInputValue,b=p.itemUrl,h=p.source;h.onActive($t({event:t,item:g,itemInputValue:m,itemUrl:b,refresh:i,source:h,state:s.getState()},l))}})).finally((function(){f("idle"),Wt&&o.environment.clearTimeout(Wt)}));return s.pendingRequests.add(y)}function Yt(e,t,n){return[e,null==n?void 0:n.sourceId,t].filter(Boolean).join("-").replace(/\s/g,"")}function Kt(e){return Kt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kt(e)}var Xt=["event","props","refresh","store"];function Jt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function en(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Jt(Object(n),!0).forEach((function(t){tn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Jt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function tn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==Kt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Kt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Kt(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nn(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var rn=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function on(e){return on="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},on(e)}var an=["props","refresh","store"],sn=["inputElement","formElement","panelElement"],ln=["inputElement"],cn=["inputElement","maxLength"],un=["source"],dn=["item","source"];function pn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pn(Object(n),!0).forEach((function(t){gn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==on(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==on(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===on(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function mn(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function bn(e){var t=e.props,n=e.refresh,r=e.store,o=mn(e,an);return{getEnvironmentProps:function(e){var n=e.inputElement,o=e.formElement,a=e.panelElement;function i(e){!r.getState().isOpen&&r.pendingRequests.isEmpty()||e.target===n||!1===[o,a].some((function(t){return n=t,r=e.target,n===r||n.contains(r);var n,r}))&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())}return fn({onTouchStart:i,onMouseDown:i,onTouchMove:function(e){!1!==r.getState().isOpen&&n===t.environment.document.activeElement&&e.target!==n&&n.blur()}},mn(e,sn))},getRootProps:function(e){return fn({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Yt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Yt(t.id,"label")},e)},getFormProps:function(e){e.inputElement;return fn({action:"",noValidate:!0,role:"search",onSubmit:function(a){var i;a.preventDefault(),t.onSubmit(fn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),null===(i=e.inputElement)||void 0===i||i.blur()},onReset:function(a){var i;a.preventDefault(),t.onReset(fn({event:a,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),null===(i=e.inputElement)||void 0===i||i.focus()}},mn(e,ln))},getLabelProps:function(e){return fn({htmlFor:Yt(t.id,"input"),id:Yt(t.id,"label")},e)},getInputProps:function(e){var a;function i(e){(t.openOnFocus||Boolean(r.getState().query))&&Gt(fn({event:e,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var s=e||{},l=(s.inputElement,s.maxLength),c=void 0===l?512:l,u=mn(s,cn),d=Ft(r.getState()),p=function(e){return Boolean(e&&e.match(rn))}((null===(a=t.environment.navigator)||void 0===a?void 0:a.userAgent)||""),f=t.enterKeyHint||(null!=d&&d.itemUrl&&!p?"go":"search");return fn({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&null!==r.getState().activeItemId?Yt(t.id,"item-".concat(r.getState().activeItemId),null==d?void 0:d.source):void 0,"aria-controls":r.getState().isOpen?r.getState().collections.map((function(e){var n=e.source;return Yt(t.id,"list",n)})).join(" "):void 0,"aria-labelledby":Yt(t.id,"label"),value:r.getState().completion||r.getState().query,id:Yt(t.id,"input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:f,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:c,type:"search",onChange:function(e){Gt(fn({event:e,props:t,query:e.currentTarget.value.slice(0,c),refresh:n,store:r},o))},onKeyDown:function(e){!function(e){var t=e.event,n=e.props,r=e.refresh,o=e.store,a=nn(e,Xt);if("ArrowUp"===t.key||"ArrowDown"===t.key){var i=function(){var e=Ft(o.getState()),t=n.environment.document.getElementById(Yt(n.id,"item-".concat(o.getState().activeItemId),null==e?void 0:e.source));t&&(t.scrollIntoViewIfNeeded?t.scrollIntoViewIfNeeded(!1):t.scrollIntoView(!1))},s=function(){var e=Ft(o.getState());if(null!==o.getState().activeItemId&&e){var n=e.item,i=e.itemInputValue,s=e.itemUrl,l=e.source;l.onActive(en({event:t,item:n,itemInputValue:i,itemUrl:s,refresh:r,source:l,state:o.getState()},a))}};t.preventDefault(),!1===o.getState().isOpen&&(n.openOnFocus||Boolean(o.getState().query))?Gt(en({event:t,props:n,query:o.getState().query,refresh:r,store:o},a)).then((function(){o.dispatch(t.key,{nextActiveItemId:n.defaultActiveItemId}),s(),setTimeout(i,0)})):(o.dispatch(t.key,{}),s(),i())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(n.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=Ft(o.getState()),c=l.item,u=l.itemInputValue,d=l.itemUrl,p=l.source;if(t.metaKey||t.ctrlKey)void 0!==d&&(p.onSelect(en({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:o.getState()},a)),n.navigator.navigateNewTab({itemUrl:d,item:c,state:o.getState()}));else if(t.shiftKey)void 0!==d&&(p.onSelect(en({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:o.getState()},a)),n.navigator.navigateNewWindow({itemUrl:d,item:c,state:o.getState()}));else if(t.altKey);else{if(void 0!==d)return p.onSelect(en({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:o.getState()},a)),void n.navigator.navigate({itemUrl:d,item:c,state:o.getState()});Gt(en({event:t,nextState:{isOpen:!1},props:n,query:u,refresh:r,store:o},a)).then((function(){p.onSelect(en({event:t,item:c,itemInputValue:u,itemUrl:d,refresh:r,source:p,state:o.getState()},a))}))}}}(fn({event:e,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:xe,onClick:function(n){e.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(n)}},u)},getPanelProps:function(e){return fn({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},e)},getListProps:function(e){var n=e||{},r=n.source,o=mn(n,un);return fn({role:"listbox","aria-labelledby":Yt(t.id,"label"),id:Yt(t.id,"list",r)},o)},getItemProps:function(e){var a=e.item,i=e.source,s=mn(e,dn);return fn({id:Yt(t.id,"item-".concat(a.__autocomplete_id),i),role:"option","aria-selected":r.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",a.__autocomplete_id);var t=Ft(r.getState());if(null!==r.getState().activeItemId&&t){var i=t.item,s=t.itemInputValue,l=t.itemUrl,c=t.source;c.onActive(fn({event:e,item:i,itemInputValue:s,itemUrl:l,refresh:n,source:c,state:r.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var s=i.getItemInputValue({item:a,state:r.getState()}),l=i.getItemUrl({item:a,state:r.getState()});(l?Promise.resolve():Gt(fn({event:e,nextState:{isOpen:!1},props:t,query:s,refresh:n,store:r},o))).then((function(){i.onSelect(fn({event:e,item:a,itemInputValue:s,itemUrl:l,refresh:n,source:i,state:r.getState()},o))}))}},s)}}}var hn="1.12.2",yn=[{segment:"autocomplete-core",version:hn}];function vn(e){return vn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vn(e)}function _n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_n(Object(n),!0).forEach((function(t){xn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_n(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==vn(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==vn(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===vn(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sn(e){var t,n,r,o,a=e.plugins,i=e.options,s=null===(t=((null===(n=i.__autocomplete_metadata)||void 0===n?void 0:n.userAgents)||[])[0])||void 0===t?void 0:t.segment,l=s?xn({},s,Object.keys((null===(r=i.__autocomplete_metadata)||void 0===r?void 0:r.options)||{})):{};return{plugins:a.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:wn({"autocomplete-core":Object.keys(i)},l),ua:yn.concat((null===(o=i.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function kn(e){var t,n=e.state;return!1===n.isOpen||null===n.activeItemId?null:(null===(t=Ft(n))||void 0===t?void 0:t.itemInputValue)||null}function En(e,t,n,r){if(!n)return null;if(e<0&&(null===t||null!==r&&0===t))return n+e;var o=(null===t?-1:t)+e;return o<=-1||o>=n?null===r?null:0:o}function On(e){return On="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},On(e)}function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jn(Object(n),!0).forEach((function(t){Cn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Cn(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==On(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==On(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===On(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Tn=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return Pn(Pn({},e),{},{activeItemId:t.payload});case"setQuery":return Pn(Pn({},e),{},{query:t.payload,completion:null});case"setCollections":return Pn(Pn({},e),{},{collections:t.payload});case"setIsOpen":return Pn(Pn({},e),{},{isOpen:t.payload});case"setStatus":return Pn(Pn({},e),{},{status:t.payload});case"setContext":return Pn(Pn({},e),{},{context:Pn(Pn({},e.context),t.payload)});case"ArrowDown":var n=Pn(Pn({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:En(1,e.activeItemId,at(e),t.props.defaultActiveItemId)});return Pn(Pn({},n),{},{completion:kn({state:n})});case"ArrowUp":var r=Pn(Pn({},e),{},{activeItemId:En(-1,e.activeItemId,at(e),t.props.defaultActiveItemId)});return Pn(Pn({},r),{},{completion:kn({state:r})});case"Escape":return e.isOpen?Pn(Pn({},e),{},{activeItemId:null,isOpen:!1,completion:null}):Pn(Pn({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return Pn(Pn({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return Pn(Pn({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",completion:null,query:""});case"focus":return Pn(Pn({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:Pn(Pn({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return Pn(Pn({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function In(e){return In="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},In(e)}function An(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?An(Object(n),!0).forEach((function(t){Ln(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):An(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ln(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==In(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==In(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===In(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rn(e){var t=[],n=yt(e,t),r=Je(Tn,n,(function(e){var t,r,a=e.prevState,c=e.state;if(n.onStateChange(Nn({prevState:a,state:c,refresh:i,navigator:n.navigator},o)),!l()&&null!==(t=c.context)&&void 0!==t&&null!==(r=t.algoliaInsightsPlugin)&&void 0!==r&&r.__automaticInsights&&!1!==n.insights){var u=qe({__autocomplete_clickAnalytics:!1});n.plugins.push(u),s([u])}})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var n=0,r=e.map((function(e){return rt(rt({},e),{},{items:et(e.items).map((function(e){return rt(rt({},e),{},{__autocomplete_id:n++})}))})}));t.dispatch("setCollections",r)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:r}),a=bn(Nn({props:n,refresh:i,store:r,navigator:n.navigator},o));function i(){return Gt(Nn({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,navigator:n.navigator,query:r.getState().query,refresh:i,store:r},o))}function s(e){e.forEach((function(e){var r;return null===(r=e.subscribe)||void 0===r?void 0:r.call(e,Nn(Nn({},o),{},{navigator:n.navigator,refresh:i,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))}))}function l(){return n.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))}if(n.insights&&!l()){var c="boolean"==typeof n.insights?{}:n.insights;n.plugins.push(qe(c))}return s(n.plugins),function(e){var t,n,r=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(n=t.userAgent)||void 0===n?void 0:n.includes("Algolia Crawler")){var a=o.document.createElement("meta"),i=o.document.querySelector("head");a.name="algolia:metadata",setTimeout((function(){a.content=JSON.stringify(r),i.appendChild(a)}),0)}}({metadata:Sn({plugins:n.plugins,options:e}),environment:n.environment}),Nn(Nn({refresh:i,navigator:n.navigator},a),o)}var Dn=function(e,t,n,r){var o;t[0]=0;for(var a=1;a<t.length;a++){var i=t[a++],s=t[a]?(t[0]|=i?1:2,n[t[a++]]):t[++a];3===i?r[0]=s:4===i?r[1]=Object.assign(r[1]||{},s):5===i?(r[1]=r[1]||{})[t[++a]]=s:6===i?r[1][t[++a]]+=s+"":i?(o=e.apply(s,Dn(e,s,n,["",null])),r.push(o),s[0]?t[0]|=2:(t[a-2]=0,t[a]=o)):r.push(s)}return r},Fn=new Map;function Mn(e){var t=Fn.get(this);return t||(t=new Map,Fn.set(this,t)),(t=Dn(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,o="",a="",i=[0],s=function(e){1===r&&(e||(o=o.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?i.push(0,e,o):3===r&&(e||o)?(i.push(3,e,o),r=2):2===r&&"..."===o&&e?i.push(4,e,0):2===r&&o&&!e?i.push(5,0,!0,o):r>=5&&((o||!e&&5===r)&&(i.push(r,0,o,n),r=6),e&&(i.push(r,e,0,n),r=6)),o=""},l=0;l<e.length;l++){l&&(1===r&&s(),s(l));for(var c=0;c<e[l].length;c++)t=e[l][c],1===r?"<"===t?(s(),i=[i],r=3):o+=t:4===r?"--"===o&&">"===t?(r=1,o=""):o=t+o[0]:a?t===a?a="":o+=t:'"'===t||"'"===t?a=t:">"===t?(s(),r=1):r&&("="===t?(r=5,n=o,o=""):"/"===t&&(r<5||">"===e[l][c+1])?(s(),3===r&&(i=i[0]),r=i,(i=i[0]).push(2,0,r),r=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(s(),r=2):o+=t),3===r&&"!--"===o&&(r=4,i=i[0])}return s(),i}(e)),t),arguments,[])).length>1?t:t[0]}var zn=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-SubmitIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","20"),n.setAttribute("height","20"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"),n.appendChild(r),n},Bn=function(e){var t=e.environment,n=t.document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","aa-ClearIcon"),n.setAttribute("viewBox","0 0 24 24"),n.setAttribute("width","18"),n.setAttribute("height","18"),n.setAttribute("fill","currentColor");var r=t.document.createElementNS("http://www.w3.org/2000/svg","path");return r.setAttribute("d","M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"),n.appendChild(r),n},$n=function(e){var t=e.environment.document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("class","aa-LoadingIcon"),t.setAttribute("viewBox","0 0 100 100"),t.setAttribute("width","20"),t.setAttribute("height","20"),t.innerHTML='<circle\n cx="50"\n cy="50"\n fill="none"\n r="35"\n stroke="currentColor"\n stroke-dasharray="164.93361431346415 56.97787143782138"\n stroke-width="6"\n>\n <animateTransform\n attributeName="transform"\n type="rotate"\n repeatCount="indefinite"\n dur="1s"\n values="0 50 50;90 50 50;180 50 50;360 50 50"\n keyTimes="0;0.40;0.65;1"\n />\n</circle>',t},Un=["ontouchstart","ontouchend","ontouchmove","ontouchcancel"];function Hn(e,t,n){e[t]=null===n?"":"number"!=typeof n?n:n+"px"}function Qn(e){this._listeners[e.type](e)}function Vn(e,t,n){var r,o,a=e[t];if("style"===t)if("string"==typeof n)e.style=n;else if(null===n)e.style="";else for(t in n)a&&n[t]===a[t]||Hn(e.style,t,n[t]);else"o"===t[0]&&"n"===t[1]?(r=t!==(t=t.replace(/Capture$/,"")),((o=t.toLowerCase())in e||Un.includes(o))&&(t=o),t=t.slice(2),e._listeners||(e._listeners={}),e._listeners[t]=n,n?a||e.addEventListener(t,Qn,r):e.removeEventListener(t,Qn,r)):"list"!==t&&"tagName"!==t&&"form"!==t&&"type"!==t&&"size"!==t&&"download"!==t&&"href"!==t&&t in e?e[t]=null==n?"":n:"function"!=typeof n&&"dangerouslySetInnerHTML"!==t&&(null==n||!1===n&&!/^ar/.test(t)?e.removeAttribute(t):e.setAttribute(t,n))}function Zn(e){return"onChange"===e?"onInput":e}function Wn(e,t){for(var n in t)Vn(e,Zn(n),t[n])}function qn(e,t){for(var n in t)"o"===n[0]&&"n"===n[1]||Vn(e,Zn(n),t[n])}var Gn=["children"];function Yn(e){return function(e){if(Array.isArray(e))return Kn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Kn(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Kn(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Kn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Xn(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Jn(e){return function(t,n){var r=n.children,o=void 0===r?[]:r,a=Xn(n,Gn),i=e.document.createElement(t);return Wn(i,a),i.append.apply(i,Yn(o)),i}}function er(e){return er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},er(e)}var tr=["autocompleteScopeApi","environment","classNames","getInputProps","getInputPropsCore","isDetached","state"];function nr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nr(Object(n),!0).forEach((function(t){or(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function or(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==er(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==er(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===er(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ar(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ir=function(e){var t=e.autocompleteScopeApi,n=e.environment,r=(e.classNames,e.getInputProps),o=e.getInputPropsCore,a=e.isDetached,i=e.state,s=ar(e,tr),l=Jn(n)("input",s),c=r(rr({state:i,props:o({inputElement:l}),inputElement:l},t));return Wn(l,rr(rr({},c),{},{onKeyDown:function(e){a&&"Tab"===e.key||c.onKeyDown(e)}})),l};function sr(e){return sr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sr(e)}function lr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lr(Object(n),!0).forEach((function(t){ur(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ur(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==sr(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==sr(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===sr(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var dr,pr,fr,gr,mr,br,hr,yr={},vr=[],_r=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,wr=Array.isArray;function xr(e,t){for(var n in t)e[n]=t[n];return e}function Sr(e){var t=e.parentNode;t&&t.removeChild(e)}function kr(e,t,n){var r,o,a,i={};for(a in t)"key"==a?r=t[a]:"ref"==a?o=t[a]:i[a]=t[a];if(arguments.length>2&&(i.children=arguments.length>3?dr.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===i[a]&&(i[a]=e.defaultProps[a]);return Er(e,i,r,o,null)}function Er(e,t,n,r,o){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++fr:o,__i:-1,__u:0};return null==o&&null!=pr.vnode&&pr.vnode(a),a}function Or(e){return e.children}function jr(e,t){this.props=e,this.context=t}function Pr(e,t){if(null==t)return e.__?Pr(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?Pr(e):null}function Cr(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return Cr(e)}}function Tr(e){(!e.__d&&(e.__d=!0)&&gr.push(e)&&!Ir.__r++||mr!==pr.debounceRendering)&&((mr=pr.debounceRendering)||br)(Ir)}function Ir(){var e,t,n,r,o,a,i,s,l;for(gr.sort(hr);e=gr.shift();)e.__d&&(t=gr.length,r=void 0,a=(o=(n=e).__v).__e,s=[],l=[],(i=n.__P)&&((r=xr({},o)).__v=o.__v+1,pr.vnode&&pr.vnode(r),Br(i,r,o,n.__n,void 0!==i.ownerSVGElement,32&o.__u?[a]:null,s,null==a?Pr(o):a,!!(32&o.__u),l),r.__.__k[r.__i]=r,$r(s,r,l),r.__e!=a&&Cr(r)),gr.length>t&&gr.sort(hr));Ir.__r=0}function Ar(e,t,n,r,o,a,i,s,l,c,u){var d,p,f,g,m,b=r&&r.__k||vr,h=t.length;for(n.__d=l,Nr(n,t,b),l=n.__d,d=0;d<h;d++)null!=(f=n.__k[d])&&"boolean"!=typeof f&&"function"!=typeof f&&(p=-1===f.__i?yr:b[f.__i]||yr,f.__i=d,Br(e,f,p,o,a,i,s,l,c,u),g=f.__e,f.ref&&p.ref!=f.ref&&(p.ref&&Hr(p.ref,null,f),u.push(f.ref,f.__c||g,f)),null==m&&null!=g&&(m=g),65536&f.__u||p.__k===f.__k?l=Lr(f,l,e):"function"==typeof f.type&&void 0!==f.__d?l=f.__d:g&&(l=g.nextSibling),f.__d=void 0,f.__u&=-196609);n.__d=l,n.__e=m}function Nr(e,t,n){var r,o,a,i,s,l=t.length,c=n.length,u=c,d=0;for(e.__k=[],r=0;r<l;r++)null!=(o=e.__k[r]=null==(o=t[r])||"boolean"==typeof o||"function"==typeof o?null:"string"==typeof o||"number"==typeof o||"bigint"==typeof o||o.constructor==String?Er(null,o,null,null,o):wr(o)?Er(Or,{children:o},null,null,null):void 0===o.constructor&&o.__b>0?Er(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,s=Rr(o,n,i=r+d,u),o.__i=s,a=null,-1!==s&&(u--,(a=n[s])&&(a.__u|=131072)),null==a||null===a.__v?(-1==s&&d--,"function"!=typeof o.type&&(o.__u|=65536)):s!==i&&(s===i+1?d++:s>i?u>l-i?d+=s-i:d--:d=s<i&&s==i-1?s-i:0,s!==r+d&&(o.__u|=65536))):(a=n[r])&&null==a.key&&a.__e&&(a.__e==e.__d&&(e.__d=Pr(a)),Qr(a,a,!1),n[r]=null,u--);if(u)for(r=0;r<c;r++)null!=(a=n[r])&&0==(131072&a.__u)&&(a.__e==e.__d&&(e.__d=Pr(a)),Qr(a,a))}function Lr(e,t,n){var r,o;if("function"==typeof e.type){for(r=e.__k,o=0;r&&o<r.length;o++)r[o]&&(r[o].__=e,t=Lr(r[o],t,n));return t}return e.__e!=t&&(n.insertBefore(e.__e,t||null),t=e.__e),t&&t.nextSibling}function Rr(e,t,n,r){var o=e.key,a=e.type,i=n-1,s=n+1,l=t[n];if(null===l||l&&o==l.key&&a===l.type)return n;if(r>(null!=l&&0==(131072&l.__u)?1:0))for(;i>=0||s<t.length;){if(i>=0){if((l=t[i])&&0==(131072&l.__u)&&o==l.key&&a===l.type)return i;i--}if(s<t.length){if((l=t[s])&&0==(131072&l.__u)&&o==l.key&&a===l.type)return s;s++}}return-1}function Dr(e,t,n){"-"===t[0]?e.setProperty(t,null==n?"":n):e[t]=null==n?"":"number"!=typeof n||_r.test(t)?n:n+"px"}function Fr(e,t,n,r,o){var a;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof r&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||Dr(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||Dr(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])a=t!==(t=t.replace(/(PointerCapture)$|Capture$/,"$1")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r?n.u=r.u:(n.u=Date.now(),e.addEventListener(t,a?zr:Mr,a)):e.removeEventListener(t,a?zr:Mr,a);else{if(o)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==t&&"height"!==t&&"href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&"rowSpan"!==t&&"colSpan"!==t&&"role"!==t&&t in e)try{e[t]=null==n?"":n;break e}catch(e){}"function"==typeof n||(null==n||!1===n&&"-"!==t[4]?e.removeAttribute(t):e.setAttribute(t,n))}}function Mr(e){var t=this.l[e.type+!1];if(e.t){if(e.t<=t.u)return}else e.t=Date.now();return t(pr.event?pr.event(e):e)}function zr(e){return this.l[e.type+!0](pr.event?pr.event(e):e)}function Br(e,t,n,r,o,a,i,s,l,c){var u,d,p,f,g,m,b,h,y,v,_,w,x,S,k,E=t.type;if(void 0!==t.constructor)return null;128&n.__u&&(l=!!(32&n.__u),a=[s=t.__e=n.__e]),(u=pr.__b)&&u(t);e:if("function"==typeof E)try{if(h=t.props,y=(u=E.contextType)&&r[u.__c],v=u?y?y.props.value:u.__:r,n.__c?b=(d=t.__c=n.__c).__=d.__E:("prototype"in E&&E.prototype.render?t.__c=d=new E(h,v):(t.__c=d=new jr(h,v),d.constructor=E,d.render=Vr),y&&y.sub(d),d.props=h,d.state||(d.state={}),d.context=v,d.__n=r,p=d.__d=!0,d.__h=[],d._sb=[]),null==d.__s&&(d.__s=d.state),null!=E.getDerivedStateFromProps&&(d.__s==d.state&&(d.__s=xr({},d.__s)),xr(d.__s,E.getDerivedStateFromProps(h,d.__s))),f=d.props,g=d.state,d.__v=t,p)null==E.getDerivedStateFromProps&&null!=d.componentWillMount&&d.componentWillMount(),null!=d.componentDidMount&&d.__h.push(d.componentDidMount);else{if(null==E.getDerivedStateFromProps&&h!==f&&null!=d.componentWillReceiveProps&&d.componentWillReceiveProps(h,v),!d.__e&&(null!=d.shouldComponentUpdate&&!1===d.shouldComponentUpdate(h,d.__s,v)||t.__v===n.__v)){for(t.__v!==n.__v&&(d.props=h,d.state=d.__s,d.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.forEach((function(e){e&&(e.__=t)})),_=0;_<d._sb.length;_++)d.__h.push(d._sb[_]);d._sb=[],d.__h.length&&i.push(d);break e}null!=d.componentWillUpdate&&d.componentWillUpdate(h,d.__s,v),null!=d.componentDidUpdate&&d.__h.push((function(){d.componentDidUpdate(f,g,m)}))}if(d.context=v,d.props=h,d.__P=e,d.__e=!1,w=pr.__r,x=0,"prototype"in E&&E.prototype.render){for(d.state=d.__s,d.__d=!1,w&&w(t),u=d.render(d.props,d.state,d.context),S=0;S<d._sb.length;S++)d.__h.push(d._sb[S]);d._sb=[]}else do{d.__d=!1,w&&w(t),u=d.render(d.props,d.state,d.context),d.state=d.__s}while(d.__d&&++x<25);d.state=d.__s,null!=d.getChildContext&&(r=xr(xr({},r),d.getChildContext())),p||null==d.getSnapshotBeforeUpdate||(m=d.getSnapshotBeforeUpdate(f,g)),Ar(e,wr(k=null!=u&&u.type===Or&&null==u.key?u.props.children:u)?k:[k],t,n,r,o,a,i,s,l,c),d.base=t.__e,t.__u&=-161,d.__h.length&&i.push(d),b&&(d.__E=d.__=null)}catch(e){t.__v=null,l||null!=a?(t.__e=s,t.__u|=l?160:32,a[a.indexOf(s)]=null):(t.__e=n.__e,t.__k=n.__k),pr.__e(e,t,n)}else null==a&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=Ur(n.__e,t,n,r,o,a,i,l,c);(u=pr.diffed)&&u(t)}function $r(e,t,n){t.__d=void 0;for(var r=0;r<n.length;r++)Hr(n[r],n[++r],n[++r]);pr.__c&&pr.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(e){pr.__e(e,t.__v)}}))}function Ur(e,t,n,r,o,a,i,s,l){var c,u,d,p,f,g,m,b=n.props,h=t.props,y=t.type;if("svg"===y&&(o=!0),null!=a)for(c=0;c<a.length;c++)if((f=a[c])&&"setAttribute"in f==!!y&&(y?f.localName===y:3===f.nodeType)){e=f,a[c]=null;break}if(null==e){if(null===y)return document.createTextNode(h);e=o?document.createElementNS("http://www.w3.org/2000/svg",y):document.createElement(y,h.is&&h),a=null,s=!1}if(null===y)b===h||s&&e.data===h||(e.data=h);else{if(a=a&&dr.call(e.childNodes),b=n.props||yr,!s&&null!=a)for(b={},c=0;c<e.attributes.length;c++)b[(f=e.attributes[c]).name]=f.value;for(c in b)f=b[c],"children"==c||("dangerouslySetInnerHTML"==c?d=f:"key"===c||c in h||Fr(e,c,null,f,o));for(c in h)f=h[c],"children"==c?p=f:"dangerouslySetInnerHTML"==c?u=f:"value"==c?g=f:"checked"==c?m=f:"key"===c||s&&"function"!=typeof f||b[c]===f||Fr(e,c,f,b[c],o);if(u)s||d&&(u.__html===d.__html||u.__html===e.innerHTML)||(e.innerHTML=u.__html),t.__k=[];else if(d&&(e.innerHTML=""),Ar(e,wr(p)?p:[p],t,n,r,o&&"foreignObject"!==y,a,i,a?a[0]:n.__k&&Pr(n,0),s,l),null!=a)for(c=a.length;c--;)null!=a[c]&&Sr(a[c]);s||(c="value",void 0!==g&&(g!==e[c]||"progress"===y&&!g||"option"===y&&g!==b[c])&&Fr(e,c,g,b[c],!1),c="checked",void 0!==m&&m!==e[c]&&Fr(e,c,m,b[c],!1))}return e}function Hr(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(e){pr.__e(e,n)}}function Qr(e,t,n){var r,o;if(pr.unmount&&pr.unmount(e),(r=e.ref)&&(r.current&&r.current!==e.__e||Hr(r,null,t)),null!=(r=e.__c)){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){pr.__e(e,t)}r.base=r.__P=null,e.__c=void 0}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&Qr(r[o],t,n||"function"!=typeof e.type);n||null==e.__e||Sr(e.__e),e.__=e.__e=e.__d=void 0}function Vr(e,t,n){return this.constructor(e,n)}function Zr(e,t,n){var r,o,a,i;pr.__&&pr.__(e,t),o=(r="function"==typeof n)?null:n&&n.__k||t.__k,a=[],i=[],Br(t,e=(!r&&n||t).__k=kr(Or,null,[e]),o||yr,yr,void 0!==t.ownerSVGElement,!r&&n?[n]:o?null:t.firstChild?dr.call(t.childNodes):null,a,!r&&n?n:o?o.__e:t.firstChild,r,i),$r(a,e,i)}function Wr(e,t){return t.reduce((function(e,t){return e&&e[t]}),e)}dr=vr.slice,pr={__e:function(e,t,n,r){for(var o,a,i;t=t.__;)if((o=t.__c)&&!o.__)try{if((a=o.constructor)&&null!=a.getDerivedStateFromError&&(o.setState(a.getDerivedStateFromError(e)),i=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),i=o.__d),i)return o.__E=o}catch(t){e=t}throw e}},fr=0,jr.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=xr({},this.state),"function"==typeof e&&(e=e(xr({},n),this.props)),e&&xr(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),Tr(this))},jr.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Tr(this))},jr.prototype.render=Or,gr=[],br="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,hr=function(e,t){return e.__v.__b-t.__v.__b},Ir.__r=0;var qr="__aa-highlight__",Gr="__/aa-highlight__";function Yr(e){var t=e.highlightedValue.split(qr),n=t.shift(),r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var n=e[e.length-1];(null==n?void 0:n.isHighlighted)===t.isHighlighted?e[e.length-1]={value:n.value+t.value,isHighlighted:n.isHighlighted}:e.push(t)}}}(n?[{value:n,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(Gr);r.add({value:t[0],isHighlighted:!0}),""!==t[1]&&r.add({value:t[1],isHighlighted:!1})})),r.get()}function Kr(e){return function(e){if(Array.isArray(e))return Xr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Xr(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Xr(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Xr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Jr(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=Wr(t,["_highlightResult"].concat(Kr(r),["value"]));return"string"!=typeof o&&(o=Wr(t,r)||""),Yr({highlightedValue:o})}function eo(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,a=e.tagName,i=void 0===a?"mark":a;return t(n,{},Jr({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(i,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Highlight",r}var to={"&":"&","<":"<",">":">",""":'"',"'":"'"},no=new RegExp(/\w/i),ro=/&(amp|quot|lt|gt|#39);/g,oo=RegExp(ro.source);function ao(e,t){var n,r,o,a=e[t],i=(null===(n=e[t+1])||void 0===n?void 0:n.isHighlighted)||!0,s=(null===(r=e[t-1])||void 0===r?void 0:r.isHighlighted)||!0;return no.test((o=a.value)&&oo.test(o)?o.replace(ro,(function(e){return to[e]})):o)||s!==i?a.isHighlighted:s}function io(e){return io="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},io(e)}function so(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?so(Object(n),!0).forEach((function(t){co(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):so(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function co(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==io(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==io(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===io(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uo(e){return e.some((function(e){return e.isHighlighted}))?e.map((function(t,n){return lo(lo({},t),{},{isHighlighted:!ao(e,n)})})):e.map((function(e){return lo(lo({},e),{},{isHighlighted:!1})}))}function po(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,a=e.attribute,i=e.tagName,s=void 0===i?"mark":i;return t(n,{},(r={hit:o,attribute:a},uo(Jr(r))).map((function(e,n){return e.isHighlighted?t(s,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseHighlight",r}function fo(e){return function(e){if(Array.isArray(e))return go(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return go(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return go(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function go(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function mo(e){var t=e.hit,n=e.attribute,r=Array.isArray(n)?n:[n],o=Wr(t,["_snippetResult"].concat(fo(r),["value"]));return"string"!=typeof o&&(o=Wr(t,r)||""),Yr({highlightedValue:o})}function bo(e){var t=e.createElement,n=e.Fragment;function r(e){var r,o=e.hit,a=e.attribute,i=e.tagName,s=void 0===i?"mark":i;return t(n,{},(r={hit:o,attribute:a},uo(mo(r))).map((function(e,n){return e.isHighlighted?t(s,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="ReverseSnippet",r}function ho(e){var t=e.createElement,n=e.Fragment;function r(e){var r=e.hit,o=e.attribute,a=e.tagName,i=void 0===a?"mark":a;return t(n,{},mo({hit:r,attribute:o}).map((function(e,n){return e.isHighlighted?t(i,{key:n},e.value):e.value})))}return r.__autocomplete_componentName="Snippet",r}function yo(e,t){if("string"==typeof t){var n=e.document.querySelector(t);return"The element ".concat(JSON.stringify(t)," is not in the document."),n}return t}function vo(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];r!==o&&(e[n]=[r,o].filter(Boolean).join(" "))})),e}),{})}function _o(e){return _o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_o(e)}var wo=["classNames","container","getEnvironmentProps","getFormProps","getInputProps","getItemProps","getLabelProps","getListProps","getPanelProps","getRootProps","panelContainer","panelPlacement","render","renderNoResults","renderer","detachedMediaQuery","components","translations"];function xo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function So(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xo(Object(n),!0).forEach((function(t){ko(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ko(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==_o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==_o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_o(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Eo(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Oo={clearButton:"aa-ClearButton",detachedCancelButton:"aa-DetachedCancelButton",detachedContainer:"aa-DetachedContainer",detachedFormContainer:"aa-DetachedFormContainer",detachedOverlay:"aa-DetachedOverlay",detachedSearchButton:"aa-DetachedSearchButton",detachedSearchButtonIcon:"aa-DetachedSearchButtonIcon",detachedSearchButtonPlaceholder:"aa-DetachedSearchButtonPlaceholder",detachedSearchButtonQuery:"aa-DetachedSearchButtonQuery",form:"aa-Form",input:"aa-Input",inputWrapper:"aa-InputWrapper",inputWrapperPrefix:"aa-InputWrapperPrefix",inputWrapperSuffix:"aa-InputWrapperSuffix",item:"aa-Item",label:"aa-Label",list:"aa-List",loadingIndicator:"aa-LoadingIndicator",panel:"aa-Panel",panelLayout:"aa-PanelLayout aa-Panel--scrollable",root:"aa-Autocomplete",source:"aa-Source",sourceFooter:"aa-SourceFooter",sourceHeader:"aa-SourceHeader",sourceNoResults:"aa-SourceNoResults",submitButton:"aa-SubmitButton"},jo=function(e,t){var n=e.children;(0,e.render)(n,t)},Po={createElement:kr,Fragment:Or,render:Zr};function Co(e){var t=e.panelPlacement,n=e.container,r=e.form,o=e.environment,a=n.getBoundingClientRect(),i=(o.pageYOffset||o.document.documentElement.scrollTop||o.document.body.scrollTop||0)+a.top+a.height;switch(t){case"start":return{top:i,left:a.left};case"end":return{top:i,right:o.document.documentElement.clientWidth-(a.left+a.width)};case"full-width":return{top:i,left:0,right:0,width:"unset",maxWidth:"unset"};case"input-wrapper-width":var s=r.getBoundingClientRect();return{top:i,left:s.left,right:o.document.documentElement.clientWidth-(s.left+s.width),width:"unset",maxWidth:"unset"};default:throw new Error("[Autocomplete] The `panelPlacement` value ".concat(JSON.stringify(t)," is not valid."))}}function To(e){return To="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},To(e)}function Io(){return Io=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Io.apply(this,arguments)}function Ao(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function No(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ao(Object(n),!0).forEach((function(t){Lo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ao(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Lo(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==To(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==To(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===To(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ro=[{segment:"autocomplete-js",version:hn}];function Do(e){return function(e){if(Array.isArray(e))return Fo(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Fo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Fo(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Fo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Mo(e){return Mo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mo(e)}var zo=function(e){return e&&"object"===Mo(e)&&"[object Object]"===Object.prototype.toString.call(e)};function Bo(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce((function(e,t){return Object.keys(t).forEach((function(n){var r=e[n],o=t[n];Array.isArray(r)&&Array.isArray(o)?e[n]=r.concat.apply(r,Do(o)):zo(r)&&zo(o)?e[n]=Bo(r,o):e[n]=o})),e}),{})}function $o(e){return $o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$o(e)}function Uo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ho(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Uo(Object(n),!0).forEach((function(t){Qo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Uo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Qo(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==$o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==$o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===$o(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vo(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(u){c=!0,o=u}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Zo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Zo(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Zo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Wo=["components"];function qo(e){return qo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qo(e)}function Go(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Yo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ko(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yo(Object(n),!0).forEach((function(t){Xo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xo(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==qo(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==qo(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===qo(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jo(e){var t,n=function(){var e=[],t=[];function n(n){e.push(n);var r=n();t.push(r)}return{runEffect:n,cleanupEffects:function(){var e=t;t=[],e.forEach((function(e){e()}))},runEffects:function(){var t=e;e=[],t.forEach((function(e){n(e)}))}}}(),r=n.runEffect,o=n.cleanupEffects,a=n.runEffects,i=(t=[],{reactive:function(e){var n=e(),r={_fn:e,_ref:{current:n},get value(){return this._ref.current},set value(e){this._ref.current=e}};return t.push(r),r},runReactives:function(){t.forEach((function(e){e._ref.current=e._fn()}))}}),s=i.reactive,l=i.runReactives,c=ve(!1),u=ve(e),d=ve(void 0),p=s((function(){return function(e){var t,n=e.classNames,r=e.container,o=e.getEnvironmentProps,a=e.getFormProps,i=e.getInputProps,s=e.getItemProps,l=e.getLabelProps,c=e.getListProps,u=e.getPanelProps,d=e.getRootProps,p=e.panelContainer,f=e.panelPlacement,g=e.render,m=e.renderNoResults,b=e.renderer,h=e.detachedMediaQuery,y=e.components,v=e.translations,_=Eo(e,wo),w="undefined"!=typeof window?window:{},x=yo(w,r);x.tagName;var S=So(So({},Po),b),k={Highlight:eo(S),ReverseHighlight:po(S),ReverseSnippet:bo(S),Snippet:ho(S)};return{renderer:{classNames:vo(Oo,null!=n?n:{}),container:x,getEnvironmentProps:null!=o?o:function(e){return e.props},getFormProps:null!=a?a:function(e){return e.props},getInputProps:null!=i?i:function(e){return e.props},getItemProps:null!=s?s:function(e){return e.props},getLabelProps:null!=l?l:function(e){return e.props},getListProps:null!=c?c:function(e){return e.props},getPanelProps:null!=u?u:function(e){return e.props},getRootProps:null!=d?d:function(e){return e.props},panelContainer:p?yo(w,p):w.document.body,panelPlacement:null!=f?f:"input-wrapper-width",render:null!=g?g:jo,renderNoResults:m,renderer:S,detachedMediaQuery:null!=h?h:getComputedStyle(w.document.documentElement).getPropertyValue("--aa-detached-media-query"),components:So(So({},k),y),translations:So(So({},{clearButtonTitle:"Clear",detachedCancelButtonText:"Cancel",submitButtonTitle:"Submit"}),v)},core:So(So({},_),{},{id:null!==(t=_.id)&&void 0!==t?t:st(),environment:w})}}(u.current)})),f=s((function(){return p.value.core.environment.matchMedia(p.value.renderer.detachedMediaQuery).matches})),g=s((function(){return Rn(Ko(Ko({},p.value.core),{},{onStateChange:function(e){var t,n,r;c.current=e.state.collections.some((function(e){return e.source.templates.noResults})),null===(t=d.current)||void 0===t||t.call(d,e),null===(n=(r=p.value.core).onStateChange)||void 0===n||n.call(r,e)},shouldPanelOpen:u.current.shouldPanelOpen||function(e){var t=e.state;if(f.value)return!0;var n=at(t)>0;if(!p.value.core.openOnFocus&&!t.query)return n;var r=Boolean(c.current||p.value.renderer.renderNoResults);return!n&&r||n},__autocomplete_metadata:{userAgents:Ro,options:e}}))})),m=ve(Ko({collections:[],completion:null,context:{},isOpen:!1,query:"",activeItemId:null,status:"idle"},p.value.core.initialState)),b={getEnvironmentProps:p.value.renderer.getEnvironmentProps,getFormProps:p.value.renderer.getFormProps,getInputProps:p.value.renderer.getInputProps,getItemProps:p.value.renderer.getItemProps,getLabelProps:p.value.renderer.getLabelProps,getListProps:p.value.renderer.getListProps,getPanelProps:p.value.renderer.getPanelProps,getRootProps:p.value.renderer.getRootProps},h={setActiveItemId:g.value.setActiveItemId,setQuery:g.value.setQuery,setCollections:g.value.setCollections,setIsOpen:g.value.setIsOpen,setStatus:g.value.setStatus,setContext:g.value.setContext,refresh:g.value.refresh,navigator:g.value.navigator},y=s((function(){return Mn.bind(p.value.renderer.renderer.createElement)})),v=s((function(){return function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.classNames,o=e.environment,a=e.isDetached,i=e.placeholder,s=void 0===i?"Search":i,l=e.propGetters,c=e.setIsModalOpen,u=e.state,d=e.translations,p=Jn(o),f=l.getRootProps(cr({state:u,props:t.getRootProps({})},n)),g=p("div",cr({class:r.root},f)),m=p("div",{class:r.detachedContainer,onMouseDown:function(e){e.stopPropagation()}}),b=p("div",{class:r.detachedOverlay,children:[m],onMouseDown:function(){c(!1),t.setIsOpen(!1)}}),h=l.getLabelProps(cr({state:u,props:t.getLabelProps({})},n)),y=p("button",{class:r.submitButton,type:"submit",title:d.submitButtonTitle,children:[zn({environment:o})]}),v=p("label",cr({class:r.label,children:[y]},h)),_=p("button",{class:r.clearButton,type:"reset",title:d.clearButtonTitle,children:[Bn({environment:o})]}),w=p("div",{class:r.loadingIndicator,children:[$n({environment:o})]}),x=ir({class:r.input,environment:o,state:u,getInputProps:l.getInputProps,getInputPropsCore:t.getInputProps,autocompleteScopeApi:n,isDetached:a}),S=p("div",{class:r.inputWrapperPrefix,children:[v,w]}),k=p("div",{class:r.inputWrapperSuffix,children:[_]}),E=p("div",{class:r.inputWrapper,children:[x]}),O=l.getFormProps(cr({state:u,props:t.getFormProps({inputElement:x})},n)),j=p("form",cr({class:r.form,children:[S,E,k]},O)),P=l.getPanelProps(cr({state:u,props:t.getPanelProps({})},n)),C=p("div",cr({class:r.panel},P)),T=p("div",{class:r.detachedSearchButtonQuery,textContent:u.query}),I=p("div",{class:r.detachedSearchButtonPlaceholder,hidden:Boolean(u.query),textContent:s});if(a){var A=p("div",{class:r.detachedSearchButtonIcon,children:[zn({environment:o})]}),N=p("button",{type:"button",class:r.detachedSearchButton,onClick:function(){c(!0)},children:[A,I,T]}),L=p("button",{type:"button",class:r.detachedCancelButton,textContent:d.detachedCancelButtonText,onTouchStart:function(e){e.stopPropagation()},onClick:function(){t.setIsOpen(!1),c(!1)}}),R=p("div",{class:r.detachedFormContainer,children:[j,L]});m.appendChild(R),g.appendChild(N)}else g.appendChild(j);return{detachedContainer:m,detachedOverlay:b,detachedSearchButtonQuery:T,detachedSearchButtonPlaceholder:I,inputWrapper:E,input:x,root:g,form:j,label:v,submitButton:y,clearButton:_,loadingIndicator:w,panel:C}}({autocomplete:g.value,autocompleteScopeApi:h,classNames:p.value.renderer.classNames,environment:p.value.core.environment,isDetached:f.value,placeholder:p.value.core.placeholder,propGetters:b,setIsModalOpen:S,state:m.current,translations:p.value.renderer.translations})}));function _(){Wn(v.value.panel,{style:f.value?{}:Co({panelPlacement:p.value.renderer.panelPlacement,container:v.value.root,form:v.value.form,environment:p.value.core.environment})})}function w(e){m.current=e;var t={autocomplete:g.value,autocompleteScopeApi:h,classNames:p.value.renderer.classNames,components:p.value.renderer.components,container:p.value.renderer.container,html:y.value,dom:v.value,panelContainer:f.value?v.value.detachedContainer:p.value.renderer.panelContainer,propGetters:b,state:m.current,renderer:p.value.renderer.renderer},n=!at(e)&&!c.current&&p.value.renderer.renderNoResults||p.value.renderer.render;!function(e){var t=e.autocomplete,n=e.autocompleteScopeApi,r=e.dom,o=e.propGetters,a=e.state;qn(r.root,o.getRootProps(No({state:a,props:t.getRootProps({})},n))),qn(r.input,o.getInputProps(No({state:a,props:t.getInputProps({inputElement:r.input}),inputElement:r.input},n))),Wn(r.label,{hidden:"stalled"===a.status}),Wn(r.loadingIndicator,{hidden:"stalled"!==a.status}),Wn(r.clearButton,{hidden:!a.query}),Wn(r.detachedSearchButtonQuery,{textContent:a.query}),Wn(r.detachedSearchButtonPlaceholder,{hidden:Boolean(a.query)})}(t),function(e,t){var n=t.autocomplete,r=t.autocompleteScopeApi,o=t.classNames,a=t.html,i=t.dom,s=t.panelContainer,l=t.propGetters,c=t.state,u=t.components,d=t.renderer;if(c.isOpen){s.contains(i.panel)||"loading"===c.status||s.appendChild(i.panel),i.panel.classList.toggle("aa-Panel--stalled","stalled"===c.status);var p=c.collections.filter((function(e){var t=e.source,n=e.items;return t.templates.noResults||n.length>0})).map((function(e,t){var i=e.source,s=e.items;return d.createElement("section",{key:t,className:o.source,"data-autocomplete-source-id":i.sourceId},i.templates.header&&d.createElement("div",{className:o.sourceHeader},i.templates.header({components:u,createElement:d.createElement,Fragment:d.Fragment,items:s,source:i,state:c,html:a})),i.templates.noResults&&0===s.length?d.createElement("div",{className:o.sourceNoResults},i.templates.noResults({components:u,createElement:d.createElement,Fragment:d.Fragment,source:i,state:c,html:a})):d.createElement("ul",Io({className:o.list},l.getListProps(No({state:c,props:n.getListProps({source:i})},r))),s.map((function(e){var t=n.getItemProps({item:e,source:i});return d.createElement("li",Io({key:t.id,className:o.item},l.getItemProps(No({state:c,props:t},r))),i.templates.item({components:u,createElement:d.createElement,Fragment:d.Fragment,item:e,state:c,html:a}))}))),i.templates.footer&&d.createElement("div",{className:o.sourceFooter},i.templates.footer({components:u,createElement:d.createElement,Fragment:d.Fragment,items:s,source:i,state:c,html:a})))})),f=d.createElement(d.Fragment,null,d.createElement("div",{className:o.panelLayout},p),d.createElement("div",{className:"aa-GradientBottom"})),g=p.reduce((function(e,t){return e[t.props["data-autocomplete-source-id"]]=t,e}),{});e(No(No({children:f,state:c,sections:p,elements:g},d),{},{components:u,html:a},r),i.panel)}else s.contains(i.panel)&&s.removeChild(i.panel)}(n,t)}function x(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o();var t,n,r=p.value.renderer,i=r.components,s=Go(r,Wo);u.current=Bo(s,p.value.core,{components:(t=i,n=function(e){return!e.value.hasOwnProperty("__autocomplete_componentName")},Object.entries(t).reduce((function(e,t){var r=Vo(t,2),o=r[0],a=r[1];return n({key:o,value:a})?Ho(Ho({},e),{},Qo({},o,a)):e}),{})),initialState:m.current},e),l(),a(),g.value.refresh().then((function(){w(m.current)}))}function S(e){requestAnimationFrame((function(){var t=p.value.core.environment.document.body.contains(v.value.detachedOverlay);e!==t&&(e?(p.value.core.environment.document.body.appendChild(v.value.detachedOverlay),p.value.core.environment.document.body.classList.add("aa-Detached"),v.value.input.focus()):(p.value.core.environment.document.body.removeChild(v.value.detachedOverlay),p.value.core.environment.document.body.classList.remove("aa-Detached")))}))}return r((function(){var e=g.value.getEnvironmentProps({formElement:v.value.form,panelElement:v.value.panel,inputElement:v.value.input});return Wn(p.value.core.environment,e),function(){Wn(p.value.core.environment,Object.keys(e).reduce((function(e,t){return Ko(Ko({},e),{},Xo({},t,void 0))}),{}))}})),r((function(){var e=f.value?p.value.core.environment.document.body:p.value.renderer.panelContainer,t=f.value?v.value.detachedOverlay:v.value.panel;return f.value&&m.current.isOpen&&S(!0),w(m.current),function(){e.contains(t)&&e.removeChild(t)}})),r((function(){var e=p.value.renderer.container;return e.appendChild(v.value.root),function(){e.removeChild(v.value.root)}})),r((function(){var e=ye((function(e){w(e.state)}),0);return d.current=function(t){var n=t.state,r=t.prevState;(f.value&&r.isOpen!==n.isOpen&&S(n.isOpen),f.value||!n.isOpen||r.isOpen||_(),n.query!==r.query)&&p.value.core.environment.document.querySelectorAll(".aa-Panel--scrollable").forEach((function(e){0!==e.scrollTop&&(e.scrollTop=0)}));e({state:n})},function(){d.current=void 0}})),r((function(){var e=ye((function(){var e=f.value;f.value=p.value.core.environment.matchMedia(p.value.renderer.detachedMediaQuery).matches,e!==f.value?x({}):requestAnimationFrame(_)}),20);return p.value.core.environment.addEventListener("resize",e),function(){p.value.core.environment.removeEventListener("resize",e)}})),r((function(){if(!f.value)return function(){};function e(e){v.value.detachedContainer.classList.toggle("aa-DetachedContainer--modal",e)}function t(t){e(t.matches)}var n=p.value.core.environment.matchMedia(getComputedStyle(p.value.core.environment.document.documentElement).getPropertyValue("--aa-detached-modal-media-query"));e(n.matches);var r=Boolean(n.addEventListener);return r?n.addEventListener("change",t):n.addListener(t),function(){r?n.removeEventListener("change",t):n.removeListener(t)}})),r((function(){return requestAnimationFrame(_),function(){}})),Ko(Ko({},h),{},{update:x,destroy:function(){o()}})}var ea=n(5363);const ta=n(8892),na=ta;var ra=n(2e3),oa=n.n(ra);function aa(){const e=(0,s.TH)(),t=(0,s.k6)(),{siteConfig:{baseUrl:n}}=(0,le.Z)(),[o,a]=(0,r.useState)({terms:[],isDocsOrBlog:!1});return(0,r.useEffect)((()=>{if(!e.state?.cmfcmfhighlight||0===e.state.cmfcmfhighlight.terms.length)return;a(e.state.cmfcmfhighlight);const{cmfcmfhighlight:n,...r}=e.state;t.replace({...e,state:r})}),[e.state?.cmfcmfhighlight,t,e]),(0,r.useEffect)((()=>{if(0===o.terms.length)return;const e=o.isDocsOrBlog?document.getElementsByTagName("article")[0]:document.getElementsByTagName("main")[0];if(!e)return;const t=new(oa())(e),n={ignoreJoiners:!0};return t.mark(o.terms,n),()=>t.unmark(n)}),[o,n]),null}var ia=n(970),sa=n(8984);function la(e){let{document:t}=e;const[n,r]=t.sectionRoute.split("#");let o=n;return r&&(o+="#"+r),o}const ca={documents:[],index:na((function(){this.ref("id"),this.field("title"),this.field("content")}))};const ua=()=>{const e=(0,z.Z)(),[t,o]=(0,r.useState)((()=>!!e&&"dark"===document.documentElement.getAttribute("data-theme")));(0,r.useEffect)((()=>{const e=new MutationObserver((()=>{o("dark"===document.documentElement.getAttribute("data-theme"))}));return e.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>e.disconnect()}),[]);const{siteConfig:{baseUrl:a}}=(0,le.Z)(),{titleBoost:i,contentBoost:c,tagsBoost:u,parentCategoriesBoost:d,indexDocSidebarParentCategories:p,maxSearchResults:f}=(0,ia.eZ)("@cmfcmf/docusaurus-search-local"),g=(0,s.k6)(),{tags:m}=function(){const{i18n:e}=(0,le.Z)(),t=n(738).z1(),r=[sa.H,...t];return{locale:e.currentLocale,tags:r}}(),b=(0,r.useRef)(m);(0,r.useEffect)((()=>{b.current=m}),[m]);const h=(0,r.useRef)({}),y=async e=>{const t=h.current[e];switch(t?.state){case"ready":return t;case void 0:{const t=[];h.current[e]={state:"loading",callbacks:t};const n=await async function(e,t){{let r;try{const n=await fetch(`${e}search-index-${t}.json`);if(!n.ok)return ca;r=await n.json()}catch(n){return ca}return{documents:r.documents,index:na.Index.load(r.index)}}}(a,e);return t.forEach((e=>e(n))),h.current[e]={state:"ready",...n}}case"loading":return new Promise((e=>{t.callbacks.push(e)}))}},v=(0,l.I)({message:"cmfcmf/d-s-l.searchBar.placeholder",description:"Placeholder shown in the searchbar"}),_=(0,r.useRef)(null),w=(0,r.useRef)(null);return(0,r.useEffect)((()=>{if(_.current)return w.current=Jo({container:_.current,placeholder:v,renderer:{createElement:r.createElement,Fragment:r.Fragment,render:he.render},navigator:{navigate(e){let{item:t,itemUrl:n}=e;g.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},detachedMediaQuery:"",defaultActiveItemId:0,translations:{clearButtonTitle:(0,l.I)({message:"cmfcmf/d-s-l.searchBar.clearButtonTitle",description:"Title of the button to clear the current search input"}),detachedCancelButtonText:(0,l.I)({message:"cmfcmf/d-s-l.searchBar.detachedCancelButtonText",description:"Text of the button to close the detached search window"}),submitButtonTitle:(0,l.I)({message:"cmfcmf/d-s-l.searchBar.submitButtonTitle",description:"Title of the button to submit a new search"})},getSources(e){let{query:t}=e;return[{sourceId:"search-results",templates:{item(e){let{item:t}=e;const n=la(t);return r.createElement("a",{href:n,className:"aa-ItemLink",onClick:e=>{e.preventDefault(),g.push(n,{cmfcmfhighlight:{terms:t.terms,isDocsOrBlog:"docs"===t.document.type||"blog"===t.document.type}})}},r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},r.createElement("div",{className:"aa-ItemContentTitle"},t.document.sectionTitle),t.document.pageTitle!==t.document.sectionTitle&&r.createElement("div",{className:"aa-ItemContentDescription"},t.document.pageTitle))),r.createElement("div",{className:"aa-ItemActions"},r.createElement("button",{className:"aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly",type:"button",title:"Select"},r.createElement("svg",{viewBox:"0 0 24 24",width:"20",height:"20",fill:"currentColor"},r.createElement("path",{d:"M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z"})))))},noResults:()=>r.createElement("div",{className:"aa-ItemContent"},r.createElement("div",{className:"aa-ItemContentBody"},(0,l.I)({message:"cmfcmf/d-s-l.searchBar.noResults",description:"message shown if no results are found"})))},getItemUrl(e){let{item:t}=e;return la(t)},async getItems(){const e=b.current,n=await Promise.all(e.map((e=>y(e)))),r=(e=>ta.tokenizer(e).map((e=>e.str)))(t);return n.flatMap((e=>{let{index:t,documents:n}=e;return t.query((e=>{e.term(r,{fields:["title"],boost:i}),e.term(r,{fields:["title"],boost:i,wildcard:na.Query.wildcard.TRAILING}),e.term(r,{fields:["content"],boost:c}),e.term(r,{fields:["content"],boost:c,wildcard:na.Query.wildcard.TRAILING}),e.term(r,{fields:["tags"],boost:u}),e.term(r,{fields:["tags"],boost:u,wildcard:na.Query.wildcard.TRAILING}),p&&(e.term(r,{fields:["sidebarParentCategories"],boost:d}),e.term(r,{fields:["sidebarParentCategories"],boost:d,wildcard:na.Query.wildcard.TRAILING}))})).slice(0,f).map((e=>({document:n.find((t=>t.id.toString()===e.ref)),score:e.score,terms:r})))})).sort(((e,t)=>t.score-e.score)).slice(0,f)}}]}}),()=>w.current?.destroy()}),[f]),r.createElement(r.Fragment,null,r.createElement(ea.Z,null,r.createElement("body",{"data-theme":t?"dark":"light"})),r.createElement(aa,null),r.createElement("div",{className:"dsla-search-wrapper"},r.createElement("div",{className:"dsla-search-field",ref:_,"data-tags":m.join(",")})))},da={navbarSearchContainer:"navbarSearchContainer_ZzhW"};function pa(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,o.Z)(n,da.navbarSearchContainer),children:t})}var fa=n(738),ga=n(3077);var ma=n(7620);function ba(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const ha={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:o="",...a}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),p=(0,ge.l)(),{search:f,hash:g}=(0,s.TH)(),m=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${g}${o}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],b=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(me,{className:be}),b]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(pa,{className:n,children:(0,u.jsx)(ua,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,o.Z)({navbar__item:!r&&!a,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,fa.Iw)(r),i=(0,ga.vY)(t,r),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...o}=e;const{activeDoc:a}=(0,fa.Iw)(r),i=(0,ga.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ae,{exact:!0,...o,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...o}=e;const a=(0,ga.lO)(r)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ae,{...o,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:o,dropdownItemsAfter:a,...i}=e;const{search:c,hash:d}=(0,s.TH)(),p=(0,fa.Iw)(n),f=(0,fa.gB)(n),{savePreferredVersionName:g}=(0,ma.J)(n),m=[...o,...f.map((function(e){const t=ba(e,p);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>g(e.name)}})),...a],b=(0,ga.lO)(n)[0],h=t&&m.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&m.length>1?void 0:ba(b,p).path;return m.length<=1?(0,u.jsx)(ae,{...i,mobile:t,label:h,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:h,to:y,items:m,isActive:r?()=>!1:void 0})}},ya=ha;function va(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=ya[r];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(o,{...n})}function _a(){const e=(0,C.e)(),t=(0,_.L)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(va,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function wa(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function xa(){const e=0===(0,_.L)().navbar.items.length,t=D();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(wa,{onClick:()=>t.hide()}),t.content]})}function Sa(){const e=(0,C.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(F,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(_a,{}),secondaryMenu:(0,u.jsx)(xa,{})}):null}const ka={navbarHideable:"navbarHideable_XAwL",navbarHidden:"navbarHidden_IdZ3"};function Ea(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,o.Z)("navbar-sidebar__backdrop",e.className)})}function Oa(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,_.L)(),i=(0,C.e)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),o=(0,r.useRef)(!1),a=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,T.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<a.current)return void n(!0);if(o.current)return void(o.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-a.current,c=window.innerHeight;s&&i>=s?n(!1):i+c<l&&n(!0)})),(0,c.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return o.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("navbar","navbar--fixed-top",n&&[ka.navbarHideable,!d&&ka.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Ea,{onClick:i.toggle}),(0,u.jsx)(Sa,{})]})}var ja=n(5678);const Pa={errorBoundaryError:"errorBoundaryError_N3_4",errorBoundaryFallback:"errorBoundaryFallback_iuBr"};function Ca(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ta(e){let{error:t}=e;const n=(0,ja.BN)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:Pa.errorBoundaryError,children:n})}class Ia extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Aa="right";function Na(e){let{width:t=30,height:n=30,className:r,...o}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...o,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function La(){const{toggle:e,shown:t}=(0,C.e)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(Na,{})})}const Ra={colorModeToggle:"colorModeToggle_z0vY"};function Da(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(Ia,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(va,{...e})},t)))})}function Fa(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ma(){const e=(0,C.e)(),t=(0,_.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Aa)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return(0,u.jsx)(Fa,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(La,{}),(0,u.jsx)(q,{}),(0,u.jsx)(Da,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Da,{items:r}),(0,u.jsx)(Z,{className:Ra.colorModeToggle}),!o&&(0,u.jsx)(pa,{children:(0,u.jsx)(ua,{})})]})})}function za(){return(0,u.jsx)(Oa,{children:(0,u.jsx)(Ma,{})})}function Ba(e){let{item:t}=e;const{to:n,href:r,label:o,prependBaseUrlToHref:a,...i}=t,s=(0,X.ZP)(n),l=(0,X.ZP)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(K.Z,{className:"footer__link-item",...r?{href:a?l:r}:{to:s},...i,children:[o,r&&!(0,J.Z)(r)&&(0,u.jsx)(te.Z,{})]})}function $a(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(Ba,{item:t})},t.href??t.to)}function Ua(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)($a,{item:e},t)))})]})}function Ha(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(Ua,{column:e},t)))})}function Qa(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Va(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(Ba,{item:t})}function Za(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(Va,{item:e}),t.length!==n+1&&(0,u.jsx)(Qa,{})]},n)))})})}function Wa(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(Ha,{columns:t}):(0,u.jsx)(Za,{links:t})}var qa=n(8222);const Ga={footerLogoLink:"footerLogoLink_WvA8"};function Ya(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.Cg)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(qa.Z,{className:(0,o.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function Ka(e){let{logo:t}=e;return t.href?(0,u.jsx)(K.Z,{href:t.href,className:Ga.footerLogoLink,target:t.target,children:(0,u.jsx)(Ya,{logo:t})}):(0,u.jsx)(Ya,{logo:t})}function Xa(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Ja(e){let{style:t,links:n,logo:r,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,o.Z)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),a]})]})})}function ei(){const{footer:e}=(0,_.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:o}=e;return(0,u.jsx)(Ja,{style:o,links:n&&n.length>0&&(0,u.jsx)(Wa,{links:n}),logo:r&&(0,u.jsx)(Ka,{logo:r}),copyright:t&&(0,u.jsx)(Xa,{copyright:t})})}const ti=r.memo(ei),ni=(0,I.Qc)([M.S,w.p,T.OC,ma.L5,i.VC,function(e){let{children:t}=e;return(0,u.jsx)(A.n2,{children:(0,u.jsx)(C.M,{children:(0,u.jsx)(L,{children:t})})})}]);function ri(e){let{children:t}=e;return(0,u.jsx)(ni,{children:t})}var oi=n(6078);function ai(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(oi.Z,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(Ca,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(Ta,{error:t})})]})})})}const ii={mainWrapper:"mainWrapper_GHU6"};function si(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,h.t)(),(0,u.jsxs)(ri,{children:[(0,u.jsx)(i.d,{title:s,description:l}),(0,u.jsx)(v,{}),(0,u.jsx)(P,{}),(0,u.jsx)(za,{}),(0,u.jsx)("div",{id:d,className:(0,o.Z)(b.k.wrapper.main,ii.mainWrapper,r),children:(0,u.jsx)(a.Z,{fallback:e=>(0,u.jsx)(ai,{...e}),children:t})}),!n&&(0,u.jsx)(ti,{})]})}},698:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(5271);var r=n(9347),o=n(8086),a=n(2100),i=n(5996),s=n(8222),l=n(2676);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const a={light:(0,o.ZP)(t.src),dark:(0,o.ZP)(t.srcDark||t.src)},i=(0,l.jsx)(s.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.Z)(),{navbar:{title:n,logo:s}}=(0,i.L)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,o.ZP)(s?.href||"/"),g=n?"":t,m=s?.alt??g;return(0,l.jsxs)(r.Z,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:m,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},8625:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(5271);var r=n(5363),o=n(2676);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,o.jsxs)(r.Z,{children:[t&&(0,o.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,o.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,o.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,o.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,o.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,o.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},8222:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(5271),o=n(4814),a=n(1951),i=n(7931);const s={themedComponent:"themedComponent_vLv9","themedComponent--light":"themedComponent--light_rpQX","themedComponent--dark":"themedComponent--dark_sPag"};var l=n(2676);function c(e){let{className:t,children:n}=e;const c=(0,a.Z)(),{colorMode:u}=(0,i.I)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,o.Z)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:r,...o}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:a,...o})}})}},5647:(e,t,n)=>{"use strict";n.d(t,{u:()=>c,z:()=>h});var r=n(5271),o=n(7405),a=n(7386),i=n(5874),s=n(2676);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,o]=(0,r.useState)(t??!1),a=(0,r.useCallback)((()=>{o((e=>!e))}),[]);return{collapsed:n,setCollapsed:o,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:o}=e;const a=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=o?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${o?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,o])}function g(e){if(!o.Z.canUseDOM)return e?u:d}function m(e){let{as:t="div",collapsed:n,children:o,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:u,style:c?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:l,children:o})}function b(e){let{collapsed:t,...n}=e;const[o,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,a.Z)((()=>{t||i(!0)}),[t]),(0,a.Z)((()=>{o&&c(t)}),[o,t]),o?(0,s.jsx)(m,{...n,collapsed:l}):null}function h(e){let{lazy:t,...n}=e;const r=t?b:m;return(0,s.jsx)(r,{...n})}},7891:(e,t,n)=>{"use strict";n.d(t,{n:()=>m,p:()=>g});var r=n(5271),o=n(1951),a=n(7001),i=n(1669),s=n(5996),l=n(2676);const c=(0,a.WA)("docusaurus.announcement.dismiss"),u=(0,a.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,o.Z)(),[n,a]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{a(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||a(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},7931:(e,t,n)=>{"use strict";n.d(t,{I:()=>h,S:()=>b});var r=n(5271),o=n(7405),a=n(1669),i=n(7001),s=n(5996),l=n(2676);const c=r.createContext(void 0),u="theme",d=(0,i.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,g=e=>o.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{d.set(f(e))};function b(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[o,a]=(0,r.useState)(g(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:o=!0}=r;t?(a(t),o&&m(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:i,get isDarkTheme(){return o===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[o,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(c);if(null==e)throw new a.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},7270:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>g});var r=n(5271),o=n(2466),a=n(8652),i=n(3225),s=n(1669);function l(e){!function(e){const t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(5996),u=n(2676);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,c.L)().navbar;return 0===t.length&&!e.component}(),t=(0,a.i)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const u=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function f(e){let{children:t}=e;const n=p();return(0,u.jsx)(d.Provider,{value:n,children:t})}function g(){const e=r.useContext(d);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},2466:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>c,n2:()=>s});var r=n(5271),o=n(1669),a=n(2676);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,r.useContext)(i);if(!a)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,o.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},6149:(e,t,n)=>{"use strict";n.d(t,{h:()=>o,t:()=>a});var r=n(5271);const o="navigation-with-keyboard";function a(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},8652:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});var r=n(5271),o=n(7405);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!o.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?a.desktop:a.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},8832:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},5874:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},3696:(e,t,n)=>{"use strict";function r(e){return Array.from(new Set(e))}function o(e,t){const n={};let r=0;for(const o of e){const e=t(o,r);n[e]??=[],n[e].push(o),r+=1}return n}n.d(t,{jj:()=>r,vM:()=>o})},947:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>u,VC:()=>f});var r=n(5271),o=n(4814),a=n(5363),i=n(5824),s=n(8086),l=n(2100);var c=n(2676);function u(e){let{title:t,description:n,keywords:r,image:o,children:i}=e;const u=function(e){const{siteConfig:t}=(0,l.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.Cg)(),p=o?d(o,{absolute:!0}):void 0;return(0,c.jsxs)(a.Z,{children:[t&&(0,c.jsx)("title",{children:u}),t&&(0,c.jsx)("meta",{property:"og:title",content:u}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const d=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,o.Z)(i,t);return(0,c.jsxs)(d.Provider,{value:s,children:[(0,c.jsx)(a.Z,{children:(0,c.jsx)("html",{className:s})}),n]})}function f(e){let{children:t}=e;const n=(0,i.Z)(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(p,{className:(0,o.Z)(r,a),children:t})}},1669:(e,t,n)=>{"use strict";n.d(t,{D9:()=>s,Qc:()=>u,Ql:()=>c,i6:()=>l,zX:()=>i});var r=n(5271),o=n(7386),a=n(2676);function i(e){const t=(0,r.useRef)(e);return(0,o.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,o.Z)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},9322:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(5271),o=n(240),a=n(2100);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(o).flatMap((e=>e.routes??[])))}(n)}({routes:o.Z,baseUrl:e})),[e])}},5266:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>c,RF:()=>p});var r=n(5271),o=n(7405),a=n(1951),i=(n(7386),n(1669)),s=n(2676);const l=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),o=(0,r.useRef)(d()),a=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();a(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,a.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const o=document.documentElement.scrollTop;(n&&o>e||!n&&o<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(o-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},8984:(e,t,n)=>{"use strict";n.d(t,{H:()=>r});const r="default"},7001:(e,t,n)=>{"use strict";n.d(t,{WA:()=>c});n(5271);const r=JSON.parse('{"d":"localStorage","u":""}'),o=r.d;function a(e){let{key:t,oldValue:n,newValue:r,storage:o}=e;if(n===r)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,o),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${r.u}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const o=i(t?.persistence);return null===o?l:{get:()=>{try{return o.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=o.getItem(n);o.setItem(n,e),a({key:n,oldValue:t,newValue:e,storage:o})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=o.getItem(n);o.removeItem(n),a({key:n,oldValue:e,newValue:null,storage:o})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===o&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},9561:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2100),o=n(3225),a=n(5678);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.Z)(),{pathname:l}=(0,o.TH)(),c=(0,a.Do)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},6137:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(5271),o=n(3225),a=n(1669);function i(e){const t=(0,o.TH)(),n=(0,a.D9)(t),i=(0,a.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},5996:(e,t,n)=>{"use strict";n.d(t,{L:()=>o});var r=n(2100);function o(){return(0,r.Z)().siteConfig.themeConfig}},3790:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=o,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,c=n,c?o(l):a(l));var l,c;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=a;const r=n(3826);function o(e){return e.endsWith("/")?e:`${e}/`}function a(e){return(0,r.removeSuffix)(e,"/")}},9725:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},5678:(e,t,n)=>{"use strict";t.BN=t.Do=t.uR=void 0;const r=n(5862);t.uR="__blog-post-container";var o=n(3790);Object.defineProperty(t,"Do",{enumerable:!0,get:function(){return r.__importDefault(o).default}});var a=n(3826);var i=n(9725);Object.defineProperty(t,"BN",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},3826:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},1925:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var r=n(6809),o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(e){return"IMG"===e.tagName},i=function(e){return e&&1===e.nodeType},s=function(e){return".svg"===(e.currentSrc||e.src).substr(-4).toLowerCase()},l=function(e){try{return Array.isArray(e)?e.filter(a):function(e){return NodeList.prototype.isPrototypeOf(e)}(e)?[].slice.call(e).filter(a):i(e)?[e].filter(a):"string"==typeof e?[].slice.call(document.querySelectorAll(e)).filter(a):[]}catch(t){throw new TypeError("The provided selector is invalid.\nExpects a CSS selector, a Node element, a NodeList or an array.\nSee: https://github.com/francoischalifour/medium-zoom")}},c=function(e,t){var n=o({bubbles:!1,cancelable:!1,detail:void 0},t);if("function"==typeof window.CustomEvent)return new CustomEvent(e,n);var r=document.createEvent("CustomEvent");return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),r};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}");const u=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=window.Promise||function(e){function t(){}e(t,t)},a=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.reduce((function(e,t){return[].concat(e,l(t))}),[]);return r.filter((function(e){return-1===f.indexOf(e)})).forEach((function(e){f.push(e),e.classList.add("medium-zoom-image")})),g.forEach((function(e){var t=e.type,n=e.listener,o=e.options;r.forEach((function(e){e.addEventListener(t,n,o)}))})),_},u=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).target,t=function(){var e={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},t=void 0,n=void 0;if(h.container)if(h.container instanceof Object)t=(e=o({},e,h.container)).width-e.left-e.right-2*h.margin,n=e.height-e.top-e.bottom-2*h.margin;else{var r=(i(h.container)?h.container:document.querySelector(h.container)).getBoundingClientRect(),a=r.width,l=r.height,c=r.left,u=r.top;e=o({},e,{width:a,height:l,left:c,top:u})}t=t||e.width-2*h.margin,n=n||e.height-2*h.margin;var d=y.zoomedHd||y.original,p=s(d)?t:d.naturalWidth||t,f=s(d)?n:d.naturalHeight||n,g=d.getBoundingClientRect(),m=g.top,b=g.left,v=g.width,_=g.height,w=Math.min(Math.max(v,p),t)/v,x=Math.min(Math.max(_,f),n)/_,S=Math.min(w,x),k="scale("+S+") translate3d("+((t-v)/2-b+h.margin+e.left)/S+"px, "+((n-_)/2-m+h.margin+e.top)/S+"px, 0)";y.zoomed.style.transform=k,y.zoomedHd&&(y.zoomedHd.style.transform=k)};return new r((function(n){if(e&&-1===f.indexOf(e))n(_);else{if(y.zoomed)n(_);else{if(e)y.original=e;else{if(!(f.length>0))return void n(_);var r=f;y.original=r[0]}if(y.original.dispatchEvent(c("medium-zoom:open",{detail:{zoom:_}})),b=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,m=!0,y.zoomed=function(e){var t=e.getBoundingClientRect(),n=t.top,r=t.left,o=t.width,a=t.height,i=e.cloneNode(),s=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,l=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return i.removeAttribute("id"),i.style.position="absolute",i.style.top=n+s+"px",i.style.left=r+l+"px",i.style.width=o+"px",i.style.height=a+"px",i.style.transform="",i}(y.original),document.body.appendChild(v),h.template){var o=i(h.template)?h.template:document.querySelector(h.template);y.template=document.createElement("div"),y.template.appendChild(o.content.cloneNode(!0)),document.body.appendChild(y.template)}if(y.original.parentElement&&"PICTURE"===y.original.parentElement.tagName&&y.original.currentSrc&&(y.zoomed.src=y.original.currentSrc),document.body.appendChild(y.zoomed),window.requestAnimationFrame((function(){document.body.classList.add("medium-zoom--opened")})),y.original.classList.add("medium-zoom-image--hidden"),y.zoomed.classList.add("medium-zoom-image--opened"),y.zoomed.addEventListener("click",d),y.zoomed.addEventListener("transitionend",(function e(){m=!1,y.zoomed.removeEventListener("transitionend",e),y.original.dispatchEvent(c("medium-zoom:opened",{detail:{zoom:_}})),n(_)})),y.original.getAttribute("data-zoom-src")){y.zoomedHd=y.zoomed.cloneNode(),y.zoomedHd.removeAttribute("srcset"),y.zoomedHd.removeAttribute("sizes"),y.zoomedHd.removeAttribute("loading"),y.zoomedHd.src=y.zoomed.getAttribute("data-zoom-src"),y.zoomedHd.onerror=function(){clearInterval(a),console.warn("Unable to reach the zoom image target "+y.zoomedHd.src),y.zoomedHd=null,t()};var a=setInterval((function(){y.zoomedHd.complete&&(clearInterval(a),y.zoomedHd.classList.add("medium-zoom-image--opened"),y.zoomedHd.addEventListener("click",d),document.body.appendChild(y.zoomedHd),t())}),10)}else if(y.original.hasAttribute("srcset")){y.zoomedHd=y.zoomed.cloneNode(),y.zoomedHd.removeAttribute("sizes"),y.zoomedHd.removeAttribute("loading");var s=y.zoomedHd.addEventListener("load",(function(){y.zoomedHd.removeEventListener("load",s),y.zoomedHd.classList.add("medium-zoom-image--opened"),y.zoomedHd.addEventListener("click",d),document.body.appendChild(y.zoomedHd),t()}))}else t()}}}))},d=function(){return new r((function(e){if(!m&&y.original){m=!0,document.body.classList.remove("medium-zoom--opened"),y.zoomed.style.transform="",y.zoomedHd&&(y.zoomedHd.style.transform=""),y.template&&(y.template.style.transition="opacity 150ms",y.template.style.opacity=0),y.original.dispatchEvent(c("medium-zoom:close",{detail:{zoom:_}})),y.zoomed.addEventListener("transitionend",(function t(){y.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(y.zoomed),y.zoomedHd&&document.body.removeChild(y.zoomedHd),document.body.removeChild(v),y.zoomed.classList.remove("medium-zoom-image--opened"),y.template&&document.body.removeChild(y.template),m=!1,y.zoomed.removeEventListener("transitionend",t),y.original.dispatchEvent(c("medium-zoom:closed",{detail:{zoom:_}})),y.original=null,y.zoomed=null,y.zoomedHd=null,y.template=null,e(_)}))}else e(_)}))},p=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).target;return y.original?d():u({target:e})},f=[],g=[],m=!1,b=0,h=n,y={original:null,zoomed:null,zoomedHd:null,template:null};"[object Object]"===Object.prototype.toString.call(t)?h=t:(t||"string"==typeof t)&&a(t);var v=function(e){var t=document.createElement("div");return t.classList.add("medium-zoom-overlay"),t.style.background=e,t}((h=o({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},h)).background);document.addEventListener("click",(function(e){var t=e.target;t!==v?-1!==f.indexOf(t)&&p({target:t}):d()})),document.addEventListener("keyup",(function(e){var t=e.key||e.keyCode;"Escape"!==t&&"Esc"!==t&&27!==t||d()})),document.addEventListener("scroll",(function(){if(!m&&y.original){var e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(b-e)>h.scrollOffset&&setTimeout(d,150)}})),window.addEventListener("resize",d);var _={open:u,close:d,toggle:p,update:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e;if(e.background&&(v.style.background=e.background),e.container&&e.container instanceof Object&&(t.container=o({},h.container,e.container)),e.template){var n=i(e.template)?e.template:document.querySelector(e.template);t.template=n}return h=o({},h,t),f.forEach((function(e){e.dispatchEvent(c("medium-zoom:update",{detail:{zoom:_}}))})),_},clone:function(){return e(o({},h,arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}))},attach:a,detach:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];y.zoomed&&d();var r=t.length>0?t.reduce((function(e,t){return[].concat(e,l(t))}),[]):f;return r.forEach((function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(c("medium-zoom:detach",{detail:{zoom:_}}))})),f=f.filter((function(e){return-1===r.indexOf(e)})),_},on:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return f.forEach((function(r){r.addEventListener("medium-zoom:"+e,t,n)})),g.push({type:"medium-zoom:"+e,listener:t,options:n}),_},off:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return f.forEach((function(r){r.removeEventListener("medium-zoom:"+e,t,n)})),g=g.filter((function(n){return!(n.type==="medium-zoom:"+e&&n.listener.toString()===t.toString())})),_},getOptions:function(){return h},getImages:function(){return f},getZoomedImage:function(){return y.original}};return _},{themeConfig:d}=r.default;function p(e){var t,n;return document.querySelector('html[data-theme="dark"]')?(null===(t=e.background)||void 0===t?void 0:t.dark)||"rgb(50, 50, 50)":(null===(n=e.background)||void 0===n?void 0:n.light)||"rgb(255, 255, 255)"}const f=function(){if("undefined"==typeof window)return null;let e;const{zoom:t}=d,{selector:n=".markdown img",config:r={}}=t||{};if(!t)return null;r.background=p(t);var o=new MutationObserver((function(){e&&e.update({background:p(t)})}));const a=document.querySelector("html");return o.observe(a,{attributes:!0,attributeFilter:["data-theme"]}),setTimeout((()=>{e&&e.detach(),e=u(n,r)}),1e3),{onRouteUpdate(){setTimeout((()=>{e&&e.detach(),e=u(n,r)}),1e3)}}}()},4047:(e,t,n)=>{"use strict";n.d(t,{lX:()=>_,q_:()=>O,ob:()=>f,PP:()=>P,Ep:()=>p});var r=n(6920);function o(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,r=n+1,o=e.length;r<o;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&o(e),l=t&&o(t),c=s||l;if(e&&o(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,p=i.length;p>=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&o(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var s=n(8624);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function f(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),a.state=t):(void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var m=!("undefined"==typeof window||!window.document||!window.document.createElement);function b(e,t){t(window.confirm(e))}var h="popstate",y="hashchange";function v(){try{return window.history.state||{}}catch(e){return{}}}function _(e){void 0===e&&(e={}),m||(0,s.Z)(!1);var t,n=window.history,o=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,a=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,_=void 0!==c&&c,w=i.getUserConfirmation,x=void 0===w?b:w,S=i.keyLength,k=void 0===S?6:S,E=e.basename?d(l(e.basename)):"";function O(e){var t=e||{},n=t.key,r=t.state,o=window.location,a=o.pathname+o.search+o.hash;return E&&(a=u(a,E)),f(a,r,n)}function j(){return Math.random().toString(36).substr(2,k)}var P=g();function C(e){(0,r.Z)($,e),$.length=n.length,P.notifyListeners($.location,$.action)}function T(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||N(O(e.state))}function I(){N(O(v()))}var A=!1;function N(e){if(A)A=!1,C();else{P.confirmTransitionTo(e,"POP",x,(function(t){t?C({action:"POP",location:e}):function(e){var t=$.location,n=R.indexOf(t.key);-1===n&&(n=0);var r=R.indexOf(e.key);-1===r&&(r=0);var o=n-r;o&&(A=!0,F(o))}(e)}))}}var L=O(v()),R=[L.key];function D(e){return E+p(e)}function F(e){n.go(e)}var M=0;function z(e){1===(M+=e)&&1===e?(window.addEventListener(h,T),a&&window.addEventListener(y,I)):0===M&&(window.removeEventListener(h,T),a&&window.removeEventListener(y,I))}var B=!1;var $={length:n.length,action:"POP",location:L,createHref:D,push:function(e,t){var r="PUSH",a=f(e,t,j(),$.location);P.confirmTransitionTo(a,r,x,(function(e){if(e){var t=D(a),i=a.key,s=a.state;if(o)if(n.pushState({key:i,state:s},null,t),_)window.location.href=t;else{var l=R.indexOf($.location.key),c=R.slice(0,l+1);c.push(a.key),R=c,C({action:r,location:a})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,j(),$.location);P.confirmTransitionTo(a,r,x,(function(e){if(e){var t=D(a),i=a.key,s=a.state;if(o)if(n.replaceState({key:i,state:s},null,t),_)window.location.replace(t);else{var l=R.indexOf($.location.key);-1!==l&&(R[l]=a.key),C({action:r,location:a})}else window.location.replace(t)}}))},go:F,goBack:function(){F(-1)},goForward:function(){F(1)},block:function(e){void 0===e&&(e=!1);var t=P.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=P.appendListener(e);return z(1),function(){z(-1),t()}}};return $}var w="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:l},slash:{encodePath:l,decodePath:l}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function k(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function E(e){window.location.replace(S(window.location.href)+"#"+e)}function O(e){void 0===e&&(e={}),m||(0,s.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),o=n.getUserConfirmation,a=void 0===o?b:o,i=n.hashType,c=void 0===i?"slash":i,h=e.basename?d(l(e.basename)):"",y=x[c],v=y.encodePath,_=y.decodePath;function O(){var e=_(k());return h&&(e=u(e,h)),f(e)}var j=g();function P(e){(0,r.Z)(B,e),B.length=t.length,j.notifyListeners(B.location,B.action)}var C=!1,T=null;function I(){var e,t,n=k(),r=v(n);if(n!==r)E(r);else{var o=O(),i=B.location;if(!C&&(t=o,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(T===p(o))return;T=null,function(e){if(C)C=!1,P();else{var t="POP";j.confirmTransitionTo(e,t,a,(function(n){n?P({action:t,location:e}):function(e){var t=B.location,n=R.lastIndexOf(p(t));-1===n&&(n=0);var r=R.lastIndexOf(p(e));-1===r&&(r=0);var o=n-r;o&&(C=!0,D(o))}(e)}))}}(o)}}var A=k(),N=v(A);A!==N&&E(N);var L=O(),R=[p(L)];function D(e){t.go(e)}var F=0;function M(e){1===(F+=e)&&1===e?window.addEventListener(w,I):0===F&&window.removeEventListener(w,I)}var z=!1;var B={length:t.length,action:"POP",location:L,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+v(h+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,B.location);j.confirmTransitionTo(r,n,a,(function(e){if(e){var t=p(r),o=v(h+t);if(k()!==o){T=t,function(e){window.location.hash=e}(o);var a=R.lastIndexOf(p(B.location)),i=R.slice(0,a+1);i.push(t),R=i,P({action:n,location:r})}else P()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,B.location);j.confirmTransitionTo(r,n,a,(function(e){if(e){var t=p(r),o=v(h+t);k()!==o&&(T=t,E(o));var a=R.indexOf(p(B.location));-1!==a&&(R[a]=t),P({action:n,location:r})}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=j.setPrompt(e);return z||(M(1),z=!0),function(){return z&&(z=!1,M(-1)),t()}},listen:function(e){var t=j.appendListener(e);return M(1),function(){M(-1),t()}}};return B}function j(e,t,n){return Math.min(Math.max(e,t),n)}function P(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,o=t.initialEntries,a=void 0===o?["/"]:o,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,c=void 0===l?6:l,u=g();function d(e){(0,r.Z)(_,e),_.length=_.entries.length,u.notifyListeners(_.location,_.action)}function m(){return Math.random().toString(36).substr(2,c)}var b=j(s,0,a.length-1),h=a.map((function(e){return f(e,void 0,"string"==typeof e?m():e.key||m())})),y=p;function v(e){var t=j(_.index+e,0,_.entries.length-1),r=_.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var _={length:h.length,action:"POP",location:h[b],index:b,entries:h,createHref:y,push:function(e,t){var r="PUSH",o=f(e,t,m(),_.location);u.confirmTransitionTo(o,r,n,(function(e){if(e){var t=_.index+1,n=_.entries.slice(0);n.length>t?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,m(),_.location);u.confirmTransitionTo(o,r,n,(function(e){e&&(_.entries[_.index]=o,d({action:r,location:o}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=_.index+e;return t>=0&&t<_.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return _}},2535:(e,t,n)=>{"use strict";var r=n(6237),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||o}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var o=f(n);o&&o!==g&&e(t,o,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),m=l(n),b=0;b<i.length;++b){var h=i[b];if(!(a[h]||r&&r[h]||m&&m[h]||s&&s[h])){var y=p(n,h);try{c(t,h,y)}catch(v){}}}}return t}},3670:e=>{"use strict";e.exports=function(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},901:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2e3:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=o,this.iframesTimeout=a}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var o=e.contentWindow;if(r=o.document,!o||!r)throw new Error("iframe inaccessible")}catch(a){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,o=!1,a=null,i=function i(){if(!o){o=!0,clearTimeout(a);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(s){n()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),s=i.length,l=0;i=Array.prototype.slice.call(i);var c=function(){--s<=0&&a(l)};s||c(),i.forEach((function(t){e.matches(t,o.exclude)?c():o.onIframeReady(t,(function(e){n(t)&&(l++,r(e)),c()}),c)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var o=!1,a=!1;return r.forEach((function(e,t){e.val===n&&(o=t,a=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==o||a?!1===o||a||(r[o].handled=!0):r.push({val:n,handled:!0}),!0):(!1===o&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var o=this;e.forEach((function(e){e.handled||o.getIframeContents(e.val,(function(e){o.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,o){for(var a=this,i=this.createIterator(t,e,r),s=[],l=[],c=void 0,u=void 0,d=function(){var e=a.getIteratorNode(i);return u=e.prevNode,c=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return a.checkIframeFilter(c,u,e,s)}),(function(t){a.createInstanceOnIframe(t).forEachNode(e,(function(e){return l.push(e)}),r)})),l.push(c);l.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),o()}},{key:"forEachNode",value:function(e,t,n){var r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=this.getContexts(),i=a.length;i||o(),a.forEach((function(a){var s=function(){r.iterateThroughNodes(e,a,t,n,(function(){--i<=0&&o()}))};r.iframes?r.waitForIframes(a,s):s()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var o=!1;return n.every((function(t){return!r.call(e,t)||(o=!0,!1)})),o}return!1}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var o in t)if(t.hasOwnProperty(o)){var a=t[o],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a);""!==i&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(o){n.every((function(n){if(-1!==n.indexOf(o)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,o="string"==typeof r?r:r.value,a="string"==typeof r?[]:r.limiters,i="";switch(a.forEach((function(e){i+="|"+t.escapeStr(e)})),o){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var o=t.callNoMatchOnInvalidRanges(e,r),a=o.start,i=o.end;o.valid&&(e.start=a,e.length=i-a,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,o=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?o=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:o}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,o=!0,a=n.length,i=t-a,s=parseInt(e.start,10)-i;return(r=(s=s>a?a:s)+parseInt(e.length,10))>a&&(r=a,this.log("End range automatically set to the max value of "+a)),s<0||r-s<0||s>a||r>a?(o=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(o=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:o}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return o.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",o=e.splitText(t),a=o.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=o.textContent,o.parentNode.replaceChild(i,o),a}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,o){var a=this;e.nodes.every((function(i,s){var l=e.nodes[s+1];if(void 0===l||l.start>t){if(!r(i.node))return!1;var c=t-i.start,u=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),p=e.value.substr(u+i.start);if(i.node=a.wrapRangeInTextNode(i.node,c,u),e.value=d+p,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,o(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var o=void 0;null!==(o=e.exec(t.textContent))&&""!==o[i];)if(n(o[i],t)){var s=o.index;if(0!==i)for(var l=1;l<i;l++)s+=o[l].length;t=a.wrapRangeInTextNode(t,s,s+o[i].length),r(t.previousSibling),e.lastIndex=0}})),o()}))}},{key:"wrapMatchesAcrossElements",value:function(e,t,n,r,o){var a=this,i=0===t?0:t+1;this.getTextNodes((function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&""!==s[i];){var l=s.index;if(0!==i)for(var c=1;c<i;c++)l+=s[c].length;var u=l+s[i].length;a.wrapRangeInMappedTextNode(t,l,u,(function(e){return n(s[i],e)}),(function(t,n){e.lastIndex=n,r(t)}))}o()}))}},{key:"wrapRangeFromIndex",value:function(e,t,n,r){var o=this;this.getTextNodes((function(a){var i=a.value.length;e.forEach((function(e,r){var s=o.checkWhitespaceRanges(e,i,a.value),l=s.start,c=s.end;s.valid&&o.wrapRangeInMappedTextNode(a,l,c,(function(n){return t(n,e,a.value.substring(l,c),r)}),(function(t){n(t,e)}))})),r()}))}},{key:"unwrapMatches",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:"normalizeTextNode",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:"markRegExp",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression "'+e+'"');var r=0,o="wrapMatches",a=function(e){r++,n.opt.each(e)};this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),this[o](e,this.opt.ignoreGroups,(function(e,t){return n.opt.filter(t,e,r)}),a,(function(){0===r&&n.opt.noMatch(e),n.opt.done(r)}))}},{key:"mark",value:function(e,t){var n=this;this.opt=t;var r=0,o="wrapMatches",a=this.getSeparatedKeywords("string"==typeof e?[e]:e),i=a.keywords,s=a.length,l=this.opt.caseSensitive?"":"i",c=function e(t){var a=new RegExp(n.createRegExp(t),"gm"+l),c=0;n.log('Searching with expression "'+a+'"'),n[o](a,1,(function(e,o){return n.opt.filter(o,t,r,c)}),(function(e){c++,r++,n.opt.each(e)}),(function(){0===c&&n.opt.noMatch(t),i[s-1]===t?n.opt.done(r):e(i[i.indexOf(t)+1])}))};this.opt.acrossElements&&(o="wrapMatchesAcrossElements"),0===s?this.opt.done(r):c(i[0])}},{key:"markRanges",value:function(e,t){var n=this;this.opt=t;var r=0,o=this.checkRanges(e);o&&o.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(o)),this.wrapRangeFromIndex(o,(function(e,t,r,o){return n.opt.filter(e,t,r,o)}),(function(e,t){r++,n.opt.each(e,t)}),(function(){n.opt.done(r)}))):this.opt.done(r)}},{key:"unmark",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:"*";n+="[data-markjs]",this.opt.className&&(n+="."+this.opt.className),this.log('Removal selector "'+n+'"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,(function(e){t.unwrapMatches(e)}),(function(e){var r=o.matches(e,n),a=t.matchesExclude(e);return!r||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),this.opt.done)}},{key:"opt",set:function(e){this._opt=r({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:"iterator",get:function(){return new o(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),a}();function i(e){var t=this,n=new a(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}return i}()},9530:(e,t,n)=>{"use strict";n.r(t)},8716:(e,t,n)=>{"use strict";n.r(t)},9981:function(e,t,n){var r,o;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function o(e,t,n){return e<t?t:e>n?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(r.barSelector),u=r.speed,d=r.easing;return a.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&f(o),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(o="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=o)},7720:(e,t,n)=>{var r=n(901);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return s(a(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,r=[],a=0,i=0,s="",u=t&&t.delimiter||"/";null!=(n=o.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+d.length,p)s+=p[1];else{var g=e[i],m=n[2],b=n[3],h=n[4],y=n[5],v=n[6],_=n[7];s&&(r.push(s),s="");var w=null!=m&&null!=g&&g!==m,x="+"===v||"*"===v,S="?"===v||"*"===v,k=n[2]||u,E=h||y;r.push({name:b||a++,prefix:m||"",delimiter:k,optional:S,repeat:x,partial:w,asterisk:!!_,pattern:E?c(E):_?".*":"[^"+l(k)+"]+?"})}}return i<e.length&&(s+=e.substr(i)),s&&r.push(s),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),o=0;o<e.length;o++)"object"==typeof e[o]&&(n[o]=new RegExp("^(?:"+e[o].pattern+")$",d(t)));return function(t,o){for(var a="",s=t||{},l=(o||{}).pretty?i:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,p=s[u.name];if(null==p){if(u.optional){u.partial&&(a+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(p)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=l(p[f]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");a+=(0===f?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(p),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');a+=u.prefix+d}}else a+=u}return a}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function c(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var o=(n=n||{}).strict,a=!1!==n.end,i="",s=0;s<e.length;s++){var c=e[s];if("string"==typeof c)i+=l(c);else{var p=l(c.prefix),f="(?:"+c.pattern+")";t.push(c),c.repeat&&(f+="(?:"+p+f+")*"),i+=f=c.optional?c.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var g=l(n.delimiter||"/"),m=i.slice(-g.length)===g;return o||(i=(m?i.slice(0,-g.length):i)+"(?:"+g+"(?=$))?"),i+=a?"$":o&&m?"":"(?="+g+"|$)",u(new RegExp("^"+i,d(n)),t)}function f(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return u(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],o=0;o<e.length;o++)r.push(f(e[o],t,n).source);return u(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return p(a(e,n),t,n)}(e,t,n)}},3209:()=>{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,i=0;i<o.length;i++)a[o[i]]=e.languages.bash[o[i]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(Prism)},1417:()=>{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},1559:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(o>=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[o],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),g=p.indexOf(f);if(g>-1){++o;var m=p.substring(0,g),b=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),h=p.substring(g+f.length),y=[];m&&y.push.apply(y,i([m])),y.push(b),h&&y.push.apply(y,i([h])),"string"==typeof c?s.splice.apply(s,[l,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},4049:(e,t,n)=>{"use strict";var r=n(6257);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},507:(e,t,n)=>{e.exports=n(4049)()},6257:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},6521:(e,t,n)=>{"use strict";var r=n(5271),o=n(7537);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;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."}var i=new Set,s={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[: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]*$/,f={},g={};function m(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){b[e]=new m(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];b[t]=new m(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){b[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){b[e]=new m(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){b[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){b[e]=new m(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){b[e]=new m(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){b[e]=new m(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){b[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var h=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,n,r){var o=b.hasOwnProperty(t)?b[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!d.call(g,e)||!d.call(f,e)&&(p.test(e)?g[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(h,y);b[t]=new m(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(h,y);b[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(h,y);b[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){b[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),b.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){b[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var _=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),O=Symbol.for("react.provider"),j=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),A=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var N=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var L=Symbol.iterator;function R(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=L&&e[L]||e["@@iterator"])?e:null}var D,F=Object.assign;function M(e){if(void 0===D)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);D=t&&t[1]||""}return"\n"+D+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var o=c.stack.split("\n"),a=r.stack.split("\n"),i=o.length-1,s=a.length-1;1<=i&&0<=s&&o[i]!==a[s];)s--;for(;1<=i&&0<=s;i--,s--)if(o[i]!==a[s]){if(1!==i||1!==s)do{if(i--,0>--s||o[i]!==a[s]){var l="\n"+o[i].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=i&&0<=s);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function $(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case E:return"Profiler";case k:return"StrictMode";case C:return"Suspense";case T:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case j:return(e.displayName||"Context")+".Consumer";case O:return(e._context.displayName||"Context")+".Provider";case P:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case I:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case A:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function H(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===k?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function Q(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Z(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function W(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function q(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function G(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Q(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function K(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){K(e,t);var n=Q(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,Q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&q(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Q(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(r&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return F({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:Q(n)}}function ae(e,t){var n=Q(t.value),r=Q(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ge=["Webkit","ms","Moz","O"];function me(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function be(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),o=me(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}Object.keys(fe).forEach((function(e){ge.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var he=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(he[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(a(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;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 _e=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,ke=null;function Ee(e){if(e=_o(e)){if("function"!=typeof xe)throw Error(a(280));var t=e.stateNode;t&&(t=xo(t),xe(e.stateNode,e.type,t))}}function Oe(e){Se?ke?ke.push(e):ke=[e]:Se=e}function je(){if(Se){var e=Se,t=ke;if(ke=Se=null,Ee(e),t)for(e=0;e<t.length;e++)Ee(t[e])}}function Pe(e,t){return e(t)}function Ce(){}var Te=!1;function Ie(e,t,n){if(Te)return e(t,n);Te=!0;try{return Pe(e,t,n)}finally{Te=!1,(null!==Se||null!==ke)&&(Ce(),je())}}function Ae(e,t){var n=e.stateNode;if(null===n)return null;var r=xo(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}var Ne=!1;if(u)try{var Le={};Object.defineProperty(Le,"passive",{get:function(){Ne=!0}}),window.addEventListener("test",Le,Le),window.removeEventListener("test",Le,Le)}catch(ue){Ne=!1}function Re(e,t,n,r,o,a,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var De=!1,Fe=null,Me=!1,ze=null,Be={onError:function(e){De=!0,Fe=e}};function $e(e,t,n,r,o,a,i,s,l){De=!1,Fe=null,Re.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Qe(e){if(Ue(e)!==e)throw Error(a(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var i=o.alternate;if(null===i){if(null!==(r=o.return)){n=r;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return Qe(o),e;if(i===r)return Qe(o),t;i=i.sibling}throw Error(a(188))}if(n.return!==r.return)n=o,r=i;else{for(var s=!1,l=o.child;l;){if(l===n){s=!0,n=o,r=i;break}if(l===r){s=!0,r=o,n=i;break}l=l.sibling}if(!s){for(l=i.child;l;){if(l===n){s=!0,n=i,r=o;break}if(l===r){s=!0,r=i,n=o;break}l=l.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?Ze(e):null}function Ze(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ze(e);if(null!==t)return t;e=e.sibling}return null}var We=o.unstable_scheduleCallback,qe=o.unstable_cancelCallback,Ge=o.unstable_shouldYield,Ye=o.unstable_requestPaint,Ke=o.unstable_now,Xe=o.unstable_getCurrentPriorityLevel,Je=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,rt=o.unstable_IdlePriority,ot=null,at=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){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: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 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,o=e.suspendedLanes,a=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~o;0!==s?r=dt(s):0!==(a&=i)&&(r=dt(a))}else 0!==(i=n&~o)?r=dt(i):0!==a&&(r=dt(a));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&o)&&((o=r&-r)>=(a=t&-t)||16===o&&0!=(4194240&a)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)o=1<<(n=31-it(t)),r|=e[n],t&=~o;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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;default:return-1}}function gt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function mt(){var e=ct;return 0==(4194240&(ct<<=1))&&(ct=64),e}function bt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ht(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}var vt=0;function _t(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var wt,xt,St,kt,Et,Ot=!1,jt=[],Pt=null,Ct=null,Tt=null,It=new Map,At=new Map,Nt=[],Lt="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 submit".split(" ");function Rt(e,t){switch(e){case"focusin":case"focusout":Pt=null;break;case"dragenter":case"dragleave":Ct=null;break;case"mouseover":case"mouseout":Tt=null;break;case"pointerover":case"pointerout":It.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":At.delete(t.pointerId)}}function Dt(e,t,n,r,o,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},null!==t&&(null!==(t=_o(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Ft(e){var t=vo(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=He(n)))return e.blockedOn=t,void Et(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Gt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=_o(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);_e=r,n.target.dispatchEvent(r),_e=null,t.shift()}return!0}function zt(e,t,n){Mt(e)&&n.delete(t)}function Bt(){Ot=!1,null!==Pt&&Mt(Pt)&&(Pt=null),null!==Ct&&Mt(Ct)&&(Ct=null),null!==Tt&&Mt(Tt)&&(Tt=null),It.forEach(zt),At.forEach(zt)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,Ot||(Ot=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return $t(t,e)}if(0<jt.length){$t(jt[0],e);for(var n=1;n<jt.length;n++){var r=jt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Pt&&$t(Pt,e),null!==Ct&&$t(Ct,e),null!==Tt&&$t(Tt,e),It.forEach(t),At.forEach(t),n=0;n<Nt.length;n++)(r=Nt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Nt.length&&null===(n=Nt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Nt.shift()}var Ht=_.ReactCurrentBatchConfig,Qt=!0;function Vt(e,t,n,r){var o=vt,a=Ht.transition;Ht.transition=null;try{vt=1,Wt(e,t,n,r)}finally{vt=o,Ht.transition=a}}function Zt(e,t,n,r){var o=vt,a=Ht.transition;Ht.transition=null;try{vt=4,Wt(e,t,n,r)}finally{vt=o,Ht.transition=a}}function Wt(e,t,n,r){if(Qt){var o=Gt(e,t,n,r);if(null===o)Qr(e,t,r,qt,n),Rt(e,r);else if(function(e,t,n,r,o){switch(t){case"focusin":return Pt=Dt(Pt,e,t,n,r,o),!0;case"dragenter":return Ct=Dt(Ct,e,t,n,r,o),!0;case"mouseover":return Tt=Dt(Tt,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return It.set(a,Dt(It.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,At.set(a,Dt(At.get(a)||null,e,t,n,r,o)),!0}return!1}(o,e,t,n,r))r.stopPropagation();else if(Rt(e,r),4&t&&-1<Lt.indexOf(e)){for(;null!==o;){var a=_o(o);if(null!==a&&wt(a),null===(a=Gt(e,t,n,r))&&Qr(e,t,r,qt,n),a===o)break;o=a}null!==o&&r.stopPropagation()}else Qr(e,t,r,null,n)}}var qt=null;function Gt(e,t,n,r){if(qt=null,null!==(e=vo(e=we(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=He(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return qt=e,null}function Yt(e){switch(e){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Kt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,o="value"in Kt?Kt.value:Kt.textContent,a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);return Jt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,o,a){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var an,sn,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(cn),dn=F({},cn,{view:0,detail:0}),pn=on(dn),fn=F({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(an=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=an=0,ln=e),an)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),gn=on(fn),mn=on(F({},fn,{dataTransfer:0})),bn=on(F({},dn,{relatedTarget:0})),hn=on(F({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=F({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=on(yn),_n=on(F({},cn,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={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"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function kn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function En(){return kn}var On=F({},dn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),jn=on(On),Pn=on(F({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Cn=on(F({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En})),Tn=on(F({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),In=F({},fn,{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}),An=on(In),Nn=[9,13,27,32],Ln=u&&"CompositionEvent"in window,Rn=null;u&&"documentMode"in document&&(Rn=document.documentMode);var Dn=u&&"TextEvent"in window&&!Rn,Fn=u&&(!Ln||Rn&&8<Rn&&11>=Rn),Mn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Nn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var Hn={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 Qn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Vn(e,t,n,r){Oe(r),0<(t=Zr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Zn=null,Wn=null;function qn(e){Mr(e,0)}function Gn(e){if(W(wo(e)))return e}function Yn(e,t){if("change"===e)return t}var Kn=!1;if(u){var Xn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Kn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Zn&&(Zn.detachEvent("onpropertychange",nr),Wn=Zn=null)}function nr(e){if("value"===e.propertyName&&Gn(Wn)){var t=[];Vn(t,Wn,e,we(e)),Ie(qn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Wn=n,(Zn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Gn(Wn)}function ar(e,t){if("click"===e)return Gn(t)}function ir(e,t){if("input"===e||"change"===e)return Gn(t)}var sr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function lr(e,t){if(sr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!d.call(t,o)||!sr(e[o],t[o]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=q();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=q((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function gr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,a=Math.min(r.start,o);r=void 0===r.end?a:Math.min(r.end,o),!e.extend&&a>r&&(o=r,r=a,a=o),o=ur(n,a);var i=ur(n,r);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var mr=u&&"documentMode"in document&&11>=document.documentMode,br=null,hr=null,yr=null,vr=!1;function _r(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==br||br!==q(r)||("selectionStart"in(r=br)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&lr(yr,r)||(yr=r,0<(r=Zr(hr,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=br)))}function wr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:wr("Animation","AnimationEnd"),animationiteration:wr("Animation","AnimationIteration"),animationstart:wr("Animation","AnimationStart"),transitionend:wr("Transition","TransitionEnd")},Sr={},kr={};function Er(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in kr)return Sr[e]=n[t];return e}u&&(kr=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var Or=Er("animationend"),jr=Er("animationiteration"),Pr=Er("animationstart"),Cr=Er("transitionend"),Tr=new Map,Ir="abort auxClick 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(" ");function Ar(e,t){Tr.set(e,t),l(t,[e])}for(var Nr=0;Nr<Ir.length;Nr++){var Lr=Ir[Nr];Ar(Lr.toLowerCase(),"on"+(Lr[0].toUpperCase()+Lr.slice(1)))}Ar(Or,"onAnimationEnd"),Ar(jr,"onAnimationIteration"),Ar(Pr,"onAnimationStart"),Ar("dblclick","onDoubleClick"),Ar("focusin","onFocus"),Ar("focusout","onBlur"),Ar(Cr,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Rr="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(" "),Dr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Rr));function Fr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,o,i,s,l,c){if($e.apply(this,arguments),De){if(!De)throw Error(a(198));var u=Fe;De=!1,Fe=null,Me||(Me=!0,ze=u)}}(r,t,void 0,e),e.currentTarget=null}function Mr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==a&&o.isPropagationStopped())break e;Fr(o,s,c),a=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,c=s.currentTarget,s=s.listener,l!==a&&o.isPropagationStopped())break e;Fr(o,s,c),a=l}}}if(Me)throw e=ze,Me=!1,ze=null,e}function zr(e,t){var n=t[bo];void 0===n&&(n=t[bo]=new Set);var r=e+"__bubble";n.has(r)||(Hr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),Hr(n,e,r,t)}var $r="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[$r]){e[$r]=!0,i.forEach((function(t){"selectionchange"!==t&&(Dr.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[$r]||(t[$r]=!0,Br("selectionchange",!1,t))}}function Hr(e,t,n,r){switch(Yt(t)){case 1:var o=Vt;break;case 4:o=Zt;break;default:o=Wt}n=o.bind(null,t,n,e),o=void 0,!Ne||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),r?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Qr(e,t,n,r,o){var a=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===o||8===s.nodeType&&s.parentNode===o)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===o||8===l.nodeType&&l.parentNode===o))return;i=i.return}for(;null!==s;){if(null===(i=vo(s)))return;if(5===(l=i.tag)||6===l){r=a=i;continue e}s=s.parentNode}}r=r.return}Ie((function(){var r=a,o=we(n),i=[];e:{var s=Tr.get(e);if(void 0!==s){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=jn;break;case"focusin":c="focus",l=bn;break;case"focusout":c="blur",l=bn;break;case"beforeblur":case"afterblur":l=bn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=mn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Cn;break;case Or:case jr:case Pr:l=hn;break;case Cr:l=Tn;break;case"scroll":l=pn;break;case"wheel":l=An;break;case"copy":case"cut":case"paste":l=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Pn}var u=0!=(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var f,g=r;null!==g;){var m=(f=g).stateNode;if(5===f.tag&&null!==m&&(f=m,null!==p&&(null!=(m=Ae(g,p))&&u.push(Vr(g,m,f)))),d)break;g=g.return}0<u.length&&(s=new l(s,c,null,n,o),i.push({event:s,listeners:u}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===_e||!(c=n.relatedTarget||n.fromElement)||!vo(c)&&!c[mo])&&(l||s)&&(s=o.window===o?o:(s=o.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?vo(c):null)&&(c!==(d=Ue(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=gn,m="onMouseLeave",p="onMouseEnter",g="mouse","pointerout"!==e&&"pointerover"!==e||(u=Pn,m="onPointerLeave",p="onPointerEnter",g="pointer"),d=null==l?s:wo(l),f=null==c?s:wo(c),(s=new u(m,g+"leave",l,n,o)).target=d,s.relatedTarget=f,m=null,vo(o)===r&&((u=new u(p,g+"enter",c,n,o)).target=f,u.relatedTarget=d,m=u),d=m,l&&c)e:{for(p=c,g=0,f=u=l;f;f=Wr(f))g++;for(f=0,m=p;m;m=Wr(m))f++;for(;0<g-f;)u=Wr(u),g--;for(;0<f-g;)p=Wr(p),f--;for(;g--;){if(u===p||null!==p&&u===p.alternate)break e;u=Wr(u),p=Wr(p)}u=null}else u=null;null!==l&&qr(i,s,l,u,!1),null!==c&&null!==d&&qr(i,d,c,u,!0)}if("select"===(l=(s=r?wo(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var b=Yn;else if(Qn(s))if(Kn)b=ir;else{b=or;var h=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(b=ar);switch(b&&(b=b(e,r))?Vn(i,b,n,o):(h&&h(e,s,r),"focusout"===e&&(h=s._wrapperState)&&h.controlled&&"number"===s.type&&ee(s,"number",s.value)),h=r?wo(r):window,e){case"focusin":(Qn(h)||"true"===h.contentEditable)&&(br=h,hr=r,yr=null);break;case"focusout":yr=hr=br=null;break;case"mousedown":vr=!0;break;case"contextmenu":case"mouseup":case"dragend":vr=!1,_r(i,n,o);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":_r(i,n,o)}var y;if(Ln)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Un?Bn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(Fn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==v?"onCompositionEnd"===v&&Un&&(y=en()):(Xt="value"in(Kt=o)?Kt.value:Kt.textContent,Un=!0)),0<(h=Zr(r,v)).length&&(v=new _n(v,e,null,n,o),i.push({event:v,listeners:h}),y?v.data=y:null!==(y=$n(n))&&(v.data=y))),(y=Dn?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(zn=!0,Mn);case"textInput":return(e=t.data)===Mn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!Ln&&Bn(e,t)?(e=en(),Jt=Xt=Kt=null,Un=!1,e):null;switch(e){case"paste":default: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 Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Zr(r,"onBeforeInput")).length&&(o=new _n("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:r}),o.data=y))}Mr(i,t)}))}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Zr(e,t){for(var n=t+"Capture",r=[];null!==e;){var o=e,a=o.stateNode;5===o.tag&&null!==a&&(o=a,null!=(a=Ae(e,n))&&r.unshift(Vr(e,a,o)),null!=(a=Ae(e,t))&&r.push(Vr(e,a,o))),e=e.return}return r}function Wr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function qr(e,t,n,r,o){for(var a=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,o?null!=(l=Ae(n,a))&&i.unshift(Vr(n,l,s)):o||null!=(l=Ae(n,a))&&i.push(Vr(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Gr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Kr(e){return("string"==typeof e?e:""+e).replace(Gr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Kr(t),Kr(e)!==t&&n)throw Error(a(425))}function Jr(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ro="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ao="function"==typeof Promise?Promise:void 0,io="function"==typeof queueMicrotask?queueMicrotask:void 0!==ao?function(e){return ao.resolve(null).then(e).catch(so)}:ro;function so(e){setTimeout((function(){throw e}))}function lo(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===r)return e.removeChild(o),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=o}while(n);Ut(t)}function co(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var po=Math.random().toString(36).slice(2),fo="__reactFiber$"+po,go="__reactProps$"+po,mo="__reactContainer$"+po,bo="__reactEvents$"+po,ho="__reactListeners$"+po,yo="__reactHandles$"+po;function vo(e){var t=e[fo];if(t)return t;for(var n=e.parentNode;n;){if(t=n[mo]||n[fo]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[fo])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function _o(e){return!(e=e[fo]||e[mo])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function xo(e){return e[go]||null}var So=[],ko=-1;function Eo(e){return{current:e}}function Oo(e){0>ko||(e.current=So[ko],So[ko]=null,ko--)}function jo(e,t){ko++,So[ko]=e.current,e.current=t}var Po={},Co=Eo(Po),To=Eo(!1),Io=Po;function Ao(e,t){var n=e.type.contextTypes;if(!n)return Po;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function No(e){return null!=(e=e.childContextTypes)}function Lo(){Oo(To),Oo(Co)}function Ro(e,t,n){if(Co.current!==Po)throw Error(a(168));jo(Co,t),jo(To,n)}function Do(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in t))throw Error(a(108,H(e)||"Unknown",o));return F({},n,r)}function Fo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Po,Io=Co.current,jo(Co,e),jo(To,To.current),!0}function Mo(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=Do(e,t,Io),r.__reactInternalMemoizedMergedChildContext=e,Oo(To),Oo(Co),jo(Co,e)):Oo(To),jo(To,n)}var zo=null,Bo=!1,$o=!1;function Uo(e){null===zo?zo=[e]:zo.push(e)}function Ho(){if(!$o&&null!==zo){$o=!0;var e=0,t=vt;try{var n=zo;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}zo=null,Bo=!1}catch(o){throw null!==zo&&(zo=zo.slice(e+1)),We(Je,Ho),o}finally{vt=t,$o=!1}}return null}var Qo=[],Vo=0,Zo=null,Wo=0,qo=[],Go=0,Yo=null,Ko=1,Xo="";function Jo(e,t){Qo[Vo++]=Wo,Qo[Vo++]=Zo,Zo=e,Wo=t}function ea(e,t,n){qo[Go++]=Ko,qo[Go++]=Xo,qo[Go++]=Yo,Yo=e;var r=Ko;e=Xo;var o=32-it(r)-1;r&=~(1<<o),n+=1;var a=32-it(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Ko=1<<32-it(t)+o|n<<o|r,Xo=a+e}else Ko=1<<a|n<<o|r,Xo=e}function ta(e){null!==e.return&&(Jo(e,1),ea(e,1,0))}function na(e){for(;e===Zo;)Zo=Qo[--Vo],Qo[Vo]=null,Wo=Qo[--Vo],Qo[Vo]=null;for(;e===Yo;)Yo=qo[--Go],qo[Go]=null,Xo=qo[--Go],qo[Go]=null,Ko=qo[--Go],qo[Go]=null}var ra=null,oa=null,aa=!1,ia=null;function sa(e,t){var n=Ic(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function la(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ra=e,oa=co(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ra=e,oa=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Yo?{id:Ko,overflow:Xo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Ic(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ra=e,oa=null,!0);default:return!1}}function ca(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function ua(e){if(aa){var t=oa;if(t){var n=t;if(!la(e,t)){if(ca(e))throw Error(a(418));t=co(n.nextSibling);var r=ra;t&&la(e,t)?sa(r,n):(e.flags=-4097&e.flags|2,aa=!1,ra=e)}}else{if(ca(e))throw Error(a(418));e.flags=-4097&e.flags|2,aa=!1,ra=e}}}function da(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ra=e}function pa(e){if(e!==ra)return!1;if(!aa)return da(e),aa=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=oa)){if(ca(e))throw fa(),Error(a(418));for(;t;)sa(e,t),t=co(t.nextSibling)}if(da(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){oa=co(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}oa=null}}else oa=ra?co(e.stateNode.nextSibling):null;return!0}function fa(){for(var e=oa;e;)e=co(e.nextSibling)}function ga(){oa=ra=null,aa=!1}function ma(e){null===ia?ia=[e]:ia.push(e)}var ba=_.ReactCurrentBatchConfig;function ha(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var o=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=o.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function ya(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function va(e){return(0,e._init)(e._payload)}function _a(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Nc(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Fc(n,e.mode,r)).return=e,t):((t=o(t,n)).return=e,t)}function c(e,t,n,r){var a=n.type;return a===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===A&&va(a)===t.type)?((r=o(t,n.props)).ref=ha(e,t,n),r.return=e,r):((r=Lc(n.type,n.key,n.props,null,e.mode,r)).ref=ha(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Mc(n,e.mode,r)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function d(e,t,n,r,a){return null===t||7!==t.tag?((t=Rc(n,e.mode,r,a)).return=e,t):((t=o(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Fc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Lc(t.type,t.key,t.props,null,e.mode,n)).ref=ha(e,null,t),n.return=e,n;case x:return(t=Mc(t,e.mode,n)).return=e,t;case A:return p(e,(0,t._init)(t._payload),n)}if(te(t)||R(t))return(t=Rc(t,e.mode,n,null)).return=e,t;ya(e,t)}return null}function f(e,t,n,r){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===o?c(e,t,n,r):null;case x:return n.key===o?u(e,t,n,r):null;case A:return f(e,t,(o=n._init)(n._payload),r)}if(te(n)||R(n))return null!==o?null:d(e,t,n,r,null);ya(e,n)}return null}function g(e,t,n,r,o){if("string"==typeof r&&""!==r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,o);if("object"==typeof r&&null!==r){switch(r.$$typeof){case w:return c(t,e=e.get(null===r.key?n:r.key)||null,r,o);case x:return u(t,e=e.get(null===r.key?n:r.key)||null,r,o);case A:return g(e,t,n,(0,r._init)(r._payload),o)}if(te(r)||R(r))return d(t,e=e.get(n)||null,r,o,null);ya(t,r)}return null}function m(o,a,s,l){for(var c=null,u=null,d=a,m=a=0,b=null;null!==d&&m<s.length;m++){d.index>m?(b=d,d=null):b=d.sibling;var h=f(o,d,s[m],l);if(null===h){null===d&&(d=b);break}e&&d&&null===h.alternate&&t(o,d),a=i(h,a,m),null===u?c=h:u.sibling=h,u=h,d=b}if(m===s.length)return n(o,d),aa&&Jo(o,m),c;if(null===d){for(;m<s.length;m++)null!==(d=p(o,s[m],l))&&(a=i(d,a,m),null===u?c=d:u.sibling=d,u=d);return aa&&Jo(o,m),c}for(d=r(o,d);m<s.length;m++)null!==(b=g(d,o,m,s[m],l))&&(e&&null!==b.alternate&&d.delete(null===b.key?m:b.key),a=i(b,a,m),null===u?c=b:u.sibling=b,u=b);return e&&d.forEach((function(e){return t(o,e)})),aa&&Jo(o,m),c}function b(o,s,l,c){var u=R(l);if("function"!=typeof u)throw Error(a(150));if(null==(l=u.call(l)))throw Error(a(151));for(var d=u=null,m=s,b=s=0,h=null,y=l.next();null!==m&&!y.done;b++,y=l.next()){m.index>b?(h=m,m=null):h=m.sibling;var v=f(o,m,y.value,c);if(null===v){null===m&&(m=h);break}e&&m&&null===v.alternate&&t(o,m),s=i(v,s,b),null===d?u=v:d.sibling=v,d=v,m=h}if(y.done)return n(o,m),aa&&Jo(o,b),u;if(null===m){for(;!y.done;b++,y=l.next())null!==(y=p(o,y.value,c))&&(s=i(y,s,b),null===d?u=y:d.sibling=y,d=y);return aa&&Jo(o,b),u}for(m=r(o,m);!y.done;b++,y=l.next())null!==(y=g(m,o,b,y.value,c))&&(e&&null!==y.alternate&&m.delete(null===y.key?b:y.key),s=i(y,s,b),null===d?u=y:d.sibling=y,d=y);return e&&m.forEach((function(e){return t(o,e)})),aa&&Jo(o,b),u}return function e(r,a,i,l){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case w:e:{for(var c=i.key,u=a;null!==u;){if(u.key===c){if((c=i.type)===S){if(7===u.tag){n(r,u.sibling),(a=o(u,i.props.children)).return=r,r=a;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===A&&va(c)===u.type){n(r,u.sibling),(a=o(u,i.props)).ref=ha(r,u,i),a.return=r,r=a;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===S?((a=Rc(i.props.children,r.mode,l,i.key)).return=r,r=a):((l=Lc(i.type,i.key,i.props,null,r.mode,l)).ref=ha(r,a,i),l.return=r,r=l)}return s(r);case x:e:{for(u=i.key;null!==a;){if(a.key===u){if(4===a.tag&&a.stateNode.containerInfo===i.containerInfo&&a.stateNode.implementation===i.implementation){n(r,a.sibling),(a=o(a,i.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=Mc(i,r.mode,l)).return=r,r=a}return s(r);case A:return e(r,a,(u=i._init)(i._payload),l)}if(te(i))return m(r,a,i,l);if(R(i))return b(r,a,i,l);ya(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==a&&6===a.tag?(n(r,a.sibling),(a=o(a,i)).return=r,r=a):(n(r,a),(a=Fc(i,r.mode,l)).return=r,r=a),s(r)):n(r,a)}}var wa=_a(!0),xa=_a(!1),Sa=Eo(null),ka=null,Ea=null,Oa=null;function ja(){Oa=Ea=ka=null}function Pa(e){var t=Sa.current;Oo(Sa),e._currentValue=t}function Ca(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ta(e,t){ka=e,Oa=Ea=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(vs=!0),e.firstContext=null)}function Ia(e){var t=e._currentValue;if(Oa!==e)if(e={context:e,memoizedValue:t,next:null},null===Ea){if(null===ka)throw Error(a(308));Ea=e,ka.dependencies={lanes:0,firstContext:e}}else Ea=Ea.next=e;return t}var Aa=null;function Na(e){null===Aa?Aa=[e]:Aa.push(e)}function La(e,t,n,r){var o=t.interleaved;return null===o?(n.next=n,Na(t)):(n.next=o.next,o.next=n),t.interleaved=n,Ra(e,r)}function Ra(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Da=!1;function Fa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ma(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function za(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&Pl)){var o=r.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Ra(e,n)}return null===(o=r.interleaved)?(t.next=t,Na(r)):(t.next=o.next,o.next=t),r.interleaved=t,Ra(e,n)}function $a(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Ua(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var o=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?o=a=i:a=a.next=i,n=n.next}while(null!==n);null===a?o=a=t:a=a.next=t}else o=a=t;return n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ha(e,t,n,r){var o=e.updateQueue;Da=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,s=o.shared.pending;if(null!==s){o.shared.pending=null;var l=s,c=l.next;l.next=null,null===i?a=c:i.next=c,i=l;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(null!==a){var d=o.baseState;for(i=0,u=c=l=null,s=a;;){var p=s.lane,f=s.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var g=e,m=s;switch(p=t,f=n,m.tag){case 1:if("function"==typeof(g=m.payload)){d=g.call(f,d,p);break e}d=g;break e;case 3:g.flags=-65537&g.flags|128;case 0:if(null==(p="function"==typeof(g=m.payload)?g.call(f,d,p):g))break e;d=F({},d,p);break e;case 2:Da=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=o.effects)?o.effects=[s]:p.push(s))}else f={eventTime:f,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(c=u=f,l=d):u=u.next=f,i|=p;if(null===(s=s.next)){if(null===(s=o.shared.pending))break;s=(p=s).next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}if(null===u&&(l=d),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=u,null!==(t=o.shared.interleaved)){o=t;do{i|=o.lane,o=o.next}while(o!==t)}else null===a&&(o.shared.lanes=0);Dl|=i,e.lanes=i,e.memoizedState=d}}function Qa(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],o=r.callback;if(null!==o){if(r.callback=null,r=n,"function"!=typeof o)throw Error(a(191,o));o.call(r)}}}var Va={},Za=Eo(Va),Wa=Eo(Va),qa=Eo(Va);function Ga(e){if(e===Va)throw Error(a(174));return e}function Ya(e,t){switch(jo(qa,t),jo(Wa,e),jo(Za,Va),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Oo(Za),jo(Za,t)}function Ka(){Oo(Za),Oo(Wa),Oo(qa)}function Xa(e){Ga(qa.current);var t=Ga(Za.current),n=le(t,e.type);t!==n&&(jo(Wa,e),jo(Za,n))}function Ja(e){Wa.current===e&&(Oo(Za),Oo(Wa))}var ei=Eo(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ri(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var oi=_.ReactCurrentDispatcher,ai=_.ReactCurrentBatchConfig,ii=0,si=null,li=null,ci=null,ui=!1,di=!1,pi=0,fi=0;function gi(){throw Error(a(321))}function mi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function bi(e,t,n,r,o,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,oi.current=null===e||null===e.memoizedState?Ji:es,e=n(r,o),di){i=0;do{if(di=!1,pi=0,25<=i)throw Error(a(301));i+=1,ci=li=null,t.updateQueue=null,oi.current=ts,e=n(r,o)}while(di)}if(oi.current=Xi,t=null!==li&&null!==li.next,ii=0,ci=li=si=null,ui=!1,t)throw Error(a(300));return e}function hi(){var e=0!==pi;return pi=0,e}function yi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ci?si.memoizedState=ci=e:ci=ci.next=e,ci}function vi(){if(null===li){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=li.next;var t=null===ci?si.memoizedState:ci.next;if(null!==t)ci=t,li=e;else{if(null===e)throw Error(a(310));e={memoizedState:(li=e).memoizedState,baseState:li.baseState,baseQueue:li.baseQueue,queue:li.queue,next:null},null===ci?si.memoizedState=ci=e:ci=ci.next=e}return ci}function _i(e,t){return"function"==typeof t?t(e):t}function wi(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=li,o=r.baseQueue,i=n.pending;if(null!==i){if(null!==o){var s=o.next;o.next=i.next,i.next=s}r.baseQueue=o=i,n.pending=null}if(null!==o){i=o.next,r=r.baseState;var l=s=null,c=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=p,s=r):c=c.next=p,si.lanes|=d,Dl|=d}u=u.next}while(null!==u&&u!==i);null===c?s=r:c.next=l,sr(r,t.memoizedState)||(vs=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){o=e;do{i=o.lane,si.lanes|=i,Dl|=i,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function xi(e){var t=vi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,i=t.memoizedState;if(null!==o){n.pending=null;var s=o=o.next;do{i=e(i,s.action),s=s.next}while(s!==o);sr(i,t.memoizedState)||(vs=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Si(){}function ki(e,t){var n=si,r=vi(),o=t(),i=!sr(r.memoizedState,o);if(i&&(r.memoizedState=o,vs=!0),r=r.queue,Di(ji.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==ci&&1&ci.memoizedState.tag){if(n.flags|=2048,Ii(9,Oi.bind(null,n,r,o,t),void 0,null),null===Cl)throw Error(a(349));0!=(30&ii)||Ei(n,t,o)}return o}function Ei(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Oi(e,t,n,r){t.value=n,t.getSnapshot=r,Pi(t)&&Ci(e)}function ji(e,t,n){return n((function(){Pi(t)&&Ci(e)}))}function Pi(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function Ci(e){var t=Ra(e,1);null!==t&&nc(t,e,1,-1)}function Ti(e){var t=yi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:_i,lastRenderedState:e},t.queue=e,e=e.dispatch=qi.bind(null,si,e),[t.memoizedState,e]}function Ii(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Ai(){return vi().memoizedState}function Ni(e,t,n,r){var o=yi();si.flags|=e,o.memoizedState=Ii(1|t,n,void 0,void 0===r?null:r)}function Li(e,t,n,r){var o=vi();r=void 0===r?null:r;var a=void 0;if(null!==li){var i=li.memoizedState;if(a=i.destroy,null!==r&&mi(r,i.deps))return void(o.memoizedState=Ii(t,n,a,r))}si.flags|=e,o.memoizedState=Ii(1|t,n,a,r)}function Ri(e,t){return Ni(8390656,8,e,t)}function Di(e,t){return Li(2048,8,e,t)}function Fi(e,t){return Li(4,2,e,t)}function Mi(e,t){return Li(4,4,e,t)}function zi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,n){return n=null!=n?n.concat([e]):null,Li(4,4,zi.bind(null,t,e),n)}function $i(){}function Ui(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&mi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Hi(e,t){var n=vi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&mi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Qi(e,t,n){return 0==(21&ii)?(e.baseState&&(e.baseState=!1,vs=!0),e.memoizedState=n):(sr(n,t)||(n=mt(),si.lanes|=n,Dl|=n,e.baseState=!0),t)}function Vi(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=ai.transition;ai.transition={};try{e(!1),t()}finally{vt=n,ai.transition=r}}function Zi(){return vi().memoizedState}function Wi(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Gi(e))Yi(t,n);else if(null!==(n=La(e,t,n,r))){nc(n,e,r,ec()),Ki(n,t,r)}}function qi(e,t,n){var r=tc(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Gi(e))Yi(t,o);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=a(i,n);if(o.hasEagerState=!0,o.eagerState=s,sr(s,i)){var l=t.interleaved;return null===l?(o.next=o,Na(t)):(o.next=l.next,l.next=o),void(t.interleaved=o)}}catch(c){}null!==(n=La(e,t,o,r))&&(nc(n,e,r,o=ec()),Ki(n,t,r))}}function Gi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Yi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ki(e,t,n){if(0!=(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}var Xi={readContext:Ia,useCallback:gi,useContext:gi,useEffect:gi,useImperativeHandle:gi,useInsertionEffect:gi,useLayoutEffect:gi,useMemo:gi,useReducer:gi,useRef:gi,useState:gi,useDebugValue:gi,useDeferredValue:gi,useTransition:gi,useMutableSource:gi,useSyncExternalStore:gi,useId:gi,unstable_isNewReconciler:!1},Ji={readContext:Ia,useCallback:function(e,t){return yi().memoizedState=[e,void 0===t?null:t],e},useContext:Ia,useEffect:Ri,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ni(4194308,4,zi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ni(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ni(4,2,e,t)},useMemo:function(e,t){var n=yi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=yi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Wi.bind(null,si,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},yi().memoizedState=e},useState:Ti,useDebugValue:$i,useDeferredValue:function(e){return yi().memoizedState=e},useTransition:function(){var e=Ti(!1),t=e[0];return e=Vi.bind(null,e[1]),yi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=si,o=yi();if(aa){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Cl)throw Error(a(349));0!=(30&ii)||Ei(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Ri(ji.bind(null,r,i,e),[e]),r.flags|=2048,Ii(9,Oi.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=yi(),t=Cl.identifierPrefix;if(aa){var n=Xo;t=":"+t+"R"+(n=(Ko&~(1<<32-it(Ko)-1)).toString(32)+n),0<(n=pi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=fi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Ia,useCallback:Ui,useContext:Ia,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Fi,useLayoutEffect:Mi,useMemo:Hi,useReducer:wi,useRef:Ai,useState:function(){return wi(_i)},useDebugValue:$i,useDeferredValue:function(e){return Qi(vi(),li.memoizedState,e)},useTransition:function(){return[wi(_i)[0],vi().memoizedState]},useMutableSource:Si,useSyncExternalStore:ki,useId:Zi,unstable_isNewReconciler:!1},ts={readContext:Ia,useCallback:Ui,useContext:Ia,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Fi,useLayoutEffect:Mi,useMemo:Hi,useReducer:xi,useRef:Ai,useState:function(){return xi(_i)},useDebugValue:$i,useDeferredValue:function(e){var t=vi();return null===li?t.memoizedState=e:Qi(t,li.memoizedState,e)},useTransition:function(){return[xi(_i)[0],vi().memoizedState]},useMutableSource:Si,useSyncExternalStore:ki,useId:Zi,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rs(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var os={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=za(r,o);a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),$a(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),o=tc(e),a=za(r,o);a.tag=1,a.payload=t,null!=n&&(a.callback=n),null!==(t=Ba(e,a,o))&&(nc(t,e,o,r),$a(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),o=za(n,r);o.tag=2,null!=t&&(o.callback=t),null!==(t=Ba(e,o,r))&&(nc(t,e,r,n),$a(t,e,r))}};function as(e,t,n,r,o,a,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,i):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(o,a))}function is(e,t,n){var r=!1,o=Po,a=t.contextType;return"object"==typeof a&&null!==a?a=Ia(a):(o=No(t)?Io:Co.current,a=(r=null!=(r=t.contextTypes))?Ao(e,o):Po),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=os,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=a),t}function ss(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&os.enqueueReplaceState(t,t.state,null)}function ls(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Fa(e);var a=t.contextType;"object"==typeof a&&null!==a?o.context=Ia(a):(a=No(t)?Io:Co.current,o.context=Ao(e,a)),o.state=e.memoizedState,"function"==typeof(a=t.getDerivedStateFromProps)&&(rs(e,t,a,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&os.enqueueReplaceState(o,o.state,null),Ha(e,n,o,r),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function cs(e,t){try{var n="",r=t;do{n+=$(r),r=r.return}while(r);var o=n}catch(a){o="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:o,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var ps="function"==typeof WeakMap?WeakMap:Map;function fs(e,t,n){(n=za(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ql||(Ql=!0,Vl=r),ds(0,t)},n}function gs(e,t,n){(n=za(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){ds(0,t)}}var a=e.stateNode;return null!==a&&"function"==typeof a.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof r&&(null===Zl?Zl=new Set([this]):Zl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function ms(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ps;var o=new Set;r.set(t,o)}else void 0===(o=r.get(t))&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=Ec.bind(null,e,t,n),t.then(e,e))}function bs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function hs(e,t,n,r,o){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=za(-1,1)).tag=2,Ba(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var ys=_.ReactCurrentOwner,vs=!1;function _s(e,t,n,r){t.child=null===e?xa(t,null,n,r):wa(t,e.child,n,r)}function ws(e,t,n,r,o){n=n.render;var a=t.ref;return Ta(t,o),r=bi(e,t,n,r,a,o),n=hi(),null===e||vs?(aa&&n&&ta(t),t.flags|=1,_s(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Qs(e,t,o))}function xs(e,t,n,r,o){if(null===e){var a=n.type;return"function"!=typeof a||Ac(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Lc(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Ss(e,t,a,r,o))}if(a=e.child,0==(e.lanes&o)){var i=a.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(i,r)&&e.ref===t.ref)return Qs(e,t,o)}return t.flags|=1,(e=Nc(a,r)).ref=t.ref,e.return=t,t.child=e}function Ss(e,t,n,r,o){if(null!==e){var a=e.memoizedProps;if(lr(a,r)&&e.ref===t.ref){if(vs=!1,t.pendingProps=r=a,0==(e.lanes&o))return t.lanes=e.lanes,Qs(e,t,o);0!=(131072&e.flags)&&(vs=!0)}}return Os(e,t,n,r,o)}function ks(e,t,n){var r=t.pendingProps,o=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},jo(Nl,Al),Al|=n;else{if(0==(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,jo(Nl,Al),Al|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,jo(Nl,Al),Al|=r}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,jo(Nl,Al),Al|=r;return _s(e,t,o,n),t.child}function Es(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Os(e,t,n,r,o){var a=No(n)?Io:Co.current;return a=Ao(t,a),Ta(t,o),n=bi(e,t,n,r,a,o),r=hi(),null===e||vs?(aa&&r&&ta(t),t.flags|=1,_s(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Qs(e,t,o))}function js(e,t,n,r,o){if(No(n)){var a=!0;Fo(t)}else a=!1;if(Ta(t,o),null===t.stateNode)Hs(e,t),is(t,n,r),ls(t,n,r,o),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=Ia(c):c=Ao(t,c=No(n)?Io:Co.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==c)&&ss(t,i,r,c),Da=!1;var p=t.memoizedState;i.state=p,Ha(t,r,i,o),l=t.memoizedState,s!==r||p!==l||To.current||Da?("function"==typeof u&&(rs(t,n,u,r),l=t.memoizedState),(s=Da||as(t,n,s,r,p,l,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=c,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Ma(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:ns(t.type,s),i.props=c,d=t.pendingProps,p=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=Ia(l):l=Ao(t,l=No(n)?Io:Co.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||p!==l)&&ss(t,i,r,l),Da=!1,p=t.memoizedState,i.state=p,Ha(t,r,i,o);var g=t.memoizedState;s!==d||p!==g||To.current||Da?("function"==typeof f&&(rs(t,n,f,r),g=t.memoizedState),(c=Da||as(t,n,c,r,p,g,l)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,g,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,g,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=g),i.props=r,i.state=g,i.context=l,r=c):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Ps(e,t,n,r,a,o)}function Ps(e,t,n,r,o,a){Es(e,t);var i=0!=(128&t.flags);if(!r&&!i)return o&&Mo(t,n,!1),Qs(e,t,a);r=t.stateNode,ys.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=wa(t,e.child,null,a),t.child=wa(t,null,s,a)):_s(e,t,s,a),t.memoizedState=r.state,o&&Mo(t,n,!0),t.child}function Cs(e){var t=e.stateNode;t.pendingContext?Ro(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Ro(0,t.context,!1),Ya(e,t.containerInfo)}function Ts(e,t,n,r,o){return ga(),ma(o),t.flags|=256,_s(e,t,n,r),t.child}var Is,As,Ns,Ls,Rs={dehydrated:null,treeContext:null,retryLane:0};function Ds(e){return{baseLanes:e,cachePool:null,transitions:null}}function Fs(e,t,n){var r,o=t.pendingProps,i=ei.current,s=!1,l=0!=(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!=(2&i)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),jo(ei,1&i),null===e)return ua(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=o.children,e=o.fallback,s?(o=t.mode,s=t.child,l={mode:"hidden",children:l},0==(1&o)&&null!==s?(s.childLanes=0,s.pendingProps=l):s=Dc(l,o,0,null),e=Rc(e,o,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ds(n),t.memoizedState=Rs,e):Ms(t,l));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,o,i,s){if(n)return 256&t.flags?(t.flags&=-257,zs(e,t,s,r=us(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=Dc({mode:"visible",children:r.children},o,0,null),(i=Rc(i,o,s,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,0!=(1&t.mode)&&wa(t,e.child,null,s),t.child.memoizedState=Ds(s),t.memoizedState=Rs,i);if(0==(1&t.mode))return zs(e,t,s,null);if("$!"===o.data){if(r=o.nextSibling&&o.nextSibling.dataset)var l=r.dgst;return r=l,zs(e,t,s,r=us(i=Error(a(419)),r,void 0))}if(l=0!=(s&e.childLanes),vs||l){if(null!==(r=Cl)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!=(o&(r.suspendedLanes|s))?0:o)&&o!==i.retryLane&&(i.retryLane=o,Ra(e,o),nc(r,e,o,-1))}return mc(),zs(e,t,s,r=us(Error(a(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=jc.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,oa=co(o.nextSibling),ra=t,aa=!0,ia=null,null!==e&&(qo[Go++]=Ko,qo[Go++]=Xo,qo[Go++]=Yo,Ko=e.id,Xo=e.overflow,Yo=t),t=Ms(t,r.children),t.flags|=4096,t)}(e,t,l,o,r,i,n);if(s){s=o.fallback,l=t.mode,r=(i=e.child).sibling;var c={mode:"hidden",children:o.children};return 0==(1&l)&&t.child!==i?((o=t.child).childLanes=0,o.pendingProps=c,t.deletions=null):(o=Nc(i,c)).subtreeFlags=14680064&i.subtreeFlags,null!==r?s=Nc(r,s):(s=Rc(s,l,n,null)).flags|=2,s.return=t,o.return=t,o.sibling=s,t.child=o,o=s,s=t.child,l=null===(l=e.child.memoizedState)?Ds(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=Rs,o}return e=(s=e.child).sibling,o=Nc(s,{mode:"visible",children:o.children}),0==(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Ms(e,t){return(t=Dc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function zs(e,t,n,r){return null!==r&&ma(r),wa(t,e.child,null,n),(e=Ms(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Ca(e.return,t,n)}function $s(e,t,n,r,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=o)}function Us(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;if(_s(e,t,r.children,n),0!=(2&(r=ei.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,n,t);else if(19===e.tag)Bs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(jo(ei,r),0==(1&t.mode))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),$s(t,!1,o,n,a);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ti(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}$s(t,!0,n,null,a);break;case"together":$s(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Hs(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Qs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Dl|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Nc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Nc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vs(e,t){if(!aa)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Zs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=14680064&o.subtreeFlags,r|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ws(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Zs(t),null;case 1:case 17:return No(t.type)&&Lo(),Zs(t),null;case 3:return r=t.stateNode,Ka(),Oo(To),Oo(Co),ri(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(pa(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==ia&&(ic(ia),ia=null))),As(e,t),Zs(t),null;case 5:Ja(t);var o=Ga(qa.current);if(n=t.type,null!==e&&null!=t.stateNode)Ns(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return Zs(t),null}if(e=Ga(Za.current),pa(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[fo]=t,r[go]=i,e=0!=(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(o=0;o<Rr.length;o++)zr(Rr[o],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":Y(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":oe(r,i),zr("invalid",r)}for(var l in ye(n,i),o=null,i)if(i.hasOwnProperty(l)){var c=i[l];"children"===l?"string"==typeof c?r.textContent!==c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),o=["children",""+c]):s.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&zr("scroll",r)}switch(n){case"input":Z(r),J(r,i,!0);break;case"textarea":Z(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=o,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[fo]=t,e[go]=r,Is(e,t,!1,!1),t.stateNode=e;e:{switch(l=ve(n,r),n){case"dialog":zr("cancel",e),zr("close",e),o=r;break;case"iframe":case"object":case"embed":zr("load",e),o=r;break;case"video":case"audio":for(o=0;o<Rr.length;o++)zr(Rr[o],e);o=r;break;case"source":zr("error",e),o=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),o=r;break;case"details":zr("toggle",e),o=r;break;case"input":Y(e,r),o=G(e,r),zr("invalid",e);break;case"option":default:o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=F({},r,{value:void 0}),zr("invalid",e);break;case"textarea":oe(e,r),o=re(e,r),zr("invalid",e)}for(i in ye(n,o),c=o)if(c.hasOwnProperty(i)){var u=c[i];"style"===i?be(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&zr("scroll",e):null!=u&&v(e,i,u,l))}switch(n){case"input":Z(e),J(e,r,!1);break;case"textarea":Z(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+Q(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Zs(t),null;case 6:if(e&&null!=t.stateNode)Ls(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(a(166));if(n=Ga(qa.current),Ga(Za.current),pa(t)){if(r=t.stateNode,n=t.memoizedProps,r[fo]=t,(i=r.nodeValue!==n)&&null!==(e=ra))switch(e.tag){case 3:Xr(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,0!=(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[fo]=t,t.stateNode=r}return Zs(t),null;case 13:if(Oo(ei),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(aa&&null!==oa&&0!=(1&t.mode)&&0==(128&t.flags))fa(),ga(),t.flags|=98560,i=!1;else if(i=pa(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(a(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(a(317));i[fo]=t}else ga(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Zs(t),i=!1}else null!==ia&&(ic(ia),ia=null),i=!0;if(!i)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&ei.current)?0===Ll&&(Ll=3):mc())),null!==t.updateQueue&&(t.flags|=4),Zs(t),null);case 4:return Ka(),As(e,t),null===e&&Ur(t.stateNode.containerInfo),Zs(t),null;case 10:return Pa(t.type._context),Zs(t),null;case 19:if(Oo(ei),null===(i=t.memoizedState))return Zs(t),null;if(r=0!=(128&t.flags),null===(l=i.rendering))if(r)Vs(i,!1);else{if(0!==Ll||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(l=ti(e))){for(t.flags|=128,Vs(i,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(l=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return jo(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Ke()>Ul&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ti(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!l.alternate&&!aa)return Zs(t),null}else 2*Ke()-i.renderingStartTime>Ul&&1073741824!==n&&(t.flags|=128,r=!0,Vs(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=i.last)?n.sibling=l:t.child=l,i.last=l)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ke(),t.sibling=null,n=ei.current,jo(ei,r?1&n|2:1&n),t):(Zs(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(1073741824&Al)&&(Zs(t),6&t.subtreeFlags&&(t.flags|=8192)):Zs(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function qs(e,t){switch(na(t),t.tag){case 1:return No(t.type)&&Lo(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Ka(),Oo(To),Oo(Co),ri(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Ja(t),null;case 13:if(Oo(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));ga()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Oo(ei),null;case 4:return Ka(),null;case 10:return Pa(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Is=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},As=function(){},Ns=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Ga(Za.current);var a,i=null;switch(n){case"input":o=G(e,o),r=G(e,r),i=[];break;case"select":o=F({},o,{value:void 0}),r=F({},r,{value:void 0}),i=[];break;case"textarea":o=re(e,o),r=re(e,r),i=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(u in ye(n,r),n=null,o)if(!r.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var l=o[u];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=o?o[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(i||(i=[]),i.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(i=i||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(i=i||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&zr("scroll",e),i||l===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Ls=function(e,t,n,r){n!==r&&(t.flags|=4)};var Gs=!1,Ys=!1,Ks="function"==typeof WeakSet?WeakSet:Set,Xs=null;function Js(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){kc(e,t,r)}else n.current=null}function el(e,t,n){try{n()}catch(r){kc(e,t,r)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var o=r=r.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,void 0!==a&&el(t,n,a)}o=o.next}while(o!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ol(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function al(e){var t=e.alternate;null!==t&&(e.alternate=null,al(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[fo],delete t[go],delete t[bo],delete t[ho],delete t[yo])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function il(e){return 5===e.tag||3===e.tag||4===e.tag}function sl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||il(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,dl=!1;function pl(e,t,n){for(n=n.child;null!==n;)fl(e,t,n),n=n.sibling}function fl(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(ot,n)}catch(s){}switch(n.tag){case 5:Ys||Js(n,t);case 6:var r=ul,o=dl;ul=null,pl(e,t,n),dl=o,null!==(ul=r)&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?lo(e.parentNode,n):1===e.nodeType&&lo(e,n),Ut(e)):lo(ul,n.stateNode));break;case 4:r=ul,o=dl,ul=n.stateNode.containerInfo,dl=!0,pl(e,t,n),ul=r,dl=o;break;case 0:case 11:case 14:case 15:if(!Ys&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){o=r=r.next;do{var a=o,i=a.destroy;a=a.tag,void 0!==i&&(0!=(2&a)||0!=(4&a))&&el(n,t,i),o=o.next}while(o!==r)}pl(e,t,n);break;case 1:if(!Ys&&(Js(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){kc(n,t,s)}pl(e,t,n);break;case 21:pl(e,t,n);break;case 22:1&n.mode?(Ys=(r=Ys)||null!==n.memoizedState,pl(e,t,n),Ys=r):pl(e,t,n);break;default:pl(e,t,n)}}function gl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ks),t.forEach((function(t){var r=Pc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function ml(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var o=n[r];try{var i=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(a(160));fl(i,s,o),ul=null,dl=!1;var c=o.alternate;null!==c&&(c.return=null),o.return=null}catch(u){kc(o,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)bl(t,e),t=t.sibling}function bl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(ml(t,e),hl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(b){kc(e,e.return,b)}try{nl(5,e,e.return)}catch(b){kc(e,e.return,b)}}break;case 1:ml(t,e),hl(e),512&r&&null!==n&&Js(n,n.return);break;case 5:if(ml(t,e),hl(e),512&r&&null!==n&&Js(n,n.return),32&e.flags){var o=e.stateNode;try{pe(o,"")}catch(b){kc(e,e.return,b)}}if(4&r&&null!=(o=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===i.type&&null!=i.name&&K(o,i),ve(l,s);var u=ve(l,i);for(s=0;s<c.length;s+=2){var d=c[s],p=c[s+1];"style"===d?be(o,p):"dangerouslySetInnerHTML"===d?de(o,p):"children"===d?pe(o,p):v(o,d,p,u)}switch(l){case"input":X(o,i);break;case"textarea":ae(o,i);break;case"select":var f=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var g=i.value;null!=g?ne(o,!!i.multiple,g,!1):f!==!!i.multiple&&(null!=i.defaultValue?ne(o,!!i.multiple,i.defaultValue,!0):ne(o,!!i.multiple,i.multiple?[]:"",!1))}o[go]=i}catch(b){kc(e,e.return,b)}}break;case 6:if(ml(t,e),hl(e),4&r){if(null===e.stateNode)throw Error(a(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(b){kc(e,e.return,b)}}break;case 3:if(ml(t,e),hl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(b){kc(e,e.return,b)}break;case 4:default:ml(t,e),hl(e);break;case 13:ml(t,e),hl(e),8192&(o=e.child).flags&&(i=null!==o.memoizedState,o.stateNode.isHidden=i,!i||null!==o.alternate&&null!==o.alternate.memoizedState||($l=Ke())),4&r&&gl(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ys=(u=Ys)||d,ml(t,e),Ys=u):ml(t,e),hl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&0!=(1&e.mode))for(Xs=e,d=e.child;null!==d;){for(p=Xs=d;null!==Xs;){switch(g=(f=Xs).child,f.tag){case 0:case 11:case 14:case 15:nl(4,f,f.return);break;case 1:Js(f,f.return);var m=f.stateNode;if("function"==typeof m.componentWillUnmount){r=f,n=f.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(b){kc(r,n,b)}}break;case 5:Js(f,f.return);break;case 22:if(null!==f.memoizedState){wl(p);continue}}null!==g?(g.return=f,Xs=g):wl(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{o=p.stateNode,u?"function"==typeof(i=o.style).setProperty?i.setProperty("display","none","important"):i.display="none":(l=p.stateNode,s=null!=(c=p.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=me("display",s))}catch(b){kc(e,e.return,b)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(b){kc(e,e.return,b)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:ml(t,e),hl(e),4&r&&gl(e);case 21:}}function hl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(il(n)){var r=n;break e}n=n.return}throw Error(a(160))}switch(r.tag){case 5:var o=r.stateNode;32&r.flags&&(pe(o,""),r.flags&=-33),cl(e,sl(e),o);break;case 3:case 4:var i=r.stateNode.containerInfo;ll(e,sl(e),i);break;default:throw Error(a(161))}}catch(s){kc(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yl(e,t,n){Xs=e,vl(e,t,n)}function vl(e,t,n){for(var r=0!=(1&e.mode);null!==Xs;){var o=Xs,a=o.child;if(22===o.tag&&r){var i=null!==o.memoizedState||Gs;if(!i){var s=o.alternate,l=null!==s&&null!==s.memoizedState||Ys;s=Gs;var c=Ys;if(Gs=i,(Ys=l)&&!c)for(Xs=o;null!==Xs;)l=(i=Xs).child,22===i.tag&&null!==i.memoizedState?xl(o):null!==l?(l.return=i,Xs=l):xl(o);for(;null!==a;)Xs=a,vl(a,t,n),a=a.sibling;Xs=o,Gs=s,Ys=c}_l(e)}else 0!=(8772&o.subtreeFlags)&&null!==a?(a.return=o,Xs=a):_l(e)}}function _l(e){for(;null!==Xs;){var t=Xs;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Ys||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ys)if(null===n)r.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);r.componentDidUpdate(o,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Qa(t,i,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Qa(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Ut(p)}}}break;default:throw Error(a(163))}Ys||512&t.flags&&ol(t)}catch(f){kc(t,t.return,f)}}if(t===e){Xs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Xs=n;break}Xs=t.return}}function wl(e){for(;null!==Xs;){var t=Xs;if(t===e){Xs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Xs=n;break}Xs=t.return}}function xl(e){for(;null!==Xs;){var t=Xs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){kc(t,n,l)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var o=t.return;try{r.componentDidMount()}catch(l){kc(t,o,l)}}var a=t.return;try{ol(t)}catch(l){kc(t,a,l)}break;case 5:var i=t.return;try{ol(t)}catch(l){kc(t,i,l)}}}catch(l){kc(t,t.return,l)}if(t===e){Xs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Xs=s;break}Xs=t.return}}var Sl,kl=Math.ceil,El=_.ReactCurrentDispatcher,Ol=_.ReactCurrentOwner,jl=_.ReactCurrentBatchConfig,Pl=0,Cl=null,Tl=null,Il=0,Al=0,Nl=Eo(0),Ll=0,Rl=null,Dl=0,Fl=0,Ml=0,zl=null,Bl=null,$l=0,Ul=1/0,Hl=null,Ql=!1,Vl=null,Zl=null,Wl=!1,ql=null,Gl=0,Yl=0,Kl=null,Xl=-1,Jl=0;function ec(){return 0!=(6&Pl)?Ke():-1!==Xl?Xl:Xl=Ke()}function tc(e){return 0==(1&e.mode)?1:0!=(2&Pl)&&0!==Il?Il&-Il:null!==ba.transition?(0===Jl&&(Jl=mt()),Jl):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Yt(e.type)}function nc(e,t,n,r){if(50<Yl)throw Yl=0,Kl=null,Error(a(185));ht(e,n,r),0!=(2&Pl)&&e===Cl||(e===Cl&&(0==(2&Pl)&&(Fl|=n),4===Ll&&sc(e,Il)),rc(e,r),1===n&&0===Pl&&0==(1&t.mode)&&(Ul=Ke()+500,Bo&&Ho()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes;0<a;){var i=31-it(a),s=1<<i,l=o[i];-1===l?0!=(s&n)&&0==(s&r)||(o[i]=ft(s,t)):l<=t&&(e.expiredLanes|=s),a&=~s}}(e,t);var r=pt(e,e===Cl?Il:0);if(0===r)null!==n&&qe(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&qe(n),1===t)0===e.tag?function(e){Bo=!0,Uo(e)}(lc.bind(null,e)):Uo(lc.bind(null,e)),io((function(){0==(6&Pl)&&Ho()})),n=null;else{switch(_t(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Cc(n,oc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function oc(e,t){if(Xl=-1,Jl=0,0!=(6&Pl))throw Error(a(327));var n=e.callbackNode;if(xc()&&e.callbackNode!==n)return null;var r=pt(e,e===Cl?Il:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=bc(e,r);else{t=r;var o=Pl;Pl|=2;var i=gc();for(Cl===e&&Il===t||(Hl=null,Ul=Ke()+500,pc(e,t));;)try{yc();break}catch(l){fc(e,l)}ja(),El.current=i,Pl=o,null!==Tl?t=0:(Cl=null,Il=0,t=Ll)}if(0!==t){if(2===t&&(0!==(o=gt(e))&&(r=o,t=ac(e,o))),1===t)throw n=Rl,pc(e,0),sc(e,r),rc(e,Ke()),n;if(6===t)sc(e,r);else{if(o=e.current.alternate,0==(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!sr(a(),o))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)&&(2===(t=bc(e,r))&&(0!==(i=gt(e))&&(r=i,t=ac(e,i))),1===t))throw n=Rl,pc(e,0),sc(e,r),rc(e,Ke()),n;switch(e.finishedWork=o,e.finishedLanes=r,t){case 0:case 1:throw Error(a(345));case 2:case 5:wc(e,Bl,Hl);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=$l+500-Ke())){if(0!==pt(e,0))break;if(((o=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ro(wc.bind(null,e,Bl,Hl),t);break}wc(e,Bl,Hl);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,o=-1;0<r;){var s=31-it(r);i=1<<s,(s=t[s])>o&&(o=s),r&=~i}if(r=o,10<(r=(120>(r=Ke()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*kl(r/1960))-r)){e.timeoutHandle=ro(wc.bind(null,e,Bl,Hl),r);break}wc(e,Bl,Hl);break;default:throw Error(a(329))}}}return rc(e,Ke()),e.callbackNode===n?oc.bind(null,e):null}function ac(e,t){var n=zl;return e.current.memoizedState.isDehydrated&&(pc(e,t).flags|=256),2!==(e=bc(e,t))&&(t=Bl,Bl=n,null!==t&&ic(t)),e}function ic(e){null===Bl?Bl=e:Bl.push.apply(Bl,e)}function sc(e,t){for(t&=~Ml,t&=~Fl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(0!=(6&Pl))throw Error(a(327));xc();var t=pt(e,0);if(0==(1&t))return rc(e,Ke()),null;var n=bc(e,t);if(0!==e.tag&&2===n){var r=gt(e);0!==r&&(t=r,n=ac(e,r))}if(1===n)throw n=Rl,pc(e,0),sc(e,t),rc(e,Ke()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wc(e,Bl,Hl),rc(e,Ke()),null}function cc(e,t){var n=Pl;Pl|=1;try{return e(t)}finally{0===(Pl=n)&&(Ul=Ke()+500,Bo&&Ho())}}function uc(e){null!==ql&&0===ql.tag&&0==(6&Pl)&&xc();var t=Pl;Pl|=1;var n=jl.transition,r=vt;try{if(jl.transition=null,vt=1,e)return e()}finally{vt=r,jl.transition=n,0==(6&(Pl=t))&&Ho()}}function dc(){Al=Nl.current,Oo(Nl)}function pc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Tl)for(n=Tl.return;null!==n;){var r=n;switch(na(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Lo();break;case 3:Ka(),Oo(To),Oo(Co),ri();break;case 5:Ja(r);break;case 4:Ka();break;case 13:case 19:Oo(ei);break;case 10:Pa(r.type._context);break;case 22:case 23:dc()}n=n.return}if(Cl=e,Tl=e=Nc(e.current,null),Il=Al=t,Ll=0,Rl=null,Ml=Fl=Dl=0,Bl=zl=null,null!==Aa){for(t=0;t<Aa.length;t++)if(null!==(r=(n=Aa[t]).interleaved)){n.interleaved=null;var o=r.next,a=n.pending;if(null!==a){var i=a.next;a.next=o,r.next=i}n.pending=r}Aa=null}return e}function fc(e,t){for(;;){var n=Tl;try{if(ja(),oi.current=Xi,ui){for(var r=si.memoizedState;null!==r;){var o=r.queue;null!==o&&(o.pending=null),r=r.next}ui=!1}if(ii=0,ci=li=si=null,di=!1,pi=0,Ol.current=null,null===n||null===n.return){Ll=1,Rl=t,Tl=null;break}e:{var i=e,s=n.return,l=n,c=t;if(t=Il,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=l,p=d.tag;if(0==(1&d.mode)&&(0===p||11===p||15===p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var g=bs(s);if(null!==g){g.flags&=-257,hs(g,s,l,0,t),1&g.mode&&ms(i,u,t),c=u;var m=(t=g).updateQueue;if(null===m){var b=new Set;b.add(c),t.updateQueue=b}else m.add(c);break e}if(0==(1&t)){ms(i,u,t),mc();break e}c=Error(a(426))}else if(aa&&1&l.mode){var h=bs(s);if(null!==h){0==(65536&h.flags)&&(h.flags|=256),hs(h,s,l,0,t),ma(cs(c,l));break e}}i=c=cs(c,l),4!==Ll&&(Ll=2),null===zl?zl=[i]:zl.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,fs(0,c,t));break e;case 1:l=c;var y=i.type,v=i.stateNode;if(0==(128&i.flags)&&("function"==typeof y.getDerivedStateFromError||null!==v&&"function"==typeof v.componentDidCatch&&(null===Zl||!Zl.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t,Ua(i,gs(i,l,t));break e}}i=i.return}while(null!==i)}_c(n)}catch(_){t=_,Tl===n&&null!==n&&(Tl=n=n.return);continue}break}}function gc(){var e=El.current;return El.current=Xi,null===e?Xi:e}function mc(){0!==Ll&&3!==Ll&&2!==Ll||(Ll=4),null===Cl||0==(268435455&Dl)&&0==(268435455&Fl)||sc(Cl,Il)}function bc(e,t){var n=Pl;Pl|=2;var r=gc();for(Cl===e&&Il===t||(Hl=null,pc(e,t));;)try{hc();break}catch(o){fc(e,o)}if(ja(),Pl=n,El.current=r,null!==Tl)throw Error(a(261));return Cl=null,Il=0,Ll}function hc(){for(;null!==Tl;)vc(Tl)}function yc(){for(;null!==Tl&&!Ge();)vc(Tl)}function vc(e){var t=Sl(e.alternate,e,Al);e.memoizedProps=e.pendingProps,null===t?_c(e):Tl=t,Ol.current=null}function _c(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=Ws(n,t,Al)))return void(Tl=n)}else{if(null!==(n=qs(n,t)))return n.flags&=32767,void(Tl=n);if(null===e)return Ll=6,void(Tl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Tl=t);Tl=t=e}while(null!==t);0===Ll&&(Ll=5)}function wc(e,t,n){var r=vt,o=jl.transition;try{jl.transition=null,vt=1,function(e,t,n,r){do{xc()}while(null!==ql);if(0!=(6&Pl))throw Error(a(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-it(n),a=1<<o;t[o]=0,r[o]=-1,e[o]=-1,n&=~a}}(e,i),e===Cl&&(Tl=Cl=null,Il=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Wl||(Wl=!0,Cc(tt,(function(){return xc(),null}))),i=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||i){i=jl.transition,jl.transition=null;var s=vt;vt=1;var l=Pl;Pl|=4,Ol.current=null,function(e,t){if(eo=Qt,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(w){n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,p=e,f=null;t:for(;;){for(var g;p!==n||0!==o&&3!==p.nodeType||(l=s+o),p!==i||0!==r&&3!==p.nodeType||(c=s+r),3===p.nodeType&&(s+=p.nodeValue.length),null!==(g=p.firstChild);)f=p,p=g;for(;;){if(p===e)break t;if(f===n&&++u===o&&(l=s),f===i&&++d===r&&(c=s),null!==(g=p.nextSibling))break;f=(p=f).parentNode}p=g}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Qt=!1,Xs=t;null!==Xs;)if(e=(t=Xs).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Xs=e;else for(;null!==Xs;){t=Xs;try{var m=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var b=m.memoizedProps,h=m.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?b:ns(t.type,b),h);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var _=t.stateNode.containerInfo;1===_.nodeType?_.textContent="":9===_.nodeType&&_.documentElement&&_.removeChild(_.documentElement);break;default:throw Error(a(163))}}catch(w){kc(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,Xs=e;break}Xs=t.return}m=tl,tl=!1}(e,n),bl(n,e),gr(to),Qt=!!eo,to=eo=null,e.current=n,yl(n,e,o),Ye(),Pl=l,vt=s,jl.transition=i}else e.current=n;if(Wl&&(Wl=!1,ql=e,Gl=o),i=e.pendingLanes,0===i&&(Zl=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(ot,e,void 0,128==(128&e.current.flags))}catch(t){}}(n.stateNode),rc(e,Ke()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)o=t[n],r(o.value,{componentStack:o.stack,digest:o.digest});if(Ql)throw Ql=!1,e=Vl,Vl=null,e;0!=(1&Gl)&&0!==e.tag&&xc(),i=e.pendingLanes,0!=(1&i)?e===Kl?Yl++:(Yl=0,Kl=e):Yl=0,Ho()}(e,t,n,r)}finally{jl.transition=o,vt=r}return null}function xc(){if(null!==ql){var e=_t(Gl),t=jl.transition,n=vt;try{if(jl.transition=null,vt=16>e?16:e,null===ql)var r=!1;else{if(e=ql,ql=null,Gl=0,0!=(6&Pl))throw Error(a(331));var o=Pl;for(Pl|=4,Xs=e.current;null!==Xs;){var i=Xs,s=i.child;if(0!=(16&Xs.flags)){var l=i.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Xs=u;null!==Xs;){var d=Xs;switch(d.tag){case 0:case 11:case 15:nl(8,d,i)}var p=d.child;if(null!==p)p.return=d,Xs=p;else for(;null!==Xs;){var f=(d=Xs).sibling,g=d.return;if(al(d),d===u){Xs=null;break}if(null!==f){f.return=g,Xs=f;break}Xs=g}}}var m=i.alternate;if(null!==m){var b=m.child;if(null!==b){m.child=null;do{var h=b.sibling;b.sibling=null,b=h}while(null!==b)}}Xs=i}}if(0!=(2064&i.subtreeFlags)&&null!==s)s.return=i,Xs=s;else e:for(;null!==Xs;){if(0!=(2048&(i=Xs).flags))switch(i.tag){case 0:case 11:case 15:nl(9,i,i.return)}var y=i.sibling;if(null!==y){y.return=i.return,Xs=y;break e}Xs=i.return}}var v=e.current;for(Xs=v;null!==Xs;){var _=(s=Xs).child;if(0!=(2064&s.subtreeFlags)&&null!==_)_.return=s,Xs=_;else e:for(s=v;null!==Xs;){if(0!=(2048&(l=Xs).flags))try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(x){kc(l,l.return,x)}if(l===s){Xs=null;break e}var w=l.sibling;if(null!==w){w.return=l.return,Xs=w;break e}Xs=l.return}}if(Pl=o,Ho(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(ot,e)}catch(x){}r=!0}return r}finally{vt=n,jl.transition=t}}return!1}function Sc(e,t,n){e=Ba(e,t=fs(0,t=cs(n,t),1),1),t=ec(),null!==e&&(ht(e,1,t),rc(e,t))}function kc(e,t,n){if(3===e.tag)Sc(e,e,n);else for(;null!==t;){if(3===t.tag){Sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Zl||!Zl.has(r))){t=Ba(t,e=gs(t,e=cs(n,e),1),1),e=ec(),null!==t&&(ht(t,1,e),rc(t,e));break}}t=t.return}}function Ec(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,Cl===e&&(Il&n)===n&&(4===Ll||3===Ll&&(130023424&Il)===Il&&500>Ke()-$l?pc(e,0):Ml|=n),rc(e,t)}function Oc(e,t){0===t&&(0==(1&e.mode)?t=1:(t=ut,0==(130023424&(ut<<=1))&&(ut=4194304)));var n=ec();null!==(e=Ra(e,t))&&(ht(e,t,n),rc(e,n))}function jc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Oc(e,n)}function Pc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Oc(e,n)}function Cc(e,t){return We(e,t)}function Tc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ic(e,t,n,r){return new Tc(e,t,n,r)}function Ac(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Nc(e,t){var n=e.alternate;return null===n?((n=Ic(e.tag,t,e.key,e.mode)).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=14680064&e.flags,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=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Lc(e,t,n,r,o,i){var s=2;if(r=e,"function"==typeof e)Ac(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case S:return Rc(n.children,o,i,t);case k:s=8,o|=8;break;case E:return(e=Ic(12,n,t,2|o)).elementType=E,e.lanes=i,e;case C:return(e=Ic(13,n,t,o)).elementType=C,e.lanes=i,e;case T:return(e=Ic(19,n,t,o)).elementType=T,e.lanes=i,e;case N:return Dc(n,o,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case O:s=10;break e;case j:s=9;break e;case P:s=11;break e;case I:s=14;break e;case A:s=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Ic(s,n,t,o)).elementType=e,t.type=r,t.lanes=i,t}function Rc(e,t,n,r){return(e=Ic(7,e,r,t)).lanes=n,e}function Dc(e,t,n,r){return(e=Ic(22,e,r,t)).elementType=N,e.lanes=n,e.stateNode={isHidden:!1},e}function Fc(e,t,n){return(e=Ic(6,e,null,t)).lanes=n,e}function Mc(e,t,n){return(t=Ic(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function zc(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bt(0),this.expirationTimes=bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bt(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bc(e,t,n,r,o,a,i,s,l){return e=new zc(e,t,n,s,l),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Ic(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Fa(a),e}function $c(e){if(!e)return Po;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(No(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(No(n))return Do(e,n,t)}return t}function Uc(e,t,n,r,o,a,i,s,l){return(e=Bc(n,r,!0,e,0,a,0,s,l)).context=$c(null),n=e.current,(a=za(r=ec(),o=tc(n))).callback=null!=t?t:null,Ba(n,a,o),e.current.lanes=o,ht(e,o,r),rc(e,r),e}function Hc(e,t,n,r){var o=t.current,a=ec(),i=tc(o);return n=$c(n),null===t.context?t.context=n:t.pendingContext=n,(t=za(a,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ba(o,t,i))&&(nc(e,o,i,a),$a(e,o,i)),i}function Qc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Zc(e,t){Vc(e,t),(e=e.alternate)&&Vc(e,t)}Sl=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||To.current)vs=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return vs=!1,function(e,t,n){switch(t.tag){case 3:Cs(t),ga();break;case 5:Xa(t);break;case 1:No(t.type)&&Fo(t);break;case 4:Ya(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;jo(Sa,r._currentValue),r._currentValue=o;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(jo(ei,1&ei.current),t.flags|=128,null):0!=(n&t.child.childLanes)?Fs(e,t,n):(jo(ei,1&ei.current),null!==(e=Qs(e,t,n))?e.sibling:null);jo(ei,1&ei.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return Us(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),jo(ei,ei.current),r)break;return null;case 22:case 23:return t.lanes=0,ks(e,t,n)}return Qs(e,t,n)}(e,t,n);vs=0!=(131072&e.flags)}else vs=!1,aa&&0!=(1048576&t.flags)&&ea(t,Wo,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Hs(e,t),e=t.pendingProps;var o=Ao(t,Co.current);Ta(t,n),o=bi(null,t,r,e,o,n);var i=hi();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,No(r)?(i=!0,Fo(t)):i=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Fa(t),o.updater=os,t.stateNode=o,o._reactInternals=t,ls(t,r,e,n),t=Ps(null,t,r,!0,i,n)):(t.tag=0,aa&&i&&ta(t),_s(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Hs(e,t),e=t.pendingProps,r=(o=r._init)(r._payload),t.type=r,o=t.tag=function(e){if("function"==typeof e)return Ac(e)?1:0;if(null!=e){if((e=e.$$typeof)===P)return 11;if(e===I)return 14}return 2}(r),e=ns(r,e),o){case 0:t=Os(null,t,r,e,n);break e;case 1:t=js(null,t,r,e,n);break e;case 11:t=ws(null,t,r,e,n);break e;case 14:t=xs(null,t,r,ns(r.type,e),n);break e}throw Error(a(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,Os(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 1:return r=t.type,o=t.pendingProps,js(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 3:e:{if(Cs(t),null===e)throw Error(a(387));r=t.pendingProps,o=(i=t.memoizedState).element,Ma(e,t),Ha(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Ts(e,t,r,n,o=cs(Error(a(423)),t));break e}if(r!==o){t=Ts(e,t,r,n,o=cs(Error(a(424)),t));break e}for(oa=co(t.stateNode.containerInfo.firstChild),ra=t,aa=!0,ia=null,n=xa(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ga(),r===o){t=Qs(e,t,n);break e}_s(e,t,r,n)}t=t.child}return t;case 5:return Xa(t),null===e&&ua(t),r=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,s=o.children,no(r,o)?s=null:null!==i&&no(r,i)&&(t.flags|=32),Es(e,t),_s(e,t,s,n),t.child;case 6:return null===e&&ua(t),null;case 13:return Fs(e,t,n);case 4:return Ya(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=wa(t,null,r,n):_s(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,ws(e,t,r,o=t.elementType===r?o:ns(r,o),n);case 7:return _s(e,t,t.pendingProps,n),t.child;case 8:case 12:return _s(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,jo(Sa,r._currentValue),r._currentValue=s,null!==i)if(sr(i.value,s)){if(i.children===o.children&&!To.current){t=Qs(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var l=i.dependencies;if(null!==l){s=i.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===i.tag){(c=za(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),Ca(i.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(a(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),Ca(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}_s(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Ta(t,n),r=r(o=Ia(o)),t.flags|=1,_s(e,t,r,n),t.child;case 14:return o=ns(r=t.type,t.pendingProps),xs(e,t,r,o=ns(r.type,o),n);case 15:return Ss(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ns(r,o),Hs(e,t),t.tag=1,No(r)?(e=!0,Fo(t)):e=!1,Ta(t,n),is(t,r,o),ls(t,r,o,n),Ps(null,t,r,!0,e,n);case 19:return Us(e,t,n);case 22:return ks(e,t,n)}throw Error(a(156,t.tag))};var Wc="function"==typeof reportError?reportError:function(e){console.error(e)};function qc(e){this._internalRoot=e}function Gc(e){this._internalRoot=e}function Yc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Kc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Xc(){}function Jc(e,t,n,r,o){var a=n._reactRootContainer;if(a){var i=a;if("function"==typeof o){var s=o;o=function(){var e=Qc(i);s.call(e)}}Hc(t,i,e,o)}else i=function(e,t,n,r,o){if(o){if("function"==typeof r){var a=r;r=function(){var e=Qc(i);a.call(e)}}var i=Uc(t,r,e,0,null,!1,0,"",Xc);return e._reactRootContainer=i,e[mo]=i.current,Ur(8===e.nodeType?e.parentNode:e),uc(),i}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof r){var s=r;r=function(){var e=Qc(l);s.call(e)}}var l=Bc(e,0,!1,null,0,!1,0,"",Xc);return e._reactRootContainer=l,e[mo]=l.current,Ur(8===e.nodeType?e.parentNode:e),uc((function(){Hc(t,l,n,r)})),l}(n,t,e,o,r);return Qc(i)}Gc.prototype.render=qc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));Hc(e,t,null,null)},Gc.prototype.unmount=qc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){Hc(null,e,null,null)})),t[mo]=null}},Gc.prototype.unstable_scheduleHydration=function(e){if(e){var t=kt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Nt.length&&0!==t&&t<Nt[n].priority;n++);Nt.splice(n,0,e),0===n&&Ft(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),rc(t,Ke()),0==(6&Pl)&&(Ul=Ke()+500,Ho()))}break;case 13:uc((function(){var t=Ra(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Zc(e,1)}},xt=function(e){if(13===e.tag){var t=Ra(e,134217728);if(null!==t)nc(t,e,134217728,ec());Zc(e,134217728)}},St=function(e){if(13===e.tag){var t=tc(e),n=Ra(e,t);if(null!==n)nc(n,e,t,ec());Zc(e,t)}},kt=function(){return vt},Et=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=xo(r);if(!o)throw Error(a(90));W(r),X(r,o)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Pe=cc,Ce=uc;var eu={usingClientEntryPoint:!1,Events:[_o,wo,xo,Oe,je,cc]},tu={findFiberByHostInstance:vo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:_.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{ot=ru.inject(nu),at=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yc(t))throw Error(a(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Yc(e))throw Error(a(299));var n=!1,r="",o=Wc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Bc(e,1,!1,null,0,n,0,r,o),e[mo]=t.current,Ur(8===e.nodeType?e.parentNode:e),new qc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Kc(t))throw Error(a(200));return Jc(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Yc(e))throw Error(a(405));var r=null!=n&&n.hydratedSources||null,o=!1,i="",s=Wc;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Uc(t,null,e,1,null!=n?n:null,o,0,i,s),e[mo]=t.current,Ur(e),r)for(e=0;e<r.length;e++)o=(o=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Gc(t)},t.render=function(e,t,n){if(!Kc(t))throw Error(a(200));return Jc(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Kc(e))throw Error(a(40));return!!e._reactRootContainer&&(uc((function(){Jc(null,null,e,!1,(function(){e._reactRootContainer=null,e[mo]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Kc(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return Jc(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},8751:(e,t,n)=>{"use strict";var r=n(967);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},967:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(6521)},5154:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,o="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,c,u;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!a(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;for(u=e.entries();!(l=u.next()).done;)if(!a(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(o&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,c[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!e.$$typeof)&&!a(e[c[l]],i[c[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return a(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},3810:(e,t,n)=>{"use strict";n.d(t,{B6:()=>V,ql:()=>J});var r=n(5271),o=n(507),a=n.n(o),i=n(5154),s=n.n(i),l=n(3670),c=n.n(l),u=n(631),d=n.n(u);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,g(e,t)}function g(e,t){return g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},g(e,t)}function m(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(o[n]=e[n]);return o}var b={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},h={rel:["amphtml","canonical","alternate"]},y={type:["application/ld+json"]},v={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},_=Object.keys(b).map((function(e){return b[e]})),w={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(w).reduce((function(e,t){return e[w[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},k=function(e){var t=S(e,b.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},E=function(e){return S(e,"onChangeClientState")||function(){}},O=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},j=function(e,t){return t.filter((function(e){return void 0!==e[b.BASE]})).map((function(e){return e[b.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o+=1){var a=r[o].toLowerCase();if(-1!==e.indexOf(a)&&n[a])return t.concat(n)}return t}),[])},P=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n,a=Object.keys(e),i=0;i<a.length;i+=1){var s=a[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][c]&&(o[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var a=Object.keys(o),i=0;i<a.length;i+=1){var s=a[i],l=p({},r[s],o[s]);r[s]=l}return e}),[]).reverse()},C=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},T=function(e){return Array.isArray(e)?e.join(""):e},I=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},A=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},N=[b.NOSCRIPT,b.SCRIPT,b.STYLE],L=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},R=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},D=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[w[n]||n]=e[n],t}),t)},F=function(e,t){return t.map((function(t,n){var o,a=((o={key:n})["data-rh"]=!0,o);return Object.keys(t).forEach((function(e){var n=w[e]||e;"innerHTML"===n||"cssText"===n?a.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:a[n]=t[e]})),r.createElement(e,a)}))},M=function(e,t,n){switch(e){case b.TITLE:return{toComponent:function(){return n=t.titleAttributes,(o={key:e=t.title})["data-rh"]=!0,a=D(n,o),[r.createElement(b.TITLE,a,e)];var e,n,o,a},toString:function(){return function(e,t,n,r){var o=R(n),a=T(t);return o?"<"+e+' data-rh="true" '+o+">"+L(a,r)+"</"+e+">":"<"+e+' data-rh="true">'+L(a,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return D(t)},toString:function(){return R(t)}};default:return{toComponent:function(){return F(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+L(r[t],n)+'"';return e?e+" "+o:o}),""),a=r.innerHTML||r.cssText||"",i=-1===N.indexOf(e);return t+"<"+e+' data-rh="true" '+o+(i?"/>":">"+a+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,a=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var g=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,o=I(e.metaTags,v),a=I(t,h),i=I(n,y);return{priorityMethods:{toComponent:function(){return[].concat(F(b.META,o.priority),F(b.LINK,a.priority),F(b.SCRIPT,i.priority))},toString:function(){return M(b.META,o.priority,r)+" "+M(b.LINK,a.priority,r)+" "+M(b.SCRIPT,i.priority,r)}},metaTags:o.default,linkTags:a.default,scriptTags:i.default}}(e);f=g.priorityMethods,u=g.linkTags,d=g.metaTags,p=g.scriptTags}return{priority:f,base:M(b.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",o,r),link:M(b.LINK,u,r),meta:M(b.META,d,r),noscript:M(b.NOSCRIPT,a,r),script:M(b.SCRIPT,p,r),style:M(b.STYLE,i,r),title:M(b.TITLE,{title:l,titleAttributes:c},r)}},B=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),H=a().shape({setHelmet:a().func,helmetInstances:a().shape({get:a().func,add:a().func,remove:a().func})}),Q="undefined"!=typeof document,V=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);V.canUseDOM=Q,V.propTypes={context:a().shape({helmet:a().shape()}),children:a().node.isRequired},V.defaultProps={context:{}},V.displayName="HelmetProvider";var Z=function(e,t){var n,r=document.head||document.querySelector(b.HEAD),o=r.querySelectorAll(e+"[data-rh]"),a=[].slice.call(o),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&("innerHTML"===o?r.innerHTML=t.innerHTML:"cssText"===o?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(o,void 0===t[o]?"":t[o]));r.setAttribute("data-rh","true"),a.some((function(e,t){return n=t,r.isEqualNode(e)}))?a.splice(n,1):i.push(r)})),a.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:a,newTags:i}},W=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),o=r?r.split(","):[],a=[].concat(o),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],c=t[l]||"";n.getAttribute(l)!==c&&n.setAttribute(l,c),-1===o.indexOf(l)&&o.push(l);var u=a.indexOf(l);-1!==u&&a.splice(u,1)}for(var d=a.length-1;d>=0;d-=1)n.removeAttribute(a[d]);o.length===a.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},q=function(e,t){var n=e.baseTag,r=e.htmlAttributes,o=e.linkTags,a=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;W(b.BODY,e.bodyAttributes),W(b.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=T(e)),W(b.TITLE,t)}(u,d);var p={baseTag:Z(b.BASE,n),linkTags:Z(b.LINK,o),metaTags:Z(b.META,a),noscriptTags:Z(b.NOSCRIPT,i),scriptTags:Z(b.SCRIPT,l),styleTags:Z(b.STYLE,c)},f={},g={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(g[e]=p[e].oldTags)})),t&&t(),s(e,f,g)},G=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,o=null,a=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:j(["href"],e),bodyAttributes:O("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:O("htmlAttributes",e),linkTags:P(b.LINK,["rel","href"],e),metaTags:P(b.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:P(b.NOSCRIPT,["innerHTML"],e),onChangeClientState:E(e),scriptTags:P(b.SCRIPT,["src","innerHTML"],e),styleTags:P(b.STYLE,["cssText"],e),title:k(e),titleAttributes:O("titleAttributes",e),prioritizeSeoTags:C(e,"prioritizeSeoTags")});V.canUseDOM?(t=a,G&&cancelAnimationFrame(G),t.defer?G=requestAnimationFrame((function(){q(t,(function(){G=null}))})):(q(t),G=null)):z&&(o=z(a)),r(o)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:H.isRequired},Y.displayName="HelmetDispatcher";var K=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(A(this.props,"helmetData"),A(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case b.SCRIPT:case b.NOSCRIPT:return{innerHTML:t};case b.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,a=e.newChildProps,i=e.nestedChildren;switch(r.type){case b.TITLE:return p({},o,((t={})[r.type]=i,t.titleAttributes=p({},a),t));case b.BODY:return p({},o,{bodyAttributes:p({},a)});case b.HTML:return p({},o,{htmlAttributes:p({},a)});default:return p({},o,((n={})[r.type]=p({},a),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(_.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+_.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,o={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,a=r.children,i=m(r,K),s=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,a),l){case b.FRAGMENT:t=n.mapChildrenToProps(a,t);break;case b.LINK:case b.META:case b.NOSCRIPT:case b.SCRIPT:case b.STYLE:o=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:o,newChildProps:s,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:a})}}})),this.mapArrayTypeChildrenToProps(o,t)},n.render=function(){var e=this.props,t=e.children,n=m(e,X),o=p({},n),a=n.helmetData;return t&&(o=this.mapChildrenToProps(t,o)),!a||a instanceof $||(a=new $(a.context,a.instances)),a?r.createElement(Y,p({},o,{context:a.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,p({},o,{context:e}))}))},t}(r.Component);J.propTypes={base:a().object,bodyAttributes:a().object,children:a().oneOfType([a().arrayOf(a().node),a().node]),defaultTitle:a().string,defer:a().bool,encodeSpecialCharacters:a().bool,htmlAttributes:a().object,link:a().arrayOf(a().object),meta:a().arrayOf(a().object),noscript:a().arrayOf(a().object),onChangeClientState:a().func,script:a().arrayOf(a().object),style:a().arrayOf(a().object),title:a().string,titleAttributes:a().object,titleTemplate:a().string,prioritizeSeoTags:a().bool,helmetData:a().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},198:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,g=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,b=n?Symbol.for("react.lazy"):60116,h=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,v=n?Symbol.for("react.responder"):60118,_=n?Symbol.for("react.scope"):60119;function w(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case a:case s:case i:case f:return e;default:switch(e=e&&e.$$typeof){case c:case p:case b:case m:case l:return e;default:return t}}case o:return t}}}function x(e){return w(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=p,t.Fragment=a,t.Lazy=b,t.Memo=m,t.Portal=o,t.Profiler=s,t.StrictMode=i,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||w(e)===u},t.isConcurrentMode=x,t.isContextConsumer=function(e){return w(e)===c},t.isContextProvider=function(e){return w(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return w(e)===p},t.isFragment=function(e){return w(e)===a},t.isLazy=function(e){return w(e)===b},t.isMemo=function(e){return w(e)===m},t.isPortal=function(e){return w(e)===o},t.isProfiler=function(e){return w(e)===s},t.isStrictMode=function(e){return w(e)===i},t.isSuspense=function(e){return w(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===s||e===i||e===f||e===g||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===m||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p||e.$$typeof===y||e.$$typeof===v||e.$$typeof===_||e.$$typeof===h)},t.typeOf=w},6237:(e,t,n)=>{"use strict";e.exports=n(198)},7677:(e,t,n)=>{"use strict";n.d(t,{H:()=>s,f:()=>i});var r=n(3225),o=n(6920),a=n(5271);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var o=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return o&&(n.push({route:e,match:o}),e.routes&&i(e.routes,t,n)),o})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?a.createElement(r.rs,n,e.map((function(e,n){return a.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,o.Z)({},n,{},t,{route:e})):a.createElement(e.component,(0,o.Z)({},n,t,{route:e}))}})}))):null}},8594:(e,t,n)=>{"use strict";n.d(t,{OL:()=>_,UT:()=>d,VK:()=>u,rU:()=>h});var r=n(3225),o=n(2666),a=n(5271),i=n(4047),s=n(6920),l=n(3804),c=n(8624),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,o.Z)(t,e),t.prototype.render=function(){return a.createElement(r.F0,{history:this.history,children:this.props.children})},t}(a.Component);var d=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.q_)(t.props),t}return(0,o.Z)(t,e),t.prototype.render=function(){return a.createElement(r.F0,{history:this.history,children:this.props.children})},t}(a.Component);var p=function(e,t){return"function"==typeof e?e(t):e},f=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},g=function(e){return e},m=a.forwardRef;void 0===m&&(m=g);var b=m((function(e,t){var n=e.innerRef,r=e.navigate,o=e.onClick,i=(0,l.Z)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,s.Z)({},i,{onClick:function(e){try{o&&o(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=g!==m&&t||n,a.createElement("a",u)}));var h=m((function(e,t){var n=e.component,o=void 0===n?b:n,u=e.replace,d=e.to,h=e.innerRef,y=(0,l.Z)(e,["component","replace","to","innerRef"]);return a.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=e.history,r=f(p(d,e.location),e.location),l=r?n.createHref(r):"",b=(0,s.Z)({},y,{href:l,navigate:function(){var t=p(d,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(f(t));(u||r?n.replace:n.push)(t)}});return g!==m?b.ref=t||h:b.innerRef=h,a.createElement(o,b)}))})),y=function(e){return e},v=a.forwardRef;void 0===v&&(v=y);var _=v((function(e,t){var n=e["aria-current"],o=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,d=e.activeStyle,g=e.className,m=e.exact,b=e.isActive,_=e.location,w=e.sensitive,x=e.strict,S=e.style,k=e.to,E=e.innerRef,O=(0,l.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return a.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=_||e.location,i=f(p(k,n),n),l=i.pathname,j=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),P=j?(0,r.LX)(n.pathname,{path:j,exact:m,sensitive:w,strict:x}):null,C=!!(b?b(P,n):P),T="function"==typeof g?g(C):g,I="function"==typeof S?S(C):S;C&&(T=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(T,u),I=(0,s.Z)({},I,d));var A=(0,s.Z)({"aria-current":C&&o||null,className:T,style:I,to:i},O);return y!==v?A.ref=t||E:A.innerRef=E,a.createElement(h,A)}))}))},3225:(e,t,n)=>{"use strict";n.d(t,{AW:()=>k,F0:()=>v,LX:()=>S,TH:()=>N,k6:()=>A,rs:()=>T,s6:()=>y});var r=n(2666),o=n(5271),a=n(507),i=n.n(a),s=n(4047),l=n(8624),c=n(6920),u=n(7720),d=n.n(u),p=(n(6237),n(3804)),f=(n(2535),1073741823),g="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var m=o.createContext||function(e,t){var n,a,s="__create-react-context-"+function(){var e="__global_unique_id__";return g[e]=(g[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];return(t=e.call.apply(e,[this].concat(a))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var o=n.prototype;return o.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},o.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((a=r)===(i=o)?0!==a||1/a==1/i:a!=a&&i!=i)?n=0:(n="function"==typeof t?t(r,o):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var a,i},o.render=function(){return this.props.children},n}(o.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var o=n.prototype;return o.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},o.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},o.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},o.getValue=function(){return this.context[s]?this.context[s].get():e},o.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(o.Component);return c.contextTypes=((a={})[s]=i().object,a),{Provider:l,Consumer:c}},b=function(e){var t=m();return t.displayName=e,t},h=b("Router-History"),y=b("Router"),v=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(y.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(h.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component;o.Component;var _={},w=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,a=void 0!==o&&o,i=n.strict,s=void 0!==i&&i,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=_[n]||(_[n]={});if(r[e])return r[e];var o=[],a={regexp:d()(e,o,t),keys:o};return x<w&&(r[e]=a,x++),a}(n,{end:a,strict:s,sensitive:c}),o=r.regexp,i=r.keys,l=o.exec(e);if(!l)return null;var u=l[0],p=l.slice(1),f=e===u;return a&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var k=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,l.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,a=(0,c.Z)({},t,{location:n,match:r}),i=e.props,s=i.children,u=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===o.Children.count(e)}(s)&&(s=null),o.createElement(y.Provider,{value:a},a.match?s?"function"==typeof s?s(a):s:u?o.createElement(u,a):d?d(a):null:"function"==typeof s?s(a):null)}))},t}(o.Component);function E(e){return"/"===e.charAt(0)?e:"/"+e}function O(e,t){if(!e)return t;var n=E(e);return 0!==t.pathname.indexOf(n)?t:(0,c.Z)({},t,{pathname:t.pathname.substr(n.length)})}function j(e){return"string"==typeof e?e:(0,s.Ep)(e)}function P(e){return function(){(0,l.Z)(!1)}}function C(){}o.Component;var T=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return o.createElement(y.Consumer,null,(function(t){t||(0,l.Z)(!1);var n,r,a=e.props.location||t.location;return o.Children.forEach(e.props.children,(function(e){if(null==r&&o.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(a.pathname,(0,c.Z)({},e.props,{path:i})):t.match}})),r?o.cloneElement(n,{location:a,computedMatch:r}):null}))},t}(o.Component);var I=o.useContext;function A(){return I(h)}function N(){return I(y).location}},8193:(e,t,n)=>{"use strict";var r=n(5271),o=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!l.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:o,type:e,key:c,ref:u,props:a,_owner:s.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},7596:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,b={};function h(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}h.prototype.isReactComponent={},h.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): 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")},h.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=h.prototype;var _=v.prototype=new y;_.constructor=v,m(_,h.prototype),_.isPureReactComponent=!0;var w=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var o,a={},i=null,s=null;if(null!=t)for(o in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,o)&&!k.hasOwnProperty(o)&&(a[o]=t[o]);var l=arguments.length-2;if(1===l)a.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(o in l=e.defaultProps)void 0===a[o]&&(a[o]=l[o]);return{$$typeof:n,type:e,key:i,ref:s,props:a,_owner:S.current}}function O(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var j=/\/+/g;function P(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function C(e,t,o,a,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return i=i(l=e),e=""===a?"."+P(l,0):a,w(i)?(o="",null!=e&&(o=e.replace(j,"$&/")+"/"),C(i,t,o,"",(function(e){return e}))):null!=i&&(O(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,o+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(j,"$&/")+"/")+e)),t.push(i)),1;if(l=0,a=""===a?".":a+":",w(e))for(var c=0;c<e.length;c++){var u=a+P(s=e[c],c);l+=C(s,t,o,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=C(s=s.value,t,o,u=a+P(s,c++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function T(e,t,n){if(null==e)return e;var r=[],o=0;return C(e,r,"","",(function(e){return t.call(n,e,o++)})),r}function I(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var A={current:null},N={transition:null},L={ReactCurrentDispatcher:A,ReactCurrentBatchConfig:N,ReactCurrentOwner:S};function R(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:T,forEach:function(e,t,n){T(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return T(e,(function(){t++})),t},toArray:function(e){return T(e,(function(e){return e}))||[]},only:function(e){if(!O(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=h,t.Fragment=o,t.Profiler=i,t.PureComponent=v,t.StrictMode=a,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=L,t.act=R,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=m({},e.props),a=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=S.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)x.call(t,c)&&!k.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];o.children=l}return{$$typeof:n,type:e.type,key:a,ref:i,props:o,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=O,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:I}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=N.transition;N.transition={};try{e()}finally{N.transition=t}},t.unstable_act=R,t.useCallback=function(e,t){return A.current.useCallback(e,t)},t.useContext=function(e){return A.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return A.current.useDeferredValue(e)},t.useEffect=function(e,t){return A.current.useEffect(e,t)},t.useId=function(){return A.current.useId()},t.useImperativeHandle=function(e,t,n){return A.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return A.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return A.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return A.current.useMemo(e,t)},t.useReducer=function(e,t,n){return A.current.useReducer(e,t,n)},t.useRef=function(e){return A.current.useRef(e)},t.useState=function(e){return A.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return A.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return A.current.useTransition()},t.version="18.3.1"},5271:(e,t,n)=>{"use strict";e.exports=n(7596)},2676:(e,t,n)=>{"use strict";e.exports=n(8193)},8088:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(!(0<a(o,t)))break e;e[r]=t,e[n]=o,n=r}}function r(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,i=o>>>1;r<i;){var s=2*(r+1)-1,l=e[s],c=s+1,u=e[c];if(0>a(l,n))c<o&&0>a(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[s]=n,r=s);else{if(!(c<o&&0>a(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,p=null,f=3,g=!1,m=!1,b=!1,h="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function _(e){for(var t=r(u);null!==t;){if(null===t.callback)o(u);else{if(!(t.startTime<=e))break;o(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function w(e){if(b=!1,_(e),!m)if(null!==r(c))m=!0,N(x);else{var t=r(u);null!==t&&L(w,t.startTime-e)}}function x(e,n){m=!1,b&&(b=!1,y(O),O=-1),g=!0;var a=f;try{for(_(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!C());){var i=p.callback;if("function"==typeof i){p.callback=null,f=p.priorityLevel;var s=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?p.callback=s:p===r(c)&&o(c),_(n)}else o(c);p=r(c)}if(null!==p)var l=!0;else{var d=r(u);null!==d&&L(w,d.startTime-n),l=!1}return l}finally{p=null,f=a,g=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,k=!1,E=null,O=-1,j=5,P=-1;function C(){return!(t.unstable_now()-P<j)}function T(){if(null!==E){var e=t.unstable_now();P=e;var n=!0;try{n=E(!0,e)}finally{n?S():(k=!1,E=null)}}else k=!1}if("function"==typeof v)S=function(){v(T)};else if("undefined"!=typeof MessageChannel){var I=new MessageChannel,A=I.port2;I.port1.onmessage=T,S=function(){A.postMessage(null)}}else S=function(){h(T,0)};function N(e){E=e,k||(k=!0,S())}function L(e,n){O=h((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||g||(m=!0,N(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):j=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,o,a){var i=t.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0<a?i+a:i:a=i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:a,expirationTime:s=a+s,sortIndex:-1},a>i?(e.sortIndex=a,n(u,e),null===r(c)&&e===r(u)&&(b?(y(O),O=-1):b=!0,L(w,a-i))):(e.sortIndex=s,n(c,e),m||g||(m=!0,N(x))),e},t.unstable_shouldYield=C,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},7537:(e,t,n)=>{"use strict";e.exports=n(8088)},631:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var a=Object.keys(e),i=Object.keys(t);if(a.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<a.length;l++){var c=a[l];if(!s(c))return!1;var u=e[c],d=t[c];if(!1===(o=n?n.call(r,u,d,c):void 0)||void 0===o&&u!==d)return!1}return!0}},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"GameVault",tagline:"the self-hosted gaming platform for drm-free games",favicon:"img/logo.png",url:"https://gamevau.lt",baseUrl:"/",organizationName:"Phalcode",projectName:"gamevault-docs",onBrokenLinks:"throw",onBrokenMarkdownLinks:"throw",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},plugins:[["@docusaurus/plugin-client-redirects",{fromExtensions:["html","htm"],redirects:[{from:"/gamevault-plus",to:"/docs/gamevault-plus/introduction"},{from:"/license",to:"/docs/license-contribute"}]}],"/home/runner/work/gamevault-docs/gamevault-docs/node_modules/.pnpm/docusaurus-plugin-image-zoom@2.0.0_@docusaurus+theme-classic@3.5.2_@types+react@18.2.45_react_6zaxrksshcrr2kvhptvh3gewqe/node_modules/docusaurus-plugin-image-zoom/lib/index.js","/home/runner/work/gamevault-docs/gamevault-docs/node_modules/.pnpm/@cmfcmf+docusaurus-search-local@1.2.0_@docusaurus+core@3.5.2_@docusaurus+types@3.5.2_react-do_b45kjlpyubuh47x4tpw2gnrulq/node_modules/@cmfcmf/docusaurus-search-local/lib/server/index.js",null],presets:[["@docusaurus/preset-classic",{docs:{showLastUpdateAuthor:!0,showLastUpdateTime:!0,sidebarPath:"/home/runner/work/gamevault-docs/gamevault-docs/sidebars.js",editUrl:"https://github.com/phalcode/gamevault-docs/tree/master"},blog:{showReadingTime:!0,editUrl:"https://github.com/phalcode/gamevault-docs/tree/master",blogSidebarCount:"ALL"},theme:{customCss:"/home/runner/work/gamevault-docs/gamevault-docs/src/css/custom.css"}}]],themeConfig:{navbar:{logo:{alt:"GameVault",src:"img/logo.png"},title:"GameVault",items:[{type:"docSidebar",sidebarId:"docs",position:"left",label:"Documentation"},{to:"/blog",label:"Blog",position:"left"},{label:"GameVault+",to:"/docs/gamevault-plus/introduction",position:"left"},{label:"GitHub",href:"https://github.com/phalcode",position:"right"},{label:"Discord",href:"https://discord.gg/NEdNen2dSu",position:"right"},{label:"Support us",href:"https://gamevau.lt/docs/intro#support",position:"right"}],hideOnScroll:!1},footer:{logo:{src:"img/phalcode_bright.png",srcDark:"img/phalcode_dark.png",height:"30vh",href:"https://phalco.de"},links:[{title:"Shortcuts",items:[{label:"Introduction",to:"/docs/intro"},{label:"Blog",to:"/blog"},{label:"Server Setup",to:"/docs/server-docs/setup"},{label:"Troubleshooting",to:"/docs/troubleshooting"}]},{title:"Development",items:[{label:"Roadmap",href:"https://github.com/orgs/Phalcode/projects/4"},{label:"Repositories",href:"https://github.com/orgs/Phalcode/repositories?q=gamevault"}]},{title:"Socials",items:[{label:"Reddit",href:"https://reddit.com/r/Phalcode"},{label:"Lemmy",href:"https://lemmy.world/c/phalcode"},{label:"Discord",href:"https://discord.gg/NEdNen2dSu"}]},{title:"Support us",items:[{label:"Get GameVault+",href:"/docs/gamevault-plus/introduction"},{label:"GitHub Sponsors",href:"https://github.com/sponsors/Phalcode"},{href:"https://ko-fi.com/phalcode",label:"Ko-Fi"},{href:"https://liberapay.com/phalcode",label:"Liberapay"},{href:"https://www.paypal.me/phalcode",label:"PayPal"}]},{title:"Legals",items:[{label:"License",href:"/docs/license-contribute"},{label:"Legal Notice",href:"https://phalco.de/legal"},{label:"Privacy Policy",href:"https://phalco.de/privacy"},{label:"Terms of Service",href:"https://phalco.de/tos"}]}],copyright:'Copyright \xa9 2024 <a href="https://phalco.de">Phalcode</a> - All Rights Reserved',style:"light"},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["bash","json"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},zoom:{selector:".zoomable,img:not(nav img):not(footer img):not(.nozoom):not([alt~='ko-fi']):not([alt~='GameVault'])",config:{background:{light:"#e2e1ef",dark:"#171528"}}},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},blog:{sidebar:{groupByYear:!0}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,future:{experimental_storage:{type:"localStorage",namespace:!1},experimental_router:"browser"},onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},6920:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},2666:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>o})},3804:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}n.d(t,{Z:()=>r})},4814:(e,t,n)=>{"use strict";function r(e){var t,n,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=r(e[t]))&&(o&&(o+=" "),o+=n)}else for(n in e)e[n]&&(o&&(o+=" "),o+=n);return o}n.d(t,{Z:()=>o});const o=function(){for(var e,t,n=0,o="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=r(e))&&(o&&(o+=" "),o+=t);return o}},739:(e,t,n)=>{"use strict";n.d(t,{p1:()=>j,y$:()=>ne});var r,o,a,i,s,l,c,u=n(5271),d=n(4814),p=Object.create,f=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptor,b=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertyNames,y=Object.getOwnPropertySymbols,v=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))_.call(t,n)&&x(e,n,t[n]);if(y)for(var n of y(t))w.call(t,n)&&x(e,n,t[n]);return e},k=(e,t)=>g(e,b(t)),E=(e,t)=>{var n={};for(var r in e)_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&y)for(var r of y(e))t.indexOf(r)<0&&w.call(e,r)&&(n[r]=e[r]);return n},O=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var o,a;switch(n=n||{},r.util.type(t)){case"Object":if(a=r.util.objId(t),n[a])return n[a];for(var i in o={},n[a]=o,t)t.hasOwnProperty(i)&&(o[i]=e(t[i],n));return o;case"Array":return a=r.util.objId(t),n[a]?n[a]:(o=[],n[a]=o,t.forEach((function(t,r){o[r]=e(t,n)})),o);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var o in t)n[o]=t[o];return n},insertBefore:function(e,t,n,o){var a=(o=o||r.languages)[e],i={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=a[s])}var c=o[e];return o[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,o,a){a=a||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],o||s);var l=t[s],c=r.util.type(l);"Object"!==c||a[i(l)]?"Array"!==c||a[i(l)]||(a[i(l)]=!0,e(l,n,s,a)):(a[i(l)]=!0,e(l,n,null,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",a),!a.grammar)throw new Error('The language "'+a.language+'" has no grammar.');return a.tokens=r.tokenize(a.code,a.grammar),r.hooks.run("after-tokenize",a),o.stringify(r.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var o=new s;return l(o,o.head,e),i(e,o,t,o.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(o)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var o,a=0;o=n[a++];)o(t)}},Token:o};function o(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function a(e,t,n,r){e.lastIndex=t;var o=e.exec(n);if(o&&r&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function i(e,t,n,s,u,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var g=0;g<f.length;++g){if(d&&d.cause==p+","+g)return;var m=f[g],b=m.inside,h=!!m.lookbehind,y=!!m.greedy,v=m.alias;if(y&&!m.pattern.global){var _=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,_+"g")}for(var w=m.pattern||m,x=s.next,S=u;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var k=x.value;if(t.length>e.length)return;if(!(k instanceof o)){var E,O=1;if(y){if(!(E=a(w,S,e,h))||E.index>=e.length)break;var j=E.index,P=E.index+E[0].length,C=S;for(C+=x.value.length;j>=C;)C+=(x=x.next).value.length;if(S=C-=x.value.length,x.value instanceof o)continue;for(var T=x;T!==t.tail&&(C<P||"string"==typeof T.value);T=T.next)O++,C+=T.value.length;O--,k=e.slice(S,C),E.index-=S}else if(!(E=a(w,0,k,h)))continue;j=E.index;var I=E[0],A=k.slice(0,j),N=k.slice(j+I.length),L=S+k.length;d&&L>d.reach&&(d.reach=L);var R=x.prev;if(A&&(R=l(t,R,A),S+=A.length),c(t,R,O),x=l(t,R,new o(p,b?r.tokenize(I,b):I,v,I)),N&&l(t,x,N),O>1){var D={cause:p+","+g,reach:L};i(e,t,n,x.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,o={value:n,prev:t,next:r};return t.next=o,r.prev=o,e.length++,o}function c(e,t,n){for(var r=t.next,o=0;o<n&&r!==e.tail;o++)r=r.next;t.next=r,r.prev=t,e.length-=o}return o.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var o="";return t.forEach((function(t){o+=e(t,n)})),o}var a={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(a.classes,i):a.classes.push(i)),r.hooks.run("wrap",a);var s="";for(var l in a.attributes)s+=" "+l+'="'+(a.attributes[l]||"").replace(/"/g,""")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+s+">"+a.content+"</"+a.tag+">"},r}();t.exports=n,n.default=n}},function(){return o||(0,r[h(r)[0]])((o={exports:{}}).exports,o),o.exports}),j=((e,t,n)=>(n=null!=e?p(v(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of h(t))_.call(e,o)||o===n||f(e,o,{get:()=>t[o],enumerable:!(r=m(t,o))||r.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(O());j.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},j.languages.markup.tag.inside["attr-value"].inside.entity=j.languages.markup.entity,j.languages.markup.doctype.inside["internal-subset"].inside=j.languages.markup,j.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(j.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:j.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:j.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},j.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(j.languages.markup.tag,"addAttribute",{value:function(e,t){j.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:j.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),j.languages.html=j.languages.markup,j.languages.mathml=j.languages.markup,j.languages.svg=j.languages.markup,j.languages.xml=j.languages.extend("markup",{}),j.languages.ssml=j.languages.xml,j.languages.atom=j.languages.xml,j.languages.rss=j.languages.xml,a=j,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},l="(?:[^\\\\-]|"+(s=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",l=RegExp(l+"-"+l),c={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},a.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:l,inside:{escape:s,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:s}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":c}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:s,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":c}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},j.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},j.languages.javascript=j.languages.extend("clike",{"class-name":[j.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),j.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,j.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:j.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:j.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:j.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:j.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:j.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),j.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:j.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),j.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),j.languages.markup&&(j.languages.markup.tag.addInlined("script","javascript"),j.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),j.languages.js=j.languages.javascript,j.languages.actionscript=j.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),j.languages.actionscript["class-name"].alias="function",delete j.languages.actionscript.parameter,delete j.languages.actionscript["literal-property"],j.languages.markup&&j.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:j.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(j),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},o="doc-comment";if(a=e.languages[t]){var a,i=a[o];if((i=i||(a=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[o])instanceof RegExp&&(i=a[o]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s<l;s++)i[s]instanceof RegExp&&(i[s]={pattern:i[s]}),r(i[s]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(j),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(j),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(j),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(j),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var o,a=t[n];"code"!==a.type?e(a.content):(o=a.content[1],a=a.content[3],o&&a&&"code-language"===o.type&&"code-block"===a.type&&"string"==typeof o.content&&(o=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),o="language-"+(o=(/[a-z][\w-]*/i.exec(o)||[""])[0].toLowerCase()),a.alias?"string"==typeof a.alias?a.alias=[a.alias,o]:a.alias.push(o):a.alias=[o]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,o=t.classes.length;r<o;r++){var a=t.classes[r];if(a=/language-(.+)/.exec(a)){n=a[1];break}}var c,u=e.languages[n];u?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n)):s[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(j),j.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:j.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},j.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var o=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var a=p(/^\($/,/^\)$/);if(-1===a)continue;for(;n<a;n++){var i=u(0);"variable"===i.type&&(f(i,"variable-input"),o.push(i.content))}n=a+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,f(u(0),"property-mutation"),0<o.length)){var s=p(/^\{$/,/^\}$/);if(-1!==s)for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&0<=o.indexOf(c.content)&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function p(e,r){for(var o=1,a=n;a<t.length;a++){var i=t[a],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))o++;else if(r.test(s)&&0==--o)return a}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),j.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,o=r.inside["interpolation-punctuation"],a=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function l(t,n,i){var l=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),c=0,u={},d=(l=s(l.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n})).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var a=0;a<n.length;a++){if(c>=d.length)return;var i,l,p,f,g,m,b,h=n[a];"string"==typeof h||"string"==typeof h.content?(i=d[c],-1!==(b=(m="string"==typeof h?h:h.content).indexOf(i))&&(++c,l=m.substring(0,b),g=u[i],p=void 0,(f={})["interpolation-punctuation"]=o,3===(f=e.tokenize(g,f)).length&&((p=[1,1]).push.apply(p,s(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,r.alias,g),f=m.substring(b+i.length),g=[],l&&g.push(l),g.push(p),f&&(t(m=[f]),g.push.apply(g,m)),"string"==typeof h?(n.splice.apply(n,[a,1].concat(g)),a+=g.length-1):h.content=g)):(b=h.content,Array.isArray(b)?t(b):t([b]))}}(l),new e.Token(i,l,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(n){for(var r=0,o=n.length;r<o;r++){var a,i,s,c=n[r];"string"!=typeof c&&(a=c.content,Array.isArray(a)?"template-string"===c.type?(c=a[1],3===a.length&&"string"!=typeof c&&"embedded-code"===c.type&&(i=u(c),c=c.alias,c=Array.isArray(c)?c[0]:c,s=e.languages[c])&&(a[1]=l(i,s,c))):t(a):"string"!=typeof a&&t([a]))}}(t.tokens)}))}(j),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(j),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(j),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(j),j.languages.n4js=j.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),j.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),j.languages.n4jsd=j.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var o=n[r],a=e.languages.javascript[o];o=(a="RegExp"===e.util.type(a)?e.languages.javascript[o]={pattern:a}:a).inside||{};(a.inside=o)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(j),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function a(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return o})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var o=t[r],a=!1;"string"!=typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===s(o.content[0].content[1])&&n.pop():"/>"!==o.content[o.content.length-1].content&&n.push({tagName:s(o.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===o.type&&"{"===o.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===o.type&&"}"===o.content?n[n.length-1].openedBraces--:a=!0),(a||"string"==typeof o)&&0<n.length&&0===n[n.length-1].openedBraces&&(a=s(o),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(a+=s(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(a=s(t[r-1])+a,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",a,null,a)),o.content&&"string"!=typeof o.content&&i(o.content)}}o=a(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=a(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:a(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:a(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(j),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(j),j.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},j.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=j.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(j),j.languages.c=j.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),j.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),j.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},j.languages.c.string],char:j.languages.c.char,comment:j.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:j.languages.c}}}}),j.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete j.languages.c.boolean,j.languages.objectivec=j.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete j.languages.objectivec["class-name"],j.languages.objc=j.languages.objectivec,j.languages.reason=j.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),j.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete j.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(j),j.languages.go=j.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),j.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete j.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(j),j.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},j.languages.python["string-interpolation"].inside.interpolation.inside.rest=j.languages.python,j.languages.py=j.languages.python,j.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},j.languages.webmanifest=j.languages.json;((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>P,duotoneDark:()=>C,duotoneLight:()=>T,github:()=>I,gruvboxMaterialDark:()=>q,gruvboxMaterialLight:()=>G,jettwaveDark:()=>Q,jettwaveLight:()=>V,nightOwl:()=>A,nightOwlLight:()=>N,oceanicNext:()=>D,okaidia:()=>F,oneDark:()=>Z,oneLight:()=>W,palenight:()=>M,shadesOfPurple:()=>z,synthwave84:()=>B,ultramin:()=>$,vsDark:()=>U,vsLight:()=>H});var P={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},C={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},T={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},I={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},A={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},N={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},L="#c5a5c5",R="#8dc891",D={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:L}},{types:["attr-value"],style:{color:R}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:R}},{types:["punctuation"],style:{color:R}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:L}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},F={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},M={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},B={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},$={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},U={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},H={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},Q={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},V={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},Z={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},W={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},q={plain:{color:"#ebdbb2",backgroundColor:"#292828"},styles:[{types:["imports","class-name","maybe-class-name","constant","doctype","builtin","function"],style:{color:"#d8a657"}},{types:["property-access"],style:{color:"#7daea3"}},{types:["tag"],style:{color:"#e78a4e"}},{types:["attr-name","char","url","regex"],style:{color:"#a9b665"}},{types:["attr-value","string"],style:{color:"#89b482"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#ea6962"}},{types:["entity","number","symbol"],style:{color:"#d3869b"}}]},G={plain:{color:"#654735",backgroundColor:"#f9f5d7"},styles:[{types:["delimiter","boolean","keyword","selector","important","atrule","property","variable","deleted"],style:{color:"#af2528"}},{types:["imports","class-name","maybe-class-name","constant","doctype","builtin"],style:{color:"#b4730e"}},{types:["string","attr-value"],style:{color:"#477a5b"}},{types:["property-access"],style:{color:"#266b79"}},{types:["function","attr-name","char","url"],style:{color:"#72761e"}},{types:["tag"],style:{color:"#b94c07"}},{types:["comment","prolog","cdata","operator","inserted"],style:{color:"#a89984"}},{types:["entity","number","symbol"],style:{color:"#924f79"}}]},Y=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:o}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),o);e[t]=n})),e}),{});return r.root=n,r.plain=k(S({},n),{backgroundColor:void 0}),r},K=/\r\n|\r|\n/,X=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},J=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},ee=e=>{const t=[[]],n=[e],r=[0],o=[e.length];let a=0,i=0,s=[];const l=[s];for(;i>-1;){for(;(a=r[i]++)<o[i];){let e,c=t[i];const u=n[i][a];if("string"==typeof u?(c=i>0?c:["plain"],e=u):(c=J(c,u.type),u.alias&&(c=J(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),o.push(e.length);continue}const d=e.split(K),p=d.length;s.push({types:c,content:d[0]});for(let t=1;t<p;t++)X(s),l.push(s=[]),s.push({types:c,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),o.pop()}return X(s),l},te=({children:e,language:t,code:n,theme:r,prism:o})=>{const a=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,u.useState)(Y(t,e)),o=(0,u.useRef)(),a=(0,u.useRef)();return(0,u.useEffect)((()=>{t===o.current&&e===a.current||(o.current=t,a.current=e,r(Y(t,e)))}),[e,t]),n})(a,r),s=(e=>(0,u.useCallback)((t=>{var n=t,{className:r,style:o,line:a}=n,i=E(n,["className","style","line"]);const s=k(S({},i),{className:(0,d.Z)("token-line",r)});return"object"==typeof e&&"plain"in e&&(s.style=e.plain),"object"==typeof o&&(s.style=S(S({},s.style||{}),o)),s}),[e]))(i),l=(e=>{const t=(0,u.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,u.useCallback)((e=>{var n=e,{token:r,className:o,style:a}=n,i=E(n,["token","className","style"]);const s=k(S({},i),{className:(0,d.Z)("token",...r.types,o),children:r.content,style:t(r)});return null!=a&&(s.style=S(S({},s.style||{}),a)),s}),[t])})(i),c=(({prism:e,code:t,grammar:n,language:r})=>{const o=(0,u.useRef)(e);return(0,u.useMemo)((()=>{if(null==n)return ee([t]);const e={code:t,grammar:n,language:r,tokens:[]};return o.current.hooks.run("before-tokenize",e),e.tokens=o.current.tokenize(t,n),o.current.hooks.run("after-tokenize",e),ee(e.tokens)}),[t,n,r])})({prism:o,language:a,code:n,grammar:o.languages[a]});return e({tokens:c,className:`prism-code language-${a}`,style:null!=i?i.root:{},getLineProps:s,getTokenProps:l})},ne=e=>(0,u.createElement)(te,k(S({},e),{prism:e.prism||j,theme:e.theme||U,code:e.code,language:e.language}))},8624:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=!0,o="Invariant failed";function a(e,t){if(!e){if(r)throw new Error(o);var n="function"==typeof t?t():t,a=n?"".concat(o,": ").concat(n):o;throw new Error(a)}}},5862:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__addDisposableResource:()=>L,__assign:()=>a,__asyncDelegator:()=>E,__asyncGenerator:()=>k,__asyncValues:()=>O,__await:()=>S,__awaiter:()=>g,__classPrivateFieldGet:()=>I,__classPrivateFieldIn:()=>N,__classPrivateFieldSet:()=>A,__createBinding:()=>b,__decorate:()=>s,__disposeResources:()=>D,__esDecorate:()=>c,__exportStar:()=>h,__extends:()=>o,__generator:()=>m,__importDefault:()=>T,__importStar:()=>C,__makeTemplateObject:()=>j,__metadata:()=>f,__param:()=>l,__propKey:()=>d,__read:()=>v,__rest:()=>i,__runInitializers:()=>u,__setFunctionName:()=>p,__spread:()=>_,__spreadArray:()=>x,__spreadArrays:()=>w,__values:()=>y,default:()=>F});var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)};function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)};function i(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}function s(e,t,n,r){var o,a=arguments.length,i=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,n,i):o(t,n))||i);return a>3&&i&&Object.defineProperty(t,n,i),i}function l(e,t){return function(n,r){t(n,r,e)}}function c(e,t,n,r,o,a){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var s,l=r.kind,c="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,d=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),p=!1,f=n.length-1;f>=0;f--){var g={};for(var m in r)g[m]="access"===m?{}:r[m];for(var m in r.access)g.access[m]=r.access[m];g.addInitializer=function(e){if(p)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(e||null))};var b=(0,n[f])("accessor"===l?{get:d.get,set:d.set}:d[c],g);if("accessor"===l){if(void 0===b)continue;if(null===b||"object"!=typeof b)throw new TypeError("Object expected");(s=i(b.get))&&(d.get=s),(s=i(b.set))&&(d.set=s),(s=i(b.init))&&o.unshift(s)}else(s=i(b))&&("field"===l?o.unshift(s):d[c]=s)}u&&Object.defineProperty(u,r.name,d),p=!0}function u(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function d(e){return"symbol"==typeof e?e:"".concat(e)}function p(e,t,n){return"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function f(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function g(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,s)}l((r=r.apply(e,t||[])).next())}))}function m(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){i.label=s[1];break}if(6===s[0]&&i.label<o[1]){i.label=o[1],o=s;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(s);break}o[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(l){s=[6,l],r=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}var b=Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]};function h(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||b(t,e,n)}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}function _(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(v(arguments[t]));return e}function w(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),o=0;for(t=0;t<n;t++)for(var a=arguments[t],i=0,s=a.length;i<s;i++,o++)r[o]=a[i];return r}function x(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function S(e){return this instanceof S?(this.v=e,this):new S(e)}function k(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),a=[];return r={},i("next"),i("throw"),i("return",(function(e){return function(t){return Promise.resolve(t).then(e,c)}})),r[Symbol.asyncIterator]=function(){return this},r;function i(e,t){o[e]&&(r[e]=function(t){return new Promise((function(n,r){a.push([e,t,n,r])>1||s(e,t)}))},t&&(r[e]=t(r[e])))}function s(e,t){try{(n=o[e](t)).value instanceof S?Promise.resolve(n.value.v).then(l,c):u(a[0][2],n)}catch(r){u(a[0][3],r)}var n}function l(e){s("next",e)}function c(e){s("throw",e)}function u(e,t){e(t),a.shift(),a.length&&s(a[0][0],a[0][1])}}function E(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:S(e[r](t)),done:!1}:o?o(t):t}:o}}function O(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=y(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}}function j(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var P=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function C(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&b(t,e,n);return P(t,e),t}function T(e){return e&&e.__esModule?e:{default:e}}function I(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function A(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}function N(e,t){if(null===t||"object"!=typeof t&&"function"!=typeof t)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof e?t===e:e.has(t)}function L(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(void 0===r){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if("function"!=typeof r)throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var R="function"==typeof SuppressedError?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function D(e){function t(t){e.error=e.hasError?new R(t,e.error,"An error was suppressed during disposal."):t,e.hasError=!0}return function n(){for(;e.stack.length;){var r=e.stack.pop();try{var o=r.dispose&&r.dispose.call(r.value);if(r.async)return Promise.resolve(o).then(n,(function(e){return t(e),n()}))}catch(a){t(a)}}if(e.hasError)throw e.error}()}const F={__extends:o,__assign:a,__rest:i,__decorate:s,__param:l,__metadata:f,__awaiter:g,__generator:m,__createBinding:b,__exportStar:h,__values:y,__read:v,__spread:_,__spreadArrays:w,__spreadArray:x,__await:S,__asyncGenerator:k,__asyncDelegator:E,__asyncValues:O,__makeTemplateObject:j,__importStar:C,__importDefault:T,__classPrivateFieldGet:I,__classPrivateFieldSet:A,__classPrivateFieldIn:N,__addDisposableResource:L,__disposeResources:D}},7529:e=>{"use strict";e.exports=JSON.parse('{"cmfcmf/d-s-l.searchBar.placeholder":"Search...","cmfcmf/d-s-l.searchBar.noResults":"No results found.","cmfcmf/d-s-l.searchBar.clearButtonTitle":"Clear","cmfcmf/d-s-l.searchBar.detachedCancelButtonText":"Cancel","cmfcmf/d-s-l.searchBar.submitButtonTitle":"Submit"}')},6887:e=>{"use strict";e.exports=JSON.parse('{"/blog-deb":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"},{"content":"fe2b2ad8"},{"content":"e70842e4"},{"content":"47aca6da"},{"content":"9147d3af"},{"content":"3fc3119e"},{"content":"d9d4e1f1"},{"content":"2024b8b1"},{"content":"fb0a08ce"},{"content":"8795eea9"}],"__props":"c15d9823"},"/blog/2023/07/01/-30b":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"a1f57275"},"/blog/2023/07/08/-d10":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"7424d9c3"},"/blog/2023/07/09/-2c2":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"b7026fb3"},"/blog/2023/07/13/-6e5":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"0bfa7fcc"},"/blog/2023/07/15/-b20":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"9748c478"},"/blog/2023/07/19/-8a6":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"c332f8df"},"/blog/2023/07/20/-9b6":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"b493ea72"},"/blog/2023/07/24/-4f4":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"a1216fa4"},"/blog/2023/07/29/-44c":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"e7aa45d5"},"/blog/2023/11/20/-3f2":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"55dfe132"},"/blog/2023/12/09/-d2c":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"0b705c82"},"/blog/2024/03/28/-60b":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"e0c5798e"},"/blog/2024/04/01/2024-04-01/-59c":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"4a6974fe"},"/blog/2024/04/14/-e89":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"cd59c184"},"/blog/2024/05/07/-2dc":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"fbaf179c"},"/blog/2024/10/20/-4e9":{"__comp":"ccc49370","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","content":"9019cc36"},"/blog/archive-182":{"__comp":"9e4087bc","__context":{"plugin":"36994c47"},"__props":"f81c1134"},"/blog/authors-0b7":{"__comp":"621db11d","__context":{"data":{"blogMetadata":"acecf23e"},"plugin":"36994c47"},"sidebar":"814f3328","__props":"ef8b811a"},"/blog/page/2-fd3":{"__comp":"a6aa9e1f","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"},{"content":"89db6d1d"},{"content":"2e008a3a"},{"content":"7b99d5ba"},{"content":"ba3af7ad"},{"content":"7489ed02"}],"__props":"8ea09047"},"/blog/tags-287":{"__comp":"01a85c17","__context":{"plugin":"36994c47"},"sidebar":"814f3328","__props":"3a2db09e"},"/blog/tags/age-restrictions-8da":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"416eca3f"},"/blog/tags/ai-generated-names-de1":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"eda4f68b"},"/blog/tags/alternative-0cb":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"5ac1a9ec"},"/blog/tags/analytics-105":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"66e9ef90"},"/blog/tags/announcement-3ab":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"9147d3af"},{"content":"ba3af7ad"}],"__props":"9d86e7fa"},"/blog/tags/api-d97":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"},{"content":"7489ed02"}],"__props":"f525eb8a"},"/blog/tags/app-f50":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"10d38074"},"/blog/tags/app-name-migration-b3d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"6535206c"},"/blog/tags/app-optimization-4b7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"b2c9ad8a"},"/blog/tags/april-fools-45b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"47aca6da"}],"__props":"915cb6f7"},"/blog/tags/backend-bc5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"5c99339f"},"/blog/tags/backend-application-migration-ea3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"4fb3dfba"},"/blog/tags/beta-testing-8e3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"f6f174b1"},"/blog/tags/blackmail-2a4":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"7864c493"},"/blog/tags/box-representation-400":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"24c2f136"},"/blog/tags/bugs-ff5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"3f6275a8"},"/blog/tags/celebration-of-achievements-f97":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"8e064018"},"/blog/tags/client-application-update-45e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"077db3c5"},"/blog/tags/client-update-d5b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"36bc9c65"},"/blog/tags/cloud-based-game-platforms-a94":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"87cefd36"},"/blog/tags/code-access-1ef":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"0a27b0d0"},"/blog/tags/coding-chronicle-d18":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"d527dda4"},"/blog/tags/collaboration-f74":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"bdf26d57"},"/blog/tags/community-e39":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"},{"content":"9147d3af"},{"content":"2024b8b1"},{"content":"ba3af7ad"}],"__props":"dc8e8e39"},"/blog/tags/community-driven-63b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"71f025ea"},"/blog/tags/community-feedback-3ee":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"},{"content":"89db6d1d"}],"__props":"3fc2248c"},"/blog/tags/community-management-93f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"751a244a"},"/blog/tags/continued-support-afc":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"77a8abe0"},"/blog/tags/control-04d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"2a693baa"},"/blog/tags/council-member-a6a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"fee02ac9"},"/blog/tags/creepy-behavior-090":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"e78c2f6e"},"/blog/tags/database-ff5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"a6fed517"},"/blog/tags/decision-making-532":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"63511f3c"},"/blog/tags/developers-487":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"8167ef7e"},"/blog/tags/development-b27":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"9147d3af"},{"content":"2024b8b1"}],"__props":"fcad5cc1"},"/blog/tags/development-milestones-1c9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"0ad562e6"},"/blog/tags/discord-6df":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"3fc3119e"},{"content":"2024b8b1"}],"__props":"e3409e91"},"/blog/tags/discord-channel-b2d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"},{"content":"0bd541ed"}],"__props":"18747338"},"/blog/tags/discord-community-growth-136":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"e4878929"},"/blog/tags/discord-server-e4d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"e935068c"},"/blog/tags/discord-server-promotion-f55":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"2f44e9f7"},"/blog/tags/documentation-migration-405":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"6e64f266"},"/blog/tags/domain-acquisition-e1a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"065dfc11"},"/blog/tags/drm-free-c7e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"f94e70f3"},"/blog/tags/drm-free-games-6cf":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"678c8d60"},"/blog/tags/early-access-ed5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"3fc3119e"}],"__props":"d82a1228"},"/blog/tags/easter-egg-7c7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"cc616304"},"/blog/tags/engagement-b3b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"01fcf7cb"},"/blog/tags/exclusive-preview-0fe":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"4efd7f8f"},"/blog/tags/family-friendly-282":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"6bbbce94"},"/blog/tags/feature-requests-61d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"80404bfe"},"/blog/tags/features-3d5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"},{"content":"e70842e4"},{"content":"2024b8b1"}],"__props":"d5823966"},"/blog/tags/feedback-a81":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"2024b8b1"},{"content":"fb0a08ce"},{"content":"ba3af7ad"}],"__props":"f58fbef8"},"/blog/tags/file-server-f0b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"a3fd4b44"},"/blog/tags/financial-assistance-e64":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"92440753"},"/blog/tags/future-development-db0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"8f8e2e78"},"/blog/tags/future-features-bed":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"e623129a"},"/blog/tags/game-a29":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"1dd5d307"},"/blog/tags/game-development-97c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"99d3d5ac"},"/blog/tags/game-hub-6c3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"4ff7c2f7"},"/blog/tags/game-shelf-566":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"5fa82f91"},"/blog/tags/game-stash-728":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"51fa4cf1"},"/blog/tags/game-vault-39f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"},{"content":"fe2b2ad8"},{"content":"e70842e4"},{"content":"9147d3af"},{"content":"3fc3119e"},{"content":"2024b8b1"},{"content":"89db6d1d"},{"content":"ba3af7ad"},{"content":"7489ed02"}],"__props":"9fafd272"},"/blog/tags/game-vault-app-bd6":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"8ff99662"},"/blog/tags/game-vault-domain-a5b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"8a3c85db"},"/blog/tags/game-vault-journey-52d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"7754063d"},"/blog/tags/game-vault-milestone-030":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"df8deb2d"},"/blog/tags/gaming-2b9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"9147d3af"},{"content":"3fc3119e"},{"content":"7489ed02"}],"__props":"9b1663d8"},"/blog/tags/gaming-community-73c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"daddf69a"},"/blog/tags/gaming-experience-f8c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"7c4a7780"},"/blog/tags/gaming-platform-12f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"7a0110f5"},"/blog/tags/gaming-servers-e66":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"9b95b357"},"/blog/tags/git-hub-590":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"886fdd87"},"/blog/tags/git-hub-issue-8a0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"77f7e459"},"/blog/tags/gratitude-1d7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"03919031"},"/blog/tags/harassment-89d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"251cbb95"},"/blog/tags/harbor-a9f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"524a34e7"},"/blog/tags/health-monitoring-d88":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"63b46e50"},"/blog/tags/hybrid-model-038":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"2296bbef"},"/blog/tags/igdb-6ff":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"9d5a95a9"},"/blog/tags/improvement-0af":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"7b99d5ba"}],"__props":"013bccfd"},"/blog/tags/inclusivity-7a0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"f677311a"},"/blog/tags/installation-pipeline-94b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"5a8f8fa9"},"/blog/tags/kanban-board-372":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"5bbd8cf3"},"/blog/tags/keyhole-representation-ae7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"c71ef62c"},"/blog/tags/lemmy-community-a2d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"26ca8ce1"},"/blog/tags/lemmy-community-launch-9dd":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"063ffaec"},"/blog/tags/lemmy-forum-7bd":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"3ac72a53"},"/blog/tags/logo-concept-discussion-7e7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"bb12dd4d"},"/blog/tags/logo-deciphering-dc4":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"3b659bf0"},"/blog/tags/love-for-game-vault-2f9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"e07621e3"},"/blog/tags/market-analysis-c1c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"04a3aba4"},"/blog/tags/metadata-2c9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"},{"content":"7489ed02"}],"__props":"46e7f252"},"/blog/tags/metadata-framework-bc5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"8a3716b4"},"/blog/tags/microsoft-store-cc8":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"5a2f6c5d"},"/blog/tags/microsoft-store-publication-a3d":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"591d17b8"},"/blog/tags/migration-finalization-138":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"e5c4b825"},"/blog/tags/motivation-8c7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"ca2d5c98"},"/blog/tags/multi-user-authentication-3a5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"d9341347"},"/blog/tags/name-migration-progress-396":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"e98ed1e4"},"/blog/tags/negative-narratives-ef7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"2608b85a"},"/blog/tags/new-logo-3d9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"3f99d67c"},"/blog/tags/new-name-28c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"d5dcebd7"},"/blog/tags/new-name-announcement-7b6":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"8852925a"},"/blog/tags/notes-f1b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"3bdf5af6"},"/blog/tags/november-update-a61":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"7486ddfc"},"/blog/tags/official-installations-733":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"c9618c72"},"/blog/tags/open-source-6be":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"b2ade0e8"},"/blog/tags/parental-control-65b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"d53cd084"},"/blog/tags/partnership-0de":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"204759e4"},"/blog/tags/partnerships-588":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"e46b1034"},"/blog/tags/platform-0bc":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"2024b8b1"}],"__props":"4e01c0f4"},"/blog/tags/platform-values-376":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"9e75d8bf"},"/blog/tags/plugin-system-4f9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"bc0aa6af"},"/blog/tags/poll-eda":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"6ff2a8aa"},"/blog/tags/poll-results-2a9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"500e67e3"},"/blog/tags/polls-829":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"8b8fd5aa"},"/blog/tags/public-f5f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"daf02673"},"/blog/tags/racist-2bb":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"979ccdb6"},"/blog/tags/rawg-5ed":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"fb0e7a2f"},"/blog/tags/rawg-api-751":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"0c6a4732"},"/blog/tags/reddit-forum-61e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7489ed02"}],"__props":"0d3164f5"},"/blog/tags/release-15f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"c9cac9d9"},"/blog/tags/renaming-app-d2c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"6a40fd04"},"/blog/tags/revenue-generation-68c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"e0a15777"},"/blog/tags/roadmap-e17":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"}],"__props":"92fb1dcd"},"/blog/tags/safe-environment-620":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"1334883d"},"/blog/tags/self-hosted-19e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"},{"content":"7489ed02"}],"__props":"5db30e8c"},"/blog/tags/self-hosted-newsletter-b53":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"573c7c88"},"/blog/tags/selfhosted-podcast-8d7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"c8fbe42c"},"/blog/tags/server-update-7ee":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"805ec11d"},"/blog/tags/sharing-blog-posts-2e3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"f2a7e769"},"/blog/tags/simplifying-game-installation-0a0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"1ff343c8"},"/blog/tags/software-ed0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"9147d3af"}],"__props":"a7d982d4"},"/blog/tags/software-development-f78":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"e9e1de17"},"/blog/tags/software-licensing-6a0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"db0b0363"},"/blog/tags/software-updates-742":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"4f991444"},"/blog/tags/solution-a71":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"9046e000"},"/blog/tags/source-available-501":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"},{"content":"7489ed02"}],"__props":"cc0b9cf0"},"/blog/tags/source-available-software-42f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"23a0eab7"},"/blog/tags/spam-99a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"8577c450"},"/blog/tags/special-thanks-721":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"c8472403"},"/blog/tags/speculation-691":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"5baa483a"},"/blog/tags/spreading-the-word-9a5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"},{"content":"8795eea9"}],"__props":"113d89da"},"/blog/tags/startup-387":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"9147d3af"}],"__props":"c7bbcbc7"},"/blog/tags/steam-5cb":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"ab6782ba"},"/blog/tags/subreddit-migration-bf0":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"19e4f252"},"/blog/tags/subscription-088":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"00dfabf5"},"/blog/tags/subscription-model-7e6":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"9147d3af"}],"__props":"2aa0a660"},"/blog/tags/subscription-to-updates-role-97f":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"534e7ef5"},"/blog/tags/success-cc5":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"dd9b1d9d"},"/blog/tags/support-a33":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"009c376a"},"/blog/tags/support-request-99a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"ff51e3f1"},"/blog/tags/surge-of-new-users-4ba":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"8795eea9"}],"__props":"aeb57253"},"/blog/tags/sustainability-5a8":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"defc3e62"},"/blog/tags/tech-progress-1f3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"20661643"},"/blog/tags/testing-ad7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"0bd541ed"}],"__props":"82c81335"},"/blog/tags/theme-6c7":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7ef69c2b"}],"__props":"73ad9a8e"},"/blog/tags/threats-3f9":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"4534f50b"},"/blog/tags/transition-process-a0e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"89db6d1d"}],"__props":"7558b7a2"},"/blog/tags/transparency-7b3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"00fcf151"},"/blog/tags/trolls-22a":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"7b99d5ba"}],"__props":"41e301a0"},"/blog/tags/twitch-tv-c17":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"99f2b7e6"},"/blog/tags/ui-redesign-1e3":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"d9d4e1f1"}],"__props":"bcc2422e"},"/blog/tags/ui-update-0da":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"3fc3119e"}],"__props":"cee5390f"},"/blog/tags/upcoming-update-f39":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fb0a08ce"}],"__props":"3af271b3"},"/blog/tags/update-fa1":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"0766ce7b"},"/blog/tags/updates-125":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"71f72e4c"},"/blog/tags/user-engagement-51e":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2e008a3a"}],"__props":"d6138fd2"},"/blog/tags/user-participation-15b":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"ba3af7ad"}],"__props":"357ebdd0"},"/blog/tags/video-games-b8c":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"e70842e4"}],"__props":"7576ca6a"},"/blog/tags/videogame-f65":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"fe2b2ad8"}],"__props":"a67f6c3e"},"/blog/tags/voting-f23":{"__comp":"6875c492","__context":{"plugin":"36994c47"},"sidebar":"814f3328","items":[{"content":"2024b8b1"},{"content":"ba3af7ad"}],"__props":"cd781ce1"},"/docs-8dd":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/docs-f52":{"__comp":"a7bd4aaa","__props":"0058b4c6"},"/docs-da4":{"__comp":"a94703ab"},"/docs/advanced-usage/early-access-program-ba1":{"__comp":"17896441","content":"264f4708"},"/docs/advanced-usage/fail2ban-gamevault-guide-d67":{"__comp":"17896441","content":"ee98c124"},"/docs/advanced-usage/linux-client-c4f":{"__comp":"17896441","content":"dcb9a9e8"},"/docs/advanced-usage/rest-api-6f8":{"__comp":"17896441","content":"c89c7974"},"/docs/advanced-usage/steamdeck-0f5":{"__comp":"17896441","content":"e0da75fc"},"/docs/client-docs/data-2c9":{"__comp":"17896441","content":"51e7bf36"},"/docs/client-docs/gui-115":{"__comp":"17896441","content":"a1072f2a"},"/docs/client-docs/how-to-use-cbd":{"__comp":"17896441","content":"435302bb"},"/docs/client-docs/setup-3bd":{"__comp":"17896441","content":"b8ecf3c5"},"/docs/client-docs/themes-edf":{"__comp":"17896441","content":"f8aea940"},"/docs/client-docs/updating-client-9df":{"__comp":"17896441","content":"e9e0f988"},"/docs/gamevault-plus/client-apis-ae1":{"__comp":"17896441","content":"9404f843"},"/docs/gamevault-plus/client-setup-671":{"__comp":"17896441","content":"c9d2adb2"},"/docs/gamevault-plus/introduction-76d":{"__comp":"17896441","content":"ec46a009"},"/docs/gamevault-plus/themes-6da":{"__comp":"17896441","content":"f5b06269"},"/docs/intro-e6c":{"__comp":"17896441","content":"0e384e19"},"/docs/license-contribute-217":{"__comp":"17896441","content":"ba57e113"},"/docs/server-docs/adding-games-22c":{"__comp":"17896441","content":"14b6aafb"},"/docs/server-docs/backup-and-restore-dac":{"__comp":"17896441","content":"4d393b3e"},"/docs/server-docs/configuration-a86":{"__comp":"17896441","content":"b28c3188"},"/docs/server-docs/game-types-a4c":{"__comp":"17896441","content":"5e5c84c3"},"/docs/server-docs/indexing-5c7":{"__comp":"17896441","content":"b1d7f5b9"},"/docs/server-docs/media-013":{"__comp":"17896441","content":"007d2baa"},"/docs/server-docs/metadata-enrichment/metadata-c76":{"__comp":"17896441","content":"0748c3bc"},"/docs/server-docs/metadata-enrichment/provider-igdb-c04":{"__comp":"17896441","content":"193fe191"},"/docs/server-docs/parental-control-c29":{"__comp":"17896441","content":"8ba18f4f"},"/docs/server-docs/plugins-414":{"__comp":"17896441","content":"18d9fd7d"},"/docs/server-docs/server-news-9a9":{"__comp":"17896441","content":"438c7fa2"},"/docs/server-docs/setup/-e47":{"__comp":"17896441","content":"f4d4319b"},"/docs/server-docs/setup/caprover-d28":{"__comp":"17896441","content":"b4068411"},"/docs/server-docs/setup/docker-compose-85c":{"__comp":"17896441","content":"8c4108df"},"/docs/server-docs/setup/native-455":{"__comp":"17896441","content":"cddec16f"},"/docs/server-docs/setup/synology-container-manager-0d4":{"__comp":"17896441","content":"1e0a1681"},"/docs/server-docs/setup/truenas-scale-9d2":{"__comp":"17896441","content":"1630eae8"},"/docs/server-docs/setup/unraid-8fa":{"__comp":"17896441","content":"80292675"},"/docs/server-docs/structure-2f6":{"__comp":"17896441","content":"61be0f73"},"/docs/server-docs/updating-games-8f0":{"__comp":"17896441","content":"4a631206"},"/docs/server-docs/user-management-960":{"__comp":"17896441","content":"e6a59d41"},"/docs/server-docs/websockets-6cf":{"__comp":"17896441","content":"5046667d"},"/docs/troubleshooting-8fd":{"__comp":"17896441","content":"9d9f8394"},"/-2e1":{"__comp":"c4f5d8e4","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=943,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/runtime~main.03a06ead.js b/assets/js/runtime~main.03a06ead.js deleted file mode 100644 index b80d8c19b..000000000 --- a/assets/js/runtime~main.03a06ead.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={exports:{}};return b[e].call(f.exports,f,f.exports,r),f.exports}r.m=b,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i<e.length;i++){f=e[i][0],c=e[i][1],d=e[i][2];for(var t=!0,o=0;o<f.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=c();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({15:"3bdf5af6",69:"357ebdd0",111:"7864c493",121:"71f025ea",146:"f525eb8a",147:"8ba18f4f",187:"d5dcebd7",235:"8a3c85db",241:"8167ef7e",310:"e9e0f988",339:"e0c5798e",356:"e6a59d41",386:"e46b1034",428:"4fb3dfba",447:"3f6275a8",452:"61be0f73",675:"2aa0a660",691:"cee5390f",717:"cc616304",752:"b7026fb3",765:"e4878929",786:"66e9ef90",857:"f677311a",962:"80404bfe",1053:"8795eea9",1105:"1630eae8",1151:"8b8fd5aa",1180:"e3409e91",1271:"4f991444",1283:"3f99d67c",1362:"3fc3119e",1383:"7b99d5ba",1392:"fb0a08ce",1420:"1e0a1681",1472:"c9618c72",1517:"264f4708",1545:"e78c2f6e",1601:"438c7fa2",1691:"8e064018",1693:"00fcf151",1720:"fee02ac9",1736:"dc8e8e39",1814:"ba3af7ad",2002:"18d9fd7d",2126:"435302bb",2158:"5a2f6c5d",2275:"0ad562e6",2314:"065dfc11",2328:"c71ef62c",2337:"204759e4",2422:"c7bbcbc7",2500:"f4d4319b",2510:"0b705c82",2518:"5ac1a9ec",2535:"814f3328",2561:"8577c450",2639:"6bbbce94",2644:"ef8b811a",2650:"9046e000",2656:"e0da75fc",2701:"c9d2adb2",2777:"7a0110f5",2805:"db0b0363",2834:"534e7ef5",2873:"04a3aba4",2908:"92fb1dcd",2942:"9b95b357",2980:"1ff343c8",2999:"a67f6c3e",3017:"e98ed1e4",3020:"6535206c",3025:"fcad5cc1",3066:"f58fbef8",3089:"a6aa9e1f",3112:"cd59c184",3116:"7754063d",3198:"4e01c0f4",3236:"7576ca6a",3251:"e623129a",3357:"2f44e9f7",3392:"ca2d5c98",3433:"dd9b1d9d",3439:"92440753",3465:"47aca6da",3488:"19e4f252",3518:"26ca8ce1",3559:"b28c3188",3581:"daf02673",3585:"d53cd084",3608:"9e4087bc",3629:"aba21aa0",3680:"b2c9ad8a",3712:"41e301a0",3940:"621db11d",4013:"01a85c17",4023:"0bd541ed",4031:"f81c1134",4039:"b1d7f5b9",4088:"0058b4c6",4145:"8c4108df",4195:"c4f5d8e4",4251:"82c81335",4275:"5046667d",4286:"bb12dd4d",4327:"7558b7a2",4368:"a94703ab",4412:"defc3e62",4430:"678c8d60",4452:"bdf26d57",4503:"5fa82f91",4509:"915cb6f7",4517:"416eca3f",4584:"251cbb95",4649:"0d3164f5",4691:"a7d982d4",4758:"dcb9a9e8",4760:"fbaf179c",4781:"b493ea72",4811:"9404f843",4819:"63b46e50",4884:"a6fed517",4893:"fb0e7a2f",4895:"1334883d",4907:"fe2b2ad8",4956:"00dfabf5",5044:"63511f3c",5050:"d82a1228",5059:"8a3716b4",5074:"7c4a7780",5150:"99d3d5ac",5156:"2608b85a",5164:"805ec11d",5240:"87cefd36",5300:"d9d4e1f1",5316:"cddec16f",5325:"a1f57275",5447:"aeb57253",5487:"55dfe132",5501:"51fa4cf1",5548:"daddf69a",5565:"f5b06269",5590:"ee98c124",5658:"e5c4b825",5662:"a1216fa4",5694:"2e008a3a",5724:"500e67e3",5736:"6a40fd04",5773:"23a0eab7",5781:"6e64f266",5789:"01fcf7cb",5805:"77f7e459",5855:"89db6d1d",5865:"c89c7974",5912:"e70842e4",5948:"ba57e113",5954:"9147d3af",5961:"f8aea940",5980:"a7456010",6003:"ab6782ba",6021:"007d2baa",6071:"0bfa7fcc",6072:"3af271b3",6103:"ccc49370",6135:"36bc9c65",6152:"3ac72a53",6182:"e07621e3",6241:"0748c3bc",6325:"c9cac9d9",6364:"cc0b9cf0",6487:"80292675",6497:"9b1663d8",6515:"7489ed02",6522:"f2a7e769",6609:"f94e70f3",6623:"2296bbef",6634:"4a6974fe",6635:"3b659bf0",6642:"c15d9823",6807:"077db3c5",6835:"013bccfd",6927:"886fdd87",6953:"524a34e7",6987:"0766ce7b",7020:"7ef69c2b",7044:"5db30e8c",7146:"51e7bf36",7253:"4534f50b",7262:"d5823966",7283:"5c99339f",7393:"acecf23e",7416:"d527dda4",7459:"193fe191",7471:"d6138fd2",7508:"9d86e7fa",7523:"71f72e4c",7546:"99f2b7e6",7596:"2024b8b1",7650:"a1072f2a",7764:"f6f174b1",7773:"6ff2a8aa",7807:"9748c478",7918:"17896441",7919:"18747338",7937:"4a631206",7951:"03919031",7964:"8852925a",8023:"9d5a95a9",8038:"3fc2248c",8042:"b4068411",8218:"591d17b8",8258:"c332f8df",8307:"e935068c",8346:"5a8f8fa9",8364:"c8fbe42c",8404:"bc0aa6af",8407:"8f8e2e78",8437:"7486ddfc",8444:"9e75d8bf",8489:"8ff99662",8495:"14b6aafb",8516:"5e5c84c3",8518:"a7bd4aaa",8521:"2a693baa",8563:"b2ade0e8",8565:"4ff7c2f7",8610:"6875c492",8644:"8ea09047",8666:"9fafd272",8704:"bcc2422e",8823:"10d38074",8846:"573c7c88",8847:"009c376a",8860:"df8deb2d",8912:"5bbd8cf3",8953:"20661643",9006:"5baa483a",9041:"751a244a",9096:"73ad9a8e",9099:"113d89da",9155:"4d393b3e",9190:"46e7f252",9208:"36994c47",9230:"cd781ce1",9264:"979ccdb6",9268:"7424d9c3",9303:"a3fd4b44",9338:"0c6a4732",9348:"77a8abe0",9360:"9d9f8394",9361:"3a2db09e",9362:"ec46a009",9399:"063ffaec",9418:"1dd5d307",9424:"eda4f68b",9473:"e9e1de17",9490:"d9341347",9498:"ff51e3f1",9518:"0a27b0d0",9565:"9019cc36",9584:"24c2f136",9661:"5e95c892",9671:"0e384e19",9710:"c8472403",9737:"e0a15777",9847:"b8ecf3c5",9886:"e7aa45d5",9950:"4efd7f8f"}[e]||e)+"."+{15:"afdcb5a4",69:"697df34d",111:"9645bd45",121:"6f40bb5d",146:"c495c5b2",147:"ad0b8564",187:"f25b04b3",235:"0ea59cd7",241:"e23acf96",310:"45f588b3",339:"0eedbb9b",356:"18228cc3",369:"e74b4f81",386:"9a2f7372",428:"c47be8fc",447:"0faaee88",452:"d53b12f7",675:"10688fe9",691:"f67a1ea1",717:"77584d59",752:"48429419",765:"b897a783",786:"493eaccb",857:"3b2a60f5",962:"243fe57b",1053:"4c6d282e",1105:"40f8a7dd",1151:"88742189",1180:"eb63e05e",1271:"76873c68",1283:"8306d15a",1362:"0d274f44",1383:"430c1370",1392:"868120b0",1420:"d65285c8",1472:"f7a3fb5e",1517:"f7124c31",1545:"826f4032",1601:"03c3af96",1649:"67adf67a",1691:"192c037f",1693:"fc36d5e7",1720:"5c9a73d8",1736:"610e2592",1814:"8b7a6fe1",2002:"8d0c3aef",2126:"ecae0713",2158:"09370c3a",2275:"6f0e84be",2314:"021b191d",2328:"433c7f12",2337:"e03fff90",2422:"071b1ca6",2433:"29272538",2500:"abdfd7ef",2510:"b85e501b",2518:"ee9e635b",2535:"c8be6700",2561:"c522d676",2639:"a8e63d10",2644:"d87fafd2",2650:"f43ecc9e",2656:"26e30ff3",2701:"371857cd",2777:"3ab6f421",2805:"58be98a7",2834:"3ac40b2b",2873:"a65ff355",2908:"8516da11",2942:"29f7c58b",2980:"85bb6a54",2999:"40a0a035",3017:"63e2958e",3020:"8d92d0fd",3025:"fdbd4ec6",3066:"c7d8d0f3",3089:"9337288d",3112:"4380dd54",3116:"2f94657f",3198:"ef8b51e7",3236:"ca031a19",3251:"cdbc5f94",3357:"aed84675",3392:"f3114af4",3433:"8e104c95",3439:"444c601f",3465:"ce9212e4",3488:"384181f4",3518:"f04fae7b",3559:"4a70d5e9",3581:"5a456591",3585:"b0b81414",3608:"3baef65c",3629:"f1ffa9ac",3680:"ff2e4e5e",3712:"7724a9e3",3940:"28c68033",4013:"692c4964",4023:"116503e2",4031:"427bb239",4039:"358c8814",4088:"0b15a013",4145:"5b80174b",4195:"6d5feb5c",4251:"7144e663",4275:"6816423f",4286:"2d4ebc9a",4327:"df837680",4368:"4490eea1",4412:"9ac48b07",4430:"d2ce53e5",4452:"9e4d46f1",4503:"fa2d39df",4509:"f5acc05c",4517:"c4adc880",4584:"f2332e02",4649:"2cd8823e",4691:"8de9df24",4758:"0f05a26d",4760:"89ad0700",4781:"99bcac67",4811:"3c294247",4819:"16d610c4",4884:"59bc7dcb",4893:"14a490bd",4895:"14400a3c",4907:"443c10fc",4956:"e80e1c37",5044:"6756bb7e",5050:"49eaf640",5059:"f601d9b6",5074:"96b1e592",5150:"1aaa4761",5156:"02c0ba90",5164:"af062f68",5240:"a188e09d",5300:"f6b2f69f",5316:"8f857718",5325:"99519fb9",5447:"2a2f6685",5487:"d7016b5a",5501:"d5da5dbf",5548:"ddeb214e",5565:"c8fc53ea",5590:"e7f1268a",5658:"37ebd851",5662:"5ad0b577",5694:"78dc1344",5724:"19f9ac2f",5736:"888292b4",5773:"c9728401",5781:"2141b30d",5789:"48bd04c7",5805:"a29ad4a7",5855:"4dd71599",5865:"36d99de2",5912:"707e3622",5948:"9e9cbc48",5954:"9f6d0b70",5961:"55ccc5d1",5980:"c4d9ffaa",6003:"45f5ab35",6021:"b4d685f2",6071:"e307e6e6",6072:"a8d18461",6103:"4427e1f7",6135:"8f29c9d6",6152:"47052c5b",6182:"fb997d27",6241:"c0d1f990",6325:"33dd62bd",6364:"be0010eb",6487:"d53d083b",6497:"b5d4c1d6",6515:"954f07df",6522:"bec83672",6609:"5df7c9c2",6623:"55fa136c",6634:"9013cf49",6635:"25a393d1",6642:"91f18004",6807:"0999319f",6835:"ff7437d6",6927:"566679ce",6953:"1aab349d",6987:"6aec0bf0",7020:"b53d4294",7044:"e2e7c57f",7146:"96b3e995",7253:"15c88222",7262:"0056e9ed",7283:"820589b5",7393:"55a1a4b9",7416:"0a77982f",7459:"81ff1ac2",7471:"106d7fa0",7508:"2f9f9808",7523:"07d644c6",7546:"e538f75e",7596:"1a062afe",7650:"69a2bfa0",7764:"2d97a5ec",7773:"2304b994",7807:"aaf9765e",7918:"1ffc051e",7919:"2137608a",7937:"32b9a23f",7951:"e92f7a9d",7964:"709ac834",8023:"5e01b5f3",8038:"1f5578e5",8042:"710112df",8218:"ab276fe7",8258:"f1eb30cb",8307:"80350e6e",8346:"0f14bab8",8364:"6e3567e1",8404:"65ec7d7b",8407:"9c2f6ed8",8437:"bb66f90e",8444:"09251459",8489:"58f8bcce",8495:"d1ab05df",8516:"4f543694",8518:"7d869959",8521:"dbfa1f2b",8563:"9f4e1edb",8565:"26455918",8610:"d06d54a5",8644:"8882bedc",8666:"8c3e8bdf",8704:"e71b5aaf",8823:"62bfa264",8846:"ef50afd2",8847:"06db26bf",8860:"883a1740",8912:"d768f173",8953:"143a88ff",9006:"88d5f495",9041:"99de35a7",9096:"7e581625",9099:"c4b27d8e",9155:"b8157fdc",9190:"a3647008",9208:"cdf0e56f",9230:"7f1fa5b9",9264:"8cea7923",9268:"784771e2",9303:"55b11bf1",9338:"5416241e",9348:"6cee7d2b",9360:"719e69be",9361:"5bb4ae1d",9362:"40695c02",9399:"bf3c46a7",9418:"07977e54",9424:"5e7dc2d2",9473:"929612ec",9490:"89897fd7",9498:"a42a1c3f",9518:"5f4c1fad",9565:"e6dd2667",9584:"e921b82e",9661:"9de68b89",9671:"35eae3f2",9710:"ffbd8f0a",9737:"1e8cc06c",9847:"09bf15f5",9886:"6f03a7aa",9950:"ced76d32"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="gamevault-docs:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==d+f){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+f),t.src=e),c[e]=[a];var l=(a,f)=>{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",18747338:"7919",20661643:"8953",80292675:"6487",92440753:"3439","3bdf5af6":"15","357ebdd0":"69","7864c493":"111","71f025ea":"121",f525eb8a:"146","8ba18f4f":"147",d5dcebd7:"187","8a3c85db":"235","8167ef7e":"241",e9e0f988:"310",e0c5798e:"339",e6a59d41:"356",e46b1034:"386","4fb3dfba":"428","3f6275a8":"447","61be0f73":"452","2aa0a660":"675",cee5390f:"691",cc616304:"717",b7026fb3:"752",e4878929:"765","66e9ef90":"786",f677311a:"857","80404bfe":"962","8795eea9":"1053","1630eae8":"1105","8b8fd5aa":"1151",e3409e91:"1180","4f991444":"1271","3f99d67c":"1283","3fc3119e":"1362","7b99d5ba":"1383",fb0a08ce:"1392","1e0a1681":"1420",c9618c72:"1472","264f4708":"1517",e78c2f6e:"1545","438c7fa2":"1601","8e064018":"1691","00fcf151":"1693",fee02ac9:"1720",dc8e8e39:"1736",ba3af7ad:"1814","18d9fd7d":"2002","435302bb":"2126","5a2f6c5d":"2158","0ad562e6":"2275","065dfc11":"2314",c71ef62c:"2328","204759e4":"2337",c7bbcbc7:"2422",f4d4319b:"2500","0b705c82":"2510","5ac1a9ec":"2518","814f3328":"2535","8577c450":"2561","6bbbce94":"2639",ef8b811a:"2644","9046e000":"2650",e0da75fc:"2656",c9d2adb2:"2701","7a0110f5":"2777",db0b0363:"2805","534e7ef5":"2834","04a3aba4":"2873","92fb1dcd":"2908","9b95b357":"2942","1ff343c8":"2980",a67f6c3e:"2999",e98ed1e4:"3017","6535206c":"3020",fcad5cc1:"3025",f58fbef8:"3066",a6aa9e1f:"3089",cd59c184:"3112","7754063d":"3116","4e01c0f4":"3198","7576ca6a":"3236",e623129a:"3251","2f44e9f7":"3357",ca2d5c98:"3392",dd9b1d9d:"3433","47aca6da":"3465","19e4f252":"3488","26ca8ce1":"3518",b28c3188:"3559",daf02673:"3581",d53cd084:"3585","9e4087bc":"3608",aba21aa0:"3629",b2c9ad8a:"3680","41e301a0":"3712","621db11d":"3940","01a85c17":"4013","0bd541ed":"4023",f81c1134:"4031",b1d7f5b9:"4039","0058b4c6":"4088","8c4108df":"4145",c4f5d8e4:"4195","82c81335":"4251","5046667d":"4275",bb12dd4d:"4286","7558b7a2":"4327",a94703ab:"4368",defc3e62:"4412","678c8d60":"4430",bdf26d57:"4452","5fa82f91":"4503","915cb6f7":"4509","416eca3f":"4517","251cbb95":"4584","0d3164f5":"4649",a7d982d4:"4691",dcb9a9e8:"4758",fbaf179c:"4760",b493ea72:"4781","9404f843":"4811","63b46e50":"4819",a6fed517:"4884",fb0e7a2f:"4893","1334883d":"4895",fe2b2ad8:"4907","00dfabf5":"4956","63511f3c":"5044",d82a1228:"5050","8a3716b4":"5059","7c4a7780":"5074","99d3d5ac":"5150","2608b85a":"5156","805ec11d":"5164","87cefd36":"5240",d9d4e1f1:"5300",cddec16f:"5316",a1f57275:"5325",aeb57253:"5447","55dfe132":"5487","51fa4cf1":"5501",daddf69a:"5548",f5b06269:"5565",ee98c124:"5590",e5c4b825:"5658",a1216fa4:"5662","2e008a3a":"5694","500e67e3":"5724","6a40fd04":"5736","23a0eab7":"5773","6e64f266":"5781","01fcf7cb":"5789","77f7e459":"5805","89db6d1d":"5855",c89c7974:"5865",e70842e4:"5912",ba57e113:"5948","9147d3af":"5954",f8aea940:"5961",a7456010:"5980",ab6782ba:"6003","007d2baa":"6021","0bfa7fcc":"6071","3af271b3":"6072",ccc49370:"6103","36bc9c65":"6135","3ac72a53":"6152",e07621e3:"6182","0748c3bc":"6241",c9cac9d9:"6325",cc0b9cf0:"6364","9b1663d8":"6497","7489ed02":"6515",f2a7e769:"6522",f94e70f3:"6609","2296bbef":"6623","4a6974fe":"6634","3b659bf0":"6635",c15d9823:"6642","077db3c5":"6807","013bccfd":"6835","886fdd87":"6927","524a34e7":"6953","0766ce7b":"6987","7ef69c2b":"7020","5db30e8c":"7044","51e7bf36":"7146","4534f50b":"7253",d5823966:"7262","5c99339f":"7283",acecf23e:"7393",d527dda4:"7416","193fe191":"7459",d6138fd2:"7471","9d86e7fa":"7508","71f72e4c":"7523","99f2b7e6":"7546","2024b8b1":"7596",a1072f2a:"7650",f6f174b1:"7764","6ff2a8aa":"7773","9748c478":"7807","4a631206":"7937","03919031":"7951","8852925a":"7964","9d5a95a9":"8023","3fc2248c":"8038",b4068411:"8042","591d17b8":"8218",c332f8df:"8258",e935068c:"8307","5a8f8fa9":"8346",c8fbe42c:"8364",bc0aa6af:"8404","8f8e2e78":"8407","7486ddfc":"8437","9e75d8bf":"8444","8ff99662":"8489","14b6aafb":"8495","5e5c84c3":"8516",a7bd4aaa:"8518","2a693baa":"8521",b2ade0e8:"8563","4ff7c2f7":"8565","6875c492":"8610","8ea09047":"8644","9fafd272":"8666",bcc2422e:"8704","10d38074":"8823","573c7c88":"8846","009c376a":"8847",df8deb2d:"8860","5bbd8cf3":"8912","5baa483a":"9006","751a244a":"9041","73ad9a8e":"9096","113d89da":"9099","4d393b3e":"9155","46e7f252":"9190","36994c47":"9208",cd781ce1:"9230","979ccdb6":"9264","7424d9c3":"9268",a3fd4b44:"9303","0c6a4732":"9338","77a8abe0":"9348","9d9f8394":"9360","3a2db09e":"9361",ec46a009:"9362","063ffaec":"9399","1dd5d307":"9418",eda4f68b:"9424",e9e1de17:"9473",d9341347:"9490",ff51e3f1:"9498","0a27b0d0":"9518","9019cc36":"9565","24c2f136":"9584","5e95c892":"9661","0e384e19":"9671",c8472403:"9710",e0a15777:"9737",b8ecf3c5:"9847",e7aa45d5:"9886","4efd7f8f":"9950"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},f=self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[];f.forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f))})()})(); \ No newline at end of file diff --git a/assets/js/runtime~main.92d9007e.js b/assets/js/runtime~main.92d9007e.js new file mode 100644 index 000000000..df0824980 --- /dev/null +++ b/assets/js/runtime~main.92d9007e.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={exports:{}};return b[e].call(f.exports,f,f.exports,r),f.exports}r.m=b,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i<e.length;i++){f=e[i][0],c=e[i][1],d=e[i][2];for(var t=!0,o=0;o<f.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=c();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({15:"3bdf5af6",69:"357ebdd0",111:"7864c493",121:"71f025ea",146:"f525eb8a",147:"8ba18f4f",187:"d5dcebd7",235:"8a3c85db",241:"8167ef7e",310:"e9e0f988",339:"e0c5798e",356:"e6a59d41",386:"e46b1034",428:"4fb3dfba",447:"3f6275a8",452:"61be0f73",675:"2aa0a660",691:"cee5390f",717:"cc616304",752:"b7026fb3",765:"e4878929",786:"66e9ef90",857:"f677311a",962:"80404bfe",1053:"8795eea9",1105:"1630eae8",1151:"8b8fd5aa",1180:"e3409e91",1271:"4f991444",1283:"3f99d67c",1362:"3fc3119e",1383:"7b99d5ba",1392:"fb0a08ce",1420:"1e0a1681",1472:"c9618c72",1517:"264f4708",1545:"e78c2f6e",1601:"438c7fa2",1691:"8e064018",1693:"00fcf151",1720:"fee02ac9",1736:"dc8e8e39",1814:"ba3af7ad",2002:"18d9fd7d",2126:"435302bb",2158:"5a2f6c5d",2275:"0ad562e6",2314:"065dfc11",2328:"c71ef62c",2337:"204759e4",2422:"c7bbcbc7",2500:"f4d4319b",2510:"0b705c82",2518:"5ac1a9ec",2535:"814f3328",2561:"8577c450",2639:"6bbbce94",2644:"ef8b811a",2650:"9046e000",2656:"e0da75fc",2701:"c9d2adb2",2777:"7a0110f5",2805:"db0b0363",2834:"534e7ef5",2873:"04a3aba4",2908:"92fb1dcd",2942:"9b95b357",2980:"1ff343c8",2999:"a67f6c3e",3017:"e98ed1e4",3020:"6535206c",3025:"fcad5cc1",3066:"f58fbef8",3089:"a6aa9e1f",3112:"cd59c184",3116:"7754063d",3198:"4e01c0f4",3236:"7576ca6a",3251:"e623129a",3357:"2f44e9f7",3392:"ca2d5c98",3433:"dd9b1d9d",3439:"92440753",3465:"47aca6da",3488:"19e4f252",3518:"26ca8ce1",3559:"b28c3188",3581:"daf02673",3585:"d53cd084",3608:"9e4087bc",3629:"aba21aa0",3680:"b2c9ad8a",3712:"41e301a0",3940:"621db11d",4013:"01a85c17",4023:"0bd541ed",4031:"f81c1134",4039:"b1d7f5b9",4088:"0058b4c6",4145:"8c4108df",4195:"c4f5d8e4",4251:"82c81335",4275:"5046667d",4286:"bb12dd4d",4327:"7558b7a2",4368:"a94703ab",4412:"defc3e62",4430:"678c8d60",4452:"bdf26d57",4503:"5fa82f91",4509:"915cb6f7",4517:"416eca3f",4584:"251cbb95",4649:"0d3164f5",4691:"a7d982d4",4758:"dcb9a9e8",4760:"fbaf179c",4781:"b493ea72",4811:"9404f843",4819:"63b46e50",4884:"a6fed517",4893:"fb0e7a2f",4895:"1334883d",4907:"fe2b2ad8",4956:"00dfabf5",5044:"63511f3c",5050:"d82a1228",5059:"8a3716b4",5074:"7c4a7780",5150:"99d3d5ac",5156:"2608b85a",5164:"805ec11d",5240:"87cefd36",5300:"d9d4e1f1",5316:"cddec16f",5325:"a1f57275",5447:"aeb57253",5487:"55dfe132",5501:"51fa4cf1",5548:"daddf69a",5565:"f5b06269",5590:"ee98c124",5658:"e5c4b825",5662:"a1216fa4",5694:"2e008a3a",5724:"500e67e3",5736:"6a40fd04",5773:"23a0eab7",5781:"6e64f266",5789:"01fcf7cb",5805:"77f7e459",5855:"89db6d1d",5865:"c89c7974",5912:"e70842e4",5948:"ba57e113",5954:"9147d3af",5961:"f8aea940",5980:"a7456010",6003:"ab6782ba",6021:"007d2baa",6071:"0bfa7fcc",6072:"3af271b3",6103:"ccc49370",6135:"36bc9c65",6152:"3ac72a53",6182:"e07621e3",6241:"0748c3bc",6325:"c9cac9d9",6364:"cc0b9cf0",6487:"80292675",6497:"9b1663d8",6515:"7489ed02",6522:"f2a7e769",6609:"f94e70f3",6623:"2296bbef",6634:"4a6974fe",6635:"3b659bf0",6642:"c15d9823",6807:"077db3c5",6835:"013bccfd",6927:"886fdd87",6953:"524a34e7",6987:"0766ce7b",7020:"7ef69c2b",7044:"5db30e8c",7146:"51e7bf36",7253:"4534f50b",7262:"d5823966",7283:"5c99339f",7393:"acecf23e",7416:"d527dda4",7459:"193fe191",7471:"d6138fd2",7508:"9d86e7fa",7523:"71f72e4c",7546:"99f2b7e6",7596:"2024b8b1",7650:"a1072f2a",7764:"f6f174b1",7773:"6ff2a8aa",7807:"9748c478",7918:"17896441",7919:"18747338",7937:"4a631206",7951:"03919031",7964:"8852925a",8023:"9d5a95a9",8038:"3fc2248c",8042:"b4068411",8218:"591d17b8",8258:"c332f8df",8307:"e935068c",8346:"5a8f8fa9",8364:"c8fbe42c",8404:"bc0aa6af",8407:"8f8e2e78",8437:"7486ddfc",8444:"9e75d8bf",8489:"8ff99662",8495:"14b6aafb",8516:"5e5c84c3",8518:"a7bd4aaa",8521:"2a693baa",8563:"b2ade0e8",8565:"4ff7c2f7",8610:"6875c492",8644:"8ea09047",8666:"9fafd272",8704:"bcc2422e",8823:"10d38074",8846:"573c7c88",8847:"009c376a",8860:"df8deb2d",8912:"5bbd8cf3",8953:"20661643",9006:"5baa483a",9041:"751a244a",9096:"73ad9a8e",9099:"113d89da",9155:"4d393b3e",9190:"46e7f252",9208:"36994c47",9230:"cd781ce1",9264:"979ccdb6",9268:"7424d9c3",9303:"a3fd4b44",9338:"0c6a4732",9348:"77a8abe0",9360:"9d9f8394",9361:"3a2db09e",9362:"ec46a009",9399:"063ffaec",9418:"1dd5d307",9424:"eda4f68b",9473:"e9e1de17",9490:"d9341347",9498:"ff51e3f1",9518:"0a27b0d0",9565:"9019cc36",9584:"24c2f136",9661:"5e95c892",9671:"0e384e19",9710:"c8472403",9737:"e0a15777",9847:"b8ecf3c5",9886:"e7aa45d5",9950:"4efd7f8f"}[e]||e)+"."+{15:"afdcb5a4",69:"697df34d",111:"9645bd45",121:"6f40bb5d",146:"c495c5b2",147:"7930542f",187:"f25b04b3",235:"0ea59cd7",241:"e23acf96",310:"b2e09943",339:"308752ac",356:"344c0d69",386:"9a2f7372",428:"c47be8fc",447:"0faaee88",452:"46aea420",675:"10688fe9",691:"f67a1ea1",717:"77584d59",752:"9d4162c0",765:"b897a783",786:"493eaccb",857:"3b2a60f5",962:"243fe57b",1053:"c226c217",1105:"2978aa9a",1151:"88742189",1180:"eb63e05e",1271:"76873c68",1283:"8306d15a",1362:"a97da495",1383:"a1b49a5b",1392:"709e5246",1420:"c67a4dd9",1472:"f7a3fb5e",1517:"cbe92c52",1545:"826f4032",1601:"ed451fc6",1649:"c21acdfc",1691:"192c037f",1693:"fc36d5e7",1720:"5c9a73d8",1736:"610e2592",1814:"82300781",2002:"143d747e",2091:"0cdaafca",2126:"8497a1d4",2158:"09370c3a",2275:"6f0e84be",2314:"021b191d",2328:"433c7f12",2337:"e03fff90",2422:"071b1ca6",2500:"a48b409c",2510:"3d4a2b17",2518:"ee9e635b",2535:"c8be6700",2561:"c522d676",2639:"a8e63d10",2644:"d87fafd2",2650:"f43ecc9e",2656:"82b2488d",2701:"8fdf7464",2777:"3ab6f421",2805:"58be98a7",2834:"3ac40b2b",2873:"a65ff355",2908:"8516da11",2942:"29f7c58b",2980:"85bb6a54",2999:"40a0a035",3017:"63e2958e",3020:"8d92d0fd",3025:"fdbd4ec6",3066:"c7d8d0f3",3089:"87c8d08d",3112:"9ebb86c4",3116:"2f94657f",3198:"ef8b51e7",3236:"ca031a19",3251:"cdbc5f94",3357:"aed84675",3392:"f3114af4",3433:"8e104c95",3439:"444c601f",3465:"d22b953e",3488:"384181f4",3518:"f04fae7b",3559:"df155f5f",3581:"5a456591",3585:"b0b81414",3608:"c436fd83",3629:"f1ffa9ac",3680:"ff2e4e5e",3712:"7724a9e3",3940:"cd005c05",4013:"a3a8d5c8",4023:"643c34a6",4031:"427bb239",4039:"fba9eb2b",4088:"0b15a013",4145:"5b1f936e",4195:"327ad0bf",4251:"7144e663",4275:"9ca9e466",4286:"2d4ebc9a",4327:"df837680",4368:"4436cafa",4412:"9ac48b07",4430:"d2ce53e5",4452:"9e4d46f1",4503:"fa2d39df",4509:"f5acc05c",4517:"c4adc880",4584:"f2332e02",4649:"2cd8823e",4691:"8de9df24",4758:"8560359c",4760:"289c4e7f",4781:"002e1b38",4811:"c51f720e",4819:"16d610c4",4884:"59bc7dcb",4893:"14a490bd",4895:"14400a3c",4907:"5be3f56b",4956:"e80e1c37",5044:"6756bb7e",5050:"49eaf640",5059:"f601d9b6",5074:"96b1e592",5150:"1aaa4761",5156:"02c0ba90",5164:"af062f68",5240:"a188e09d",5300:"ca60091f",5316:"cdf55724",5325:"f5d129b3",5447:"2a2f6685",5487:"39f7a57c",5501:"d5da5dbf",5548:"ddeb214e",5565:"fe7c6b2d",5590:"cbd09722",5658:"37ebd851",5662:"b3f075b9",5694:"c8c45cd2",5724:"19f9ac2f",5736:"888292b4",5773:"c9728401",5781:"2141b30d",5789:"48bd04c7",5805:"a29ad4a7",5855:"830f4491",5865:"b21109b7",5912:"f0b00acd",5948:"941d714f",5954:"0a76dcd5",5961:"98e609de",5980:"c4d9ffaa",6003:"45f5ab35",6021:"00411cb4",6071:"b01db92e",6072:"a8d18461",6103:"3a091c2c",6135:"8f29c9d6",6152:"47052c5b",6182:"ddae9e66",6241:"ab07a9aa",6325:"33dd62bd",6364:"be0010eb",6487:"7494050e",6493:"8f62fe69",6497:"b5d4c1d6",6515:"06343463",6522:"bec83672",6609:"5df7c9c2",6623:"15e7a1e1",6634:"d796f7ac",6635:"25a393d1",6642:"91f18004",6807:"0999319f",6835:"ff7437d6",6927:"566679ce",6953:"1aab349d",6987:"6aec0bf0",7020:"14d18f74",7044:"e2e7c57f",7146:"75311b19",7253:"15c88222",7262:"0056e9ed",7283:"820589b5",7393:"55a1a4b9",7416:"0a77982f",7459:"b9d845f8",7471:"106d7fa0",7508:"2f9f9808",7523:"07d644c6",7546:"acd277ff",7596:"318d4076",7650:"6a61b3d0",7764:"2d97a5ec",7773:"2304b994",7807:"ab7b920b",7918:"5148359f",7919:"2137608a",7937:"061c0be6",7951:"e92f7a9d",7964:"709ac834",8023:"5e01b5f3",8038:"1f5578e5",8042:"d07d7e08",8218:"ab276fe7",8258:"d52fc2ac",8307:"80350e6e",8346:"0f14bab8",8364:"6e3567e1",8404:"65ec7d7b",8407:"9c2f6ed8",8437:"bb66f90e",8444:"09251459",8489:"58f8bcce",8495:"15260e47",8516:"ccd1c461",8518:"b6217e6b",8521:"dbfa1f2b",8563:"9f4e1edb",8565:"26455918",8610:"9307af78",8644:"8882bedc",8666:"8c3e8bdf",8704:"cc2251a8",8823:"62bfa264",8846:"ef50afd2",8847:"06db26bf",8860:"883a1740",8912:"d768f173",8953:"143a88ff",9006:"88d5f495",9041:"99de35a7",9096:"7e581625",9099:"c4b27d8e",9155:"5f343388",9190:"a3647008",9208:"cdf0e56f",9230:"7f1fa5b9",9264:"8cea7923",9268:"3f5cb2ce",9303:"55b11bf1",9338:"5416241e",9348:"6cee7d2b",9360:"1f32004b",9361:"5bb4ae1d",9362:"74738206",9399:"bf3c46a7",9418:"07977e54",9424:"5e7dc2d2",9473:"929612ec",9490:"89897fd7",9498:"a42a1c3f",9518:"5f4c1fad",9565:"071ddb15",9584:"e921b82e",9661:"892705da",9671:"8a72b449",9710:"ffbd8f0a",9737:"1e8cc06c",9847:"46500aec",9886:"9843d9eb",9950:"ced76d32"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="gamevault-docs:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==d+f){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+f),t.src=e),c[e]=[a];var l=(a,f)=>{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",18747338:"7919",20661643:"8953",80292675:"6487",92440753:"3439","3bdf5af6":"15","357ebdd0":"69","7864c493":"111","71f025ea":"121",f525eb8a:"146","8ba18f4f":"147",d5dcebd7:"187","8a3c85db":"235","8167ef7e":"241",e9e0f988:"310",e0c5798e:"339",e6a59d41:"356",e46b1034:"386","4fb3dfba":"428","3f6275a8":"447","61be0f73":"452","2aa0a660":"675",cee5390f:"691",cc616304:"717",b7026fb3:"752",e4878929:"765","66e9ef90":"786",f677311a:"857","80404bfe":"962","8795eea9":"1053","1630eae8":"1105","8b8fd5aa":"1151",e3409e91:"1180","4f991444":"1271","3f99d67c":"1283","3fc3119e":"1362","7b99d5ba":"1383",fb0a08ce:"1392","1e0a1681":"1420",c9618c72:"1472","264f4708":"1517",e78c2f6e:"1545","438c7fa2":"1601","8e064018":"1691","00fcf151":"1693",fee02ac9:"1720",dc8e8e39:"1736",ba3af7ad:"1814","18d9fd7d":"2002","435302bb":"2126","5a2f6c5d":"2158","0ad562e6":"2275","065dfc11":"2314",c71ef62c:"2328","204759e4":"2337",c7bbcbc7:"2422",f4d4319b:"2500","0b705c82":"2510","5ac1a9ec":"2518","814f3328":"2535","8577c450":"2561","6bbbce94":"2639",ef8b811a:"2644","9046e000":"2650",e0da75fc:"2656",c9d2adb2:"2701","7a0110f5":"2777",db0b0363:"2805","534e7ef5":"2834","04a3aba4":"2873","92fb1dcd":"2908","9b95b357":"2942","1ff343c8":"2980",a67f6c3e:"2999",e98ed1e4:"3017","6535206c":"3020",fcad5cc1:"3025",f58fbef8:"3066",a6aa9e1f:"3089",cd59c184:"3112","7754063d":"3116","4e01c0f4":"3198","7576ca6a":"3236",e623129a:"3251","2f44e9f7":"3357",ca2d5c98:"3392",dd9b1d9d:"3433","47aca6da":"3465","19e4f252":"3488","26ca8ce1":"3518",b28c3188:"3559",daf02673:"3581",d53cd084:"3585","9e4087bc":"3608",aba21aa0:"3629",b2c9ad8a:"3680","41e301a0":"3712","621db11d":"3940","01a85c17":"4013","0bd541ed":"4023",f81c1134:"4031",b1d7f5b9:"4039","0058b4c6":"4088","8c4108df":"4145",c4f5d8e4:"4195","82c81335":"4251","5046667d":"4275",bb12dd4d:"4286","7558b7a2":"4327",a94703ab:"4368",defc3e62:"4412","678c8d60":"4430",bdf26d57:"4452","5fa82f91":"4503","915cb6f7":"4509","416eca3f":"4517","251cbb95":"4584","0d3164f5":"4649",a7d982d4:"4691",dcb9a9e8:"4758",fbaf179c:"4760",b493ea72:"4781","9404f843":"4811","63b46e50":"4819",a6fed517:"4884",fb0e7a2f:"4893","1334883d":"4895",fe2b2ad8:"4907","00dfabf5":"4956","63511f3c":"5044",d82a1228:"5050","8a3716b4":"5059","7c4a7780":"5074","99d3d5ac":"5150","2608b85a":"5156","805ec11d":"5164","87cefd36":"5240",d9d4e1f1:"5300",cddec16f:"5316",a1f57275:"5325",aeb57253:"5447","55dfe132":"5487","51fa4cf1":"5501",daddf69a:"5548",f5b06269:"5565",ee98c124:"5590",e5c4b825:"5658",a1216fa4:"5662","2e008a3a":"5694","500e67e3":"5724","6a40fd04":"5736","23a0eab7":"5773","6e64f266":"5781","01fcf7cb":"5789","77f7e459":"5805","89db6d1d":"5855",c89c7974:"5865",e70842e4:"5912",ba57e113:"5948","9147d3af":"5954",f8aea940:"5961",a7456010:"5980",ab6782ba:"6003","007d2baa":"6021","0bfa7fcc":"6071","3af271b3":"6072",ccc49370:"6103","36bc9c65":"6135","3ac72a53":"6152",e07621e3:"6182","0748c3bc":"6241",c9cac9d9:"6325",cc0b9cf0:"6364","9b1663d8":"6497","7489ed02":"6515",f2a7e769:"6522",f94e70f3:"6609","2296bbef":"6623","4a6974fe":"6634","3b659bf0":"6635",c15d9823:"6642","077db3c5":"6807","013bccfd":"6835","886fdd87":"6927","524a34e7":"6953","0766ce7b":"6987","7ef69c2b":"7020","5db30e8c":"7044","51e7bf36":"7146","4534f50b":"7253",d5823966:"7262","5c99339f":"7283",acecf23e:"7393",d527dda4:"7416","193fe191":"7459",d6138fd2:"7471","9d86e7fa":"7508","71f72e4c":"7523","99f2b7e6":"7546","2024b8b1":"7596",a1072f2a:"7650",f6f174b1:"7764","6ff2a8aa":"7773","9748c478":"7807","4a631206":"7937","03919031":"7951","8852925a":"7964","9d5a95a9":"8023","3fc2248c":"8038",b4068411:"8042","591d17b8":"8218",c332f8df:"8258",e935068c:"8307","5a8f8fa9":"8346",c8fbe42c:"8364",bc0aa6af:"8404","8f8e2e78":"8407","7486ddfc":"8437","9e75d8bf":"8444","8ff99662":"8489","14b6aafb":"8495","5e5c84c3":"8516",a7bd4aaa:"8518","2a693baa":"8521",b2ade0e8:"8563","4ff7c2f7":"8565","6875c492":"8610","8ea09047":"8644","9fafd272":"8666",bcc2422e:"8704","10d38074":"8823","573c7c88":"8846","009c376a":"8847",df8deb2d:"8860","5bbd8cf3":"8912","5baa483a":"9006","751a244a":"9041","73ad9a8e":"9096","113d89da":"9099","4d393b3e":"9155","46e7f252":"9190","36994c47":"9208",cd781ce1:"9230","979ccdb6":"9264","7424d9c3":"9268",a3fd4b44:"9303","0c6a4732":"9338","77a8abe0":"9348","9d9f8394":"9360","3a2db09e":"9361",ec46a009:"9362","063ffaec":"9399","1dd5d307":"9418",eda4f68b:"9424",e9e1de17:"9473",d9341347:"9490",ff51e3f1:"9498","0a27b0d0":"9518","9019cc36":"9565","24c2f136":"9584","5e95c892":"9661","0e384e19":"9671",c8472403:"9710",e0a15777:"9737",b8ecf3c5:"9847",e7aa45d5:"9886","4efd7f8f":"9950"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},f=self.webpackChunkgamevault_docs=self.webpackChunkgamevault_docs||[];f.forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f))})()})(); \ No newline at end of file diff --git a/blog/2023/07/01/index.html b/blog/2023/07/01/index.html index 5afdd3d58..c55f332e6 100644 --- a/blog/2023/07/01/index.html +++ b/blog/2023/07/01/index.html @@ -4,17 +4,17 @@ <meta charset="UTF-8"> <meta name="generator" content="Docusaurus v3.5.2"> <title data-rh="true">Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games | GameVault - - - + + + -
Skip to main content

Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

· 2 min read
Alper Alkan
Co-Founder of Phalcode

Hey Guys,

+

Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

· 2 min read
Alper Alkan
Co-Founder of Phalcode

Hey Guys,

Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

With GameVault, you can play and track games together with your friends on a shared file server, free from any restrictions that traditional game platforms may impose. We have designed it to work with DRM-free games, providing a unique solution for those who want a more flexible and open approach to gaming. Think of it like Jellyfin, but for Videogames.

GameVault offers a self-hosted approach that gives you complete control over your gaming experience. The platform enables you to browse your server's game collection, securely download games, launch and play them, and even track your playtimes and progress - regardless of whether the server is offline. Additionally, you can compare stats and play states with other users on the server.

Our server features offer automatic indexing of games on the file system into a database, enrichment of games with metadata like tags and genres using RAWG API, multi-user authentication, and configurable logging. We have also implemented health monitoring, full-text search, filters, sorting, pagination, and a fully documented API. The GameVault platform is highly configurable to suit your needs.

We are thrilled that you have found us, and we invite you to try GameVault today. We would be grateful for any contributions, feedback, bug reports, and feature requests you might have. You can also support us by donating using the links provided on our website. If you have any questions or would like to connect with other GameVault users, please join our Discord, Reddit and Lemmy communities - links to which are available in the footer.

-

We are passionate about creating a gaming experience that is more open, flexible, and enjoyable for everyone. We hope you will join us on this journey and experience the benefits of a truly source-available alternative to traditional game platforms with GameVault.

+

We are passionate about creating a gaming experience that is more open, flexible, and enjoyable for everyone. We hope you will join us on this journey and experience the benefits of a truly source-available alternative to traditional game platforms with GameVault.

\ No newline at end of file diff --git a/blog/2023/07/08/index.html b/blog/2023/07/08/index.html index 10cc3e420..6cce22311 100644 --- a/blog/2023/07/08/index.html +++ b/blog/2023/07/08/index.html @@ -4,17 +4,17 @@ Choosing a New, Family-Friendly Name for this project! | GameVault - - - + + + -
Skip to main content

Choosing a New, Family-Friendly Name for this project!

· 2 min read
Alper Alkan
Co-Founder of Phalcode

Hello, everyone!

+

Choosing a New, Family-Friendly Name for this project!

· 2 min read
Alper Alkan
Co-Founder of Phalcode

Hello, everyone!

We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values. To make this decision-making process more convenient, we have created a poll with 100 potential names, suggested by you on our Discord, some of which were generated by AI. Your participation in shaping the future of our platform is greatly appreciated.

We kindly request your support in selecting a new name for our gaming platform. The poll offers a variety of names, and we ask that you choose at least 10 names (10%) that appeal to you. By gathering diverse input and minimizing bias, we aim to create an inclusive and enjoyable experience for all users. We apologize if the current name has caused any discomfort, and we are committed to creating a welcoming environment for gamers.

To cast your votes and contribute to the selection of a new, family-friendly name for our source-available gaming platform, please click on the link provided at the end of this post. Your voice matters, and together, we can find a name that truly represents our app's essence. The results will be announced on this blog around July 15, 2023.

We sincerely appreciate your support and encourage you to stay tuned for updates as we continue to improve our platform based on your valuable feedback.

Link to the poll: https://forms.gle/cYsURG6BqMXcxE3B8

-

Happy voting!

+

Happy voting!

\ No newline at end of file diff --git a/blog/2023/07/09/index.html b/blog/2023/07/09/index.html index 62682a3e9..960034d48 100644 --- a/blog/2023/07/09/index.html +++ b/blog/2023/07/09/index.html @@ -4,18 +4,18 @@ Battling Harassment and Trolls in Our App Community | GameVault - - - + + + -
Skip to main content

Battling Harassment and Trolls in Our App Community

· 2 min read
Alper Alkan
Co-Founder of Phalcode

Hey folks,

+

Battling Harassment and Trolls in Our App Community

· 2 min read
Alper Alkan
Co-Founder of Phalcode

Hey folks,

We have an important update to share with you all while our poll is in progress. It has come to our attention that a group of individuals has been engaging in harassing, blackmailing, and threatening behavior towards us.

It began with spam on our Issue Trackers and Discord Server but this situation has escalated to the point where these individuals went so far as to search me up on LinkedIn and threaten to inform my employer with baseless accusations of racism because of trivial reasons like the branch name in our github project being "master". Moreover, we have received reports that these trolls have extended their actions directly to other members of this server, attempting to spread negative narratives and disrupting the community atmosphere.

To address this issue, we kindly request that you promptly report any encounters with these trolls to both Discord and our dedicated team of moderators. By doing so, we can take appropriate measures to handle the situation and maintain a safe environment for all.

We would like to emphasize that we are not racist individuals, but rather developers who decided to share our hard work with the community, hoping to bring joy and utility to everyone. Unfortunately, we did not anticipate encountering such creepy behavior when we made the project public. It has made us question whether it was the right decision to open up our work in the first place.

If you appreciate our efforts and would like to support us and the app, we humbly ask for your financial assistance. Even a small contribution of five bucks on Kofi would go a long way in helping us maintain our motivation and dedication. Alternatively, if monetary support isn't possible, we would be incredibly grateful if you could share kind words about how the GameVault app has positively impacted your life in the #chat channel. Your encouragement means the world to us. 🥰

In addition, we encourage you to continue reporting any bugs you encounter and submitting feature requests in the respective GitHub trackers. With your valuable input, we can continue improving the app and making it even better.

-

Remember, the success of this project relies on your support and engagement. Let's stand together against these trolls and ensure a positive and inclusive community experience. Thank you for your attention and understanding.

+

Remember, the success of this project relies on your support and engagement. Let's stand together against these trolls and ensure a positive and inclusive community experience. Thank you for your attention and understanding.

\ No newline at end of file diff --git a/blog/2023/07/13/index.html b/blog/2023/07/13/index.html index e590ada4c..779aee08b 100644 --- a/blog/2023/07/13/index.html +++ b/blog/2023/07/13/index.html @@ -4,12 +4,12 @@ A Closer Look at GameVaults 'Source-Available' Nature | GameVault - - - + + + -
Skip to main content

A Closer Look at GameVaults 'Source-Available' Nature

· 3 min read
Alper Alkan
Co-Founder of Phalcode

Hey everyone,

+

A Closer Look at GameVaults 'Source-Available' Nature

· 3 min read
Alper Alkan
Co-Founder of Phalcode

Hey everyone,

today i want to clarify why GameVault isn't considered "open-source" by definition.

You see, GameVault is what we like to call "source-available" software. This means that our code is open for you to explore and modify, but it doesn't fully meet all the criteria of being considered open-source. I want to take a moment to explain what open-source truly means and why we've taken a slightly different approach.

According to the widely recognized definitions, "open-source" software, as one would think, not only provides access to the source code but also offers certain freedoms to its users. It allows them to use, modify, and distribute the software freely, even for commercial purposes.

@@ -18,6 +18,6 @@

It's important to acknowledge that maintaining and developing a software project requires resources. While we admire the open-source community and its valuable contributions, sustaining GameVault solely through donations or offering it for free indefinitely is not feasible. For instance, Jellyfin, a popular open-source app developed over a decade, generates only around $13,500 per year (according to their opencollective page). In contrast, Plex, a closed-source alternative, earns a significant $8.5 million annually. Our company's main goal is to keep the core functionality of GameVault free, but we also need to explore ways to generate revenue in order to support its future growth and improvement. We are currently considering monetizing additional convenience features for the Client Application in the future, although nothing has been finalized yet.

We genuinely appreciate your understanding. As a small business with just two members, we strive to provide you with a valuable product but cannot continue to do so as volunteers indefinitely. Sustaining losses in the long term would not be sustainable, especially considering our local tax obligations. We have families and commitments that cannot be neglected, and this project is not our primary job. Therefore, please understand that GameVault may not strictly align with the traditional definition of "open-source," and we no longer characterize it as such. Our intention is to be transparent and present our perspective. Your understanding, support, and empathy mean a great deal to us.

If you have any thoughts or comments on this topic, we'd be more than happy to hear from you. Feel free to share your feedback on our Discord server. We truly value your input and look forward to engaging with you there.

-

EDIT: Updated Application Name

+

EDIT: Updated Application Name

\ No newline at end of file diff --git a/blog/2023/07/15/index.html b/blog/2023/07/15/index.html index 6f353a02a..04138cfd4 100644 --- a/blog/2023/07/15/index.html +++ b/blog/2023/07/15/index.html @@ -4,12 +4,12 @@ A New Name | GameVault - - - + + + -
Skip to main content

A New Name

· 4 min read
Alper Alkan
Co-Founder of Phalcode

Hey everyone,

+

A New Name

· 4 min read
Alper Alkan
Co-Founder of Phalcode

Hey everyone,

We are thrilled to announce that the poll for choosing a new name for our app is finally over. The process of transitioning to the new name will commence very soon, and we can't wait to share the exciting updates with you.

But first, let's dive into the poll results and shed some light on the important facts without further delay:

Summary

@@ -102,6 +102,6 @@

Special T

Thank you all for your continued support!

We will keep you updated as the transition unfolds. In the meantime, head over to our Discord channel to celebrate and share your thoughts on the new name.

-

Stay tuned!

+

Stay tuned!

\ No newline at end of file diff --git a/blog/2023/07/19/index.html b/blog/2023/07/19/index.html index 58c0fc1f0..4f131c6c8 100644 --- a/blog/2023/07/19/index.html +++ b/blog/2023/07/19/index.html @@ -4,12 +4,12 @@ Quick Migration Update and new Logo | GameVault - - - + + + -
Skip to main content

Quick Migration Update and new Logo

· One min read
Alper Alkan
Co-Founder of Phalcode

Hey guys,

+

Quick Migration Update and new Logo

· One min read
Alper Alkan
Co-Founder of Phalcode

Hey guys,

We have a brief update on the progress of the name migration.

We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

Furthermore, we've migrated the documentation and acquired this domain gamevau.lt. We've set up redirects for our previous domain and the demo server as well.

@@ -20,6 +20,6 @@

logo

To make good use of your time while the migrations are in progress, what do you speculate the new logo represents?

Share your theories in gamevaults #chat channel on discord! We'll reveal the answer and shoutout the winner(s) in the next blog post, once the migration is finalized!

-

Until then ✌️

+

Until then ✌️

\ No newline at end of file diff --git a/blog/2023/07/20/index.html b/blog/2023/07/20/index.html index 6a3985d37..519c85b7a 100644 --- a/blog/2023/07/20/index.html +++ b/blog/2023/07/20/index.html @@ -4,12 +4,12 @@ The Migrations are finally completed | GameVault - - - + + + -
Skip to main content

The Migrations are finally completed

· One min read
Alper Alkan
Co-Founder of Phalcode

Hey folks,

+

The Migrations are finally completed

· One min read
Alper Alkan
Co-Founder of Phalcode

Hey folks,

Great news. We've successfully migrated our App name in its entirety and will resume advertising as soon as it's published on the Microsoft Store.

Just a heads up, there might be a surge of new users joining the Discord server due to us promoting GameVault across all available platforms now.

You're welcome to join in and spread the word about GameVault with your friends, family, social network, or colleagues!

@@ -19,6 +19,6 @@
  • The Box represents a Vault with a Keyhole, but it also symbolizes a game dice.
  • The Keyhole represents a Keyhole, and simultaneously signifies a game piece.
  • -

    Did you find the logo concept creative? Share your thoughts on discord!

    +

    Did you find the logo concept creative? Share your thoughts on discord!

    \ No newline at end of file diff --git a/blog/2023/07/24/index.html b/blog/2023/07/24/index.html index 4665f99e9..a2c01d959 100644 --- a/blog/2023/07/24/index.html +++ b/blog/2023/07/24/index.html @@ -4,12 +4,12 @@ Celebrating 600+ Installations and announcing the upcoming big feature | GameVault - - - + + + -
    Skip to main content

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    +

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application. What's even more amazing is that around 200 dedicated users, a third of these installations, have joined our Discord community to connect, chat, and share their experiences.

    We want to express our immense gratitude for your incredible support, feedback, and love for GameVault. Your ongoing encouragement inspires us to push boundaries and enhance your gaming experience. We're thrilled to announce that an awesome update is being worked on right now - the highly anticipated release of GameVault's Installation Pipeline!

    GameVault's Installation Pipeline

    @@ -24,6 +24,6 @@

    Support Us

    As we move forward, we kindly ask for your continued support. GameVault's success is currently solely built upon our incredible community, and your encouragement is what fuels us. If you love our app and believe in our vision, please consider supporting us in any way you can. It could even be something simple like a rating on the Microsoft Store. Your backing empowers us to keep our hard work going.

    We're eagerly looking forward to celebrating more achievements with all of you.

    -

    Stay tuned, stay connected, and let's continue this journey together!

    +

    Stay tuned, stay connected, and let's continue this journey together!

    \ No newline at end of file diff --git a/blog/2023/07/29/index.html b/blog/2023/07/29/index.html index e28120039..c320982c2 100644 --- a/blog/2023/07/29/index.html +++ b/blog/2023/07/29/index.html @@ -4,18 +4,18 @@ Please help us prioritize! | GameVault - - - + + + -
    Skip to main content

    Please help us prioritize!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello everyone!

    +

    Please help us prioritize!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello everyone!

    We hope you're all doing well. We wanted to take a moment to express our heartfelt gratitude for the flood of feature requests and bug reports that have been pouring into our issue trackers. Your enthusiasm and dedication to making GameVault even better are truly inspiring to us.

    As many of you may already know, GameVault is a passion project for us, and while we are mostly convinced by your fantastic ideas, it may take some time for us to implement them. Our team meetings happen in our free time, and although we genuinely want to incorporate your suggestions into our roadmap, we are limited by the time and capacity we can dedicate to the project. Moreover, we want to ensure that the features we develop are refined, polished, and also the most desired in the users' opinions, which adds to the timeline.

    We believe that collaboration with our incredible community is the key to success, and that's why we want to introduce you to our Roadmap. It displays all new issues, planned tasks we want to work on, and all the ongoing work in a well-organized Kanban Board. You can find it right here.

    To ensure that GameVault's development aligns better with your needs, we kindly request your active participation. By voting on GitHub with a Thumbs Up or a Thumbs Down on new and planned issues, you can help us prioritize them effectively. We value your opinion: What features do you feel are most crucial? What aspects of the platform do you find most bothersome? What issues do you see as unnecessary or bloated? Your input will mainly shape the direction we take.

    If you're eager to go the extra mile and actively contribute to shaping GameVault further, we invite you to join our Discord community and becoming a "Council Member". By becoming a "Council Member" and enabling Poll Notifications under "#Channels & Roles", you will have a direct say in the future of GameVault because you will get notifications about opinion polls we run from time to time.

    We cannot stress enough how much we appreciate your involvement in our endeavor to create the ultimate gaming experience for all of you. Your passion and feedback are invaluable, and we are committed to making GameVault the best it can be, together.

    -

    Thank you for being part of this amazing journey with us!

    +

    Thank you for being part of this amazing journey with us!

    \ No newline at end of file diff --git a/blog/2023/11/20/index.html b/blog/2023/11/20/index.html index 857b8070f..3c8dd7ad1 100644 --- a/blog/2023/11/20/index.html +++ b/blog/2023/11/20/index.html @@ -4,12 +4,12 @@ A Look Back and a Glimpse Forward | GameVault - - - + + + -
    Skip to main content

    A Look Back and a Glimpse Forward

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello,

    +

    A Look Back and a Glimpse Forward

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello,

    It's been a while since we caught up here, but if you've been following the action on Discord, you're up to speed. Nevertheless, this blog remains your spot for the key updates and announements.

    Let's dive into what's been happening with GameVault since release and what's on the horizon. We've hit version 9 on the backend and 1.7 on the frontend, showcasing our commitment to continuous improvement.

    Alongside the usual optimizations and bug fixes, we've been paying a lot of attention to your feature requests and implemented a bunch of them.

    @@ -51,6 +51,6 @@

    And your donations help keeping the lights on, though we're not rolling in dough just yet. Every penny counts, and we're truly grateful. Thanks a lot. ❤️

    Help us promote GameVault among fellow self-hosters. Your efforts could inspire a bored developer to join and contribute to our project!

    Stay tuned for the UI update – we'll be back in touch soon.

    -

    Until then, happy gaming! 🎮

    +

    Until then, happy gaming! 🎮

    \ No newline at end of file diff --git a/blog/2023/12/09/index.html b/blog/2023/12/09/index.html index fe14856a4..876b20b92 100644 --- a/blog/2023/12/09/index.html +++ b/blog/2023/12/09/index.html @@ -4,12 +4,12 @@ Join the GameVault Early-Access Program Now! | GameVault - - - + + + -
    Skip to main content

    Join the GameVault Early-Access Program Now!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey, Guys!

    +

    Join the GameVault Early-Access Program Now!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey, Guys!

    For the upcoming large UI update of GameVault, we're launching a brand new GameVault Early-Access Program, and we want YOU to be a part of it!

    What's the Early-Access Program?

    Early-Access is your golden ticket to test-drive upcoming GameVault updates before anyone else. You'll be part of an exclusive group and get a sneak peek into the latest features, but here's the deal – it might not be as stable as our regular releases and you need to interact with us. Your feedback will help us fine-tune everything before the big release for everyone else.

    @@ -25,6 +25,6 @@

    Important Not
  • There are only a limited number of slots in the Early-Access Program. Supporters and Trusted Members are prioritized.
  • If you're accepted and later found not meeting the requirements, you might be removed from future testing and the next applicant on our list gets the opportunity.
  • -

    Apply here!

    +

    Apply here!

    \ No newline at end of file diff --git a/blog/2024/03/28/index.html b/blog/2024/03/28/index.html index 876b66b4a..33d216be5 100644 --- a/blog/2024/03/28/index.html +++ b/blog/2024/03/28/index.html @@ -4,12 +4,12 @@ Announcing GameVault+ (coming soon) | GameVault - - - + + + -
    Skip to main content

    Announcing GameVault+ (coming soon)

    · 4 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Everyone!

    +

    Announcing GameVault+ (coming soon)

    · 4 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Everyone!

    It feels like it's been ages since we last caught up regarding the development of GameVault (the self-hostable platform for drm-free videogames), but trust me, the silence from our end doesn't mean we've been slacking off. In fact,quite the opposite has been happening behind the scenes.

    When my friend and I first launched this application, it was born out of a simple need for a solution to a problem we thought was very particular and only for ourselves. Having a steam-like platform for game files lying on my home server.

    We never imagined it would resonate with others or find its own place in the market. Frankly, we thought it might end up just another forgotten repository on GitHub, gathering virtual dust with no one paying it any mind.

    @@ -37,6 +37,6 @@

    So what's

    After that, we will need to urgently find a solution to our heavy reliance on the degrading and unmaintained RAWG Database. We are already in contact for potential partnerships with Video-Game Databases.

    Finally, we will need to do some refactoring of our client application's architecture.

    But stay tuned because once all of this is done, the Next Big Feature we'll be focusing on will be open for the community to decide in our #polls channel on Discord. So make sure to join "The Council" to get notified and vote on your most desired feature.

    -

    Thank you all for supporting us and looking forward to seeing you all on our next updates!

    +

    Thank you all for supporting us and looking forward to seeing you all on our next updates!

    \ No newline at end of file diff --git a/blog/2024/04/01/2024-04-01/index.html b/blog/2024/04/01/2024-04-01/index.html index 7d4f4ecaa..1a141feac 100644 --- a/blog/2024/04/01/2024-04-01/index.html +++ b/blog/2024/04/01/2024-04-01/index.html @@ -4,12 +4,12 @@ GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight! | GameVault - - - + + + -
    Skip to main content

    GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Everyone!

    +

    GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Everyone!

    The moment you've been waiting for is finally here. We've been working hard on it for months and are thrilled to announce that GameVault Client Application is now available on Windows Phone 7, powered by Microsoft Silverlight!

    Windows Phone

    The Current PC-Version of GameVault will be discontinued soon and will no longer be available to download from the Microsoft Store, as the technology is too new and not well supported yet. We needed a battle-tested framework to ensure compatibility, so we decided to switch to Windows Phone 7 and Silverlight. Also, the mobile platform just has massive market share, compared to PC.

    @@ -18,6 +18,6 @@

    Thanks to the seamless integration with Microsoft Silverlight, navigating through your game library has never been smoother or more intuitive. The Metro Live Tiles add a touch of elegance to the user interface, making it a joy to browse through your collection and discover new games.

    And the best part? This is just the beginning. Our team is already hard at work on further enhancements and features, including the highly anticipated Holodeck edition of GameVault aswell as the new integrated "Bird Feeding Timer" feature, that automatically warns you when your pets are about to starve.

    We're incredibly excited to embark on this journey with you and to continue pushing the boundaries of innovation. So what are you waiting for? Head over to the Windows Phone Store and migrate today to start your gaming adventure!

    -

    Happy gaming... and April Fools!

    +

    Happy gaming... and April Fools!

    \ No newline at end of file diff --git a/blog/2024/04/14/index.html b/blog/2024/04/14/index.html index a5cff0ba8..889767006 100644 --- a/blog/2024/04/14/index.html +++ b/blog/2024/04/14/index.html @@ -4,16 +4,16 @@ GameVault+ out now | GameVault - - - + + + -
    Skip to main content

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    GameVault+ is our way of saying thank you to our dedicated supporters while also ensuring the sustainability of our platform. For a small monthly fee, you'll gain access to premium features designed to enhance your gaming experience within GameVault. We're starting with features like animated profile pictures, custom themes, and activation of the GameVault Client API, with more exciting additions planned for the future.

    But our work doesn't stop here. We're committed to refining GameVault+ based on your feedback, as well as addressing key areas of improvement in the platform. This includes exploring partnerships with reputable video game databases to enhance our data offerings and refactoring our client application for optimal performance.

    And most importantly, we want you, our community, to have a say in the future direction of GameVault. That's why we're opening up the floor for feature suggestions through our Discord channel. Your input will help shape the next big updates to GameVault.

    -

    Thank you all for your support and enthusiasm. We're excited to continue this journey with you and to make gaming even more enjoyable for everyone. Stay tuned for more updates, and happy gaming!

    +

    Thank you all for your support and enthusiasm. We're excited to continue this journey with you and to make gaming even more enjoyable for everyone. Stay tuned for more updates, and happy gaming!

    \ No newline at end of file diff --git a/blog/2024/05/07/index.html b/blog/2024/05/07/index.html index ec906071b..399e92bbe 100644 --- a/blog/2024/05/07/index.html +++ b/blog/2024/05/07/index.html @@ -4,12 +4,12 @@ Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features! | GameVault - - - + + + -
    Skip to main content

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, rawg.io. Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems. The situation peaked on May 5th when the service went down completely for a day.

    GameVault's new metadata provider strategy

    To address these issues, we're making significant changes to GameVault's metadata system. Our goal is to make GameVault metadata provider agnostic, allowing users to seamlessly plug in their preferred metadata provider.

    @@ -33,6 +33,6 @@

    Exciti

    Supporting GameVault

    Finally, we want to thank all of you for making all of this possible. If you have not already done so, please consider upgrading to GameVault+ to flex with animated profile pictures on your server. We would really appreciate it. Bet you can't find the GameVault+ easter egg though... 😉

    With love,

    -

    Phalcode

    +

    Phalcode

    \ No newline at end of file diff --git a/blog/2024/10/20/index.html b/blog/2024/10/20/index.html index 3725817cc..0f2c63a54 100644 --- a/blog/2024/10/20/index.html +++ b/blog/2024/10/20/index.html @@ -4,12 +4,12 @@ An update so major, we could have built the product from scratch. | GameVault - - - + + + -
    Skip to main content

    An update so major, we could have built the product from scratch.

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, GameVault Community!

    +

    An update so major, we could have built the product from scratch.

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, GameVault Community!

    After six months of hard work, we’re beyond excited to unveil our biggest update yet: GameVault Client v1.12 and GameVault Server v13! This release is so massive, it feels like we could’ve built the product from scratch—there’s that much new ground covered.

    What’s New?

    We’ve introduced some game-changing improvements. First and foremost, we’ve moved away from unreliable third-party tools like RAWG and Google Image Scrapers for fetching video game metadata. Instead of just swapping one provider for another and making us dependant again, we’ve built something much better: a brand-new plugin system on the backend, complete with an official partnership with IGDB/Twitch.

    @@ -34,6 +34,6 @@

    Critica

    For a smooth update and a guide on how to use all these new features, check out the detailed migration instructions in the server changelogs. As always, if you hit any snags, feel free to reach out to us on Discord.

    Support Us

    If you’d like to support our development and help us keep most of GameVault’s features free, consider subscribing to GameVault+ or making a one-time donation. Although GameVault+ at the time only offers a limited set premium features, your support helps us continue making the app accessible to all.

    -

    Thank you all for supporting and using our passion project! We hope you enjoy the latest features and enhancements we've added.

    +

    Thank you all for supporting and using our passion project! We hope you enjoy the latest features and enhancements we've added.

    \ No newline at end of file diff --git a/blog/archive/index.html b/blog/archive/index.html index 424cf714b..a9f4e50f4 100644 --- a/blog/archive/index.html +++ b/blog/archive/index.html @@ -4,11 +4,11 @@ Archive | GameVault - - - + + + - + \ No newline at end of file diff --git a/blog/authors/index.html b/blog/authors/index.html index 1d161e85d..e1886d13a 100644 --- a/blog/authors/index.html +++ b/blog/authors/index.html @@ -4,11 +4,11 @@ Authors | GameVault - - - + + + - + \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index e4a62f960..a05cb7e2a 100644 --- a/blog/index.html +++ b/blog/index.html @@ -4,12 +4,12 @@ Blog | GameVault - - - + + + -
    Skip to main content

    An update so major, we could have built the product from scratch.

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, GameVault Community!

    +

    An update so major, we could have built the product from scratch.

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, GameVault Community!

    After six months of hard work, we’re beyond excited to unveil our biggest update yet: GameVault Client v1.12 and GameVault Server v13! This release is so massive, it feels like we could’ve built the product from scratch—there’s that much new ground covered.

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, rawg.io. Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems.

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Everyone!

    @@ -19,6 +19,6 @@

    It's been a while since we caught up here, but if you've been following the action on Discord, you're up to speed. Nevertheless, this blog remains your spot for the key updates and announements.

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application.

    +

    Great news. We've successfully migrated our App name in its entirety and will resume advertising as soon as it's published on the Microsoft Store.

    \ No newline at end of file diff --git a/blog/page/2/index.html b/blog/page/2/index.html index 4cb1e0bd5..6b5e21aa9 100644 --- a/blog/page/2/index.html +++ b/blog/page/2/index.html @@ -4,18 +4,18 @@ Blog | GameVault - - - + + + -
    Skip to main content

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    We have a brief update on the progress of the name migration.

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    A New Name

    · 4 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    We are thrilled to announce that the poll for choosing a new name for our app is finally over. The process of transitioning to the new name will commence very soon, and we can't wait to share the exciting updates with you.

    Battling Harassment and Trolls in Our App Community

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey folks,

    We have an important update to share with you all while our poll is in progress. It has come to our attention that a group of individuals has been engaging in harassing, blackmailing, and threatening behavior towards us.

    Choosing a New, Family-Friendly Name for this project!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, everyone!

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/age-restrictions/index.html b/blog/tags/age-restrictions/index.html index 177df6a76..a79b079f7 100644 --- a/blog/tags/age-restrictions/index.html +++ b/blog/tags/age-restrictions/index.html @@ -4,12 +4,12 @@ One post tagged with "age restrictions" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/ai-generated-names/index.html b/blog/tags/ai-generated-names/index.html index 1c0c6e7bf..0d578d43a 100644 --- a/blog/tags/ai-generated-names/index.html +++ b/blog/tags/ai-generated-names/index.html @@ -4,12 +4,12 @@ One post tagged with "AI-generated names" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/alternative/index.html b/blog/tags/alternative/index.html index 097dfb41a..89119e8ef 100644 --- a/blog/tags/alternative/index.html +++ b/blog/tags/alternative/index.html @@ -4,12 +4,12 @@ One post tagged with "alternative" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "alternative"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "alternative"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/analytics/index.html b/blog/tags/analytics/index.html index cf7646a56..a21cf646b 100644 --- a/blog/tags/analytics/index.html +++ b/blog/tags/analytics/index.html @@ -4,12 +4,12 @@ One post tagged with "analytics" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/announcement/index.html b/blog/tags/announcement/index.html index c5d1d8146..2561c2a20 100644 --- a/blog/tags/announcement/index.html +++ b/blog/tags/announcement/index.html @@ -4,14 +4,14 @@ 3 posts tagged with "announcement" | GameVault - - - + + + -
    Skip to main content

    3 posts tagged with "announcement"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    3 posts tagged with "announcement"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    Choosing a New, Family-Friendly Name for this project!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, everyone!

    -

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    +

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    \ No newline at end of file diff --git a/blog/tags/api/index.html b/blog/tags/api/index.html index b5c6d3313..cefac5b74 100644 --- a/blog/tags/api/index.html +++ b/blog/tags/api/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "API" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "API"

    View All Tags

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    2 posts tagged with "API"

    View All Tags

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, rawg.io. Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems.

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/app-name-migration/index.html b/blog/tags/app-name-migration/index.html index 99ae94947..104dbc00d 100644 --- a/blog/tags/app-name-migration/index.html +++ b/blog/tags/app-name-migration/index.html @@ -4,12 +4,12 @@ One post tagged with "app name migration" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/app-optimization/index.html b/blog/tags/app-optimization/index.html index cdb2210c1..6d7e7fffb 100644 --- a/blog/tags/app-optimization/index.html +++ b/blog/tags/app-optimization/index.html @@ -4,12 +4,12 @@ One post tagged with "app optimization" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/app/index.html b/blog/tags/app/index.html index d62991c96..d249fdaac 100644 --- a/blog/tags/app/index.html +++ b/blog/tags/app/index.html @@ -4,12 +4,12 @@ One post tagged with "app" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/april-fools/index.html b/blog/tags/april-fools/index.html index 9fa6ff5b7..a5315058a 100644 --- a/blog/tags/april-fools/index.html +++ b/blog/tags/april-fools/index.html @@ -4,12 +4,12 @@ One post tagged with "April Fools" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/backend-application-migration/index.html b/blog/tags/backend-application-migration/index.html index afe3d4b7f..6c09afd73 100644 --- a/blog/tags/backend-application-migration/index.html +++ b/blog/tags/backend-application-migration/index.html @@ -4,13 +4,13 @@ One post tagged with "backend application migration" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "backend application migration"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/backend/index.html b/blog/tags/backend/index.html index 99becb6bb..325b78d98 100644 --- a/blog/tags/backend/index.html +++ b/blog/tags/backend/index.html @@ -4,12 +4,12 @@ One post tagged with "backend" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/beta-testing/index.html b/blog/tags/beta-testing/index.html index 5d98a5f47..592119f6c 100644 --- a/blog/tags/beta-testing/index.html +++ b/blog/tags/beta-testing/index.html @@ -4,12 +4,12 @@ One post tagged with "Beta Testing" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/blackmail/index.html b/blog/tags/blackmail/index.html index 003c6c13c..038cb031b 100644 --- a/blog/tags/blackmail/index.html +++ b/blog/tags/blackmail/index.html @@ -4,12 +4,12 @@ One post tagged with "blackmail" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/box-representation/index.html b/blog/tags/box-representation/index.html index 9fc131c8b..59922dfa1 100644 --- a/blog/tags/box-representation/index.html +++ b/blog/tags/box-representation/index.html @@ -4,12 +4,12 @@ One post tagged with "box representation" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/bugs/index.html b/blog/tags/bugs/index.html index 1d4b05132..054c58178 100644 --- a/blog/tags/bugs/index.html +++ b/blog/tags/bugs/index.html @@ -4,12 +4,12 @@ One post tagged with "bugs" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/celebration-of-achievements/index.html b/blog/tags/celebration-of-achievements/index.html index c86eddd3f..c076b4775 100644 --- a/blog/tags/celebration-of-achievements/index.html +++ b/blog/tags/celebration-of-achievements/index.html @@ -4,12 +4,12 @@ One post tagged with "celebration of achievements" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/client-application-update/index.html b/blog/tags/client-application-update/index.html index f1ecee743..8f84360c2 100644 --- a/blog/tags/client-application-update/index.html +++ b/blog/tags/client-application-update/index.html @@ -4,13 +4,13 @@ One post tagged with "Client Application update" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "Client Application update"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/client-update/index.html b/blog/tags/client-update/index.html index 0c67b6eca..7d92fefdd 100644 --- a/blog/tags/client-update/index.html +++ b/blog/tags/client-update/index.html @@ -4,12 +4,12 @@ One post tagged with "Client Update" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/cloud-based-game-platforms/index.html b/blog/tags/cloud-based-game-platforms/index.html index 6eb1aca0f..f46127cb1 100644 --- a/blog/tags/cloud-based-game-platforms/index.html +++ b/blog/tags/cloud-based-game-platforms/index.html @@ -4,12 +4,12 @@ One post tagged with "cloud-based game platforms" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "cloud-based game platforms"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "cloud-based game platforms"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/code-access/index.html b/blog/tags/code-access/index.html index 90f2d4519..d8de6f237 100644 --- a/blog/tags/code-access/index.html +++ b/blog/tags/code-access/index.html @@ -4,12 +4,12 @@ One post tagged with "code access" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/coding-chronicle/index.html b/blog/tags/coding-chronicle/index.html index 00f85e91d..280a65638 100644 --- a/blog/tags/coding-chronicle/index.html +++ b/blog/tags/coding-chronicle/index.html @@ -4,12 +4,12 @@ One post tagged with "Coding Chronicle" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/collaboration/index.html b/blog/tags/collaboration/index.html index 12d5b4c0f..7f379439e 100644 --- a/blog/tags/collaboration/index.html +++ b/blog/tags/collaboration/index.html @@ -4,12 +4,12 @@ One post tagged with "collaboration" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/community-driven/index.html b/blog/tags/community-driven/index.html index e4bd1a786..66bed9d72 100644 --- a/blog/tags/community-driven/index.html +++ b/blog/tags/community-driven/index.html @@ -4,12 +4,12 @@ One post tagged with "community-driven" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/community-feedback/index.html b/blog/tags/community-feedback/index.html index a8191d0a5..28f703010 100644 --- a/blog/tags/community-feedback/index.html +++ b/blog/tags/community-feedback/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "Community Feedback" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "Community Feedback"

    View All Tags

    Join the GameVault Early-Access Program Now!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey, Guys!

    +

    2 posts tagged with "Community Feedback"

    View All Tags

    A New Name

    · 4 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    -

    We are thrilled to announce that the poll for choosing a new name for our app is finally over. The process of transitioning to the new name will commence very soon, and we can't wait to share the exciting updates with you.

    +

    We are thrilled to announce that the poll for choosing a new name for our app is finally over. The process of transitioning to the new name will commence very soon, and we can't wait to share the exciting updates with you.

    \ No newline at end of file diff --git a/blog/tags/community-management/index.html b/blog/tags/community-management/index.html index 94a2e341b..7fe888c9d 100644 --- a/blog/tags/community-management/index.html +++ b/blog/tags/community-management/index.html @@ -4,12 +4,12 @@ One post tagged with "community management" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/community/index.html b/blog/tags/community/index.html index 15202cad7..50f2dfbaf 100644 --- a/blog/tags/community/index.html +++ b/blog/tags/community/index.html @@ -4,15 +4,15 @@ 4 posts tagged with "community" | GameVault - - - + + + -
    Skip to main content

    4 posts tagged with "community"

    View All Tags

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    4 posts tagged with "community"

    View All Tags

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, rawg.io. Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems.

    Choosing a New, Family-Friendly Name for this project!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, everyone!

    -

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    +

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    \ No newline at end of file diff --git a/blog/tags/continued-support/index.html b/blog/tags/continued-support/index.html index 8348bbabf..cd5b70d09 100644 --- a/blog/tags/continued-support/index.html +++ b/blog/tags/continued-support/index.html @@ -4,12 +4,12 @@ One post tagged with "continued support" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/control/index.html b/blog/tags/control/index.html index 9c846ab14..ee744ebdd 100644 --- a/blog/tags/control/index.html +++ b/blog/tags/control/index.html @@ -4,12 +4,12 @@ One post tagged with "control" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/council-member/index.html b/blog/tags/council-member/index.html index 844d572c5..8f60135e3 100644 --- a/blog/tags/council-member/index.html +++ b/blog/tags/council-member/index.html @@ -4,12 +4,12 @@ One post tagged with "Council Member" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/creepy-behavior/index.html b/blog/tags/creepy-behavior/index.html index ce074a19f..a8463a7fd 100644 --- a/blog/tags/creepy-behavior/index.html +++ b/blog/tags/creepy-behavior/index.html @@ -4,12 +4,12 @@ One post tagged with "creepy behavior" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/database/index.html b/blog/tags/database/index.html index 70b2e6bc3..20942abf5 100644 --- a/blog/tags/database/index.html +++ b/blog/tags/database/index.html @@ -4,12 +4,12 @@ One post tagged with "database" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/decision-making/index.html b/blog/tags/decision-making/index.html index 788c07240..92552d175 100644 --- a/blog/tags/decision-making/index.html +++ b/blog/tags/decision-making/index.html @@ -4,12 +4,12 @@ One post tagged with "decision-making" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/developers/index.html b/blog/tags/developers/index.html index 188665fac..90bd0ab45 100644 --- a/blog/tags/developers/index.html +++ b/blog/tags/developers/index.html @@ -4,12 +4,12 @@ One post tagged with "developers" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/development-milestones/index.html b/blog/tags/development-milestones/index.html index 65a5a0214..973d22c22 100644 --- a/blog/tags/development-milestones/index.html +++ b/blog/tags/development-milestones/index.html @@ -4,12 +4,12 @@ One post tagged with "Development Milestones" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/development/index.html b/blog/tags/development/index.html index 13206a12d..dd980229b 100644 --- a/blog/tags/development/index.html +++ b/blog/tags/development/index.html @@ -4,14 +4,14 @@ 3 posts tagged with "development" | GameVault - - - + + + -
    Skip to main content

    3 posts tagged with "development"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    3 posts tagged with "development"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    +

    We hope you're all doing well. We wanted to take a moment to express our heartfelt gratitude for the flood of feature requests and bug reports that have been pouring into our issue trackers.

    \ No newline at end of file diff --git a/blog/tags/discord-channel/index.html b/blog/tags/discord-channel/index.html index 4682cd907..457582840 100644 --- a/blog/tags/discord-channel/index.html +++ b/blog/tags/discord-channel/index.html @@ -4,14 +4,14 @@ 2 posts tagged with "Discord channel" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "Discord channel"

    View All Tags

    The Migrations are finally completed

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey folks,

    +

    2 posts tagged with "Discord channel"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    We have a brief update on the progress of the name migration.

    -

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/discord-community-growth/index.html b/blog/tags/discord-community-growth/index.html index af183dcec..7f75d4fa2 100644 --- a/blog/tags/discord-community-growth/index.html +++ b/blog/tags/discord-community-growth/index.html @@ -4,12 +4,12 @@ One post tagged with "Discord community growth" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/discord-server-promotion/index.html b/blog/tags/discord-server-promotion/index.html index 3189e0f9a..0654fc023 100644 --- a/blog/tags/discord-server-promotion/index.html +++ b/blog/tags/discord-server-promotion/index.html @@ -4,12 +4,12 @@ One post tagged with "Discord server promotion" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/discord-server/index.html b/blog/tags/discord-server/index.html index 716b64351..6b47debde 100644 --- a/blog/tags/discord-server/index.html +++ b/blog/tags/discord-server/index.html @@ -4,12 +4,12 @@ One post tagged with "Discord server" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "Discord server"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "Discord server"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/discord/index.html b/blog/tags/discord/index.html index 383fb2499..2db2f3364 100644 --- a/blog/tags/discord/index.html +++ b/blog/tags/discord/index.html @@ -4,14 +4,14 @@ 3 posts tagged with "Discord" | GameVault - - - + + + -
    Skip to main content

    3 posts tagged with "Discord"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    3 posts tagged with "Discord"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    +

    We hope you're all doing well. We wanted to take a moment to express our heartfelt gratitude for the flood of feature requests and bug reports that have been pouring into our issue trackers.

    \ No newline at end of file diff --git a/blog/tags/documentation-migration/index.html b/blog/tags/documentation-migration/index.html index e1a92519e..0ee3fbeb7 100644 --- a/blog/tags/documentation-migration/index.html +++ b/blog/tags/documentation-migration/index.html @@ -4,13 +4,13 @@ One post tagged with "documentation migration" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "documentation migration"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/domain-acquisition/index.html b/blog/tags/domain-acquisition/index.html index 3eaf763ad..63401cba3 100644 --- a/blog/tags/domain-acquisition/index.html +++ b/blog/tags/domain-acquisition/index.html @@ -4,13 +4,13 @@ One post tagged with "domain acquisition" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "domain acquisition"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/drm-free-games/index.html b/blog/tags/drm-free-games/index.html index 7745b19c0..870baeb63 100644 --- a/blog/tags/drm-free-games/index.html +++ b/blog/tags/drm-free-games/index.html @@ -4,12 +4,12 @@ One post tagged with "DRM-free games" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "DRM-free games"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "DRM-free games"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/drm-free/index.html b/blog/tags/drm-free/index.html index 1a3538e0c..0c1ee7576 100644 --- a/blog/tags/drm-free/index.html +++ b/blog/tags/drm-free/index.html @@ -4,12 +4,12 @@ One post tagged with "DRM-free" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/early-access/index.html b/blog/tags/early-access/index.html index 8f5c15510..cd148fb63 100644 --- a/blog/tags/early-access/index.html +++ b/blog/tags/early-access/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "early access" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "early access"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    2 posts tagged with "early access"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    +

    For the upcoming large UI update of GameVault, we're launching a brand new GameVault Early-Access Program, and we want YOU to be a part of it!

    \ No newline at end of file diff --git a/blog/tags/easter-egg/index.html b/blog/tags/easter-egg/index.html index dbe742c25..2a0340b32 100644 --- a/blog/tags/easter-egg/index.html +++ b/blog/tags/easter-egg/index.html @@ -4,12 +4,12 @@ One post tagged with "easter egg" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/engagement/index.html b/blog/tags/engagement/index.html index 6450bc775..0b9a0bd7f 100644 --- a/blog/tags/engagement/index.html +++ b/blog/tags/engagement/index.html @@ -4,12 +4,12 @@ One post tagged with "engagement" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/exclusive-preview/index.html b/blog/tags/exclusive-preview/index.html index 7114b8077..45d371275 100644 --- a/blog/tags/exclusive-preview/index.html +++ b/blog/tags/exclusive-preview/index.html @@ -4,12 +4,12 @@ One post tagged with "Exclusive Preview" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/family-friendly/index.html b/blog/tags/family-friendly/index.html index 49b86acbc..424e4c2e3 100644 --- a/blog/tags/family-friendly/index.html +++ b/blog/tags/family-friendly/index.html @@ -4,12 +4,12 @@ One post tagged with "family-friendly" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/feature-requests/index.html b/blog/tags/feature-requests/index.html index 27c1dde79..11a5f9260 100644 --- a/blog/tags/feature-requests/index.html +++ b/blog/tags/feature-requests/index.html @@ -4,12 +4,12 @@ One post tagged with "feature requests" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/features/index.html b/blog/tags/features/index.html index 942193d22..e210289e5 100644 --- a/blog/tags/features/index.html +++ b/blog/tags/features/index.html @@ -4,14 +4,14 @@ 3 posts tagged with "features" | GameVault - - - + + + -
    Skip to main content

    3 posts tagged with "features"

    View All Tags

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    3 posts tagged with "features"

    View All Tags

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, rawg.io. Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems.

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    +

    We hope you're all doing well. We wanted to take a moment to express our heartfelt gratitude for the flood of feature requests and bug reports that have been pouring into our issue trackers.

    \ No newline at end of file diff --git a/blog/tags/feedback/index.html b/blog/tags/feedback/index.html index 7c1580e0d..9bbc3be3d 100644 --- a/blog/tags/feedback/index.html +++ b/blog/tags/feedback/index.html @@ -4,15 +4,15 @@ 4 posts tagged with "feedback" | GameVault - - - + + + -
    Skip to main content

    4 posts tagged with "feedback"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    4 posts tagged with "feedback"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application.

    Choosing a New, Family-Friendly Name for this project!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, everyone!

    -

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    +

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    \ No newline at end of file diff --git a/blog/tags/file-server/index.html b/blog/tags/file-server/index.html index 6058cf1dc..3fd7afed1 100644 --- a/blog/tags/file-server/index.html +++ b/blog/tags/file-server/index.html @@ -4,12 +4,12 @@ One post tagged with "file server" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "file server"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "file server"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/financial-assistance/index.html b/blog/tags/financial-assistance/index.html index 8e21e7c24..260533030 100644 --- a/blog/tags/financial-assistance/index.html +++ b/blog/tags/financial-assistance/index.html @@ -4,12 +4,12 @@ One post tagged with "financial assistance" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/future-development/index.html b/blog/tags/future-development/index.html index 3d75d7408..c8217918f 100644 --- a/blog/tags/future-development/index.html +++ b/blog/tags/future-development/index.html @@ -4,12 +4,12 @@ One post tagged with "future development" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/future-features/index.html b/blog/tags/future-features/index.html index 42ab2d111..fa38a066c 100644 --- a/blog/tags/future-features/index.html +++ b/blog/tags/future-features/index.html @@ -4,12 +4,12 @@ One post tagged with "Future Features" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/game-development/index.html b/blog/tags/game-development/index.html index cea2890cc..6743283ac 100644 --- a/blog/tags/game-development/index.html +++ b/blog/tags/game-development/index.html @@ -4,12 +4,12 @@ One post tagged with "Game Development" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/game-hub/index.html b/blog/tags/game-hub/index.html index 2a51cb507..670520030 100644 --- a/blog/tags/game-hub/index.html +++ b/blog/tags/game-hub/index.html @@ -4,12 +4,12 @@ One post tagged with "GameHub" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/game-shelf/index.html b/blog/tags/game-shelf/index.html index 8b519d640..af091c7d3 100644 --- a/blog/tags/game-shelf/index.html +++ b/blog/tags/game-shelf/index.html @@ -4,12 +4,12 @@ One post tagged with "GameShelf" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/game-stash/index.html b/blog/tags/game-stash/index.html index 816b2b113..fb3e031ef 100644 --- a/blog/tags/game-stash/index.html +++ b/blog/tags/game-stash/index.html @@ -4,12 +4,12 @@ One post tagged with "GameStash" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/game-vault-app/index.html b/blog/tags/game-vault-app/index.html index 7af6f2cce..c2de5f56b 100644 --- a/blog/tags/game-vault-app/index.html +++ b/blog/tags/game-vault-app/index.html @@ -4,12 +4,12 @@ One post tagged with "GameVault app" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/game-vault-domain/index.html b/blog/tags/game-vault-domain/index.html index 25c6e6320..6f506c8d0 100644 --- a/blog/tags/game-vault-domain/index.html +++ b/blog/tags/game-vault-domain/index.html @@ -4,12 +4,12 @@ One post tagged with "GameVault domain" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/game-vault-journey/index.html b/blog/tags/game-vault-journey/index.html index 043d8e3fe..01dacae71 100644 --- a/blog/tags/game-vault-journey/index.html +++ b/blog/tags/game-vault-journey/index.html @@ -4,12 +4,12 @@ One post tagged with "GameVault Journey" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/game-vault-milestone/index.html b/blog/tags/game-vault-milestone/index.html index 3258889bb..5a5d4e45d 100644 --- a/blog/tags/game-vault-milestone/index.html +++ b/blog/tags/game-vault-milestone/index.html @@ -4,12 +4,12 @@ One post tagged with "GameVault milestone" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/game-vault/index.html b/blog/tags/game-vault/index.html index cbb2ae8f2..7232dd676 100644 --- a/blog/tags/game-vault/index.html +++ b/blog/tags/game-vault/index.html @@ -4,12 +4,12 @@ 9 posts tagged with "GameVault" | GameVault - - - + + + -
    Skip to main content

    9 posts tagged with "GameVault"

    View All Tags

    An update so major, we could have built the product from scratch.

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, GameVault Community!

    +

    9 posts tagged with "GameVault"

    View All Tags

    An update so major, we could have built the product from scratch.

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, GameVault Community!

    After six months of hard work, we’re beyond excited to unveil our biggest update yet: GameVault Client v1.12 and GameVault Server v13! This release is so massive, it feels like we could’ve built the product from scratch—there’s that much new ground covered.

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, rawg.io. Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems.

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    A New Name

    · 4 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    We are thrilled to announce that the poll for choosing a new name for our app is finally over. The process of transitioning to the new name will commence very soon, and we can't wait to share the exciting updates with you.

    Choosing a New, Family-Friendly Name for this project!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, everyone!

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/game/index.html b/blog/tags/game/index.html index f8aec5bd2..e2d24aa76 100644 --- a/blog/tags/game/index.html +++ b/blog/tags/game/index.html @@ -4,12 +4,12 @@ One post tagged with "game" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/gaming-community/index.html b/blog/tags/gaming-community/index.html index ad282ecdd..fc2722ecb 100644 --- a/blog/tags/gaming-community/index.html +++ b/blog/tags/gaming-community/index.html @@ -4,12 +4,12 @@ One post tagged with "Gaming Community" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/gaming-experience/index.html b/blog/tags/gaming-experience/index.html index b7e139bf0..eb2f29333 100644 --- a/blog/tags/gaming-experience/index.html +++ b/blog/tags/gaming-experience/index.html @@ -4,12 +4,12 @@ One post tagged with "gaming experience" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/gaming-platform/index.html b/blog/tags/gaming-platform/index.html index 527ce3631..0101751f9 100644 --- a/blog/tags/gaming-platform/index.html +++ b/blog/tags/gaming-platform/index.html @@ -4,12 +4,12 @@ One post tagged with "gaming platform" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/gaming-servers/index.html b/blog/tags/gaming-servers/index.html index 0ddc81a57..0e89a305e 100644 --- a/blog/tags/gaming-servers/index.html +++ b/blog/tags/gaming-servers/index.html @@ -4,12 +4,12 @@ One post tagged with "Gaming Servers" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/gaming/index.html b/blog/tags/gaming/index.html index 43da28cd1..1635c8889 100644 --- a/blog/tags/gaming/index.html +++ b/blog/tags/gaming/index.html @@ -4,15 +4,15 @@ 4 posts tagged with "gaming" | GameVault - - - + + + -
    Skip to main content

    4 posts tagged with "gaming"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    4 posts tagged with "gaming"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/git-hub-issue/index.html b/blog/tags/git-hub-issue/index.html index 39b290b38..a8cc57c16 100644 --- a/blog/tags/git-hub-issue/index.html +++ b/blog/tags/git-hub-issue/index.html @@ -4,12 +4,12 @@ One post tagged with "GitHub issue" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/git-hub/index.html b/blog/tags/git-hub/index.html index c7e094b7e..bb1b8dc40 100644 --- a/blog/tags/git-hub/index.html +++ b/blog/tags/git-hub/index.html @@ -4,12 +4,12 @@ One post tagged with "GitHub" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/gratitude/index.html b/blog/tags/gratitude/index.html index d050a8030..09fea7ecc 100644 --- a/blog/tags/gratitude/index.html +++ b/blog/tags/gratitude/index.html @@ -4,12 +4,12 @@ One post tagged with "gratitude" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/harassment/index.html b/blog/tags/harassment/index.html index 0cba21c13..6d060bb49 100644 --- a/blog/tags/harassment/index.html +++ b/blog/tags/harassment/index.html @@ -4,12 +4,12 @@ One post tagged with "harassment" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/harbor/index.html b/blog/tags/harbor/index.html index e0654267b..a14ac3743 100644 --- a/blog/tags/harbor/index.html +++ b/blog/tags/harbor/index.html @@ -4,12 +4,12 @@ One post tagged with "Harbor" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/health-monitoring/index.html b/blog/tags/health-monitoring/index.html index 8f9f5b2a7..596215d98 100644 --- a/blog/tags/health-monitoring/index.html +++ b/blog/tags/health-monitoring/index.html @@ -4,12 +4,12 @@ One post tagged with "health monitoring" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "health monitoring"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "health monitoring"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/hybrid-model/index.html b/blog/tags/hybrid-model/index.html index 88e95dba0..1e2cceb81 100644 --- a/blog/tags/hybrid-model/index.html +++ b/blog/tags/hybrid-model/index.html @@ -4,12 +4,12 @@ One post tagged with "hybrid model" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/igdb/index.html b/blog/tags/igdb/index.html index 3c77027bd..5e275186c 100644 --- a/blog/tags/igdb/index.html +++ b/blog/tags/igdb/index.html @@ -4,12 +4,12 @@ One post tagged with "IGDB" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/improvement/index.html b/blog/tags/improvement/index.html index 41adb29b2..b029e545d 100644 --- a/blog/tags/improvement/index.html +++ b/blog/tags/improvement/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "improvement" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "improvement"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    2 posts tagged with "improvement"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    Battling Harassment and Trolls in Our App Community

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey folks,

    -

    We have an important update to share with you all while our poll is in progress. It has come to our attention that a group of individuals has been engaging in harassing, blackmailing, and threatening behavior towards us.

    +

    We have an important update to share with you all while our poll is in progress. It has come to our attention that a group of individuals has been engaging in harassing, blackmailing, and threatening behavior towards us.

    \ No newline at end of file diff --git a/blog/tags/inclusivity/index.html b/blog/tags/inclusivity/index.html index 3068f4bab..c469b672a 100644 --- a/blog/tags/inclusivity/index.html +++ b/blog/tags/inclusivity/index.html @@ -4,12 +4,12 @@ One post tagged with "inclusivity" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html index 799891920..d6d6002f7 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -4,11 +4,11 @@ Tags | GameVault - - - + + + -
    Skip to main content

    Tags

    +
    Skip to main content

    Tags

    \ No newline at end of file diff --git a/blog/tags/installation-pipeline/index.html b/blog/tags/installation-pipeline/index.html index 0f6abec43..c2bea1f1f 100644 --- a/blog/tags/installation-pipeline/index.html +++ b/blog/tags/installation-pipeline/index.html @@ -4,12 +4,12 @@ One post tagged with "Installation Pipeline" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/kanban-board/index.html b/blog/tags/kanban-board/index.html index 89eaf50d7..eb4336f39 100644 --- a/blog/tags/kanban-board/index.html +++ b/blog/tags/kanban-board/index.html @@ -4,12 +4,12 @@ One post tagged with "Kanban Board" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/keyhole-representation/index.html b/blog/tags/keyhole-representation/index.html index 46733e032..5bc9453f1 100644 --- a/blog/tags/keyhole-representation/index.html +++ b/blog/tags/keyhole-representation/index.html @@ -4,12 +4,12 @@ One post tagged with "keyhole representation" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/lemmy-community-launch/index.html b/blog/tags/lemmy-community-launch/index.html index 5bc2f003b..6f0ce81a9 100644 --- a/blog/tags/lemmy-community-launch/index.html +++ b/blog/tags/lemmy-community-launch/index.html @@ -4,12 +4,12 @@ One post tagged with "Lemmy community launch" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/lemmy-community/index.html b/blog/tags/lemmy-community/index.html index 541282cd8..3142d1bba 100644 --- a/blog/tags/lemmy-community/index.html +++ b/blog/tags/lemmy-community/index.html @@ -4,13 +4,13 @@ One post tagged with "Lemmy community" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "Lemmy community"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/lemmy-forum/index.html b/blog/tags/lemmy-forum/index.html index c1999876f..4f32d9c6c 100644 --- a/blog/tags/lemmy-forum/index.html +++ b/blog/tags/lemmy-forum/index.html @@ -4,12 +4,12 @@ One post tagged with "Lemmy forum" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "Lemmy forum"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "Lemmy forum"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/logo-concept-discussion/index.html b/blog/tags/logo-concept-discussion/index.html index 92b64fd8f..d19774a29 100644 --- a/blog/tags/logo-concept-discussion/index.html +++ b/blog/tags/logo-concept-discussion/index.html @@ -4,12 +4,12 @@ One post tagged with "logo concept discussion" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/logo-deciphering/index.html b/blog/tags/logo-deciphering/index.html index a277b6616..436f578db 100644 --- a/blog/tags/logo-deciphering/index.html +++ b/blog/tags/logo-deciphering/index.html @@ -4,12 +4,12 @@ One post tagged with "logo deciphering" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/love-for-game-vault/index.html b/blog/tags/love-for-game-vault/index.html index 6bec44670..ef8a3ed34 100644 --- a/blog/tags/love-for-game-vault/index.html +++ b/blog/tags/love-for-game-vault/index.html @@ -4,12 +4,12 @@ One post tagged with "love for GameVault" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/market-analysis/index.html b/blog/tags/market-analysis/index.html index 474a35645..ab4f37d0a 100644 --- a/blog/tags/market-analysis/index.html +++ b/blog/tags/market-analysis/index.html @@ -4,12 +4,12 @@ One post tagged with "market analysis" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/metadata-framework/index.html b/blog/tags/metadata-framework/index.html index f1e9c2e52..e6a18b668 100644 --- a/blog/tags/metadata-framework/index.html +++ b/blog/tags/metadata-framework/index.html @@ -4,12 +4,12 @@ One post tagged with "metadata framework" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/metadata/index.html b/blog/tags/metadata/index.html index e64d811f9..11de66810 100644 --- a/blog/tags/metadata/index.html +++ b/blog/tags/metadata/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "metadata" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "metadata"

    View All Tags

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    2 posts tagged with "metadata"

    View All Tags

    Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    In our last post we mentioned the challenges we've been facing with the videogame metadata database we've been using, rawg.io. Unfortunately, it's become an unmaintained abandonware, causing frequent downtime and issues like incorrect search results and registration problems.

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/microsoft-store-publication/index.html b/blog/tags/microsoft-store-publication/index.html index 17d8fc7ef..b521149bd 100644 --- a/blog/tags/microsoft-store-publication/index.html +++ b/blog/tags/microsoft-store-publication/index.html @@ -4,12 +4,12 @@ One post tagged with "Microsoft Store publication" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/microsoft-store/index.html b/blog/tags/microsoft-store/index.html index 9512a63f8..8c631ddd5 100644 --- a/blog/tags/microsoft-store/index.html +++ b/blog/tags/microsoft-store/index.html @@ -4,12 +4,12 @@ One post tagged with "Microsoft Store" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/migration-finalization/index.html b/blog/tags/migration-finalization/index.html index 61e49f472..73b045a8e 100644 --- a/blog/tags/migration-finalization/index.html +++ b/blog/tags/migration-finalization/index.html @@ -4,13 +4,13 @@ One post tagged with "migration finalization" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "migration finalization"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/motivation/index.html b/blog/tags/motivation/index.html index 05776ea7f..350c15764 100644 --- a/blog/tags/motivation/index.html +++ b/blog/tags/motivation/index.html @@ -4,12 +4,12 @@ One post tagged with "motivation" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/multi-user-authentication/index.html b/blog/tags/multi-user-authentication/index.html index e71a28311..53158c133 100644 --- a/blog/tags/multi-user-authentication/index.html +++ b/blog/tags/multi-user-authentication/index.html @@ -4,12 +4,12 @@ One post tagged with "multi-user authentication" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "multi-user authentication"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "multi-user authentication"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/name-migration-progress/index.html b/blog/tags/name-migration-progress/index.html index 6ad997665..952332f8b 100644 --- a/blog/tags/name-migration-progress/index.html +++ b/blog/tags/name-migration-progress/index.html @@ -4,13 +4,13 @@ One post tagged with "name migration progress" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "name migration progress"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/negative-narratives/index.html b/blog/tags/negative-narratives/index.html index 13bead6dd..e3d79bcc1 100644 --- a/blog/tags/negative-narratives/index.html +++ b/blog/tags/negative-narratives/index.html @@ -4,12 +4,12 @@ One post tagged with "negative narratives" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/new-logo/index.html b/blog/tags/new-logo/index.html index dcf0b88a6..de4fcf1ee 100644 --- a/blog/tags/new-logo/index.html +++ b/blog/tags/new-logo/index.html @@ -4,13 +4,13 @@ One post tagged with "new logo" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "new logo"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/new-name-announcement/index.html b/blog/tags/new-name-announcement/index.html index fc2fba275..93d3829d8 100644 --- a/blog/tags/new-name-announcement/index.html +++ b/blog/tags/new-name-announcement/index.html @@ -4,12 +4,12 @@ One post tagged with "new name announcement" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/new-name/index.html b/blog/tags/new-name/index.html index 4faebc5b2..5231cc846 100644 --- a/blog/tags/new-name/index.html +++ b/blog/tags/new-name/index.html @@ -4,12 +4,12 @@ One post tagged with "new name" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/notes/index.html b/blog/tags/notes/index.html index 48f21cb03..cdf12069a 100644 --- a/blog/tags/notes/index.html +++ b/blog/tags/notes/index.html @@ -4,12 +4,12 @@ One post tagged with "notes" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/november-update/index.html b/blog/tags/november-update/index.html index a87122c36..c2c9765bf 100644 --- a/blog/tags/november-update/index.html +++ b/blog/tags/november-update/index.html @@ -4,12 +4,12 @@ One post tagged with "November Update" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/official-installations/index.html b/blog/tags/official-installations/index.html index c250e7919..71b68d672 100644 --- a/blog/tags/official-installations/index.html +++ b/blog/tags/official-installations/index.html @@ -4,12 +4,12 @@ One post tagged with "official installations" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/open-source/index.html b/blog/tags/open-source/index.html index ae3680af4..66195822b 100644 --- a/blog/tags/open-source/index.html +++ b/blog/tags/open-source/index.html @@ -4,12 +4,12 @@ One post tagged with "open-source" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/parental-control/index.html b/blog/tags/parental-control/index.html index 705b5844d..2aff384fa 100644 --- a/blog/tags/parental-control/index.html +++ b/blog/tags/parental-control/index.html @@ -4,12 +4,12 @@ One post tagged with "parental control" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/partnership/index.html b/blog/tags/partnership/index.html index 7f2c2068c..059f1c233 100644 --- a/blog/tags/partnership/index.html +++ b/blog/tags/partnership/index.html @@ -4,12 +4,12 @@ One post tagged with "partnership" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/partnerships/index.html b/blog/tags/partnerships/index.html index da76bd382..b4db23bfd 100644 --- a/blog/tags/partnerships/index.html +++ b/blog/tags/partnerships/index.html @@ -4,12 +4,12 @@ One post tagged with "partnerships" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/platform-values/index.html b/blog/tags/platform-values/index.html index c405df764..8ff00465b 100644 --- a/blog/tags/platform-values/index.html +++ b/blog/tags/platform-values/index.html @@ -4,12 +4,12 @@ One post tagged with "platform values" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/platform/index.html b/blog/tags/platform/index.html index ea414fac8..b59c8042d 100644 --- a/blog/tags/platform/index.html +++ b/blog/tags/platform/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "platform" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "platform"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    2 posts tagged with "platform"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    +

    We hope you're all doing well. We wanted to take a moment to express our heartfelt gratitude for the flood of feature requests and bug reports that have been pouring into our issue trackers.

    \ No newline at end of file diff --git a/blog/tags/plugin-system/index.html b/blog/tags/plugin-system/index.html index ab3af563b..ebffa2c04 100644 --- a/blog/tags/plugin-system/index.html +++ b/blog/tags/plugin-system/index.html @@ -4,12 +4,12 @@ One post tagged with "plugin system" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/poll-results/index.html b/blog/tags/poll-results/index.html index cc05c576a..7221e0d93 100644 --- a/blog/tags/poll-results/index.html +++ b/blog/tags/poll-results/index.html @@ -4,12 +4,12 @@ One post tagged with "poll results" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/poll/index.html b/blog/tags/poll/index.html index fd8cbc1d9..d5c0e35d7 100644 --- a/blog/tags/poll/index.html +++ b/blog/tags/poll/index.html @@ -4,12 +4,12 @@ One post tagged with "poll" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/polls/index.html b/blog/tags/polls/index.html index d9d7d2904..49bf358ed 100644 --- a/blog/tags/polls/index.html +++ b/blog/tags/polls/index.html @@ -4,12 +4,12 @@ One post tagged with "polls" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/public/index.html b/blog/tags/public/index.html index 0663993d1..552acb661 100644 --- a/blog/tags/public/index.html +++ b/blog/tags/public/index.html @@ -4,12 +4,12 @@ One post tagged with "public" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/racist/index.html b/blog/tags/racist/index.html index 0f1ec5614..48322ac94 100644 --- a/blog/tags/racist/index.html +++ b/blog/tags/racist/index.html @@ -4,12 +4,12 @@ One post tagged with "racist" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/rawg-api/index.html b/blog/tags/rawg-api/index.html index f651e67e8..c85379d5b 100644 --- a/blog/tags/rawg-api/index.html +++ b/blog/tags/rawg-api/index.html @@ -4,12 +4,12 @@ One post tagged with "RAWG API" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "RAWG API"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "RAWG API"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/rawg/index.html b/blog/tags/rawg/index.html index 4fc3869c4..129cb15f7 100644 --- a/blog/tags/rawg/index.html +++ b/blog/tags/rawg/index.html @@ -4,12 +4,12 @@ One post tagged with "RAWG" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/reddit-forum/index.html b/blog/tags/reddit-forum/index.html index 54703dcd7..8cb040219 100644 --- a/blog/tags/reddit-forum/index.html +++ b/blog/tags/reddit-forum/index.html @@ -4,12 +4,12 @@ One post tagged with "Reddit forum" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "Reddit forum"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +
    Skip to main content

    One post tagged with "Reddit forum"

    View All Tags

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/release/index.html b/blog/tags/release/index.html index dca1793dd..efc542f1a 100644 --- a/blog/tags/release/index.html +++ b/blog/tags/release/index.html @@ -4,12 +4,12 @@ One post tagged with "release" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/renaming-app/index.html b/blog/tags/renaming-app/index.html index ab114e857..c7c5928de 100644 --- a/blog/tags/renaming-app/index.html +++ b/blog/tags/renaming-app/index.html @@ -4,12 +4,12 @@ One post tagged with "renaming app" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/revenue-generation/index.html b/blog/tags/revenue-generation/index.html index 9ac4cd466..ee3a7892d 100644 --- a/blog/tags/revenue-generation/index.html +++ b/blog/tags/revenue-generation/index.html @@ -4,12 +4,12 @@ One post tagged with "revenue generation" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/roadmap/index.html b/blog/tags/roadmap/index.html index e4457a288..307032c28 100644 --- a/blog/tags/roadmap/index.html +++ b/blog/tags/roadmap/index.html @@ -4,12 +4,12 @@ One post tagged with "roadmap" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/safe-environment/index.html b/blog/tags/safe-environment/index.html index 61a0bbf8b..8cd66c4be 100644 --- a/blog/tags/safe-environment/index.html +++ b/blog/tags/safe-environment/index.html @@ -4,12 +4,12 @@ One post tagged with "safe environment" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/self-hosted-newsletter/index.html b/blog/tags/self-hosted-newsletter/index.html index 6f8953342..676845d0b 100644 --- a/blog/tags/self-hosted-newsletter/index.html +++ b/blog/tags/self-hosted-newsletter/index.html @@ -4,12 +4,12 @@ One post tagged with "Self-Hosted Newsletter" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/self-hosted/index.html b/blog/tags/self-hosted/index.html index df7f92f7f..4eddf37a0 100644 --- a/blog/tags/self-hosted/index.html +++ b/blog/tags/self-hosted/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "self-hosted" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "self-hosted"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    +

    2 posts tagged with "self-hosted"

    View All Tags

    GameVault+ out now

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone!

    We're thrilled to announce that the early access phase of GameVault+ has concluded, and we're officially launching it today! It's been an incredible journey from the inception of GameVault to where we are now, and we couldn't have done it without your amazing support.

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/selfhosted-podcast/index.html b/blog/tags/selfhosted-podcast/index.html index dce28db86..df7452b77 100644 --- a/blog/tags/selfhosted-podcast/index.html +++ b/blog/tags/selfhosted-podcast/index.html @@ -4,12 +4,12 @@ One post tagged with "Selfhosted Podcast" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/server-update/index.html b/blog/tags/server-update/index.html index acd080c18..aed04b4a6 100644 --- a/blog/tags/server-update/index.html +++ b/blog/tags/server-update/index.html @@ -4,12 +4,12 @@ One post tagged with "Server Update" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/sharing-blog-posts/index.html b/blog/tags/sharing-blog-posts/index.html index d16bb6d31..4a9064e4f 100644 --- a/blog/tags/sharing-blog-posts/index.html +++ b/blog/tags/sharing-blog-posts/index.html @@ -4,12 +4,12 @@ One post tagged with "sharing blog posts" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/simplifying-game-installation/index.html b/blog/tags/simplifying-game-installation/index.html index 371206b94..a1814579f 100644 --- a/blog/tags/simplifying-game-installation/index.html +++ b/blog/tags/simplifying-game-installation/index.html @@ -4,12 +4,12 @@ One post tagged with "simplifying game installation" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "simplifying game installation"

    View All Tags

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    -

    We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application.

    +
    Skip to main content

    One post tagged with "simplifying game installation"

    View All Tags

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    +

    We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application.

    \ No newline at end of file diff --git a/blog/tags/software-development/index.html b/blog/tags/software-development/index.html index 02714eb87..1fde8b5aa 100644 --- a/blog/tags/software-development/index.html +++ b/blog/tags/software-development/index.html @@ -4,12 +4,12 @@ One post tagged with "software development" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/software-licensing/index.html b/blog/tags/software-licensing/index.html index ef8752db8..11926f06c 100644 --- a/blog/tags/software-licensing/index.html +++ b/blog/tags/software-licensing/index.html @@ -4,12 +4,12 @@ One post tagged with "software licensing" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/software-updates/index.html b/blog/tags/software-updates/index.html index bde873322..9e5efab38 100644 --- a/blog/tags/software-updates/index.html +++ b/blog/tags/software-updates/index.html @@ -4,12 +4,12 @@ One post tagged with "Software Updates" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/software/index.html b/blog/tags/software/index.html index c4aeeefe3..fbb76d473 100644 --- a/blog/tags/software/index.html +++ b/blog/tags/software/index.html @@ -4,12 +4,12 @@ One post tagged with "software" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/solution/index.html b/blog/tags/solution/index.html index 00917fc2f..1f247b51d 100644 --- a/blog/tags/solution/index.html +++ b/blog/tags/solution/index.html @@ -4,12 +4,12 @@ One post tagged with "solution" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/source-available-software/index.html b/blog/tags/source-available-software/index.html index 258552442..892b2da24 100644 --- a/blog/tags/source-available-software/index.html +++ b/blog/tags/source-available-software/index.html @@ -4,12 +4,12 @@ One post tagged with "source-available software" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/source-available/index.html b/blog/tags/source-available/index.html index e7efaa163..98986b701 100644 --- a/blog/tags/source-available/index.html +++ b/blog/tags/source-available/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "source-available" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "source-available"

    View All Tags

    Choosing a New, Family-Friendly Name for this project!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, everyone!

    +

    2 posts tagged with "source-available"

    View All Tags

    Choosing a New, Family-Friendly Name for this project!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, everyone!

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey Guys,

    -

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    +

    Our team has been working tirelessly for the past year on creating GameVault, the source-available, self-hosted, and free alternative to traditional cloud-based game platforms like Steam, Origin, Epic Games, and GoG. We are excited to share that GameVault is now available for everyone to use, and we are delighted to disclose it to the community.

    \ No newline at end of file diff --git a/blog/tags/spam/index.html b/blog/tags/spam/index.html index 23272243f..91a399199 100644 --- a/blog/tags/spam/index.html +++ b/blog/tags/spam/index.html @@ -4,12 +4,12 @@ One post tagged with "spam" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/special-thanks/index.html b/blog/tags/special-thanks/index.html index bc8c5f87c..efc809c49 100644 --- a/blog/tags/special-thanks/index.html +++ b/blog/tags/special-thanks/index.html @@ -4,12 +4,12 @@ One post tagged with "special thanks" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/speculation/index.html b/blog/tags/speculation/index.html index 0324cb2f7..2cf0da3cb 100644 --- a/blog/tags/speculation/index.html +++ b/blog/tags/speculation/index.html @@ -4,13 +4,13 @@ One post tagged with "speculation" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "speculation"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/spreading-the-word/index.html b/blog/tags/spreading-the-word/index.html index 3d1787b40..5e67e45a1 100644 --- a/blog/tags/spreading-the-word/index.html +++ b/blog/tags/spreading-the-word/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "spreading the word" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "spreading the word"

    View All Tags

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    +

    2 posts tagged with "spreading the word"

    View All Tags

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application.

    +

    Great news. We've successfully migrated our App name in its entirety and will resume advertising as soon as it's published on the Microsoft Store.

    \ No newline at end of file diff --git a/blog/tags/startup/index.html b/blog/tags/startup/index.html index c38e29da0..e99ac7bca 100644 --- a/blog/tags/startup/index.html +++ b/blog/tags/startup/index.html @@ -4,12 +4,12 @@ One post tagged with "startup" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/steam/index.html b/blog/tags/steam/index.html index 16379f86e..21460d094 100644 --- a/blog/tags/steam/index.html +++ b/blog/tags/steam/index.html @@ -4,12 +4,12 @@ One post tagged with "Steam" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/subreddit-migration/index.html b/blog/tags/subreddit-migration/index.html index b1d6dbf5e..5a025a0a6 100644 --- a/blog/tags/subreddit-migration/index.html +++ b/blog/tags/subreddit-migration/index.html @@ -4,13 +4,13 @@ One post tagged with "Subreddit migration" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "Subreddit migration"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/subscription-model/index.html b/blog/tags/subscription-model/index.html index 04d3c251d..e19361ee1 100644 --- a/blog/tags/subscription-model/index.html +++ b/blog/tags/subscription-model/index.html @@ -4,12 +4,12 @@ One post tagged with "subscription model" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/subscription-to-updates-role/index.html b/blog/tags/subscription-to-updates-role/index.html index a558c6820..99950ea0a 100644 --- a/blog/tags/subscription-to-updates-role/index.html +++ b/blog/tags/subscription-to-updates-role/index.html @@ -4,12 +4,12 @@ One post tagged with "subscription to Updates role" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "subscription to Updates role"

    View All Tags

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    -

    We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application.

    +
    Skip to main content

    One post tagged with "subscription to Updates role"

    View All Tags

    Celebrating 600+ Installations and announcing the upcoming big feature

    · 3 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey everyone,

    +

    We're excited to share some great news with you all! GameVault has reached a small milestone with over 600 official installations of our GameVault Client Application.

    \ No newline at end of file diff --git a/blog/tags/subscription/index.html b/blog/tags/subscription/index.html index 747079af4..ba5767be1 100644 --- a/blog/tags/subscription/index.html +++ b/blog/tags/subscription/index.html @@ -4,12 +4,12 @@ One post tagged with "subscription" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/success/index.html b/blog/tags/success/index.html index ef5dfe021..69502a2ce 100644 --- a/blog/tags/success/index.html +++ b/blog/tags/success/index.html @@ -4,12 +4,12 @@ One post tagged with "success" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/support-request/index.html b/blog/tags/support-request/index.html index b26793b94..7fe0d05ee 100644 --- a/blog/tags/support-request/index.html +++ b/blog/tags/support-request/index.html @@ -4,12 +4,12 @@ One post tagged with "support request" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/support/index.html b/blog/tags/support/index.html index fe86bd993..80fe0bab9 100644 --- a/blog/tags/support/index.html +++ b/blog/tags/support/index.html @@ -4,12 +4,12 @@ One post tagged with "support" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/surge-of-new-users/index.html b/blog/tags/surge-of-new-users/index.html index 9adf8fd6b..2eeb8c6f9 100644 --- a/blog/tags/surge-of-new-users/index.html +++ b/blog/tags/surge-of-new-users/index.html @@ -4,12 +4,12 @@ One post tagged with "surge of new users" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/sustainability/index.html b/blog/tags/sustainability/index.html index 4ea148333..c017b3f32 100644 --- a/blog/tags/sustainability/index.html +++ b/blog/tags/sustainability/index.html @@ -4,12 +4,12 @@ One post tagged with "sustainability" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/tech-progress/index.html b/blog/tags/tech-progress/index.html index a73fbfead..5d415c2cd 100644 --- a/blog/tags/tech-progress/index.html +++ b/blog/tags/tech-progress/index.html @@ -4,12 +4,12 @@ One post tagged with "Tech Progress" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/testing/index.html b/blog/tags/testing/index.html index 44dc358e4..5a3f87c36 100644 --- a/blog/tags/testing/index.html +++ b/blog/tags/testing/index.html @@ -4,13 +4,13 @@ One post tagged with "testing" | GameVault - - - + + + -
    Skip to main content

    One post tagged with "testing"

    View All Tags

    Quick Migration Update and new Logo

    · One min read
    Alper Alkan
    Co-Founder of Phalcode

    Hey guys,

    +
    +

    We've successfully completed the migration of the backend application, which is now accessible as gamevault-backend.

    \ No newline at end of file diff --git a/blog/tags/theme/index.html b/blog/tags/theme/index.html index 3c5a229c8..3e6bd589e 100644 --- a/blog/tags/theme/index.html +++ b/blog/tags/theme/index.html @@ -4,12 +4,12 @@ One post tagged with "theme" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/threats/index.html b/blog/tags/threats/index.html index 0f4d59155..de86d1e92 100644 --- a/blog/tags/threats/index.html +++ b/blog/tags/threats/index.html @@ -4,12 +4,12 @@ One post tagged with "threats" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/transition-process/index.html b/blog/tags/transition-process/index.html index 5427f37a0..9e78b4855 100644 --- a/blog/tags/transition-process/index.html +++ b/blog/tags/transition-process/index.html @@ -4,12 +4,12 @@ One post tagged with "transition process" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/transparency/index.html b/blog/tags/transparency/index.html index ad64b17d3..39f335c89 100644 --- a/blog/tags/transparency/index.html +++ b/blog/tags/transparency/index.html @@ -4,12 +4,12 @@ One post tagged with "transparency" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/trolls/index.html b/blog/tags/trolls/index.html index 05a8a67a5..07cb743e4 100644 --- a/blog/tags/trolls/index.html +++ b/blog/tags/trolls/index.html @@ -4,12 +4,12 @@ One post tagged with "trolls" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/twitch-tv/index.html b/blog/tags/twitch-tv/index.html index 159bd3c90..404f3f3e8 100644 --- a/blog/tags/twitch-tv/index.html +++ b/blog/tags/twitch-tv/index.html @@ -4,12 +4,12 @@ One post tagged with "twitch.tv" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/ui-redesign/index.html b/blog/tags/ui-redesign/index.html index f14372826..84a873da6 100644 --- a/blog/tags/ui-redesign/index.html +++ b/blog/tags/ui-redesign/index.html @@ -4,12 +4,12 @@ One post tagged with "UI Redesign" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/ui-update/index.html b/blog/tags/ui-update/index.html index ccd0fd210..8c4725a58 100644 --- a/blog/tags/ui-update/index.html +++ b/blog/tags/ui-update/index.html @@ -4,12 +4,12 @@ One post tagged with "UI Update" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/upcoming-update/index.html b/blog/tags/upcoming-update/index.html index b344c8e5c..2ac6642ef 100644 --- a/blog/tags/upcoming-update/index.html +++ b/blog/tags/upcoming-update/index.html @@ -4,12 +4,12 @@ One post tagged with "upcoming update" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/update/index.html b/blog/tags/update/index.html index b3f65a119..49c05fe9b 100644 --- a/blog/tags/update/index.html +++ b/blog/tags/update/index.html @@ -4,12 +4,12 @@ One post tagged with "update" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/updates/index.html b/blog/tags/updates/index.html index c569e5765..05073a483 100644 --- a/blog/tags/updates/index.html +++ b/blog/tags/updates/index.html @@ -4,12 +4,12 @@ One post tagged with "updates" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/user-engagement/index.html b/blog/tags/user-engagement/index.html index 715a6157e..a49d76c8e 100644 --- a/blog/tags/user-engagement/index.html +++ b/blog/tags/user-engagement/index.html @@ -4,12 +4,12 @@ One post tagged with "user engagement" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/user-participation/index.html b/blog/tags/user-participation/index.html index 9efe24d85..29778e450 100644 --- a/blog/tags/user-participation/index.html +++ b/blog/tags/user-participation/index.html @@ -4,12 +4,12 @@ One post tagged with "user participation" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/video-games/index.html b/blog/tags/video-games/index.html index 521fe38a5..658293314 100644 --- a/blog/tags/video-games/index.html +++ b/blog/tags/video-games/index.html @@ -4,12 +4,12 @@ One post tagged with "video games" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/videogame/index.html b/blog/tags/videogame/index.html index 49f6e63c2..99f09de5c 100644 --- a/blog/tags/videogame/index.html +++ b/blog/tags/videogame/index.html @@ -4,12 +4,12 @@ One post tagged with "videogame" | GameVault - - - + + + -
    Skip to main content
    +
    Skip to main content
    \ No newline at end of file diff --git a/blog/tags/voting/index.html b/blog/tags/voting/index.html index e73042929..87622a2b6 100644 --- a/blog/tags/voting/index.html +++ b/blog/tags/voting/index.html @@ -4,13 +4,13 @@ 2 posts tagged with "voting" | GameVault - - - + + + -
    Skip to main content

    2 posts tagged with "voting"

    View All Tags

    Please help us prioritize!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello everyone!

    +

    2 posts tagged with "voting"

    View All Tags

    Choosing a New, Family-Friendly Name for this project!

    · 2 min read
    Alper Alkan
    Co-Founder of Phalcode

    Hello, everyone!

    -

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    +

    We have an important announcement to share about our source-available gaming platform, project. We have listened to your feedback and concerns, and now we need your help in choosing a new, family-friendly name that better reflects our platform's values.

    \ No newline at end of file diff --git a/docs/advanced-usage/early-access-program/index.html b/docs/advanced-usage/early-access-program/index.html index 2559e445e..cd3653aff 100644 --- a/docs/advanced-usage/early-access-program/index.html +++ b/docs/advanced-usage/early-access-program/index.html @@ -4,12 +4,12 @@ Early Access Program | GameVault - - - + + + -
    Skip to main content

    Early Access Program

    +

    Early Access Program

    Welcome

    Welcome to the GameVault Early Access Program! This exclusive opportunity allows you to be among the first to experience upcoming GameVault updates before they are released to the public. As a member of this special group, you'll have the chance to explore new features ahead of time. However, please keep in mind that these early releases may not be as stable as our regular versions. Your active participation and feedback are crucial in helping us refine and improve everything before the official release for everyone.

    Participation Requirements

    @@ -60,6 +60,6 @@

    Where to report bugs and suggest/discuss changes?

    • Head over to the Discord #early-access channel once you're accepted into the group. This is where you can report bugs, as well as suggest and discuss changes.
    • -
    +
    \ No newline at end of file diff --git a/docs/advanced-usage/fail2ban-gamevault-guide/index.html b/docs/advanced-usage/fail2ban-gamevault-guide/index.html index b9dd5bf9c..615b2fc61 100644 --- a/docs/advanced-usage/fail2ban-gamevault-guide/index.html +++ b/docs/advanced-usage/fail2ban-gamevault-guide/index.html @@ -4,12 +4,12 @@ Configuring Fail2Ban for GameVault | GameVault - - - + + + -
    Skip to main content

    Configuring Fail2Ban for GameVault

    Community-Created Guide

    This guide was created and tested by a community member. It hasn't been personally tested by our team. We cannot guarantee its effectiveness as we don't use fail2ban. Feel free to give it a try. If you find any errors, you can edit the guide accordingly.

    +

    Configuring Fail2Ban for GameVault

    Community-Created Guide

    This guide was created and tested by a community member. It hasn't been personally tested by our team. We cannot guarantee its effectiveness as we don't use fail2ban. Feel free to give it a try. If you find any errors, you can edit the guide accordingly.

    Introduction

    This guide explains how to set up Fail2Ban to safeguard your GameVault application against unauthorized access attempts. Fail2Ban is a tool that scans log files and blocks IP addresses exhibiting malicious behavior through the firewall.

    Prerequisites

    @@ -44,6 +44,6 @@

    6. Veri
    sudo fail2ban-client status gamevault

    Conclusion

    By following these steps, you can enhance the security of your GameVault application by utilizing Fail2Ban to block IP addresses attempting unauthorized access. Remember to fine-tune the settings to suit your specific requirements. Keep in mind that the 401 response will be triggered for each unauthenticated request, which can occur frequently and become bothersome, so you may want to increase the maxretry value slightly.

    -

    Credit goes to this StackOverflow answer and this Github issue for inspiring this guide.

    +

    Credit goes to this StackOverflow answer and this Github issue for inspiring this guide.

    \ No newline at end of file diff --git a/docs/advanced-usage/linux-client/index.html b/docs/advanced-usage/linux-client/index.html index 0c639094d..2f97798f7 100644 --- a/docs/advanced-usage/linux-client/index.html +++ b/docs/advanced-usage/linux-client/index.html @@ -4,12 +4,12 @@ Running the Client on Linux | GameVault - - - + + + -
    Skip to main content

    Running the Client on Linux

    +

    Running the Client on Linux

    This page serves as a community-driven guide to assist you in setting up the GameVault client on Linux.

    warning

    Please note that running GameVault on Linux using this method is considered unsupported and unrecommended. It should only be utilized as a last resort when no other options are available.

    Getting the application

    @@ -41,6 +41,6 @@

    Known issuesAdditionally - you can also try this and install it to your wine prefix's fonts folder ~/.wine/drive_c/windows/Fonts ; This works on the steamdeck -

    +
    \ No newline at end of file diff --git a/docs/advanced-usage/rest-api/index.html b/docs/advanced-usage/rest-api/index.html index 9058b8e05..74ee1ccb6 100644 --- a/docs/advanced-usage/rest-api/index.html +++ b/docs/advanced-usage/rest-api/index.html @@ -4,12 +4,12 @@ REST API Usage | GameVault - - - + + + -
    Skip to main content

    REST API Usage

    +

    REST API Usage

    The GameVault Backend Server offers a fully documented REST API for use to everyone. With the API, you can build your own GameVault clients or 3rd party integrations and manage your libraries automatically.

    Register a Bot User

    To use the GameVault API, it is recommended to register a separate user with the username prefix gvbot_ (e.g. gvbot_image_downloader). The bot user will not appear in the public user list. This user will be used to authenticate your API requests. You can do this by using the Register Form in the settings tab of the GameVault App.

    @@ -18,6 +18,6 @@

    OpenAP

    The API documentation provides a complete guide on how to use the API, including authentication, endpoints, and parameters.

    You can also download the OpenAPI Specification in different formats using example.com/api/docs-json or example.com/api/docs-yaml. This is useful for importing the Calls into a tool like Postman or generate the client code using the openapi-generator.

    Authentication

    -

    Almost all requests to the API require basic-auth authentication. You will need to include it in the Authentication header of each request.

    +

    Almost all requests to the API require basic-auth authentication. You will need to include it in the Authentication header of each request.

    \ No newline at end of file diff --git a/docs/advanced-usage/steamdeck/index.html b/docs/advanced-usage/steamdeck/index.html index 9ad6e5f6a..cbd569097 100644 --- a/docs/advanced-usage/steamdeck/index.html +++ b/docs/advanced-usage/steamdeck/index.html @@ -4,12 +4,12 @@ Running the Client on Steamdeck | GameVault - - - + + + -
    Skip to main content

    Running the Client on Steamdeck

    +

    Running the Client on Steamdeck

    This page serves as a community-driven guide to assist you in setting up the GameVault client on SteamOS.

    warning

    Please note that running GameVault on Linux using this method is considered unsupported and unrecommended.

    App Setup Guide

    @@ -56,6 +56,6 @@

    App Setup Gu
  • Run GameVault via Steam
  • Updating the Client

    -
    warning

    Since there is currently no auto-update functionality available (as mentioned in this link), it is your responsibility to manually update your GameVault client. To update your client, you will need to repeat the procedure in this documentation.

    +
    warning

    Since there is currently no auto-update functionality available (as mentioned in this link), it is your responsibility to manually update your GameVault client. To update your client, you will need to repeat the procedure in this documentation.

    \ No newline at end of file diff --git a/docs/client-docs/data/index.html b/docs/client-docs/data/index.html index 269970559..1b07e5587 100644 --- a/docs/client-docs/data/index.html +++ b/docs/client-docs/data/index.html @@ -4,12 +4,12 @@ Data Management | GameVault - - - + + + -
    Skip to main content

    Data Management

    +

    Data Management

    This page gives you an overview of how GameVault stores and manages its data.

    When you install the app from the Microsoft Store, all the data it saves (except for the GameVault Root Folder for your Downloads and Installations) can be found under: %USERPROFILE%\AppData\Local\Packages\Phalcode.174950BD81C41_dymsgn3qpfjxc\LocalCache\Roaming\GameVault\. Alternatively, if you did not install the app from the Microsoft Store, you can find the data under: %APPDATA%/GameVault.

    Don't modify unless you know what you're doing

    Please be aware that manually altering this data may lead to unwanted issues in GameVault.

    @@ -54,6 +54,6 @@

    ThemesCustom Themes Guide.

    +

    Here you can import your custom themes. To learn more about custom themes, refer to Custom Themes Guide.

    \ No newline at end of file diff --git a/docs/client-docs/gui/index.html b/docs/client-docs/gui/index.html index 3ccd6c645..acf4c43be 100644 --- a/docs/client-docs/gui/index.html +++ b/docs/client-docs/gui/index.html @@ -4,12 +4,12 @@ GUI Overview | GameVault - - - + + + -
    Skip to main content

    GUI Overview

    +

    GUI Overview

    This documentation provides a clear overview of the Graphical User Interface (GUI) for GameVault. The GUI encompasses various tabs, each offering distinct functionalities.

    Setup Wizard

    The Setup Wizard is a sub-page that appears when the necessary settings for GameVault are not configured. It guides users through these settings with detailed explanations. Exiting the wizard is optional, as all settings can also be configured in the settings tab.

    @@ -146,6 +146,6 @@

    NewsAt the bottom left of the screen is a button with which you can display the latest news from gamevault or the server's own news.
  • When new news are available the button will be marked with a red badged.
  • News can also be displayed as Markdown.
  • -

    +
    \ No newline at end of file diff --git a/docs/client-docs/how-to-use/index.html b/docs/client-docs/how-to-use/index.html index 0bc8e806f..ca14861bb 100644 --- a/docs/client-docs/how-to-use/index.html +++ b/docs/client-docs/how-to-use/index.html @@ -4,12 +4,12 @@ How to Use | GameVault - - - + + + -
    Skip to main content

    How to Use

    +

    How to Use

    File & Folder Structure

    Example

    Let's say you installed GameVault freshly and configured your Root folder path to D:/ because your D Drive is larger.

    GameVault will now generate its folder structure. When everything is done, your file system will look like this:

    @@ -80,6 +80,6 @@

    Modifying Us

    If you have the ADMIN role or higher on your GameVault server, you can do the same for all other user profiles in the Admin Dashboard.

    Exiting or Relaunching the App

    -

    In order to maintain playtime tracking functionality, simply closing the launcher using the X-Button does not terminate the GameVault process. Instead, it minimizes the app to the system Tray. Therefore, if you truly wish to exit the application, be sure to right-click and select "Exit" from the context menu. The same principle applies when restarting the app. Only one GameVault window can be active at a time, so initiating another GameVault merely brings the minimized app to the forefront without actually restarting it.

    +

    In order to maintain playtime tracking functionality, simply closing the launcher using the X-Button does not terminate the GameVault process. Instead, it minimizes the app to the system Tray. Therefore, if you truly wish to exit the application, be sure to right-click and select "Exit" from the context menu. The same principle applies when restarting the app. Only one GameVault window can be active at a time, so initiating another GameVault merely brings the minimized app to the forefront without actually restarting it.

    \ No newline at end of file diff --git a/docs/client-docs/setup/index.html b/docs/client-docs/setup/index.html index 87b372ea9..cc5e9235c 100644 --- a/docs/client-docs/setup/index.html +++ b/docs/client-docs/setup/index.html @@ -4,12 +4,12 @@ Setting up a GameVault Client | GameVault - - - + + + -
    Skip to main content

    Setting up a GameVault Client

    +

    Setting up a GameVault Client

    If you want to use GameVault to download and install games on your computer, you need to follow these steps.

    Installation

    @@ -92,6 +92,6 @@

    Option 2:

    Conclusion

    Congratulations! You have successfully installed and completed the initial configuration of GameVault. You are now ready to explore and enjoy the features and functionality of the app. If you have any further questions or need assistance, refer to the remaining chapters of this documentation or reach out to our support team for help.

    -

    We specifically recommend to read the "How to Use" Chapter to understand how GameVault works.

    +

    We specifically recommend to read the "How to Use" Chapter to understand how GameVault works.

    \ No newline at end of file diff --git a/docs/client-docs/themes/index.html b/docs/client-docs/themes/index.html index 510dea663..c1bea5238 100644 --- a/docs/client-docs/themes/index.html +++ b/docs/client-docs/themes/index.html @@ -4,12 +4,12 @@ Themes | GameVault - - - + + + -
    Skip to main content

    Themes

    GameVault offers the option to apply different themes to your GameVault client application. With GameVault+, you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience.

    +

    Themes

    GameVault offers the option to apply different themes to your GameVault client application. With GameVault+, you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience.

    Free Themes

    • Default (Dark): The default GameVault theme, reflecting the 2024 GameVault rebrand with dark tones. @@ -22,6 +22,6 @@

      Free ThemesPremium Themes

      GameVault+ comes with more themes you can choose from. A list of premium themes is available in the GameVault+ Themes section of the documentation.

      Custom Themes

      -

      Custom themes are only available for GameVault+ subscribers. See GameVault+ Themes for more information.

    +

    Custom themes are only available for GameVault+ subscribers. See GameVault+ Themes for more information.

    \ No newline at end of file diff --git a/docs/client-docs/updating-client/index.html b/docs/client-docs/updating-client/index.html index 9d927664b..c7fd5e3c1 100644 --- a/docs/client-docs/updating-client/index.html +++ b/docs/client-docs/updating-client/index.html @@ -4,17 +4,17 @@ Updating the Client | GameVault - - - + + + -
    Skip to main content

    Updating the Client

    +

    Updating the Client

    The process for updating the app depends on the installation source.

    Microsoft Store

    If you obtained the app from the Microsoft Store, we're pleased to inform you that our Client app features an automatic update functionality through the Microsoft Store. When you launch the app and observe the spinning logo, it automatically checks for available updates. If a new version is detected, the app prompts you to install it. After the update is installed, the application will close, and you'll need to manually restart it. Once restarted, you'll be using the most recent version.

    Other Sources

    If you acquired the app from a different source, such as by self-compiling, extracting it from the .appxbundle, or downloading the binaries from GitHub, it becomes your responsibility to stay updated with the latest releases and perform the installations.

    -

    Be sure to join our Discord community and watch our Github Projects to stay informed about the latest advancements.

    +

    Be sure to join our Discord community and watch our Github Projects to stay informed about the latest advancements.

    \ No newline at end of file diff --git a/docs/gamevault-plus/client-apis/index.html b/docs/gamevault-plus/client-apis/index.html index 308db773c..e3e376251 100644 --- a/docs/gamevault-plus/client-apis/index.html +++ b/docs/gamevault-plus/client-apis/index.html @@ -4,12 +4,12 @@ Client APIs | GameVault - - - + + + -
    Skip to main content

    Client APIs

    The GameVault Client APIs offer interfaces for external use of the GameVault client application for subscribers of GameVault+. Whether you're interacting via the command line, URI, or NamedPipe, you have access to various functionalities provided by the GameVault Client Application. This can be useful for third-party developers who want to integrate with the GameVault ecosystem. (e.g. Playnite Extension)

    +

    Client APIs

    The GameVault Client APIs offer interfaces for external use of the GameVault client application for subscribers of GameVault+. Whether you're interacting via the command line, URI, or NamedPipe, you have access to various functionalities provided by the GameVault Client Application. This can be useful for third-party developers who want to integrate with the GameVault ecosystem. (e.g. Playnite Extension)

    This guide provides comprehensive information on utilizing various interfaces offered by the GameVault client application for third-party developers. Whether you're building extensions or integrating with the GameVault ecosystem, this documentation will guide you through the available APIs and their specifications.

    Available APIs

    CLI

    @@ -116,6 +116,6 @@

    Query Example
    gamevault://query?query=exists&gameid=3
    gamevault://query?query=installed&gameid=3
    gamevault://query?query=downloaded&gameid=3
    gamevault://query?query=getname&gameid=3
    gamevault://query?query=getinstalldirectory&gameid=3
    gamevault://query?query=getappversion
    gamevault://query?query=getserverurl
    gamevault://query?query=isloggedin

    C# Code Example

    For developers working with C#, here's an example of interacting with the GameVault app through the NamedPipe:

    -
    using System;
    using System.IO;
    using System.IO.Pipes;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;

    public static class GameVaultInteraction
    {
    public static async Task<string> SendPipeMessage(string message, CancellationToken cancellationToken, bool expectsResult = false, int timeout = 500)
    {
    string result = null;
    using var client = new NamedPipeClientStream("GameVault");
    StreamWriter writer = null;
    StreamReader reader = null;

    try
    {
    await client.ConnectAsync(timeout, cancellationToken);

    writer = new StreamWriter(client, Encoding.UTF8, 1024, leaveOpen: true) { AutoFlush = true };
    await writer.WriteLineAsync(message);

    if (expectsResult)
    {
    reader = new StreamReader(client, Encoding.UTF8, false, 1024, leaveOpen: true);
    result = await reader.ReadLineAsync();
    }
    }
    finally
    {
    SafeDispose(writer);
    SafeDispose(reader);
    SafeDispose(client);
    }

    return result;
    }

    private static void SafeDispose(IDisposable disposable)
    {
    if (disposable == null)
    return;

    try
    {
    disposable.Dispose();
    }
    catch (Exception) { }
    }
    }
    +
    using System;
    using System.IO;
    using System.IO.Pipes;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;

    public static class GameVaultInteraction
    {
    public static async Task<string> SendPipeMessage(string message, CancellationToken cancellationToken, bool expectsResult = false, int timeout = 500)
    {
    string result = null;
    using var client = new NamedPipeClientStream("GameVault");
    StreamWriter writer = null;
    StreamReader reader = null;

    try
    {
    await client.ConnectAsync(timeout, cancellationToken);

    writer = new StreamWriter(client, Encoding.UTF8, 1024, leaveOpen: true) { AutoFlush = true };
    await writer.WriteLineAsync(message);

    if (expectsResult)
    {
    reader = new StreamReader(client, Encoding.UTF8, false, 1024, leaveOpen: true);
    result = await reader.ReadLineAsync();
    }
    }
    finally
    {
    SafeDispose(writer);
    SafeDispose(reader);
    SafeDispose(client);
    }

    return result;
    }

    private static void SafeDispose(IDisposable disposable)
    {
    if (disposable == null)
    return;

    try
    {
    disposable.Dispose();
    }
    catch (Exception) { }
    }
    }
    \ No newline at end of file diff --git a/docs/gamevault-plus/client-setup/index.html b/docs/gamevault-plus/client-setup/index.html index b63b867e6..7b1c933ec 100644 --- a/docs/gamevault-plus/client-setup/index.html +++ b/docs/gamevault-plus/client-setup/index.html @@ -4,12 +4,12 @@ Client Setup | GameVault - - - + + + -
    Skip to main content

    Client Setup

    Setting up your GameVault+ License within your GameVault Client Application is simple and easy.

    +

    Client Setup

    Setting up your GameVault+ License within your GameVault Client Application is simple and easy.

    Linking Your Phalcode Account

    1. Open the GameVault Client Application and go to the Settings tab. Then, click on the GameVault+ button.
    2. @@ -24,6 +24,6 @@

      Retr

      Offline Usage

      Once the initial setup is complete, GameVault+ can be used offline.

      When a valid license is detected during the setup process, an encrypted copy of the license is stored within the application, enabling offline usage. You can access GameVault+ offline with its license until the license expires.

      -

      Your offline licenses are renewed each time you log in, as long as an internet connection is available.

    +

    Your offline licenses are renewed each time you log in, as long as an internet connection is available.

    \ No newline at end of file diff --git a/docs/gamevault-plus/introduction/index.html b/docs/gamevault-plus/introduction/index.html index 2da3f7f67..cf370e574 100644 --- a/docs/gamevault-plus/introduction/index.html +++ b/docs/gamevault-plus/introduction/index.html @@ -4,12 +4,12 @@ Introduction | GameVault - - - + + + -
    Skip to main content
    +

    Elevate Your GameVault Experience with Premium Features

    @@ -66,6 +66,6 @@

    contact us directly to discuss an individual licensing agreement.
    Personal subscriptions are tailored for individual users, but we're happy to collaborate with businesses for customized solutions and volume licenses.

    What if i cant afford GameVault+?

    -

    We totally understand that not everyone can afford GameVault+, and that's fine. From our perspective, you're free to tinker your way around the paywall for your personal use. The source code is on Github. But please avoid pirated versions, as they may contain malware, and also please refrain from sharing your bypass-modifications.

    +

    We totally understand that not everyone can afford GameVault+, and that's fine. From our perspective, you're free to tinker your way around the paywall for your personal use. The source code is on Github. But please avoid pirated versions, as they may contain malware, and also please refrain from sharing your bypass-modifications.

    \ No newline at end of file diff --git a/docs/gamevault-plus/themes/index.html b/docs/gamevault-plus/themes/index.html index c8e9224f1..a9c580252 100644 --- a/docs/gamevault-plus/themes/index.html +++ b/docs/gamevault-plus/themes/index.html @@ -4,12 +4,12 @@ Themes | GameVault - - - + + + -
    Skip to main content

    Themes

    With GameVault+, you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience.

    +

    Themes

    With GameVault+, you gain access to a variety of additional themes and also the ability to apply custom themes, to personalize your experience.

    Premium Themes

    GameVault+ ships with the following premium themes by default:

      @@ -34,6 +34,6 @@

      Crea

      Template File

      Just copy the latest template from the community themes repository, edit it using a text editor, and save it in the themes folder to try it out. Be aware that the hex codes are ARGB syntax and not RGB syntax.

      Sharing Custom Themes

      -

      You can share your custom themes with the community by creating a pull request to the community themes repository.

    +

    You can share your custom themes with the community by creating a pull request to the community themes repository.

    \ No newline at end of file diff --git a/docs/intro/index.html b/docs/intro/index.html index 4a1a52ec6..64ae863c6 100644 --- a/docs/intro/index.html +++ b/docs/intro/index.html @@ -4,12 +4,12 @@ Introduction | GameVault - - - + + + -
    Skip to main content

    Introduction

    +

    Introduction

    What is GameVault?

    GameVault is an innovative gaming platform providing a self-hosted, source-available alternative to popular gaming platforms. It lets you and your friends enjoy DRM-free games stored on your file server in an organized way.

    Think of it as your personal Steam or Plex server, but for your personal video game collection (and without streaming). It lets you and your friends enjoy your games from anywhere.

    @@ -82,6 +82,6 @@

    LicenseCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

    CC BY-NC-SA 4.0

    -
    Legal Disclaimer

    GameVault manages DRM-free games and is solely a tool to address this need. We are not responsible for the content or files users store or share.

    When we say DRM-free games, we only mean games obtained legally. While GameVault can theoretically be used with illegally obtained games, we do not endorse or support piracy.

    Users must be aware of and comply with copyright laws in their respective jurisdictions. We encourage responsible and legal use of GameVault. Unlawful use is strictly improper and unauthorized.

    +
    Legal Disclaimer

    GameVault manages DRM-free games and is solely a tool to address this need. We are not responsible for the content or files users store or share.

    When we say DRM-free games, we only mean games obtained legally. While GameVault can theoretically be used with illegally obtained games, we do not endorse or support piracy.

    Users must be aware of and comply with copyright laws in their respective jurisdictions. We encourage responsible and legal use of GameVault. Unlawful use is strictly improper and unauthorized.

    \ No newline at end of file diff --git a/docs/license-contribute/index.html b/docs/license-contribute/index.html index f12df1fd4..e87393b9b 100644 --- a/docs/license-contribute/index.html +++ b/docs/license-contribute/index.html @@ -4,12 +4,12 @@ Licensing and Contributions | GameVault - - - + + + -
    Skip to main content

    Licensing and Contributions

    +

    Licensing and Contributions

    License

    GameVault is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License with the exception of the some components, like extensions and plugins.

    This means you are free to use, adapt, and share the work as long as you give appropriate credit, do not use it for commercial purposes, and distribute any derivative works under the same license.

    @@ -44,6 +44,6 @@

    +
    \ No newline at end of file diff --git a/docs/server-docs/adding-games/index.html b/docs/server-docs/adding-games/index.html index 459eee28f..3bdfae156 100644 --- a/docs/server-docs/adding-games/index.html +++ b/docs/server-docs/adding-games/index.html @@ -4,12 +4,12 @@ Adding Games to GameVault | GameVault - - - + + + -
    Skip to main content

    Adding Games to GameVault

    +

    Adding Games to GameVault

    If you wish to add games to your server but are struggling with unorganized files, varying file formats, and compressed files, you have come to the right place. In this chapter, you will learn the correct process to add games to your GameVault server.

    Before You Begin

    Please read the File and Folder Structure chapter first.

    @@ -80,6 +80,6 @@

    danger

    Will result in a single game that gets overwritten!

    Step 4: Deploy 🥳

    Once you have named the archive, place it into the folder on your host system that is mounted to GameVault's files folder (by default /files). Once the archive is in place, GameVault will automatically index the game, enrich it with metadata, and save it in your database.

    -

    Congratulations! You have successfully added a game to your GameVault server. Repeat the process for any additional games you want to add.

    +

    Congratulations! You have successfully added a game to your GameVault server. Repeat the process for any additional games you want to add.

    \ No newline at end of file diff --git a/docs/server-docs/backup-and-restore/index.html b/docs/server-docs/backup-and-restore/index.html index 910003be7..e5660e29f 100644 --- a/docs/server-docs/backup-and-restore/index.html +++ b/docs/server-docs/backup-and-restore/index.html @@ -4,12 +4,12 @@ Database Backup & Restoration | GameVault - - - + + + -
    Skip to main content

    Database Backup & Restoration

    +

    Database Backup & Restoration

    Experimental

    The Backup and Restoration Mechanisms in GameVault are currently experimental and should not be your primary backup solution. Always maintain your database backups independently and only consider using this as a last resort. In summary, we recommend avoiding this entire process whenever possible, as it can potentially be quite fragile and prone to issues. But i guess something is better than nothing...

    Security Measurements

    For security resons any database operation outlined below must be additionally authenticated using your database password.

    Backup

    @@ -32,6 +32,6 @@

    Restoration

    The Restoration is not incremental. It hard-deletes everything and hard-restores everything.

    -

    +
    \ No newline at end of file diff --git a/docs/server-docs/configuration/index.html b/docs/server-docs/configuration/index.html index 5509fddb3..06207d681 100644 --- a/docs/server-docs/configuration/index.html +++ b/docs/server-docs/configuration/index.html @@ -4,12 +4,12 @@ Configuration | GameVault - - - + + + -
    Skip to main content

    Configuration

    +

    Configuration

    tip

    Check out configuration.ts for all possible environment variables in case we forgot to update this page.

    All configuration properties of your GameVault server are passed as environment variables or via a .env file. The following tables describe the available properties, their default values, explanations, and possible values.

    Configuration Properties

    @@ -32,6 +32,6 @@

    MEDIAMETADATA

    PropertyDescriptionDefaultPossible Values
    METADATA_TTL_IN_DAYSThe number of days metadata is considered fresh before requiring an update.30Any number of days
    METADATA_IGDB_ENABLEDEnables or disables the built-in integration with IGDB for metadata retrieval.truetrue, false
    METADATA_IGDB_PRIORITYThe priority level for IGDB metadata sources when multiple metadata sources are available.1Any number
    METADATA_IGDB_REQUEST_INTERVAL_MSThe interval, in milliseconds, to wait between consecutive requests to prevent exceeding rate limits. This delay will be applied before each call to the provider.250Any number
    METADATA_IGDB_CLIENT_IDThe Client-ID used for authenticating requests to the IGDB API.-Your Client ID
    METADATA_IGDB_CLIENT_SECRETThe Client-Secret used for authenticating requests to the IGDB API.-Your Client Secret

    TESTING

    -
    PropertyDescriptionDefaultPossible Values
    TESTING_AUTHENTICATION_DISABLEDIf true, the API will accept any auth header. Useful for testing without authentication.falsetrue, false
    TESTING_MOCK_FILESIf true, the server will mock all files or ignore filesystem functionalities. Useful for testing without real files.falsetrue, false
    TESTING_IN_MEMORY_DBIf true, the server will use an in-memory database. Useful for testing without creating an actual database. Only works with SQLITE.falsetrue, false
    TESTING_MOCK_PROVIDERSIf true, the server will create two mock providers. (-9999 and 9999 Priority) Useful for testing metadata-merges.falsetrue, false
    +
    PropertyDescriptionDefaultPossible Values
    TESTING_AUTHENTICATION_DISABLEDIf true, the API will accept any auth header. Useful for testing without authentication.falsetrue, false
    TESTING_MOCK_FILESIf true, the server will mock all files or ignore filesystem functionalities. Useful for testing without real files.falsetrue, false
    TESTING_IN_MEMORY_DBIf true, the server will use an in-memory database. Useful for testing without creating an actual database. Only works with SQLITE.falsetrue, false
    TESTING_MOCK_PROVIDERSIf true, the server will create two mock providers. (-9999 and 9999 Priority) Useful for testing metadata-merges.falsetrue, false
    \ No newline at end of file diff --git a/docs/server-docs/game-types/index.html b/docs/server-docs/game-types/index.html index 08c18e4f4..36521f877 100644 --- a/docs/server-docs/game-types/index.html +++ b/docs/server-docs/game-types/index.html @@ -4,12 +4,12 @@ Game Types | GameVault - - - + + + -
    Skip to main content

    Game Types

    +

    Game Types

    GameVault offers various Types of Games. The application will handle different kinds of games differently, for example during installation.

    The Game Type is automatically detected by the server, but it can be manually overridden using the Type Tag from GameVaults Naming Structure.

    Each game can only have one type tag. If it has multiple type tags only one of them gets used.

    @@ -38,6 +38,6 @@

    Undetected
  • data/
  • setup.sh
  • -

    +
    \ No newline at end of file diff --git a/docs/server-docs/indexing/index.html b/docs/server-docs/indexing/index.html index 6181868d4..594f60656 100644 --- a/docs/server-docs/indexing/index.html +++ b/docs/server-docs/indexing/index.html @@ -4,12 +4,12 @@ Game Indexing | GameVault - - - + + + -
    Skip to main content

    Game Indexing

    +

    Game Indexing

    The server watches the files directory (by default /files) and creates an index of all games, when changes occur. The indexing can also be triggered via API.

    The indexing algorithm follows these steps:

      @@ -23,6 +23,6 @@
    -

    Finally, a simple integrity check is performed to ensure that the games in the database also exist in the files directory, and vice versa.

    +

    Finally, a simple integrity check is performed to ensure that the games in the database also exist in the files directory, and vice versa.

    \ No newline at end of file diff --git a/docs/server-docs/media/index.html b/docs/server-docs/media/index.html index c78ba2c2c..eab53b6a6 100644 --- a/docs/server-docs/media/index.html +++ b/docs/server-docs/media/index.html @@ -4,12 +4,12 @@ Media | GameVault - - - + + + -
    Skip to main content

    Media

    +

    Media

    This page outlines how media like images and videos are handled within the backend application.

    Here is the updated markdown table including the format names as a second column:

    Supported Formats

    @@ -43,6 +43,6 @@

    Med

    You can control how often the garbage colletion happens by changing the value of MEDIA_GC_INTERVAL_IN_MINUTES.

    During cleanup, GameVault first gets rid of all media in the database that aren't used. Afterwards, it deletes all media files in the media folder that don't match any database entries. So please don't put any files in the media folder that you don't want to be deleted.

    Turning off Garbage Collection

    -

    If you want to turn off this feature, you can disableit by setting the MEDIA_GC_DISABLED environment variable to true.

    +

    If you want to turn off this feature, you can disableit by setting the MEDIA_GC_DISABLED environment variable to true.

    \ No newline at end of file diff --git a/docs/server-docs/metadata-enrichment/metadata/index.html b/docs/server-docs/metadata-enrichment/metadata/index.html index 92d01e8cb..d0b441119 100644 --- a/docs/server-docs/metadata-enrichment/metadata/index.html +++ b/docs/server-docs/metadata-enrichment/metadata/index.html @@ -4,12 +4,12 @@ Enriching your Games with Metadata | GameVault - - - + + + -
    Skip to main content

    Enriching your Games with Metadata

    Research shows that nobody wants to see blank placeholder images and missing descriptions in their library. We want those games enriched with some juicy metadata.

    +

    Enriching your Games with Metadata

    Research shows that nobody wants to see blank placeholder images and missing descriptions in their library. We want those games enriched with some juicy metadata.

    GameVault supports a vast plugin framework that supports connecting to various metadata providers simultaneously. In the following sections, you'll learn how to set up a metadata provider and get started.

    Setting Up a Metadata Provider

    Click on any of the entries below to get to their dedicated page.

    @@ -47,6 +47,6 @@

    Developing a New Metadata Provider

    To build a new integration for a metadata provider, you need to write a GameVault Backend Plugin. Click here to understand how that works.

    Then you will need to build a NestJS service that implements the abstract.metadata-provider.interface.ts and implement your own configuration environment variables if necessary. Make sure they fit in but do not conflict with any existing environment variables and are distinct enough. (For example, PLUGIN_AUTHORNAME_PLUGINNAME_SETTING like PLUGIN_ALFAGUN74_IGDB_ENABLED).

    -

    Last but not least, you can then create a GitHub repository and tag it with the tag gamevault-backend-plugin to make it findable. After that, you can also add your provider in this documentation with a notice that it is community maintained.

    +

    Last but not least, you can then create a GitHub repository and tag it with the tag gamevault-backend-plugin to make it findable. After that, you can also add your provider in this documentation with a notice that it is community maintained.

    \ No newline at end of file diff --git a/docs/server-docs/metadata-enrichment/provider-igdb/index.html b/docs/server-docs/metadata-enrichment/provider-igdb/index.html index 03c5fc0b7..3f8e1a282 100644 --- a/docs/server-docs/metadata-enrichment/provider-igdb/index.html +++ b/docs/server-docs/metadata-enrichment/provider-igdb/index.html @@ -4,12 +4,12 @@ Provider: IGDB | GameVault - - - + + + -
    Skip to main content

    Provider: IGDB

    +

    Provider: IGDB

    Overview

    The Internet Games Database (IGDB) is one of the most popular databases for detailed video game information run by twitch.tv. By integrating IGDB with GameVault, users get accurate and up-to-date game data. We're pleased to partner with IGDB to provide the best game information to our users.

    Setup

    @@ -38,6 +38,6 @@

    Fieldshere for details.provider_data_ididprovider_data_urlurltitlenamerelease_datefirst_release_datedescriptiongame.summary and/or game.storylineIf both are available, both get used, else any available will be mappedratingtotal_ratingearly_accessstatusTrue if the Game is either in status alpha, beta or early_accessdevelopersinvolved_companiesFiltered by involved_company.developer === truepublishersinvolved_companiesFiltered by involved_company.publisher === truegenresgenrestagskeywords and themescovercoverUsing the highest possible cover resolution via t_cover_big_2xbackgroundartworks[0] or screenshots[0]Only first artwork/screenshot is mapped. Using the highest possible 16:9 resolution via t_1080p_2xurl_websiteswebsites.urlurl_screenshotsscreenshots and artworksUsing the highest possible 16:9 resolution via t_1080p_2xurl_trailersvideosOnly when video title includes the words "trailer", "teaser" or "intro"url_gameplaysvideosOnly when video title includes the words "gameplay"

    Age Rating

    The table below shows how age ratings from GameVault and IGDB are matched. Ratings like "Not Yet Rated" are ignored. A game can have ratings from multiple systems. The IGDB integration calculates the average of all ratings, rounds it, and then saves it to GameVault.

    -
    Age Rating SystemRating NameGameVault Minimum Age (Years)IGDB Rating Enum Value
    PEGIThree31
    Seven72
    Twelve123
    Sixteen164
    Eighteen185
    ESRBEC37
    E68
    E10109
    T1310
    M1711
    AO1812
    CEROCERO_A013
    CERO_B1214
    CERO_C1515
    CERO_D1716
    CERO_Z1817
    USKUSK_0018
    USK_6619
    USK_121220
    USK_161621
    USK_181822
    GRACGRAC_ALL023
    GRAC_Twelve1224
    GRAC_Fifteen1525
    GRAC_Eighteen1826
    CLASS_INDCLASS_IND_L028
    CLASS_IND_Ten1029
    CLASS_IND_Twelve1230
    CLASS_IND_Fourteen1431
    CLASS_IND_Sixteen1632
    CLASS_IND_Eighteen1833
    ACBACB_G034
    ACB_PG835
    ACB_M1536
    ACB_MA151537
    ACB_R181838
    +
    Age Rating SystemRating NameGameVault Minimum Age (Years)IGDB Rating Enum Value
    PEGIThree31
    Seven72
    Twelve123
    Sixteen164
    Eighteen185
    ESRBEC37
    E68
    E10109
    T1310
    M1711
    AO1812
    CEROCERO_A013
    CERO_B1214
    CERO_C1515
    CERO_D1716
    CERO_Z1817
    USKUSK_0018
    USK_6619
    USK_121220
    USK_161621
    USK_181822
    GRACGRAC_ALL023
    GRAC_Twelve1224
    GRAC_Fifteen1525
    GRAC_Eighteen1826
    CLASS_INDCLASS_IND_L028
    CLASS_IND_Ten1029
    CLASS_IND_Twelve1230
    CLASS_IND_Fourteen1431
    CLASS_IND_Sixteen1632
    CLASS_IND_Eighteen1833
    ACBACB_G034
    ACB_PG835
    ACB_M1536
    ACB_MA151537
    ACB_R181838
    \ No newline at end of file diff --git a/docs/server-docs/parental-control/index.html b/docs/server-docs/parental-control/index.html index d3545ce76..9ff79ab54 100644 --- a/docs/server-docs/parental-control/index.html +++ b/docs/server-docs/parental-control/index.html @@ -4,12 +4,12 @@ Parental Control | GameVault - - - + + + -
    Skip to main content

    Parental Control

    +

    Parental Control

    GameVault supports a parental control feature that hides games and game progresses based on the games age rating for some users. By default, age restrictions are disabled.

    When enabled:

      @@ -29,6 +29,6 @@

      The age of majority determines the age at which an individual is legally recognized as an adult. Reaching the age of majority enables users to alter their birth date. Otherwise, users will not be able to set their own birth date and an admin will be required to set their birth date.

      You can configure the age of majority for parental control by setting the PARENTAL_AGE_OF_MAJORITY environment variable. The default value is 18.

      Overriding the Age Rating of a Game

      -

      Admins can override the age rating of a single game by simply editing the age rating field of a game directly.

    +

    Admins can override the age rating of a single game by simply editing the age rating field of a game directly.

    \ No newline at end of file diff --git a/docs/server-docs/plugins/index.html b/docs/server-docs/plugins/index.html index eb8985ced..da89d6f1c 100644 --- a/docs/server-docs/plugins/index.html +++ b/docs/server-docs/plugins/index.html @@ -4,12 +4,12 @@ Plugins | GameVault - - - + + + -
    Skip to main content

    Plugins

    +

    Plugins

    Work in progress

    Please note that the plugins loader is currently experimental. We advise not to use it.

    Introduction

    GameVault is designed with a high degree of modularity and features a built-in plugin system. Users have the capability to integrate their own plugins into the server.

    @@ -27,6 +27,6 @@

    Wr

    Example Plugins

    Phalcode has a few example plugins here that you can use to learn how to build your own plugins.

    Available Features

    -

    Coming soon.

    +

    Coming soon.

    \ No newline at end of file diff --git a/docs/server-docs/server-news/index.html b/docs/server-docs/server-news/index.html index 0ebde0c4c..a2ca51e86 100644 --- a/docs/server-docs/server-news/index.html +++ b/docs/server-docs/server-news/index.html @@ -4,15 +4,15 @@ Server News | GameVault - - - + + + -
    Skip to main content

    Server News

    +

    Server News

    You can keep your users informed by adding a news.md file. Use it to link your game wishlist form, share key updates, or simply greet them.

    This file supports Markdown syntax, making it easy to format and structure your content. You can edit the news.md file using any text editor or script. It is located at /config/news.md. If you're using Docker, simply mount that folder as a volume:

    note

    When updating the news.md file., users will receive a notification ping-icon in their client, ensuring they see the latest news.

    -
    [...]
    volumes:
    - /your/config/folder:/config
    - [...]
    [...]
    +
    [...]
    volumes:
    - /your/config/folder:/config
    - [...]
    [...]
    \ No newline at end of file diff --git a/docs/server-docs/setup/caprover/index.html b/docs/server-docs/setup/caprover/index.html index e1de07075..73ae6dd73 100644 --- a/docs/server-docs/setup/caprover/index.html +++ b/docs/server-docs/setup/caprover/index.html @@ -4,12 +4,12 @@ Using CapRover | GameVault - - - + + + -
    Skip to main content

    Using CapRover

    CapRover is an open-source platform that simplifies the deployment and management of web applications through containerization, providing a user-friendly interface for developers.

    +

    Using CapRover

    CapRover is an open-source platform that simplifies the deployment and management of web applications through containerization, providing a user-friendly interface for developers.

    Setting up a GameVault Server on CapRover is just a click away because we have created a CapRover One-Click-App Integration for this purpose. However, our app hasn't gained enough prominence to be included in the official One-Click-App Repository of CapRover. So, we decided to create our own third-party repository.

    In this guide, you will learn how to connect to our third-party repository and install GameVault on your CapRover Instance.

    Prerequisites

    @@ -46,6 +46,6 @@

    Stopping

    Reading the Logs

    Navigate to "Apps" and choose the GameVault App you have created.

    Click on "Deployment".

    -

    You should now see the logs. If needed, click on "View App Logs" first.

    +

    You should now see the logs. If needed, click on "View App Logs" first.

    \ No newline at end of file diff --git a/docs/server-docs/setup/docker-compose/index.html b/docs/server-docs/setup/docker-compose/index.html index d65e45986..34cb938d9 100644 --- a/docs/server-docs/setup/docker-compose/index.html +++ b/docs/server-docs/setup/docker-compose/index.html @@ -4,12 +4,12 @@ Using Docker Compose | GameVault - - - + + + -
    Skip to main content

    Using Docker Compose

    Docker is a platform for developing, shipping, and running applications in containers, and Docker Compose is a tool for defining and managing multi-container Docker applications.

    +

    Using Docker Compose

    Docker is a platform for developing, shipping, and running applications in containers, and Docker Compose is a tool for defining and managing multi-container Docker applications.

    In this guide, you will learn how to set up GameVault using Docker and Docker Compose.

    Prerequisites

      @@ -37,6 +37,6 @@

      Stopping
      docker compose down

      Reading the logs

      Open a terminal and run the following command:

      -
      docker logs gamevault-backend
    +
    docker logs gamevault-backend
    \ No newline at end of file diff --git a/docs/server-docs/setup/index.html b/docs/server-docs/setup/index.html index 0fa06cbc8..dd39eb61c 100644 --- a/docs/server-docs/setup/index.html +++ b/docs/server-docs/setup/index.html @@ -4,12 +4,12 @@ Setting up a GameVault Server | GameVault - - - + + + -
    Skip to main content

    Setting up a GameVault Server

    +
    +

    Enjoy your new gaming experience with GameVault!

    \ No newline at end of file diff --git a/docs/server-docs/setup/native/index.html b/docs/server-docs/setup/native/index.html index 24d0bf691..450a358a8 100644 --- a/docs/server-docs/setup/native/index.html +++ b/docs/server-docs/setup/native/index.html @@ -4,12 +4,12 @@ Using Native Approach | GameVault - - - + + + -
    Skip to main content

    Using Native Approach

    Container technology presents an efficient and scalable solution by encapsulating applications and their dependencies. This ensures consistent performance across diverse environments and streamlines deployment, management, and scalability.

    +

    Using Native Approach

    Container technology presents an efficient and scalable solution by encapsulating applications and their dependencies. This ensures consistent performance across diverse environments and streamlines deployment, management, and scalability.

    Although we strongly discourage it, if none of the alternative installation methods are suitable for you, GameVault can also be installed directly on your system without using containers. The example provided here uses Debian.

    Prerequisites

      @@ -47,6 +47,6 @@

      Updating

      inside of your gamevault-backend git repository. It will auto update to the latest version.

      You can update to a specific version by using:

      git fetch --all --tags --prune
      git checkout tags/9.0.0
      -

      for example.

    +

    for example.

    \ No newline at end of file diff --git a/docs/server-docs/setup/synology-container-manager/index.html b/docs/server-docs/setup/synology-container-manager/index.html index 1764a2ee1..a037a9031 100644 --- a/docs/server-docs/setup/synology-container-manager/index.html +++ b/docs/server-docs/setup/synology-container-manager/index.html @@ -4,12 +4,12 @@ Using Synology Container Manager | GameVault - - - + + + -
    Skip to main content

    Using Synology Container Manager

    Synology Container Manager is a software application developed by Synology Inc. for their network-attached storage (NAS) devices. It provides users with a graphical user interface for managing Docker containers, allowing them to deploy, manage, and monitor containerized applications on their Synology NAS.

    +

    Using Synology Container Manager

    Synology Container Manager is a software application developed by Synology Inc. for their network-attached storage (NAS) devices. It provides users with a graphical user interface for managing Docker containers, allowing them to deploy, manage, and monitor containerized applications on their Synology NAS.

    In this guide, you will learn how to set up GameVault on such a system using Docker Compose.

    Contribute to this page!

    Unfortunately, none of our team members uses Synology Hardware and this guide was written blindly. The GameVault Docs live from contributions. If you use a Synology system kindly contribute some screenshots to this page. Thanks!

    Prerequisites

    @@ -64,6 +64,6 @@

    Reading the
  • Select the GameVault container from the list of containers.
  • Click on "Details" to expand the container's information.
  • Select the "Log" tab to view the container's logs in real-time.
  • -

    +
    \ No newline at end of file diff --git a/docs/server-docs/setup/truenas-scale/index.html b/docs/server-docs/setup/truenas-scale/index.html index cbde4c98b..01b32611e 100644 --- a/docs/server-docs/setup/truenas-scale/index.html +++ b/docs/server-docs/setup/truenas-scale/index.html @@ -4,12 +4,12 @@ Using TrueNAS Scale | GameVault - - - + + + -
    Skip to main content

    Using TrueNAS Scale

    TrueNAS Scale is an open-source, hyper-converged storage platform that combines the reliability of TrueNAS with the versatility of Linux, providing a unified solution for storage, virtualization, and containerization in a single, easy-to-manage system.

    +

    Using TrueNAS Scale

    TrueNAS Scale is an open-source, hyper-converged storage platform that combines the reliability of TrueNAS with the versatility of Linux, providing a unified solution for storage, virtualization, and containerization in a single, easy-to-manage system.

    Setting up a GameVault Server on TrueNAS Scale is just a click away by using our template from the Truecharts Catalog, a community based catalog for TrueNAS Scale.

    Prerequisites

    @@ -59,6 +59,6 @@

    Reading the

    Once you selected the main pod and container pod; you should see the logs for the app

    gamevault-workloads-logs-3

    You can then download the logs, but you might have to reselect the correct pods again when downloading the logs.

    -

    gamevault-workloads-logs-4

    +

    gamevault-workloads-logs-4

    \ No newline at end of file diff --git a/docs/server-docs/setup/unraid/index.html b/docs/server-docs/setup/unraid/index.html index 18a9ff708..6aba2bd08 100644 --- a/docs/server-docs/setup/unraid/index.html +++ b/docs/server-docs/setup/unraid/index.html @@ -4,12 +4,12 @@ Using UNRAID | GameVault - - - + + + -
    Skip to main content

    Using UNRAID

    Unraid is a storage operating system that allows users to create a centralized and scalable network-attached storage (NAS) solution, utilizing a unique array of drives with different sizes and types while offering the flexibility to run virtual machines and Docker containers.

    +

    Using UNRAID

    Unraid is a storage operating system that allows users to create a centralized and scalable network-attached storage (NAS) solution, utilizing a unique array of drives with different sizes and types while offering the flexibility to run virtual machines and Docker containers.

    You can easily set up a GameVault Server by using one of our templates from the Unraid Community Applications Store.

    Prerequisites

      @@ -44,6 +44,6 @@

      Stopping

      Reading the Logs

      Navigate to "Docker" tab and left click the GameVault app icon you have created.

      Click on "Logs".

      -

      This should bring a pop-up window of the currently logs of the server.

    +

    This should bring a pop-up window of the currently logs of the server.

    \ No newline at end of file diff --git a/docs/server-docs/structure/index.html b/docs/server-docs/structure/index.html index d33b0cd1f..40dc0fdbd 100644 --- a/docs/server-docs/structure/index.html +++ b/docs/server-docs/structure/index.html @@ -4,12 +4,12 @@ File and Folder Structure | GameVault - - - + + + -
    Skip to main content

    File and Folder Structure

    +

    File and Folder Structure

    If you want to set up a GameVault Server, you need to pay attention to the file and folder structure. The volume mapped to the /files directory must contain your games. These games must be named correctly and should either be archived in one of the supported archive formats listed below or be a single-file executable as described below to be accurately detected by GameVault.

    Supported Archive Formats

    @@ -47,6 +47,6 @@

    Other Example
  • Stray (2022).7z
  • Captain of Industry (v0.4.12b) (EA) (2022).gz
  • Minecraft (2011).exe
  • -

    +
    \ No newline at end of file diff --git a/docs/server-docs/updating-games/index.html b/docs/server-docs/updating-games/index.html index 033bb57cf..4c808bd42 100644 --- a/docs/server-docs/updating-games/index.html +++ b/docs/server-docs/updating-games/index.html @@ -4,12 +4,12 @@ Updating Games | GameVault - - - + + + -
    Skip to main content

    Updating Games

    +

    Updating Games

    Applying an Update to a Game

    To update a game, simply delete the existing game file and replace it with a new one in the files directory (by default /files).

    You can freely modify the early access and version flags of your game. As long as the path or the combination of title and release year of the new file matches the old file, GameVault's indexer will recognize it as an update. The same game entity will be restored if needed and updated with the new file's information, while preserving any progress associated with the game.

    @@ -28,6 +28,6 @@

    Exampleadding the same game multiple times.

    Changing or Moving a Game

    -

    Changing or moving a game is also a breeze. As long as the path or the combination of title and release year of the moved or renamed file matches the old file, GameVault's indexer will recognize it as an update. The same game entity will be updated with the new file's information, while preserving any progress associated with the game.

    +

    Changing or moving a game is also a breeze. As long as the path or the combination of title and release year of the moved or renamed file matches the old file, GameVault's indexer will recognize it as an update. The same game entity will be updated with the new file's information, while preserving any progress associated with the game.

    \ No newline at end of file diff --git a/docs/server-docs/user-management/index.html b/docs/server-docs/user-management/index.html index 57e28c8ef..3e478c385 100644 --- a/docs/server-docs/user-management/index.html +++ b/docs/server-docs/user-management/index.html @@ -4,12 +4,12 @@ User Management | GameVault - - - + + + -
    Skip to main content

    User Management

    +
    +

    By assigning appropriate roles to users, you can ensure that they have the necessary access and privileges based on their responsibilities.

    \ No newline at end of file diff --git a/docs/server-docs/websockets/index.html b/docs/server-docs/websockets/index.html index a8806797d..fa76f1ab5 100644 --- a/docs/server-docs/websockets/index.html +++ b/docs/server-docs/websockets/index.html @@ -4,12 +4,12 @@ WebSockets | GameVault - - - + + + -
    Skip to main content

    WebSockets

    +

    WebSockets

    Work in progress

    GameVault doesn't fully use Websockets yet. Both the client and the server are still lacking a full implementation. Right now, it's just a basic version to begin with on the server. If you're interested in how we're doing with implementing Websockets, you can check out this page on GitHub to see our progress.

    In GameVault Backend Version 9.0.0, we introduced an exciting feature – WebSockets. These WebSockets provide an asynchronous and bidirectional gateway for interactive communication with clients. Our implementation is based on Socket.io, which itself relies on the WebSocket protocol.

    WebSockets enable real-time communication between the server and clients. This means that not only can the server send data to clients when they ask for it, but the server can also initiate conversations with the clients.

    @@ -27,6 +27,6 @@

    ActivitiesDisabling Activities

    For server owners who wish to disable activities, it's as simple as setting the SERVER_ONLINE_ACTIVITIES_DISABLED environment variable to true. Please be aware that, depending on your clients implementation, this might result in everyone appearing as offline all the time.

    Security

    -

    Each user is assigned a randomly generated Socket Secret that they can retrieve at /api/users/me. This secret must be included in the headers (X-Socket-Secret) of every subsequent Socket.IO Handshake request to the server.

    +

    Each user is assigned a randomly generated Socket Secret that they can retrieve at /api/users/me. This secret must be included in the headers (X-Socket-Secret) of every subsequent Socket.IO Handshake request to the server.

    \ No newline at end of file diff --git a/docs/troubleshooting/index.html b/docs/troubleshooting/index.html index 8a5080169..66594593f 100644 --- a/docs/troubleshooting/index.html +++ b/docs/troubleshooting/index.html @@ -4,12 +4,12 @@ Troubleshooting | GameVault - - - + + + -
    Skip to main content

    Troubleshooting

    +

    Troubleshooting

    Below, we will gradually list some common issues and corresponding solutions to help you maximize the potential of your app. If you can't find a solution to your problem here, feel free to open a ticket on our Github board or seek assistance via Discord. Alternatively, you may also directly email our company address if the issue is confidential.

    How to report an issue

    Always provide as much information as possible so that we can reproduce the problem, and always attach a full (from the start of the server to when the problem occurs) log file with the SERVER_LOG_LEVEL env-var set to debug. You must not shorten log files. It just makes it harder for us to understand what went wrong. We know they get big, but we know how to read them.

    All-Rounder Solutions that Fix Most Problems

    @@ -75,6 +75,6 @@

    Game
  • Restart your Client and Server
  • If your server is in your LAN, make sure you don't mistakenly access it from WAN
  • Check your middle-mans: Proxies, VPNs and older Network Hardware could all affect the download speeds.
  • -

    +
    \ No newline at end of file diff --git a/index.html b/index.html index d5a113ba8..ce16ac9c6 100644 --- a/index.html +++ b/index.html @@ -4,11 +4,11 @@ GameVault | GameVault - - - + + + -
    Skip to main content
    LogoLogo

    the self-hosted gaming platform for drm-free games


    Create your own gaming platform

    Do you have games on your server and need an application to download, install, share, launch and track them?

    Then you have come to the right place!

    👯 Build Your Community

    Share your platform with your friends and family so they can enjoy your library, too. Administrate your users and games.

    🎮 Browse Your Games

    Browse your server's beautifully organized library to download, install and play your collection of video games of all kinds!

    ⏱️ Track Your Progress

    See how long you or your friends have been playing a game, find out what they are and keep track of what you've already completed or abandoned.

    🔎 Automatic Metadata Enrichment

    GameVault automatically enriches your game with all the juicy information and and images from the largest video game database.

    📦 Easy To Use

    👥 Join The Movement

    👥 Join The Movement

    Join our growing community , star us on GitHub, or even contribute to our source-available project! Everyone can help!

    *all depicted games are placeholders and not real

    +
    Skip to main content
    Logo

    Create your own gaming platform.

    Hoarding video games is fun, but a chaotic list of files on a network share is not.
    Let GameVault organize everything for you and enjoy a Steam-like experience within the comfort of your own server.


    👯 Build Your Community

    Share your platform with your friends and family so they can enjoy your library, too. Administrate your users and games.

    🎮 Browse Your Games

    Browse your server's beautifully organized library to download, install and play your collection of video games of all kinds!

    ⏱️ Track Your Progress

    See how long you or your friends have been playing a game, find out what they are and keep track of what you've already completed or abandoned.

    🔎 Automatic Metadata Enrichment

    GameVault automatically enriches your game with all the juicy information and and images from the largest video game database.

    📦 Easy To Use

    👥 Join The Movement

    👥 Join The Movement

    Join our growing community , star us on GitHub, or even contribute to our source-available project! Everyone can help!

    Frequently asked questions

    If you can’t find what you’re looking for here, check out the Docs or contact us via Discord, GitHub, or Email

      • Does GameVault combine my gaming platforms in one place?

        No, GameVault is not for combining games from different platforms into one app. Rather, it's for managing your own gaming platform with your own game files hosted on your server.

      • Is GameVault open-source?

        No, GameVault is source-available, meaning the code is open for you to explore and modify for personal use. However, you may not use it for commercial purposes.

      • Is GameVault a tool for piracy?

        No, it isn't. GameVault is designed to manage legally obtained DRM-free games. While it can technically be used with illegally obtained games, we do not endorse or support piracy. We encourage users to comply with copyright laws. Unlawful use is strictly improper and unauthorized.

      • Does GameVault work with games from Steam, Epic Games, Microsoft, etc.?

        Usually not. GameVault is made for games you own and only works with DRM-free games, either pure game files or installers. Most platforms use DRM, but there are exceptions like GOG and Humble Bundle that don’t.

      • Is there a native client for Mac or Linux?

        No, apart from emulation or community-maintained clients, there is currently no native Linux or Mac GameVault client application.

      • Does GameVault have anything to do with gambling?

        No, absolutely not. There's just a gambling app with a similar name on the market. If you're struggling with gambling addiction, please seek help.

      • Does GameVault stream games?

        No, GameVault has nothing to do with streaming. It's simply an app to organize and browse your game library in a Steam-like experience and share it with your community.

      • Does GameVault cost any money?

        No, the core features of GameVault are and will always be free. However, we do offer a paid GameVault+ subscription for some additional extra features, which you can subscribe to if you'd like to continuously support our work.

      • What was the former name of GameVault?

        The first rule of GameVault is: you do not talk about the former name of GameVault.

    *In case you're wondering, all depicted games on this website are placeholders and not real

    \ No newline at end of file diff --git a/search-index-default.json b/search-index-default.json index b866f6e5b..f2cc696bd 100644 --- a/search-index-default.json +++ b/search-index-default.json @@ -1 +1 @@ -{"documents":[{"id":1,"pageTitle":"Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games","sectionTitle":"Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games","sectionRoute":"/blog/2023/07/01/","type":"blog"},{"id":3,"pageTitle":"Choosing a New, Family-Friendly Name for this project!","sectionTitle":"Choosing a New, Family-Friendly Name for this project!","sectionRoute":"/blog/2023/07/08/","type":"blog"},{"id":2,"pageTitle":"Battling Harassment and Trolls in Our App Community","sectionTitle":"Battling Harassment and Trolls in Our App Community","sectionRoute":"/blog/2023/07/09/","type":"blog"},{"id":4,"pageTitle":"A Closer Look at GameVaults 'Source-Available' Nature","sectionTitle":"A Closer Look at GameVaults 'Source-Available' Nature","sectionRoute":"/blog/2023/07/13/","type":"blog"},{"id":5,"pageTitle":"A New Name","sectionTitle":"A New Name","sectionRoute":"/blog/2023/07/15/","type":"blog"},{"id":6,"pageTitle":"A New Name","sectionTitle":"Summary","sectionRoute":"/blog/2023/07/15/#summary","type":"blog"},{"id":7,"pageTitle":"A New Name","sectionTitle":"Market Analysis","sectionRoute":"/blog/2023/07/15/#market-analysis","type":"blog"},{"id":8,"pageTitle":"A New Name","sectionTitle":"1. GameStash","sectionRoute":"/blog/2023/07/15/#1-gamestash","type":"blog"},{"id":9,"pageTitle":"A New Name","sectionTitle":"2. GameVault","sectionRoute":"/blog/2023/07/15/#2-gamevault","type":"blog"},{"id":10,"pageTitle":"A New Name","sectionTitle":"3. GameShelf","sectionRoute":"/blog/2023/07/15/#3-gameshelf","type":"blog"},{"id":11,"pageTitle":"A New Name","sectionTitle":"4. Harbor","sectionRoute":"/blog/2023/07/15/#4-harbor","type":"blog"},{"id":12,"pageTitle":"A New Name","sectionTitle":"5. GameHub","sectionRoute":"/blog/2023/07/15/#5-gamehub","type":"blog"},{"id":13,"pageTitle":"A New Name","sectionTitle":"What's Next?","sectionRoute":"/blog/2023/07/15/#whats-next","type":"blog"},{"id":14,"pageTitle":"A New Name","sectionTitle":"Special Thanks ❤️","sectionRoute":"/blog/2023/07/15/#special-thanks-️","type":"blog"},{"id":15,"pageTitle":"Quick Migration Update and new Logo","sectionTitle":"Quick Migration Update and new Logo","sectionRoute":"/blog/2023/07/19/","type":"blog"},{"id":16,"pageTitle":"The Migrations are finally completed","sectionTitle":"The Migrations are finally completed","sectionRoute":"/blog/2023/07/20/","type":"blog"},{"id":17,"pageTitle":"Celebrating 600+ Installations and announcing the upcoming big feature","sectionTitle":"Celebrating 600+ Installations and announcing the upcoming big feature","sectionRoute":"/blog/2023/07/24/","type":"blog"},{"id":18,"pageTitle":"Please help us prioritize!","sectionTitle":"Please help us prioritize!","sectionRoute":"/blog/2023/07/29/","type":"blog"},{"id":19,"pageTitle":"A Look Back and a Glimpse Forward","sectionTitle":"A Look Back and a Glimpse Forward","sectionRoute":"/blog/2023/11/20/","type":"blog"},{"id":20,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"Join the GameVault Early-Access Program Now!","sectionRoute":"/blog/2023/12/09/","type":"blog"},{"id":21,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"What's the Early-Access Program?","sectionRoute":"/blog/2023/12/09/#whats-the-early-access-program","type":"blog"},{"id":22,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"How to Join","sectionRoute":"/blog/2023/12/09/#how-to-join","type":"blog"},{"id":23,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"Prerequisites","sectionRoute":"/blog/2023/12/09/#prerequisites","type":"blog"},{"id":24,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"Important Note","sectionRoute":"/blog/2023/12/09/#important-note","type":"blog"},{"id":26,"pageTitle":"Announcing GameVault+ (coming soon)","sectionTitle":"Announcing GameVault+ (coming soon)","sectionRoute":"/blog/2024/03/28/","type":"blog"},{"id":27,"pageTitle":"Announcing GameVault+ (coming soon)","sectionTitle":"GameVault+","sectionRoute":"/blog/2024/03/28/#gamevault","type":"blog"},{"id":28,"pageTitle":"Announcing GameVault+ (coming soon)","sectionTitle":"What is GameVault+?","sectionRoute":"/blog/2024/03/28/#what-is-gamevault","type":"blog"},{"id":29,"pageTitle":"Announcing GameVault+ (coming soon)","sectionTitle":"So what's next?","sectionRoute":"/blog/2024/03/28/#so-whats-next","type":"blog"},{"id":25,"pageTitle":"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!","sectionTitle":"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!","sectionRoute":"/blog/2024/04/01/2024-04-01/","type":"blog"},{"id":30,"pageTitle":"GameVault+ out now","sectionTitle":"GameVault+ out now","sectionRoute":"/blog/2024/04/14/","type":"blog"},{"id":31,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionRoute":"/blog/2024/05/07/","type":"blog"},{"id":32,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"GameVault's new metadata provider strategy","sectionRoute":"/blog/2024/05/07/#gamevaults-new-metadata-provider-strategy","type":"blog"},{"id":33,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"Temporary solution: Implementing a RAWG replacement","sectionRoute":"/blog/2024/05/07/#temporary-solution-implementing-a-rawg-replacement","type":"blog"},{"id":34,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"Exciting new features","sectionRoute":"/blog/2024/05/07/#exciting-new-features","type":"blog"},{"id":35,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"Supporting GameVault","sectionRoute":"/blog/2024/05/07/#supporting-gamevault","type":"blog"},{"id":36,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"An update so major, we could have built the product from scratch.","sectionRoute":"/blog/2024/10/20/","type":"blog"},{"id":37,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"What’s New?","sectionRoute":"/blog/2024/10/20/#whats-new","type":"blog"},{"id":38,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"Major New Features","sectionRoute":"/blog/2024/10/20/#major-new-features","type":"blog"},{"id":39,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"Critical Update Info","sectionRoute":"/blog/2024/10/20/#critical-update-info","type":"blog"},{"id":40,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"Support Us","sectionRoute":"/blog/2024/10/20/#support-us","type":"blog"}],"index":{"version":"2.3.9","fields":["title","content","tags"],"fieldVectors":[["title/1",[0,1.056,1,0.064,2,0.522,3,0.903,4,0.974,5,0.469,6,0.781,7,1.412,8,0.839]],["content/1",[1,0.191,3,1.613,4,1.741,5,0.963,6,2.055,7,1.644,8,1.824,9,0.794,10,1.476,11,1.342,12,1.139,13,2.211,14,2.211,15,1.869,16,2.523,17,2.059,18,2.045,19,2.059,20,3.489,21,2.211,22,1.231,23,1.476,24,2.211,25,2.211,26,2.211,27,0.742,28,1.303,29,0.532,30,1.139,31,1.481,32,2.211,33,1.869,34,0.762,35,3.489,36,3.391,37,1.342,38,1.342,39,2.523,40,1.36,41,1.869,42,2.211,43,1.231,44,1.613,45,2.211,46,1.135,47,2.211,48,0.794,49,1.396,50,2.868,51,1.888,52,2.868,53,1.644,54,1.869,55,1.342,56,1.613,57,1.342,58,1.135,59,1.135,60,0.977,61,1.824,62,1.869,63,1.869,64,2.211,65,1.644,66,1.869,67,1.644,68,1.342,69,0.91,70,2.211,71,1.342,72,2.211,73,1.476,74,2.211,75,1.476,76,1.869,77,2.211,78,2.211,79,1.385,80,0.571,81,1.869,82,2.211,83,1.476,84,1.135,85,2.211,86,1.135,87,1.869,88,2.211,89,1.051,90,1.741,91,2.211,92,2.211,93,3.391,94,1.869,95,1.342,96,2.211,97,2.211,98,1.644,99,2.211,100,1.051,101,2.211,102,2.211,103,2.211,104,1.869,105,1.644,106,1.644,107,2.211,108,0.977,109,1.231,110,1.476,111,1.644,112,1.869,113,1.135,114,1.476,115,1.135,116,0.695,117,1.231,118,1.476,119,1.231,120,0.431,121,1.342,122,2.523,123,1.869,124,1.869,125,1.869,126,1.051,127,1.613,128,0.569,129,1.869,130,1.644,131,2.211,132,1.644,133,1.231,134,1.342,135,1.231,136,1.869,137,1.342]],["tags/1",[1,0.061,5,0.281,19,1.097,86,0.927,90,0.927,138,1.527,139,1.527,140,1.806,141,1.806,142,1.806,143,1.806,144,1.806,145,1.806,146,1.806,147,1.806,148,1.806]],["title/3",[149,1.919,150,0.311,151,1.227,152,1.919,153,0.926,154,1.14]],["content/3",[5,0.727,6,2.246,16,3.477,17,2.407,18,1.752,22,1.517,28,1.047,29,0.655,30,0.915,37,1.654,44,1.296,49,1.122,56,1.296,61,1.204,79,0.915,108,1.204,115,1.399,116,1.246,119,1.517,120,0.774,122,2.949,126,1.296,128,0.701,133,1.517,137,1.654,149,2.949,150,0.564,151,1.886,152,2.949,153,2.162,154,1.204,155,1.82,156,1.654,157,1.331,158,2.724,159,2.304,160,1.047,161,1.517,162,2.724,163,2.724,164,2.026,165,0.831,166,2.026,167,1.82,168,2.026,169,1.925,170,2.724,171,2.304,172,1.517,173,2.026,174,2.724,175,1.654,176,2.026,177,1.399,178,2.724,179,2.207,180,1.82,181,3.964,182,2.724,183,1.654,184,3.964,185,2.724,186,2.304,187,2.724,188,1.654,189,2.304,190,2.724,191,2.304,192,2.026,193,2.724,194,1.204,195,2.304,196,2.724,197,1.399,198,2.304,199,2.304,200,2.304,201,2.724,202,2.036,203,2.724,204,2.026,205,1.82,206,2.724,207,2.724,208,1.296,209,2.026,210,2.304,211,2.724,212,1.122,213,1.82,214,1.82,215,2.724,216,2.724,217,2.724,218,2.724,219,1.654,220,1.517,221,1.399,222,0.494,223,1.122,224,1.122,225,1.654,226,2.724,227,1.654]],["tags/3",[1,0.061,34,0.406,116,0.567,138,1.527,157,0.606,169,0.744,192,1.343,202,0.927,228,1.806,229,1.806,230,1.806,231,1.806,232,1.806,233,1.806,234,1.806,235,1.806]],["title/2",[34,0.637,236,2.397,237,2.108,238,2.108,239,0.78]],["content/2",[1,0.075,2,0.61,9,0.796,11,1.346,12,1.141,19,1.346,28,1.588,30,0.745,34,0.929,37,1.346,40,0.999,51,1.235,61,0.98,69,1.4,71,1.346,73,1.481,80,0.373,100,1.055,114,1.481,115,1.139,117,1.235,118,2.761,119,1.892,120,0.807,124,1.875,128,0.875,134,1.346,153,0.796,154,1.827,156,1.346,160,0.852,161,1.235,165,0.465,166,1.649,169,0.913,179,1.235,180,1.481,183,1.346,188,1.346,192,1.649,199,1.875,219,2.064,222,0.402,223,1.4,224,0.913,225,1.346,237,1.649,238,3.075,239,1.137,240,1.875,241,1.481,242,2.874,243,1.875,244,4.133,245,1.892,246,1.875,247,3.399,248,2.874,249,1.875,250,1.875,251,1.875,252,2.064,253,2.874,254,2.874,255,2.217,256,2.217,257,1.875,258,1.875,259,1.503,260,2.217,261,1.649,262,2.217,263,2.217,264,2.217,265,2.217,266,2.217,267,2.217,268,2.217,269,1.892,270,1.346,271,2.217,272,1.875,273,1.875,274,1.875,275,1.875,276,1.875,277,1.139,278,2.217,279,1.481,280,2.217,281,2.217,282,2.217,283,2.217,284,1.481,285,2.217,286,4.133,287,1.649,288,2.27,289,2.217,290,1.875,291,1.235,292,1.875,293,2.217,294,2.217,295,2.529,296,2.217,297,1.875,298,1.875,299,0.796,300,1.481,301,1.346,302,1.875,303,1.875,304,2.217,305,1.875,306,1.649,307,1.875,308,2.217,309,2.874,310,1.875,311,1.481,312,1.139,313,1.875,314,1.649,315,2.217,316,1.875,317,2.217,318,1.235,319,2.217,320,2.217,321,2.217,322,1.235,323,1.481,324,1.235,325,1.481,326,2.217,327,1.649,328,0.98,329,1.139,330,1.875,331,1.346,332,3.399,333,2.217,334,1.875,335,1.649,336,1.139,337,1.649,338,1.875,339,1.346,340,2.217,341,1.875,342,1.875,343,1.481,344,1.875,345,1.346,346,2.217,347,1.875,348,1.139,349,0.852,350,1.235]],["tags/2",[117,0.83,120,0.291,224,0.614,237,1.109,238,1.109,239,0.41,245,0.83,246,1.26,251,1.26,298,1.26,299,0.535,310,1.26,325,0.995,343,0.995,351,1.49,352,1.49,353,1.49,354,1.49,355,1.49,356,1.49,357,1.49]],["title/4",[1,0.087,17,1.567,18,1.14,358,2.58,359,1.325,360,2.58]],["content/4",[1,0.168,3,0.816,4,0.881,8,1.546,9,0.616,12,0.576,15,1.45,17,3.537,18,0.758,19,1.042,20,1.45,28,1.067,29,0.413,30,0.576,31,1.443,33,1.45,34,0.385,40,0.816,44,1.32,48,1.585,49,0.706,51,2.979,52,1.45,53,1.276,54,1.45,56,1.32,59,0.881,60,1.227,69,0.706,79,0.932,80,0.289,98,1.276,104,2.347,108,0.758,113,0.881,115,0.881,116,0.539,120,0.542,121,1.042,126,0.816,128,0.441,137,1.686,151,0.816,153,0.616,154,1.227,156,1.042,164,1.276,165,0.359,168,1.276,173,2.065,177,1.425,179,0.955,188,1.042,194,0.758,197,0.881,214,1.146,219,1.042,222,0.311,223,0.706,224,0.706,225,1.686,227,1.042,239,0.764,245,0.955,270,1.042,277,0.881,291,0.955,295,1.276,299,0.997,301,1.042,307,1.45,318,0.955,323,1.146,324,0.955,327,1.276,337,2.601,339,1.042,350,1.947,359,0.881,361,1.715,362,2.684,363,3.497,364,1.042,365,1.042,366,3.995,367,4.414,368,2.065,369,3.497,370,1.276,371,1.276,372,1.715,373,1.276,374,1.45,375,0.816,376,1.715,377,1.715,378,1.146,379,2.776,380,1.715,381,1.45,382,0.758,383,0.539,384,1.715,385,1.45,386,1.146,387,1.715,388,1.715,389,2.776,390,1.45,391,1.276,392,1.32,393,1.715,394,2.347,395,1.715,396,1.715,397,0.955,398,1.042,399,1.276,400,1.45,401,1.715,402,1.715,403,2.776,404,1.256,405,2.776,406,1.45,407,1.715,408,1.715,409,1.45,410,1.715,411,1.146,412,1.45,413,1.715,414,1.715,415,1.715,416,1.715,417,1.45,418,1.715,419,1.276,420,1.715,421,1.715,422,1.042,423,1.715,424,1.715,425,1.042,426,1.715,427,1.715,428,2.336,429,1.146,430,0.955,431,2.776,432,1.715,433,1.715,434,1.276,435,1.715,436,1.715,437,1.715,438,1.715,439,1.45,440,1.715,441,1.715,442,1.146,443,1.715,444,1.715,445,1.715,446,1.715,447,1.715,448,1.276,449,0.881,450,1.276,451,1.45,452,1.715,453,1.715,454,1.715,455,1.715,456,0.659,457,1.276,458,1.715,459,0.881,460,1.45,461,1.276,462,1.276,463,1.45,464,1.042,465,1.715,466,1.715,467,1.146,468,1.45,469,1.715,470,1.715,471,1.715,472,1.715,473,1.715,474,1.45,475,1.715,476,1.715,477,1.276,478,1.45,479,1.715,480,1.715,481,1.715,482,1.715,483,1.715,484,1.146,485,1.45,486,1.042,487,1.715,488,1.715,489,1.715,490,1.276,491,1.042,492,1.042,493,1.146]],["tags/4",[59,1.243,394,2.047,494,2.421,495,2.421,496,2.421,497,2.421,498,2.421,499,2.421,500,2.421,501,2.421]],["title/5",[150,0.486,153,1.446]],["content/5",[9,1.583,27,1.481,28,1.695,30,1.481,60,1.949,109,2.455,149,3.28,150,0.663,153,1.972,156,2.678,157,1.481,167,2.945,169,2.261,212,1.816,222,0.8,239,1.213,312,2.264,345,2.678,422,2.678,459,2.264,502,2.945,503,3.729,504,3.28,505,1.949,506,3.28,507,3.28,508,3.729,509,4.41,510,3.28,511,4.41,512,2.455,513,4.41]],["tags/5",[1,0.064,514,1.886,515,1.886,516,1.595,517,1.26,518,1.26,519,1.26,520,1.26,521,1.886,522,1.886,523,1.886,524,1.886,525,1.886,526,1.886,527,1.886]],["title/6",[528,3.961]],["content/6",[1,0.093,28,1.059,29,0.663,31,0.989,34,1.159,38,1.673,44,1.311,48,0.989,69,1.135,79,0.925,115,2.052,116,0.866,126,1.311,129,2.33,136,2.33,151,1.311,153,2.117,160,1.059,165,0.577,166,2.05,169,2.125,175,2.427,194,1.218,202,2.052,208,1.311,212,1.135,219,1.673,224,1.135,225,1.673,239,1.42,261,2.05,279,1.84,325,1.84,331,1.673,341,2.33,347,2.33,348,1.415,350,1.534,378,1.84,381,2.33,386,1.84,422,2.427,429,1.84,442,1.84,461,2.05,467,1.84,512,1.534,517,1.84,518,1.84,519,1.84,520,1.84,528,2.33,529,2.755,530,2.755,531,3.38,532,1.84,533,2.755,534,2.755,535,2.05,536,1.673,537,2.755,538,2.33,539,3.997,540,2.755,541,2.755,542,2.755,543,2.33,544,2.755,545,2.755,546,2.33,547,2.05,548,2.755,549,2.755,550,2.755,551,2.33,552,2.33,553,2.755,554,1.84,555,2.33,556,1.415,557,2.755,558,2.755,559,2.33,560,2.33,561,2.05,562,2.755,563,1.135,564,2.05,565,2.33,566,2.755,567,2.755,568,2.755,569,2.755,570,2.755,571,2.755,572,2.755,573,1.84,574,2.755,575,3.997,576,2.225,577,3.38,578,2.755,579,2.755,580,2.755,581,2.755,582,2.755,583,2.755,584,2.33,585,2.33,586,2.755]],["tags/6",[]],["title/7",[576,2.242,577,3.406]],["content/7",[]],["tags/7",[]],["title/8",[517,2.69,587,4.027]],["content/8",[56,2.371,80,0.839,100,2.371,212,2.052,239,1.371,328,2.203,365,3.027,517,3.329,588,2.775,589,4.984,590,2.559,591,4.984,592,3.329,593,2.052,594,4.984,595,4.984]],["tags/8",[]],["title/9",[1,0.136,596,4.027]],["content/9",[1,0.166,5,0.765,100,2.339,212,2.025,328,2.173,365,2.986,404,1.765,434,3.657,467,3.284,588,2.737,590,2.525,597,4.917,598,3.657,599,4.917,600,4.917,601,4.917,602,4.917,603,4.917]],["tags/9",[]],["title/10",[518,2.69,604,4.027]],["content/10",[5,0.899,31,1.719,65,3.561,100,2.277,153,1.719,212,1.971,239,1.317,328,2.116,382,2.116,404,1.719,462,3.561,518,3.197,588,2.665,590,2.458,593,1.971,605,4.787,606,4.787,607,4.787,608,3.561,609,4.787,610,4.787]],["tags/10",[]],["title/11",[519,2.69,611,4.027]],["content/11",[75,3.057,100,2.177,165,0.959,208,2.177,212,1.884,239,1.259,328,2.023,331,2.779,365,2.779,477,3.404,504,3.404,519,3.753,538,3.87,576,2.548,588,2.548,590,2.885,592,3.057,612,4.576,613,4.576,614,4.576,615,3.404,616,4.576,617,3.404,618,4.576,619,2.35,620,4.576,621,4.576]],["tags/11",[]],["title/12",[520,2.69,565,3.406]],["content/12",[2,1.362,5,0.77,100,2.355,212,2.038,328,2.188,434,4.383,520,3.306,588,2.756,590,2.542,622,4.95,623,4.95,624,3.682,625,3.306,626,4.95,627,4.95,628,4.95]],["tags/12",[]],["title/13",[397,2.242,629,2.242]],["content/13",[0,2.046,1,0.124,3,1.748,4,1.887,8,1.624,18,1.624,40,1.08,59,1.887,66,4.129,75,2.454,116,1.154,150,0.662,153,2.292,167,2.454,172,2.046,191,3.107,197,1.887,239,1.011,245,2.046,291,2.046,297,3.107,328,1.624,350,2.046,382,1.624,390,3.107,486,2.231,490,2.733,502,2.454,503,3.107,505,1.624,547,2.733,590,2.507,593,1.513,598,2.733,630,3.262,631,3.674,632,3.674,633,3.107,634,3.674,635,3.107,636,3.674,637,3.674,638,3.674,639,3.674,640,3.674,641,3.674,642,3.674,643,3.107,644,2.733,645,3.674,646,3.107,647,3.674,648,3.674,649,3.107,650,3.674,651,3.107,652,3.674]],["tags/13",[]],["title/14",[2,0.972,349,1.357,653,2.987]],["content/14",[1,0.119,2,0.972,3,1.68,4,1.813,27,1.186,28,1.357,40,1.038,48,1.268,57,2.144,60,1.561,69,1.454,120,0.689,128,1.384,135,1.966,150,0.574,153,2.065,172,1.966,175,2.144,202,1.813,220,1.966,221,1.813,222,0.641,223,1.454,239,0.972,241,2.359,259,1.561,274,2.986,309,2.986,330,2.986,336,1.813,349,2.066,449,1.813,486,2.888,490,2.627,502,2.359,563,1.454,573,2.359,576,1.966,619,1.813,653,4.021,654,2.627,655,2.986,656,5.377,657,3.531,658,3.531,659,2.627,660,3.531,661,3.531,662,3.176,663,2.627,664,3.531,665,2.359,666,3.531,667,3.531,668,3.531,669,3.531,670,2.359,671,3.531,672,1.454,673,3.531,674,2.986,675,2.359,676,2.627]],["tags/14",[]],["title/15",[150,0.342,222,0.514,677,2.108,678,1.455,679,2.108]],["content/15",[1,0.182,2,0.837,9,1.093,10,2.033,12,1.022,28,1.17,29,0.732,31,1.093,34,0.684,40,0.895,43,1.694,51,1.694,58,1.563,71,2.606,105,2.264,110,2.033,128,0.783,130,2.264,150,0.652,153,1.785,165,0.638,194,1.345,205,2.033,209,2.264,213,2.033,222,0.902,259,1.897,299,1.093,335,2.264,336,1.563,375,2.365,383,0.956,404,1.785,409,2.574,456,1.649,459,1.563,493,2.033,505,1.345,512,1.694,590,2.204,598,2.264,619,1.563,629,1.694,662,2.033,663,2.264,674,2.574,678,3.034,679,3.193,680,3.044,681,2.574,682,2.606,683,3.044,684,3.044,685,2.264,686,2.574,687,3.044,688,3.044,689,3.044,690,3.044,691,3.044,692,2.574,693,1.649,694,3.044,695,3.044,696,2.033,697,2.264,698,1.848,699,1.345,700,2.033,701,2.574,702,3.044,703,3.044,704,3.044,705,3.044,706,3.044,707,1.563,708,2.574,709,3.044,710,1.848,711,3.044,712,3.044,713,2.264,714,2.264]],["tags/15",[699,0.961,708,1.838,715,2.174,716,2.174,717,2.174,718,2.174,719,2.174,720,2.174,721,2.174,722,2.174,723,1.838,724,2.174]],["title/16",[58,1.814,459,1.814,678,1.814]],["content/16",[1,0.164,5,0.758,6,1.505,9,1.313,18,1.616,28,1.405,29,0.879,38,2.22,40,1.075,79,1.228,127,2.315,128,1.253,150,0.661,151,1.739,153,1.313,198,3.091,208,1.739,209,3.62,239,1.006,240,3.091,259,1.616,279,2.442,331,2.22,345,2.22,375,1.739,392,1.739,399,2.719,484,2.442,486,2.22,505,1.616,555,3.091,675,2.442,678,1.877,679,3.62,681,3.091,725,3.656,726,3.091,727,3.656,728,3.656,729,2.22,730,2.442,731,3.656,732,3.656,733,3.091,734,2.035,735,3.656,736,3.656,737,3.656,738,3.656,739,2.719,740,3.656,741,5.471,742,3.656,743,3.656,744,3.656,745,3.656,746,3.091,747,3.656,748,3.656]],["tags/16",[723,2.047,749,2.421,750,2.421,751,2.421,752,2.421,753,2.047,754,2.421,755,2.421,756,2.421,757,2.421]],["title/17",[80,0.398,157,0.795,676,1.761,758,2.002,759,1.581,760,1.318,761,1.437]],["content/17",[1,0.163,2,0.497,3,0.858,4,0.927,5,0.644,9,0.648,12,0.971,27,1.215,28,1.591,29,0.696,30,0.606,34,1.086,35,1.526,37,1.096,38,1.096,40,0.85,43,1.005,44,0.858,48,1.038,49,1.704,60,0.798,61,1.278,68,1.096,69,1.191,73,1.205,79,0.971,80,0.487,106,1.342,109,1.005,111,1.342,112,1.526,116,0.567,119,1.005,120,0.884,125,3.06,126,0.858,127,1.721,128,0.931,130,2.692,135,1.61,150,0.349,151,1.376,152,1.342,157,0.971,160,1.111,165,0.758,167,1.932,172,1.005,177,0.927,179,1.005,180,1.205,183,1.096,194,0.798,200,1.526,205,1.205,213,1.205,214,1.205,219,1.756,220,2.304,221,1.485,222,0.751,223,1.49,239,0.497,245,1.005,252,1.096,258,1.526,261,1.342,269,1.61,270,1.096,277,1.485,279,1.205,288,1.205,301,1.096,306,2.151,311,1.205,312,0.927,314,1.342,318,1.005,322,1.005,324,1.61,329,1.485,331,1.096,335,1.342,343,1.205,345,1.096,350,1.005,359,0.927,362,1.205,378,1.205,391,2.151,392,0.858,397,1.005,404,0.648,417,1.526,419,1.342,429,1.205,430,1.005,442,1.205,448,1.342,449,0.927,456,0.693,468,1.526,484,1.205,492,1.756,505,0.798,512,1.005,546,1.526,561,1.342,563,0.743,585,1.526,593,0.743,615,1.342,625,1.205,662,1.205,665,1.205,672,1.191,676,2.151,693,1.591,710,1.756,729,1.096,730,1.205,734,1.005,758,1.526,759,3.636,760,1.005,762,1.526,763,2.892,764,1.932,765,2.151,766,1.805,767,1.526,768,2.445,769,1.805,770,2.151,771,1.526,772,1.342,773,1.526,774,1.526,775,1.096,776,2.892,777,2.417,778,4.139,779,1.805,780,1.526,781,1.805,782,1.805,783,1.805,784,1.805,785,1.805,786,1.805,787,1.805,788,1.205,789,0.927,790,1.096,791,1.342,792,2.445,793,1.805,794,1.805,795,1.526,796,1.526,797,1.805,798,1.205,799,1.005,800,2.892,801,1.805,802,1.805,803,1.526,804,1.526,805,1.342,806,1.342,807,1.342,808,1.005,809,1.805,810,1.805,811,1.342,812,1.526,813,1.805,814,1.096,815,1.805,816,1.805]],["tags/17",[116,0.544,665,1.157,753,1.465,817,1.733,818,1.733,819,1.733,820,1.733,821,1.733,822,1.733,823,1.733,824,1.733,825,1.733,826,1.733,827,1.733,828,1.733,829,1.733,830,1.733]],["title/18",[126,1.68,160,1.357,831,2.359]],["content/18",[0,1.25,1,0.17,2,0.618,5,0.349,6,0.924,8,0.992,11,1.363,12,1.152,16,1.67,30,0.754,34,0.771,37,1.363,48,1.804,61,0.992,62,1.898,69,0.924,79,0.754,80,0.701,95,1.363,108,0.992,111,1.67,115,1.153,116,0.705,117,1.25,118,1.499,119,1.91,127,1.068,128,0.578,132,2.552,134,1.363,135,1.25,137,1.363,150,0.414,154,1.517,155,1.499,160,0.863,161,1.91,164,1.67,165,0.719,169,1.413,172,1.25,175,1.363,176,2.552,177,1.153,179,1.25,180,1.499,188,1.363,197,1.153,202,1.153,208,1.632,252,2.832,253,1.898,259,0.992,269,1.25,270,1.363,272,1.898,277,1.762,288,2.292,290,1.898,291,2.319,299,1.232,311,1.499,322,1.25,329,1.153,336,1.153,343,1.499,348,1.762,349,0.863,364,1.363,371,1.67,373,1.67,391,1.67,398,1.363,411,1.499,457,1.67,460,1.898,477,1.67,491,1.363,512,1.25,536,1.363,547,1.67,563,0.924,593,0.924,608,1.67,619,1.762,630,1.499,644,1.67,654,1.67,659,1.67,665,1.499,697,1.67,698,2.084,707,2.58,734,1.91,765,1.67,768,1.898,771,1.898,772,1.67,777,1.499,792,1.898,798,2.292,799,1.25,803,1.898,804,1.898,805,1.67,831,1.499,832,2.245,833,1.898,834,1.898,835,2.245,836,2.245,837,2.245,838,2.245,839,2.245,840,2.901,841,1.67,842,2.245,843,1.67,844,1.898,845,4.165,846,1.898,847,2.245,848,1.898,849,2.245,850,2.084,851,2.245,852,2.245,853,3.431,854,1.898,855,2.245,856,2.245,857,2.245,858,2.245,859,2.245,860,2.245,861,2.901,862,1.898,863,2.245,864,2.552,865,3.431,866,1.499,867,2.245,868,2.245,869,1.499,870,2.245,871,2.245,872,2.245,873,1.898]],["tags/18",[1,0.064,6,0.777,34,0.424,80,0.317,116,0.593,128,0.485,169,0.777,202,0.968,269,1.05,299,0.677,805,1.403,840,1.595,874,1.886,875,1.886,876,1.886]],["title/19",[359,1.615,492,1.91,814,1.91,877,3.145]],["content/19",[1,0.141,2,1.256,3,0.871,5,0.795,10,1.223,12,0.983,27,0.615,29,0.704,34,0.412,39,1.363,48,1.051,49,0.754,55,1.112,59,1.877,60,0.81,71,1.112,79,0.615,80,0.615,84,0.941,95,1.777,114,1.223,115,0.941,117,1.02,118,1.223,119,1.02,120,0.713,121,1.112,127,0.871,128,1.074,137,1.112,150,0.221,154,0.81,155,1.223,160,1.125,165,0.384,169,0.754,177,0.941,183,1.112,194,0.81,197,0.941,204,2.177,210,1.549,212,0.754,213,1.223,220,1.02,221,0.941,222,0.663,223,0.754,224,0.754,227,1.112,242,1.549,245,1.02,259,1.616,270,1.112,275,1.549,277,1.503,291,1.02,299,0.658,311,1.223,314,1.363,324,1.63,342,1.549,345,1.112,348,0.941,349,0.704,359,0.941,375,1.739,378,1.223,392,0.871,397,2.035,398,1.112,404,0.658,411,1.223,425,1.112,430,1.02,449,0.941,450,1.363,505,0.81,508,1.549,510,1.363,535,1.363,536,1.112,556,0.941,561,1.363,563,1.719,564,1.363,573,1.223,592,1.223,593,0.754,624,3.395,630,1.223,672,0.754,675,1.223,682,1.777,685,2.177,693,1.87,696,1.223,697,1.363,699,0.81,710,1.112,713,1.363,714,1.363,733,1.549,734,1.02,759,2.441,761,1.112,772,1.363,789,0.941,790,1.112,798,1.223,799,1.02,806,2.719,811,1.363,814,1.112,862,1.549,864,1.363,878,1.549,879,1.549,880,1.832,881,1.832,882,1.832,883,1.832,884,1.832,885,1.832,886,1.549,887,1.223,888,1.832,889,1.832,890,1.832,891,1.832,892,1.832,893,1.832,894,1.363,895,1.832,896,1.549,897,1.832,898,1.832,899,1.832,900,1.549,901,1.832,902,1.832,903,1.549,904,1.363,905,1.549,906,1.549,907,1.832,908,1.832,909,1.832,910,1.832,911,1.832,912,1.832,913,1.832,914,1.832,915,1.363,916,3.106,917,2.475,918,2.475,919,1.832,920,1.832,921,1.832,922,1.832,923,1.832,924,1.549,925,1.832,926,1.832,927,1.549,928,1.832,929,1.832,930,1.832,931,1.549,932,1.832,933,1.549,934,1.549,935,4.175,936,1.832,937,1.832,938,1.832,939,2.927,940,1.832,941,1.832,942,1.832,943,1.832,944,1.832,945,1.549,946,1.832,947,1.832,948,1.832,949,1.832,950,1.832,951,1.832,952,1.832,953,1.832,954,1.832,955,1.549,956,1.549,957,1.832,958,1.832,959,1.832,960,1.832,961,1.832,962,1.832,963,1.549]],["tags/19",[964,2.421,965,2.421,966,2.421,967,2.421,968,2.421,969,2.421,970,2.421,971,2.421,972,2.421,973,2.421]],["title/20",[1,0.087,29,0.621,127,1.227,383,0.811,974,1.14,975,1.723]],["content/20",[1,0.199,9,1.777,10,3.306,48,1.777,68,3.006,150,0.598,222,0.898,383,1.555,617,3.682,693,1.902,760,2.756,799,2.756,916,3.682,974,2.188,975,3.306,976,4.186]],["tags/20",[1,0.082,5,0.377,128,0.623,516,2.047,977,2.047,978,2.421,979,2.421,980,2.421,981,2.421,982,2.421]],["title/21",[383,0.988,397,1.751,974,1.39,975,2.101]],["content/21",[1,0.148,2,1.206,30,1.472,80,0.737,108,1.937,116,1.377,160,1.684,221,2.251,222,0.795,243,3.706,383,1.377,485,3.706,535,3.261,649,3.706,672,2.253,699,1.937,700,2.928,760,2.44,761,2.662,799,2.44,933,3.706,934,3.706,974,1.937,983,4.383,984,3.706,985,4.383,986,3.654,987,4.383,988,3.706,989,4.383,990,4.383,991,4.383,992,4.383,993,4.383]],["tags/21",[]],["title/22",[127,2.228]],["content/22",[2,1.635,58,2.577,312,2.577,382,2.218,383,1.577,404,1.802,670,3.352,974,2.218,994,5.019,995,3.733,996,5.019,997,5.019,998,5.019,999,4.244]],["tags/22",[]],["title/23",[1000,4.685]],["content/23",[1,0.19,2,1.673,40,1.346,43,2.548,94,3.87,128,1.178,175,2.779,336,2.35,383,1.438,563,1.884,635,3.87,698,2.779,729,3.412,730,3.057,759,3.057,866,3.753,904,3.404,1001,4.576,1002,4.576,1003,4.576,1004,3.87,1005,4.576,1006,4.576,1007,4.576]],["tags/23",[]],["title/24",[156,2.446,1008,2.996]],["content/24",[110,3.115,120,0.91,177,2.395,277,2.395,371,3.47,383,1.466,404,1.675,425,2.832,559,3.944,563,1.921,629,2.597,699,2.062,734,2.597,831,3.115,841,3.47,974,2.062,975,3.115,1004,3.944,1009,3.944,1010,4.664,1011,3.47,1012,4.664,1013,3.944,1014,4.664,1015,4.664,1016,3.944]],["tags/24",[]],["title/26",[1,0.106,157,1.056,241,2.101,505,1.39]],["content/26",[1,0.122,2,0.663,3,1.721,4,1.237,5,0.563,6,1.79,7,1.792,8,1.065,9,0.865,11,1.462,19,1.462,23,1.609,30,0.809,31,0.865,38,1.462,39,1.792,40,0.708,46,1.237,55,1.462,56,1.146,58,1.237,68,1.462,108,1.6,109,1.341,113,1.237,114,1.609,120,0.47,121,1.462,150,0.291,151,1.146,154,1.065,157,0.809,173,1.792,186,2.036,204,2.692,208,1.146,239,0.663,249,2.036,259,1.6,269,1.341,273,2.036,295,1.792,299,0.865,312,1.237,313,2.036,316,2.036,318,1.341,323,1.609,327,1.792,337,1.792,344,2.036,365,1.462,370,1.792,375,2.299,382,1.065,392,2.068,398,1.462,399,1.792,400,2.036,404,1.3,419,1.792,428,1.609,429,1.609,456,0.925,462,2.692,463,2.036,464,1.462,467,1.609,474,2.036,486,2.198,491,1.462,504,1.792,531,2.036,543,2.036,556,1.237,576,1.341,584,2.036,592,1.609,633,2.036,654,1.792,655,2.036,663,1.792,670,1.609,672,0.992,692,2.036,693,1.671,707,2.232,760,1.341,789,2.232,812,2.036,833,2.036,878,2.036,887,1.609,896,2.036,927,2.036,945,2.036,976,2.036,1011,1.792,1017,2.036,1018,2.408,1019,2.408,1020,2.408,1021,2.408,1022,2.408,1023,2.036,1024,2.408,1025,2.408,1026,2.408,1027,2.408,1028,2.036,1029,2.408,1030,2.408,1031,2.036,1032,2.408,1033,2.408,1034,2.036,1035,2.408,1036,2.036,1037,2.408,1038,2.408,1039,2.408,1040,2.408,1041,2.408,1042,2.408,1043,2.408,1044,2.408,1045,2.408,1046,2.036,1047,2.408,1048,2.408,1049,2.408,1050,2.408,1051,2.408,1052,2.408,1053,2.408,1054,2.408,1055,1.792,1056,2.408,1057,2.408,1058,2.408,1059,2.036,1060,2.408,1061,2.408,1062,2.036,1063,2.408,1064,2.408,1065,2.408,1066,2.408,1067,2.036,1068,2.408]],["tags/26",[1,0.092,5,0.425,34,0.614,157,0.917,299,0.981,366,2.309,1069,2.731,1070,2.731]],["title/27",[1,0.158]],["content/27",[]],["tags/27",[]],["title/28",[1,0.158]],["content/28",[1,0.2,8,1.128,18,1.128,22,1.421,27,0.857,29,0.614,30,0.857,31,1.357,34,0.573,43,2.104,48,0.916,49,1.853,53,1.898,56,1.214,57,1.55,61,1.128,75,1.705,79,0.857,80,0.936,83,1.705,90,1.31,108,1.128,113,1.31,116,0.802,120,0.878,133,1.421,150,0.456,154,1.128,160,0.981,165,0.535,194,1.128,214,1.705,241,1.705,312,1.94,318,1.421,322,1.421,323,1.705,324,1.421,325,1.705,349,0.981,364,1.55,382,1.128,383,1.187,392,1.797,439,2.158,449,1.94,450,1.898,456,1.452,464,2.295,506,2.811,507,1.898,510,1.898,554,1.705,563,1.051,608,1.898,619,1.31,646,2.158,662,1.705,693,0.981,696,1.705,698,1.55,699,1.128,700,1.705,710,1.55,714,1.898,760,1.421,775,2.295,788,1.705,789,1.31,791,1.898,796,2.158,814,2.295,843,1.898,850,1.55,903,2.158,956,2.158,974,1.128,986,1.705,1016,2.158,1055,2.811,1059,2.158,1071,2.552,1072,2.552,1073,2.552,1074,2.552,1075,2.552,1076,1.898,1077,2.552,1078,2.552,1079,2.552,1080,1.898,1081,2.158,1082,2.552,1083,2.552,1084,2.552,1085,2.158,1086,2.158,1087,1.898,1088,2.552,1089,2.158,1090,2.552,1091,2.552,1092,2.552,1093,1.898,1094,1.898,1095,1.898,1096,1.898,1097,1.705,1098,2.552,1099,2.552,1100,2.552,1101,2.158,1102,1.898,1103,2.552,1104,2.158,1105,2.158,1106,2.552,1107,2.552,1108,2.552,1109,2.552,1110,2.552,1111,2.552,1112,2.158,1113,2.552,1114,2.158,1115,2.552]],["tags/28",[]],["title/29",[397,2.242,629,2.242]],["content/29",[1,0.119,5,0.55,12,1.186,34,0.793,46,1.813,51,1.966,71,2.144,80,0.8,84,2.442,89,1.68,105,2.627,108,2.102,120,0.689,123,2.986,127,1.68,128,0.909,157,1.186,165,0.74,169,1.454,171,2.986,202,1.813,208,1.68,220,1.966,221,1.813,222,0.641,300,2.359,302,2.986,334,2.986,336,1.813,349,1.357,359,1.813,364,2.888,411,2.359,449,1.813,456,1.357,459,2.442,492,2.144,505,1.561,551,2.986,593,1.958,629,2.993,672,1.454,710,2.144,713,2.627,761,2.144,790,2.144,844,2.986,864,2.627,999,2.986,1036,2.986,1116,3.531,1117,3.531,1118,3.531,1119,3.531,1120,3.531,1121,3.531,1122,3.531,1123,3.531,1124,2.986,1125,3.531,1126,1.813,1127,1.966,1128,2.986,1129,3.531,1130,3.531,1131,2.627,1132,3.531,1133,3.531]],["tags/29",[]],["title/25",[1,0.064,18,0.839,22,1.056,29,0.456,456,0.729,729,1.152,1134,1.605,1135,1.605,1136,1.605,1137,1.605]],["content/25",[1,0.173,5,0.871,6,0.966,9,0.842,11,1.425,12,1.192,18,1.569,27,1.192,28,0.902,29,0.564,30,0.788,49,0.966,60,1.037,61,1.037,63,1.984,65,1.745,67,1.745,73,1.567,76,1.984,79,0.788,80,0.597,81,1.984,106,1.745,108,1.037,109,1.976,113,1.205,120,0.458,135,1.306,150,0.517,157,0.788,165,0.492,194,1.037,223,0.966,227,1.425,236,3,300,1.567,301,2.155,303,1.984,306,2.64,322,1.306,329,1.205,338,1.984,348,1.822,349,0.902,350,1.306,364,1.425,368,1.745,373,1.745,375,1.116,404,0.842,430,1.976,456,0.902,459,1.205,478,1.984,493,1.567,505,1.037,507,2.64,512,1.306,554,1.567,563,0.966,576,1.306,593,0.966,619,1.205,624,1.745,630,1.567,643,1.984,651,1.984,672,0.966,675,1.567,677,1.745,678,1.205,693,1.364,699,1.037,707,1.205,729,2.599,730,2.37,734,1.306,773,1.984,774,1.984,775,2.155,780,1.984,795,1.984,799,1.306,846,1.984,873,1.984,879,1.984,887,1.567,924,1.984,963,1.984,1028,1.984,1034,1.984,1076,1.745,1101,1.984,1102,3.183,1134,4.034,1135,4.034,1136,3.619,1137,3.619,1138,1.745,1139,2.346,1140,3.548,1141,2.346,1142,2.346,1143,1.984,1144,1.984,1145,1.984,1146,2.346,1147,1.984,1148,2.346,1149,2.346,1150,2.346,1151,1.984,1152,2.346,1153,2.346,1154,2.346,1155,2.346,1156,2.346,1157,2.346,1158,2.346,1159,2.346,1160,2.346,1161,2.346,1162,2.346,1163,2.346,1164,2.346,1165,2.346,1166,2.346,1167,2.346,1168,2.346,1169,2.346,1170,2.346,1171,2.346,1172,2.346,1173,2.346,1174,2.346,1175,1.984,1176,2.346,1177,2.346,1178,2.346]],["tags/25",[1179,4.949]],["title/30",[1,0.119,29,0.85,789,1.814]],["content/30",[1,0.203,5,0.798,6,1.628,9,0.975,12,0.911,22,1.511,27,1.328,29,0.653,30,1.328,34,0.61,43,1.511,48,0.975,49,1.92,51,1.511,56,1.291,61,1.2,68,1.648,69,1.118,80,0.785,84,1.394,90,1.394,109,1.511,113,1.394,116,0.853,120,0.91,128,0.698,133,1.511,135,2.201,157,0.911,160,1.043,165,0.569,172,1.511,176,2.019,177,2.03,188,1.648,197,1.394,220,1.511,221,1.394,222,0.717,223,1.118,224,1.118,227,1.648,259,1.2,284,1.813,288,1.813,318,1.511,324,1.511,329,1.394,336,1.394,339,1.648,348,1.394,349,1.519,368,2.019,370,2.019,383,1.242,392,1.291,404,0.975,422,1.648,428,1.813,430,1.511,456,1.519,532,1.813,536,1.648,554,1.813,563,1.118,619,1.394,629,1.511,693,2.184,698,1.648,700,1.813,761,1.648,764,1.813,765,2.019,775,2.401,834,2.295,843,2.019,848,2.295,850,1.648,861,2.295,894,2.019,974,1.2,995,2.019,1055,2.019,1080,2.019,1081,2.295,1086,2.295,1087,2.019,1089,2.295,1093,2.019,1094,2.019,1095,2.019,1096,2.019,1097,1.813,1126,1.394,1127,1.511,1128,2.295,1131,2.019,1175,2.295,1180,2.714,1181,2.714,1182,2.714,1183,2.295,1184,2.714,1185,2.714,1186,2.714,1187,2.714,1188,2.714]],["tags/30",[1,0.086,5,0.24,6,0.636,80,0.26,116,0.485,128,0.397,139,1.306,157,0.519,222,0.28,224,0.636,299,0.555,428,1.032,672,0.636,977,1.306,1067,1.306,1126,0.793,1189,1.544,1190,1.544,1191,1.544]],["title/31",[27,0.682,46,1.043,80,0.342,89,0.967,150,0.245,1126,1.043,1192,1.718,1193,2.032,1194,1.512]],["content/31",[9,1.574,30,1.472,31,1.574,55,2.662,58,2.251,84,2.251,86,2.251,100,2.085,195,3.706,205,2.928,212,1.805,252,2.662,254,3.706,257,3.706,305,3.706,375,2.602,392,2.085,573,2.928,615,3.261,670,2.928,798,2.928,854,3.706,1023,3.706,1062,3.706,1124,3.706,1195,4.383,1196,4.383,1197,4.383,1198,4.383,1199,4.383,1200,4.383,1201,4.383,1202,4.383,1203,4.383,1204,4.383]],["tags/31",[1,0.092,5,0.259,23,1.112,34,0.374,46,0.855,55,1.011,80,0.28,84,0.855,86,0.855,89,0.792,90,0.855,222,0.302,682,1.011,1126,0.855,1194,1.239,1205,1.408,1206,1.665]],["title/32",[44,1.348,86,1.455,150,0.342,777,1.893,1207,2.834]],["content/32",[1,0.169,5,0.593,27,1.279,31,1.796,44,2.379,49,1.568,79,1.279,83,2.544,84,1.956,86,2.867,89,1.812,90,2.568,110,2.544,120,0.976,157,1.279,165,1.048,169,1.568,223,1.568,252,2.313,269,2.121,284,2.544,300,2.544,322,2.121,386,2.544,442,2.544,448,2.833,492,2.313,536,2.313,556,1.956,693,1.922,701,3.221,739,2.833,764,2.544,777,2.544,788,2.544,789,1.956,850,3.037,915,2.833,984,3.221,1011,2.833,1013,3.221,1126,1.956,1127,2.121,1194,2.833,1205,3.221,1208,3.809,1209,3.809,1210,3.809,1211,3.809,1212,3.809,1213,3.809]],["tags/32",[]],["title/33",[46,1.455,89,1.348,95,1.721,1192,2.397,1214,2.397]],["content/33",[0,1.746,1,0.106,5,0.488,12,1.837,23,3.375,29,0.754,31,1.126,34,0.704,40,0.922,46,2.595,87,2.651,89,2.738,90,1.61,95,1.904,113,1.61,122,2.332,150,0.379,159,2.651,161,1.746,165,0.657,189,2.651,194,1.386,197,1.61,222,0.569,225,1.904,248,2.651,250,2.651,277,1.61,284,2.094,287,2.332,291,1.746,299,1.126,374,2.651,382,1.937,398,1.904,404,1.126,406,2.651,425,1.904,461,2.332,484,2.927,532,2.094,556,2.25,593,1.291,659,3.26,682,2.661,686,2.651,693,1.205,696,2.094,699,1.386,707,2.25,739,2.332,770,2.332,790,1.904,806,2.332,808,1.746,850,1.904,869,2.094,1102,2.332,1145,2.651,1183,2.651,1214,3.706,1215,3.135,1216,3.135,1217,2.651,1218,3.135,1219,3.135,1220,3.135,1221,2.651,1222,2.651,1223,3.135,1224,4.383,1225,3.135,1226,3.135,1227,2.651,1228,3.135,1229,3.135,1230,3.135,1231,3.135,1232,3.135,1233,3.135,1234,2.651,1235,2.651,1236,3.135]],["tags/33",[]],["title/34",[27,1.186,80,0.594,150,0.426]],["content/34",[0,2.25,1,0.205,2,1.581,5,0.809,27,1.357,29,1.382,61,1.787,67,3.866,69,1.664,80,0.68,120,1.014,134,2.454,150,0.488,161,2.25,165,0.847,222,0.733,339,2.454,412,3.418,430,2.25,502,2.7,556,2.076,625,2.7,672,1.664,693,1.553,726,4.395,807,3.007,900,3.418,905,4.395,915,3.007,1080,3.007,1127,2.25,1151,3.418,1237,5.197,1238,4.042,1239,4.042,1240,4.042,1241,4.042]],["tags/34",[]],["title/35",[1,0.136,120,0.786]],["content/35",[1,0.191,2,1.267,40,1.354,48,1.654,126,2.191,165,0.965,179,2.564,208,2.191,328,2.036,349,1.77,362,3.076,459,2.365,506,3.426,593,1.896,770,3.426,955,3.894,1085,3.894,1093,3.426,1094,3.426,1095,3.426,1131,3.426,1242,4.605,1243,4.605,1244,4.605,1245,4.605,1246,4.605,1247,4.605]],["tags/35",[]],["title/36",[222,0.514,464,1.721,808,1.578,1248,2.397,1249,2.834]],["content/36",[1,0.205,12,1.527,27,1.527,34,1.022,40,1.337,150,0.549,155,3.037,222,0.825,301,2.762,456,1.748,464,2.762,491,2.762,672,1.873,808,2.532,869,3.037,1046,3.845,1138,3.383,1147,3.845,1250,4.548,1251,4.548,1252,4.548,1253,4.548,1254,3.845,1255,3.845,1256,4.548,1257,4.548,1258,4.548,1259,4.548]],["tags/36",[1,0.073,1008,1.617,1097,1.452,1260,2.174,1261,2.174,1262,2.174,1263,2.174,1264,2.174,1265,2.174,1266,2.174,1267,2.174,1268,2.174]],["title/37",[150,0.486,1269,3.406]],["content/37",[0,1.653,5,0.656,17,1.803,29,0.714,44,2.333,48,1.066,50,2.511,57,1.803,58,1.525,59,1.525,60,1.312,69,1.223,79,1.416,83,2.817,86,2.166,89,1.412,98,3.137,117,1.653,120,0.579,150,0.509,161,1.653,165,0.622,183,1.803,224,1.223,259,1.312,312,1.525,328,1.312,329,1.525,382,1.312,383,0.933,385,2.511,386,1.983,422,1.803,493,2.817,532,2.817,556,2.166,560,2.511,564,2.209,588,1.653,617,2.209,644,2.209,678,1.525,682,1.803,699,1.312,746,2.511,764,1.983,767,2.511,790,1.803,807,2.209,808,1.653,811,2.209,814,1.803,831,1.983,866,1.983,869,2.817,894,2.209,904,2.209,974,1.312,986,1.983,995,2.209,1009,2.511,1031,2.511,1096,2.209,1104,2.511,1105,2.511,1112,2.511,1126,1.525,1127,1.653,1138,3.137,1143,2.511,1217,2.511,1221,2.511,1222,2.511,1270,4.77,1271,2.969,1272,2.969,1273,2.969,1274,2.969,1275,2.969,1276,4.905,1277,2.969,1278,2.969,1279,2.969,1280,2.969,1281,2.969,1282,2.969,1283,2.969,1284,2.969,1285,2.511,1286,2.969,1287,2.969,1288,2.969,1289,2.969,1290,2.969,1291,2.969,1292,2.969]],["tags/37",[]],["title/38",[80,0.594,150,0.426,1248,2.987]],["content/38",[1,0.155,2,0.922,5,0.522,22,1.866,29,1.259,34,0.753,40,0.986,41,2.835,49,1.38,57,2.036,59,2.357,60,1.482,79,1.126,80,0.564,120,0.896,133,1.866,150,0.405,151,1.595,165,0.702,168,2.494,222,0.608,224,1.38,239,1.263,276,2.835,287,2.494,292,2.835,329,1.721,339,2.036,359,1.721,383,1.053,451,2.835,625,2.239,677,2.494,707,1.721,808,1.866,906,2.835,916,2.494,917,2.835,918,2.835,931,2.835,1008,2.494,1017,3.881,1097,3.066,1114,2.835,1127,1.866,1234,2.835,1269,2.835,1270,3.881,1293,3.352,1294,3.352,1295,3.352,1296,3.352,1297,3.352,1298,3.352,1299,3.352,1300,3.352,1301,3.352,1302,3.352,1303,3.352,1304,3.352,1305,3.352,1306,3.352,1307,3.352,1308,3.352,1309,4.59,1310,3.352,1311,3.352,1312,3.352,1313,2.835,1314,3.352,1315,3.352,1316,3.352,1317,3.352,1318,4.59,1319,3.352,1320,3.352]],["tags/38",[]],["title/39",[222,0.641,552,2.987,1285,2.987]],["content/39",[8,1.817,12,1.38,31,1.476,40,1.794,80,0.692,126,1.955,128,1.058,150,0.496,222,0.953,348,2.111,425,2.496,456,2.225,491,2.496,678,2.111,762,3.476,788,2.745,789,2.698,866,3.509,886,3.476,887,2.745,986,3.509,1076,3.058,1144,3.476,1227,4.442,1235,3.476,1254,4.442,1255,3.476,1321,4.111,1322,4.111,1323,4.111,1324,4.111,1325,4.111,1326,4.111,1327,4.111,1328,4.111,1329,4.111]],["tags/39",[]],["title/40",[120,0.914]],["content/40",[1,0.181,8,1.881,31,1.528,56,2.024,80,0.99,120,1.148,121,2.584,132,3.165,133,2.369,134,2.584,154,1.881,160,2.064,165,1.125,223,1.752,239,1.171,299,1.528,349,1.635,362,2.842,375,2.024,382,1.881,383,1.337,449,2.185,457,3.165,685,3.165,707,2.758,775,2.584,791,3.165,841,3.165,988,3.598,1087,3.165,1313,3.598,1330,4.255,1331,4.255]],["tags/40",[]]],"invertedIndex":[["",{"_index":2,"title":{"1":{},"14":{}},"content":{"2":{},"12":{},"14":{},"15":{},"17":{},"18":{},"19":{},"21":{},"22":{},"23":{},"26":{},"34":{},"35":{},"38":{}},"tags":{}}],["1",{"_index":587,"title":{"8":{}},"content":{},"tags":{}}],["1.7",{"_index":889,"title":{},"content":{"19":{}},"tags":{}}],["10",{"_index":184,"title":{},"content":{"3":{}},"tags":{}}],["100",{"_index":170,"title":{},"content":{"3":{}},"tags":{}}],["13",{"_index":1323,"title":{},"content":{"39":{}},"tags":{}}],["13,500",{"_index":436,"title":{},"content":{"4":{}},"tags":{}}],["15",{"_index":216,"title":{},"content":{"3":{}},"tags":{}}],["17",{"_index":998,"title":{},"content":{"22":{}},"tags":{}}],["2",{"_index":596,"title":{"9":{}},"content":{},"tags":{}}],["200",{"_index":766,"title":{},"content":{"17":{}},"tags":{}}],["2000",{"_index":953,"title":{},"content":{"19":{}},"tags":{}}],["2023",{"_index":217,"title":{},"content":{"3":{}},"tags":{}}],["28.2",{"_index":572,"title":{},"content":{"6":{}},"tags":{}}],["29.6",{"_index":571,"title":{},"content":{"6":{}},"tags":{}}],["2–3",{"_index":1289,"title":{},"content":{"37":{}},"tags":{}}],["3",{"_index":604,"title":{"10":{}},"content":{},"tags":{}}],["31",{"_index":570,"title":{},"content":{"6":{}},"tags":{}}],["33,600",{"_index":589,"title":{},"content":{"8":{}},"tags":{}}],["35.2",{"_index":569,"title":{},"content":{"6":{}},"tags":{}}],["350",{"_index":954,"title":{},"content":{"19":{}},"tags":{}}],["36.6",{"_index":557,"title":{},"content":{"6":{}},"tags":{}}],["38",{"_index":568,"title":{},"content":{"6":{}},"tags":{}}],["393,000,000",{"_index":612,"title":{},"content":{"11":{}},"tags":{}}],["3rd",{"_index":1103,"title":{},"content":{"28":{}},"tags":{}}],["4",{"_index":611,"title":{"11":{}},"content":{},"tags":{}}],["4,99",{"_index":1090,"title":{},"content":{"28":{}},"tags":{}}],["42.3",{"_index":545,"title":{},"content":{"6":{}},"tags":{}}],["49.90",{"_index":1091,"title":{},"content":{"28":{}},"tags":{}}],["5",{"_index":565,"title":{"12":{}},"content":{"6":{}},"tags":{}}],["5,690,000",{"_index":622,"title":{},"content":{"12":{}},"tags":{}}],["52.1",{"_index":537,"title":{},"content":{"6":{}},"tags":{}}],["560,000",{"_index":605,"title":{},"content":{"10":{}},"tags":{}}],["5th",{"_index":1203,"title":{},"content":{"31":{}},"tags":{}}],["600",{"_index":758,"title":{"17":{}},"content":{"17":{}},"tags":{}}],["667",{"_index":1229,"title":{},"content":{"33":{}},"tags":{}}],["7",{"_index":1136,"title":{"25":{}},"content":{"25":{}},"tags":{}}],["71",{"_index":530,"title":{},"content":{"6":{}},"tags":{}}],["8.5",{"_index":443,"title":{},"content":{"4":{}},"tags":{}}],["800,000",{"_index":597,"title":{},"content":{"9":{}},"tags":{}}],["9",{"_index":888,"title":{},"content":{"19":{}},"tags":{}}],["abandonwar",{"_index":1197,"title":{},"content":{"31":{}},"tags":{}}],["abov",{"_index":1227,"title":{},"content":{"33":{},"39":{}},"tags":{}}],["absolut",{"_index":415,"title":{},"content":{"4":{}},"tags":{}}],["accept",{"_index":1004,"title":{},"content":{"23":{},"24":{}},"tags":{}}],["access",{"_index":383,"title":{"20":{},"21":{}},"content":{"4":{},"15":{},"20":{},"21":{},"22":{},"23":{},"24":{},"28":{},"30":{},"37":{},"38":{},"40":{}},"tags":{}}],["accord",{"_index":379,"title":{},"content":{"4":{}},"tags":{}}],["account",{"_index":635,"title":{},"content":{"13":{},"23":{}},"tags":{}}],["accus",{"_index":264,"title":{},"content":{"2":{}},"tags":{}}],["achiev",{"_index":816,"title":{},"content":{"17":{}},"tags":{}}],["acknowledg",{"_index":424,"title":{},"content":{"4":{}},"tags":{}}],["acquir",{"_index":684,"title":{},"content":{"15":{}},"tags":{}}],["action",{"_index":275,"title":{},"content":{"2":{},"19":{}},"tags":{}}],["activ",{"_index":698,"title":{},"content":{"15":{},"18":{},"23":{},"28":{},"30":{}},"tags":{}}],["ad",{"_index":1313,"title":{},"content":{"38":{},"40":{}},"tags":{}}],["add",{"_index":846,"title":{},"content":{"18":{},"25":{}},"tags":{}}],["addit",{"_index":339,"title":{},"content":{"2":{},"4":{},"30":{},"34":{},"38":{}},"tags":{}}],["addition",{"_index":75,"title":{},"content":{"1":{},"11":{},"13":{},"28":{}},"tags":{}}],["address",{"_index":284,"title":{},"content":{"2":{},"30":{},"32":{},"33":{}},"tags":{}}],["admin",{"_index":1307,"title":{},"content":{"38":{}},"tags":{}}],["admir",{"_index":427,"title":{},"content":{"4":{}},"tags":{}}],["ado",{"_index":562,"title":{},"content":{"6":{}},"tags":{}}],["adult",{"_index":627,"title":{},"content":{"12":{}},"tags":{}}],["adventur",{"_index":1176,"title":{},"content":{"25":{}},"tags":{}}],["advertis",{"_index":727,"title":{},"content":{"16":{}},"tags":{}}],["affili",{"_index":544,"title":{},"content":{"6":{}},"tags":{}}],["afford",{"_index":1079,"title":{},"content":{"28":{}},"tags":{}}],["ag",{"_index":1017,"title":{},"content":{"26":{},"38":{}},"tags":{}}],["again",{"_index":1275,"title":{},"content":{"37":{}},"tags":{}}],["against",{"_index":347,"title":{},"content":{"2":{},"6":{}},"tags":{}}],["age restrict",{"_index":1265,"title":{},"content":{},"tags":{"36":{}}}],["agnost",{"_index":1208,"title":{},"content":{"32":{}},"tags":{}}],["ai",{"_index":174,"title":{},"content":{"3":{}},"tags":{}}],["ai-generated nam",{"_index":231,"title":{},"content":{},"tags":{"3":{}}}],["aim",{"_index":191,"title":{},"content":{"3":{},"13":{}},"tags":{}}],["align",{"_index":477,"title":{},"content":{"4":{},"11":{},"18":{}},"tags":{}}],["aliv",{"_index":1109,"title":{},"content":{"28":{}},"tags":{}}],["allow",{"_index":386,"title":{},"content":{"4":{},"6":{},"32":{},"37":{}},"tags":{}}],["along",{"_index":1114,"title":{},"content":{"28":{},"38":{}},"tags":{}}],["alongsid",{"_index":892,"title":{},"content":{"19":{}},"tags":{}}],["alreadi",{"_index":593,"title":{},"content":{"8":{},"10":{},"13":{},"17":{},"18":{},"19":{},"25":{},"29":{},"33":{},"35":{}},"tags":{}}],["altern",{"_index":19,"title":{},"content":{"1":{},"2":{},"4":{},"26":{}},"tags":{"1":{}}}],["although",{"_index":457,"title":{},"content":{"4":{},"18":{},"40":{}},"tags":{}}],["alway",{"_index":1076,"title":{},"content":{"25":{},"28":{},"39":{}},"tags":{}}],["amaz",{"_index":765,"title":{},"content":{"17":{},"18":{},"30":{}},"tags":{}}],["analysi",{"_index":577,"title":{"7":{}},"content":{"6":{}},"tags":{}}],["analyt",{"_index":1267,"title":{},"content":{},"tags":{"36":{}}}],["analyz",{"_index":581,"title":{},"content":{"6":{}},"tags":{}}],["anim",{"_index":1093,"title":{},"content":{"28":{},"30":{},"35":{}},"tags":{}}],["announ",{"_index":884,"title":{},"content":{"19":{}},"tags":{}}],["announc",{"_index":157,"title":{"17":{},"26":{}},"content":{"3":{},"5":{},"17":{},"25":{},"26":{},"29":{},"30":{},"32":{}},"tags":{"3":{},"26":{},"30":{}}}],["annual",{"_index":445,"title":{},"content":{"4":{}},"tags":{}}],["anoth",{"_index":1031,"title":{},"content":{"26":{},"37":{}},"tags":{}}],["answer",{"_index":409,"title":{},"content":{"4":{},"15":{}},"tags":{}}],["anticip",{"_index":306,"title":{},"content":{"2":{},"17":{},"25":{}},"tags":{}}],["anual",{"_index":1092,"title":{},"content":{"28":{}},"tags":{}}],["anyon",{"_index":987,"title":{},"content":{"21":{}},"tags":{}}],["anyth",{"_index":938,"title":{},"content":{"19":{}},"tags":{}}],["api",{"_index":90,"title":{},"content":{"1":{},"28":{},"30":{},"32":{},"33":{}},"tags":{"1":{},"31":{}}}],["apolog",{"_index":193,"title":{},"content":{"3":{}},"tags":{}}],["app",{"_index":239,"title":{"2":{}},"content":{"2":{},"4":{},"5":{},"6":{},"8":{},"10":{},"11":{},"13":{},"14":{},"16":{},"17":{},"26":{},"38":{},"40":{}},"tags":{"2":{}}}],["app name migr",{"_index":749,"title":{},"content":{},"tags":{"16":{}}}],["app optim",{"_index":1266,"title":{},"content":{},"tags":{"36":{}}}],["app'",{"_index":210,"title":{},"content":{"3":{},"19":{}},"tags":{}}],["appeal",{"_index":185,"title":{},"content":{"3":{}},"tags":{}}],["appear",{"_index":702,"title":{},"content":{"15":{}},"tags":{}}],["appli",{"_index":1016,"title":{},"content":{"24":{},"28":{}},"tags":{}}],["applic",{"_index":404,"title":{},"content":{"4":{},"9":{},"10":{},"15":{},"17":{},"19":{},"22":{},"24":{},"25":{},"26":{},"30":{},"33":{}},"tags":{}}],["application'",{"_index":1129,"title":{},"content":{"29":{}},"tags":{}}],["appreci",{"_index":179,"title":{},"content":{"2":{},"3":{},"4":{},"17":{},"18":{},"35":{}},"tags":{}}],["approach",{"_index":52,"title":{},"content":{"1":{},"4":{}},"tags":{}}],["appropri",{"_index":292,"title":{},"content":{"2":{},"38":{}},"tags":{}}],["april",{"_index":1177,"title":{},"content":{"25":{}},"tags":{}}],["april fool",{"_index":1179,"title":{},"content":{},"tags":{"25":{}}}],["architectur",{"_index":1130,"title":{},"content":{"29":{}},"tags":{}}],["archiv",{"_index":905,"title":{},"content":{"19":{},"34":{}},"tags":{}}],["area",{"_index":1184,"title":{},"content":{"30":{}},"tags":{}}],["argument",{"_index":1314,"title":{},"content":{"38":{}},"tags":{}}],["around",{"_index":214,"title":{},"content":{"3":{},"4":{},"17":{},"28":{}},"tags":{}}],["art",{"_index":1231,"title":{},"content":{"33":{}},"tags":{}}],["ask",{"_index":183,"title":{},"content":{"2":{},"3":{},"17":{},"19":{},"37":{}},"tags":{}}],["aspect",{"_index":856,"title":{},"content":{"18":{}},"tags":{}}],["assist",{"_index":317,"title":{},"content":{"2":{}},"tags":{}}],["associ",{"_index":600,"title":{},"content":{"9":{}},"tags":{}}],["aswel",{"_index":924,"title":{},"content":{"19":{},"25":{}},"tags":{}}],["atmospher",{"_index":283,"title":{},"content":{"2":{}},"tags":{}}],["attempt",{"_index":278,"title":{},"content":{"2":{}},"tags":{}}],["attent",{"_index":242,"title":{},"content":{"2":{},"19":{}},"tags":{}}],["attract",{"_index":542,"title":{},"content":{"6":{}},"tags":{}}],["authent",{"_index":92,"title":{},"content":{"1":{}},"tags":{}}],["auto",{"_index":900,"title":{},"content":{"19":{},"34":{}},"tags":{}}],["automat",{"_index":81,"title":{},"content":{"1":{},"25":{}},"tags":{}}],["avail",{"_index":18,"title":{"4":{},"25":{}},"content":{"1":{},"3":{},"4":{},"13":{},"16":{},"25":{},"28":{}},"tags":{}}],["away",{"_index":1217,"title":{},"content":{"33":{},"37":{}},"tags":{}}],["awesom",{"_index":776,"title":{},"content":{"17":{}},"tags":{}}],["back",{"_index":814,"title":{"19":{}},"content":{"17":{},"19":{},"28":{},"37":{}},"tags":{}}],["backend",{"_index":682,"title":{},"content":{"15":{},"19":{},"33":{},"37":{}},"tags":{"31":{}}}],["backend application migr",{"_index":716,"title":{},"content":{},"tags":{"15":{}}}],["backend:earli",{"_index":1003,"title":{},"content":{"23":{}},"tags":{}}],["backlog",{"_index":610,"title":{},"content":{"10":{}},"tags":{}}],["backup",{"_index":908,"title":{},"content":{"19":{}},"tags":{}}],["bandwidth",{"_index":907,"title":{},"content":{"19":{}},"tags":{}}],["bar",{"_index":1308,"title":{},"content":{"38":{}},"tags":{}}],["base",{"_index":22,"title":{"25":{}},"content":{"1":{},"3":{},"28":{},"30":{},"38":{}},"tags":{}}],["baseless",{"_index":263,"title":{},"content":{"2":{}},"tags":{}}],["battl",{"_index":236,"title":{"2":{}},"content":{"25":{}},"tags":{}}],["be",{"_index":270,"title":{},"content":{"2":{},"4":{},"17":{},"18":{},"19":{}},"tags":{}}],["bean",{"_index":950,"title":{},"content":{"19":{}},"tags":{}}],["becom",{"_index":798,"title":{},"content":{"17":{},"18":{},"19":{},"31":{}},"tags":{}}],["befor",{"_index":986,"title":{},"content":{"21":{},"28":{},"37":{},"39":{}},"tags":{}}],["beforehand",{"_index":578,"title":{},"content":{"6":{}},"tags":{}}],["began",{"_index":250,"title":{},"content":{"2":{},"33":{}},"tags":{}}],["begin",{"_index":1165,"title":{},"content":{"25":{}},"tags":{}}],["behavior",{"_index":248,"title":{},"content":{"2":{},"33":{}},"tags":{}}],["behind",{"_index":399,"title":{},"content":{"4":{},"16":{},"26":{}},"tags":{}}],["believ",{"_index":391,"title":{},"content":{"4":{},"17":{},"18":{}},"tags":{}}],["benefit",{"_index":136,"title":{},"content":{"1":{},"6":{}},"tags":{}}],["best",{"_index":873,"title":{},"content":{"18":{},"25":{}},"tags":{}}],["bet",{"_index":1245,"title":{},"content":{"35":{}},"tags":{}}],["beta test",{"_index":979,"title":{},"content":{},"tags":{"20":{}}}],["better",{"_index":161,"title":{},"content":{"2":{},"3":{},"18":{},"33":{},"34":{},"37":{}},"tags":{}}],["between",{"_index":1235,"title":{},"content":{"33":{},"39":{}},"tags":{}}],["beyond",{"_index":1251,"title":{},"content":{"36":{}},"tags":{}}],["bia",{"_index":190,"title":{},"content":{"3":{}},"tags":{}}],["big",{"_index":761,"title":{"17":{}},"content":{"19":{},"21":{},"29":{},"30":{}},"tags":{}}],["biggest",{"_index":1253,"title":{},"content":{"36":{}},"tags":{}}],["bird",{"_index":1167,"title":{},"content":{"25":{}},"tags":{}}],["blackmail",{"_index":246,"title":{},"content":{"2":{}},"tags":{"2":{}}}],["bloat",{"_index":859,"title":{},"content":{"18":{}},"tags":{}}],["blog",{"_index":213,"title":{},"content":{"3":{},"15":{},"17":{},"19":{}},"tags":{}}],["board",{"_index":608,"title":{},"content":{"10":{},"18":{},"28":{}},"tags":{}}],["bookmark",{"_index":1237,"title":{},"content":{"34":{}},"tags":{}}],["bore",{"_index":962,"title":{},"content":{"19":{}},"tags":{}}],["born",{"_index":1022,"title":{},"content":{"26":{}},"tags":{}}],["both",{"_index":287,"title":{},"content":{"2":{},"33":{},"38":{}},"tags":{}}],["bothersom",{"_index":857,"title":{},"content":{"18":{}},"tags":{}}],["boundari",{"_index":774,"title":{},"content":{"17":{},"25":{}},"tags":{}}],["box",{"_index":739,"title":{},"content":{"16":{},"32":{},"33":{}},"tags":{}}],["box represent",{"_index":755,"title":{},"content":{},"tags":{"16":{}}}],["boy",{"_index":1037,"title":{},"content":{"26":{}},"tags":{}}],["brainstorm",{"_index":638,"title":{},"content":{"13":{}},"tags":{}}],["branch",{"_index":268,"title":{},"content":{"2":{}},"tags":{}}],["brand",{"_index":617,"title":{},"content":{"11":{},"20":{},"37":{}},"tags":{}}],["break",{"_index":1006,"title":{},"content":{"23":{}},"tags":{}}],["breez",{"_index":1319,"title":{},"content":{"38":{}},"tags":{}}],["brent",{"_index":668,"title":{},"content":{"14":{}},"tags":{}}],["brief",{"_index":680,"title":{},"content":{"15":{}},"tags":{}}],["bring",{"_index":302,"title":{},"content":{"2":{},"29":{}},"tags":{}}],["brows",{"_index":63,"title":{},"content":{"1":{},"25":{}},"tags":{}}],["btw",{"_index":1057,"title":{},"content":{"26":{}},"tags":{}}],["buck",{"_index":320,"title":{},"content":{"2":{}},"tags":{}}],["bug",{"_index":117,"title":{},"content":{"1":{},"2":{},"18":{},"19":{},"37":{}},"tags":{"2":{}}}],["build",{"_index":1045,"title":{},"content":{"26":{}},"tags":{}}],["built",{"_index":808,"title":{"36":{}},"content":{"17":{},"33":{},"36":{},"37":{},"38":{}},"tags":{}}],["bunch",{"_index":897,"title":{},"content":{"19":{}},"tags":{}}],["busi",{"_index":461,"title":{},"content":{"4":{},"6":{},"33":{}},"tags":{}}],["bypass",{"_index":1077,"title":{},"content":{"28":{}},"tags":{}}],["call",{"_index":365,"title":{},"content":{"4":{},"8":{},"9":{},"11":{},"26":{}},"tags":{}}],["can't",{"_index":506,"title":{},"content":{"5":{},"28":{},"35":{}},"tags":{}}],["capac",{"_index":842,"title":{},"content":{"18":{}},"tags":{}}],["carri",{"_index":1150,"title":{},"content":{"25":{}},"tags":{}}],["case",{"_index":402,"title":{},"content":{"4":{}},"tags":{}}],["casino/gambl",{"_index":602,"title":{},"content":{"9":{}},"tags":{}}],["cast",{"_index":201,"title":{},"content":{"3":{}},"tags":{}}],["caught",{"_index":878,"title":{},"content":{"19":{},"26":{}},"tags":{}}],["caus",{"_index":195,"title":{},"content":{"3":{},"31":{}},"tags":{}}],["celebr",{"_index":676,"title":{"17":{}},"content":{"14":{},"17":{}},"tags":{}}],["celebration of achiev",{"_index":830,"title":{},"content":{},"tags":{"17":{}}}],["certain",{"_index":384,"title":{},"content":{"4":{}},"tags":{}}],["challeng",{"_index":615,"title":{},"content":{"11":{},"17":{},"31":{}},"tags":{}}],["chanc",{"_index":660,"title":{},"content":{"14":{}},"tags":{}}],["chang",{"_index":556,"title":{},"content":{"6":{},"19":{},"26":{},"32":{},"33":{},"34":{},"37":{}},"tags":{}}],["changelog",{"_index":1328,"title":{},"content":{"39":{}},"tags":{}}],["channel",{"_index":336,"title":{},"content":{"2":{},"14":{},"15":{},"18":{},"23":{},"29":{},"30":{}},"tags":{}}],["chapter",{"_index":1113,"title":{},"content":{"28":{}},"tags":{}}],["character",{"_index":479,"title":{},"content":{"4":{}},"tags":{}}],["chat",{"_index":335,"title":{},"content":{"2":{},"15":{},"17":{}},"tags":{}}],["check",{"_index":1326,"title":{},"content":{"39":{}},"tags":{}}],["cherri",{"_index":1283,"title":{},"content":{"37":{}},"tags":{}}],["children",{"_index":1299,"title":{},"content":{"38":{}},"tags":{}}],["choic",{"_index":540,"title":{},"content":{"6":{}},"tags":{}}],["choos",{"_index":149,"title":{"3":{}},"content":{"3":{},"5":{}},"tags":{}}],["chosen",{"_index":583,"title":{},"content":{"6":{}},"tags":{}}],["clarifi",{"_index":361,"title":{},"content":{"4":{}},"tags":{}}],["clear",{"_index":1059,"title":{},"content":{"26":{},"28":{}},"tags":{}}],["cli",{"_index":1098,"title":{},"content":{"28":{}},"tags":{}}],["click",{"_index":203,"title":{},"content":{"3":{}},"tags":{}}],["client",{"_index":456,"title":{"25":{}},"content":{"4":{},"15":{},"17":{},"25":{},"26":{},"28":{},"29":{},"30":{},"36":{},"39":{}},"tags":{}}],["client application upd",{"_index":721,"title":{},"content":{},"tags":{"15":{}}}],["client upd",{"_index":1260,"title":{},"content":{},"tags":{"36":{}}}],["close",{"_index":403,"title":{},"content":{"4":{}},"tags":{}}],["closer",{"_index":358,"title":{"4":{}},"content":{},"tags":{}}],["cloud",{"_index":21,"title":{},"content":{"1":{}},"tags":{}}],["cloud-based game platform",{"_index":140,"title":{},"content":{},"tags":{"1":{}}}],["code",{"_index":367,"title":{},"content":{"4":{}},"tags":{}}],["code access",{"_index":497,"title":{},"content":{},"tags":{"4":{}}}],["coding chronicl",{"_index":972,"title":{},"content":{},"tags":{"19":{}}}],["collabor",{"_index":805,"title":{},"content":{"17":{},"18":{}},"tags":{"18":{}}}],["colleagu",{"_index":555,"title":{},"content":{"6":{},"16":{}},"tags":{}}],["collect",{"_index":65,"title":{},"content":{"1":{},"10":{},"25":{}},"tags":{}}],["come",{"_index":241,"title":{"26":{}},"content":{"2":{},"14":{},"28":{}},"tags":{}}],["commenc",{"_index":503,"title":{},"content":{"5":{},"13":{}},"tags":{}}],["comment",{"_index":487,"title":{},"content":{"4":{}},"tags":{}}],["commerci",{"_index":389,"title":{},"content":{"4":{}},"tags":{}}],["commit",{"_index":197,"title":{},"content":{"3":{},"4":{},"13":{},"18":{},"19":{},"30":{},"33":{}},"tags":{}}],["common",{"_index":614,"title":{},"content":{"11":{}},"tags":{}}],["commun",{"_index":34,"title":{"2":{}},"content":{"1":{},"2":{},"4":{},"6":{},"15":{},"17":{},"18":{},"19":{},"28":{},"29":{},"30":{},"33":{},"36":{},"38":{}},"tags":{"3":{},"18":{},"26":{},"31":{}}}],["community feedback",{"_index":516,"title":{},"content":{},"tags":{"5":{},"20":{}}}],["community manag",{"_index":1268,"title":{},"content":{},"tags":{"36":{}}}],["community-driven",{"_index":1191,"title":{},"content":{},"tags":{"30":{}}}],["company'",{"_index":446,"title":{},"content":{"4":{}},"tags":{}}],["compar",{"_index":76,"title":{},"content":{"1":{},"25":{}},"tags":{}}],["compat",{"_index":1144,"title":{},"content":{"25":{},"39":{}},"tags":{}}],["complet",{"_index":58,"title":{"16":{}},"content":{"1":{},"15":{},"22":{},"26":{},"31":{},"37":{}},"tags":{}}],["concept",{"_index":747,"title":{},"content":{"16":{}},"tags":{}}],["concern",{"_index":159,"title":{},"content":{"3":{},"33":{}},"tags":{}}],["conclud",{"_index":1180,"title":{},"content":{"30":{}},"tags":{}}],["conclus",{"_index":534,"title":{},"content":{"6":{}},"tags":{}}],["conduct",{"_index":575,"title":{},"content":{"6":{}},"tags":{}}],["configur",{"_index":93,"title":{},"content":{"1":{}},"tags":{}}],["confirm",{"_index":549,"title":{},"content":{"6":{}},"tags":{}}],["confus",{"_index":1071,"title":{},"content":{"28":{}},"tags":{}}],["connect",{"_index":125,"title":{},"content":{"1":{},"17":{}},"tags":{}}],["consent",{"_index":423,"title":{},"content":{"4":{}},"tags":{}}],["consequ",{"_index":579,"title":{},"content":{"6":{}},"tags":{}}],["consid",{"_index":362,"title":{},"content":{"4":{},"17":{},"35":{},"40":{}},"tags":{}}],["contact",{"_index":1125,"title":{},"content":{"29":{}},"tags":{}}],["content",{"_index":1296,"title":{},"content":{"38":{}},"tags":{}}],["continu",{"_index":223,"title":{},"content":{"2":{},"3":{},"4":{},"14":{},"17":{},"19":{},"25":{},"30":{},"32":{},"40":{}},"tags":{}}],["continued support",{"_index":829,"title":{},"content":{},"tags":{"17":{}}}],["contrast",{"_index":440,"title":{},"content":{"4":{}},"tags":{}}],["contribut",{"_index":115,"title":{},"content":{"1":{},"2":{},"3":{},"4":{},"6":{},"18":{},"19":{}},"tags":{}}],["control",{"_index":59,"title":{},"content":{"1":{},"4":{},"13":{},"19":{},"37":{},"38":{}},"tags":{"4":{}}}],["conveni",{"_index":168,"title":{},"content":{"3":{},"4":{},"38":{}},"tags":{}}],["convey",{"_index":645,"title":{},"content":{"13":{}},"tags":{}}],["convinc",{"_index":837,"title":{},"content":{"18":{}},"tags":{}}],["cook",{"_index":913,"title":{},"content":{"19":{}},"tags":{}}],["copi",{"_index":416,"title":{},"content":{"4":{}},"tags":{}}],["core",{"_index":450,"title":{},"content":{"4":{},"19":{},"28":{}},"tags":{}}],["couldn't",{"_index":1182,"title":{},"content":{"30":{}},"tags":{}}],["could’v",{"_index":1256,"title":{},"content":{"36":{}},"tags":{}}],["council",{"_index":864,"title":{},"content":{"18":{},"19":{},"29":{}},"tags":{}}],["council memb",{"_index":875,"title":{},"content":{},"tags":{"18":{}}}],["count",{"_index":959,"title":{},"content":{"19":{}},"tags":{}}],["cover",{"_index":1259,"title":{},"content":{"36":{}},"tags":{}}],["craft",{"_index":704,"title":{},"content":{"15":{}},"tags":{}}],["crash",{"_index":910,"title":{},"content":{"19":{}},"tags":{}}],["creat",{"_index":16,"title":{},"content":{"1":{},"3":{},"18":{}},"tags":{}}],["creativ",{"_index":748,"title":{},"content":{"16":{}},"tags":{}}],["creepi",{"_index":308,"title":{},"content":{"2":{}},"tags":{}}],["creepy behavior",{"_index":354,"title":{},"content":{},"tags":{"2":{}}}],["criteria",{"_index":372,"title":{},"content":{"4":{}},"tags":{}}],["critic",{"_index":552,"title":{"39":{}},"content":{"6":{}},"tags":{}}],["cross",{"_index":952,"title":{},"content":{"19":{}},"tags":{}}],["crucial",{"_index":855,"title":{},"content":{"18":{}},"tags":{}}],["crucual",{"_index":393,"title":{},"content":{"4":{}},"tags":{}}],["current",{"_index":194,"title":{},"content":{"3":{},"4":{},"6":{},"15":{},"17":{},"19":{},"25":{},"28":{},"33":{}},"tags":{}}],["custom",{"_index":1096,"title":{},"content":{"28":{},"30":{},"37":{}},"tags":{}}],["data",{"_index":532,"title":{},"content":{"6":{},"30":{},"33":{},"37":{}},"tags":{}}],["databas",{"_index":84,"title":{},"content":{"1":{},"19":{},"29":{},"30":{},"31":{},"32":{}},"tags":{"31":{}}}],["day",{"_index":1204,"title":{},"content":{"31":{}},"tags":{}}],["deal",{"_index":485,"title":{},"content":{"4":{},"21":{}},"tags":{}}],["decad",{"_index":435,"title":{},"content":{"4":{}},"tags":{}}],["decemb",{"_index":997,"title":{},"content":{"22":{}},"tags":{}}],["decid",{"_index":300,"title":{},"content":{"2":{},"25":{},"29":{},"32":{}},"tags":{}}],["deciph",{"_index":737,"title":{},"content":{"16":{}},"tags":{}}],["decis",{"_index":166,"title":{},"content":{"2":{},"3":{},"6":{}},"tags":{}}],["decision-mak",{"_index":233,"title":{},"content":{},"tags":{"3":{}}}],["dedic",{"_index":288,"title":{},"content":{"2":{},"17":{},"18":{},"30":{}},"tags":{}}],["deep",{"_index":926,"title":{},"content":{"19":{}},"tags":{}}],["default",{"_index":1234,"title":{},"content":{"33":{},"38":{}},"tags":{}}],["definit",{"_index":363,"title":{},"content":{"4":{}},"tags":{}}],["degrad",{"_index":1123,"title":{},"content":{"29":{}},"tags":{}}],["delay",{"_index":513,"title":{},"content":{"5":{}},"tags":{}}],["delight",{"_index":32,"title":{},"content":{"1":{}},"tags":{}}],["demand",{"_index":1043,"title":{},"content":{"26":{}},"tags":{}}],["demo",{"_index":688,"title":{},"content":{"15":{}},"tags":{}}],["depend",{"_index":560,"title":{},"content":{"6":{},"37":{}},"tags":{}}],["descript",{"_index":642,"title":{},"content":{"13":{}},"tags":{}}],["design",{"_index":43,"title":{},"content":{"1":{},"15":{},"17":{},"23":{},"28":{},"30":{}},"tags":{}}],["desir",{"_index":411,"title":{},"content":{"4":{},"18":{},"19":{},"29":{}},"tags":{}}],["despit",{"_index":1048,"title":{},"content":{"26":{}},"tags":{}}],["detail",{"_index":788,"title":{},"content":{"17":{},"28":{},"32":{},"39":{}},"tags":{}}],["develop",{"_index":299,"title":{},"content":{"2":{},"4":{},"15":{},"18":{},"19":{},"26":{},"33":{},"40":{}},"tags":{"2":{},"18":{},"26":{},"30":{}}}],["development mileston",{"_index":968,"title":{},"content":{},"tags":{"19":{}}}],["devic",{"_index":1149,"title":{},"content":{"25":{}},"tags":{}}],["dice",{"_index":743,"title":{},"content":{"16":{}},"tags":{}}],["didn't",{"_index":408,"title":{},"content":{"4":{}},"tags":{}}],["differ",{"_index":378,"title":{},"content":{"4":{},"6":{},"17":{},"19":{}},"tags":{}}],["direct",{"_index":861,"title":{},"content":{"18":{},"30":{}},"tags":{}}],["directli",{"_index":276,"title":{},"content":{"2":{},"38":{}},"tags":{}}],["disclos",{"_index":33,"title":{},"content":{"1":{},"4":{}},"tags":{}}],["discomfort",{"_index":196,"title":{},"content":{"3":{}},"tags":{}}],["discontinu",{"_index":1141,"title":{},"content":{"25":{}},"tags":{}}],["discord",{"_index":128,"title":{},"content":{"1":{},"2":{},"3":{},"4":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"23":{},"29":{},"30":{},"39":{}},"tags":{"18":{},"20":{},"30":{}}}],["discord channel",{"_index":723,"title":{},"content":{},"tags":{"15":{},"16":{}}}],["discord community growth",{"_index":819,"title":{},"content":{},"tags":{"17":{}}}],["discord serv",{"_index":146,"title":{},"content":{},"tags":{"1":{}}}],["discord server promot",{"_index":752,"title":{},"content":{},"tags":{"16":{}}}],["discov",{"_index":1164,"title":{},"content":{"25":{}},"tags":{}}],["discuss",{"_index":662,"title":{},"content":{"14":{},"15":{},"17":{},"28":{}},"tags":{}}],["display",{"_index":849,"title":{},"content":{"18":{}},"tags":{}}],["disrupt",{"_index":282,"title":{},"content":{"2":{}},"tags":{}}],["distanc",{"_index":632,"title":{},"content":{"13":{}},"tags":{}}],["distribut",{"_index":387,"title":{},"content":{"4":{}},"tags":{}}],["dive",{"_index":508,"title":{},"content":{"5":{},"19":{}},"tags":{}}],["divers",{"_index":187,"title":{},"content":{"3":{}},"tags":{}}],["do",{"_index":290,"title":{},"content":{"2":{},"18":{}},"tags":{}}],["docker/kubernet",{"_index":621,"title":{},"content":{"11":{}},"tags":{}}],["document",{"_index":105,"title":{},"content":{"1":{},"15":{},"29":{}},"tags":{}}],["documentation migr",{"_index":717,"title":{},"content":{},"tags":{"15":{}}}],["doesn't",{"_index":370,"title":{},"content":{"4":{},"26":{},"30":{}},"tags":{}}],["domain",{"_index":590,"title":{},"content":{"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"15":{}},"tags":{}}],["domain acquisit",{"_index":718,"title":{},"content":{},"tags":{"15":{}}}],["don't",{"_index":395,"title":{},"content":{"4":{}},"tags":{}}],["donat",{"_index":121,"title":{},"content":{"1":{},"4":{},"19":{},"26":{},"40":{}},"tags":{}}],["done",{"_index":1131,"title":{},"content":{"29":{},"30":{},"35":{}},"tags":{}}],["donor",{"_index":1056,"title":{},"content":{"26":{}},"tags":{}}],["dont",{"_index":1078,"title":{},"content":{"28":{}},"tags":{}}],["dough",{"_index":957,"title":{},"content":{"19":{}},"tags":{}}],["down",{"_index":854,"title":{},"content":{"18":{},"31":{}},"tags":{}}],["download",{"_index":67,"title":{},"content":{"1":{},"25":{},"34":{}},"tags":{}}],["downtim",{"_index":1199,"title":{},"content":{"31":{}},"tags":{}}],["draw",{"_index":533,"title":{},"content":{"6":{}},"tags":{}}],["drawback",{"_index":1232,"title":{},"content":{"33":{}},"tags":{}}],["drive",{"_index":985,"title":{},"content":{"21":{}},"tags":{}}],["drm",{"_index":7,"title":{"1":{}},"content":{"1":{},"26":{}},"tags":{}}],["drm-free",{"_index":1189,"title":{},"content":{},"tags":{"30":{}}}],["drm-free gam",{"_index":141,"title":{},"content":{},"tags":{"1":{}}}],["drop",{"_index":1219,"title":{},"content":{"33":{}},"tags":{}}],["due",{"_index":732,"title":{},"content":{"16":{}},"tags":{}}],["dure",{"_index":1052,"title":{},"content":{"26":{}},"tags":{}}],["dust",{"_index":1035,"title":{},"content":{"26":{}},"tags":{}}],["each",{"_index":582,"title":{},"content":{"6":{}},"tags":{}}],["eager",{"_index":630,"title":{},"content":{"13":{},"18":{},"19":{},"25":{}},"tags":{}}],["eagerli",{"_index":800,"title":{},"content":{"17":{}},"tags":{}}],["earli",{"_index":974,"title":{"20":{},"21":{}},"content":{"20":{},"21":{},"22":{},"24":{},"28":{},"30":{},"37":{}},"tags":{}}],["earlier",{"_index":574,"title":{},"content":{"6":{}},"tags":{}}],["early access",{"_index":977,"title":{},"content":{},"tags":{"20":{},"30":{}}}],["earn",{"_index":441,"title":{},"content":{"4":{}},"tags":{}}],["easier",{"_index":786,"title":{},"content":{"17":{}},"tags":{}}],["easili",{"_index":646,"title":{},"content":{"13":{},"28":{}},"tags":{}}],["easter",{"_index":1246,"title":{},"content":{"35":{}},"tags":{}}],["easter egg",{"_index":1206,"title":{},"content":{},"tags":{"31":{}}}],["edg",{"_index":1117,"title":{},"content":{"29":{}},"tags":{}}],["edit",{"_index":493,"title":{},"content":{"4":{},"15":{},"25":{},"37":{}},"tags":{}}],["effect",{"_index":644,"title":{},"content":{"13":{},"18":{},"37":{}},"tags":{}}],["effort",{"_index":314,"title":{},"content":{"2":{},"17":{},"19":{}},"tags":{}}],["egg",{"_index":1247,"title":{},"content":{"35":{}},"tags":{}}],["eleg",{"_index":1163,"title":{},"content":{"25":{}},"tags":{}}],["embark",{"_index":1173,"title":{},"content":{"25":{}},"tags":{}}],["emerg",{"_index":566,"title":{},"content":{"6":{}},"tags":{}}],["empathi",{"_index":483,"title":{},"content":{"4":{}},"tags":{}}],["emphas",{"_index":297,"title":{},"content":{"2":{},"13":{}},"tags":{}}],["employ",{"_index":262,"title":{},"content":{"2":{}},"tags":{}}],["empow",{"_index":815,"title":{},"content":{"17":{}},"tags":{}}],["emul",{"_index":920,"title":{},"content":{"19":{}},"tags":{}}],["enabl",{"_index":62,"title":{},"content":{"1":{},"18":{}},"tags":{}}],["encount",{"_index":286,"title":{},"content":{"2":{}},"tags":{}}],["encourag",{"_index":219,"title":{},"content":{"2":{},"3":{},"4":{},"6":{},"17":{}},"tags":{}}],["encrypt",{"_index":1239,"title":{},"content":{"34":{}},"tags":{}}],["end",{"_index":204,"title":{},"content":{"3":{},"19":{},"26":{}},"tags":{}}],["endeavor",{"_index":871,"title":{},"content":{"18":{}},"tags":{}}],["endlessli",{"_index":1058,"title":{},"content":{"26":{}},"tags":{}}],["engag",{"_index":245,"title":{},"content":{"2":{},"4":{},"13":{},"17":{},"19":{}},"tags":{"2":{}}}],["enhanc",{"_index":775,"title":{},"content":{"17":{},"25":{},"28":{},"30":{},"40":{}},"tags":{}}],["enjoy",{"_index":133,"title":{},"content":{"1":{},"3":{},"28":{},"30":{},"38":{},"40":{}},"tags":{}}],["enough",{"_index":868,"title":{},"content":{"18":{}},"tags":{}}],["enrich",{"_index":85,"title":{},"content":{"1":{}},"tags":{}}],["ensur",{"_index":348,"title":{},"content":{"2":{},"6":{},"18":{},"19":{},"25":{},"30":{},"39":{}},"tags":{}}],["enterpris",{"_index":1074,"title":{},"content":{"28":{}},"tags":{}}],["enthusiasm",{"_index":834,"title":{},"content":{"18":{},"30":{}},"tags":{}}],["entir",{"_index":784,"title":{},"content":{"17":{}},"tags":{}}],["entireti",{"_index":725,"title":{},"content":{"16":{}},"tags":{}}],["environ",{"_index":199,"title":{},"content":{"2":{},"3":{}},"tags":{}}],["environment",{"_index":1225,"title":{},"content":{"33":{}},"tags":{}}],["epic",{"_index":25,"title":{},"content":{"1":{}},"tags":{}}],["equal",{"_index":631,"title":{},"content":{"13":{}},"tags":{}}],["escal",{"_index":255,"title":{},"content":{"2":{}},"tags":{}}],["especi",{"_index":468,"title":{},"content":{"4":{},"17":{}},"tags":{}}],["essenc",{"_index":211,"title":{},"content":{"3":{}},"tags":{}}],["etc",{"_index":923,"title":{},"content":{"19":{}},"tags":{}}],["even",{"_index":69,"title":{},"content":{"1":{},"2":{},"4":{},"6":{},"14":{},"17":{},"18":{},"30":{},"34":{},"37":{}},"tags":{}}],["everybodi",{"_index":656,"title":{},"content":{"14":{}},"tags":{}}],["everyon",{"_index":30,"title":{},"content":{"1":{},"2":{},"3":{},"4":{},"5":{},"17":{},"18":{},"21":{},"25":{},"26":{},"28":{},"30":{},"31":{}},"tags":{}}],["everyth",{"_index":993,"title":{},"content":{"21":{}},"tags":{}}],["exact",{"_index":1044,"title":{},"content":{"26":{}},"tags":{}}],["exampl",{"_index":406,"title":{},"content":{"4":{},"33":{}},"tags":{}}],["excit",{"_index":27,"title":{"31":{},"34":{}},"content":{"1":{},"5":{},"14":{},"17":{},"19":{},"25":{},"28":{},"30":{},"32":{},"34":{},"36":{}},"tags":{}}],["exclus",{"_index":649,"title":{},"content":{"13":{},"21":{}},"tags":{}}],["exclusive preview",{"_index":980,"title":{},"content":{},"tags":{"20":{}}}],["execut",{"_index":1316,"title":{},"content":{"38":{}},"tags":{}}],["exist",{"_index":607,"title":{},"content":{"10":{}},"tags":{}}],["expand",{"_index":553,"title":{},"content":{"6":{}},"tags":{}}],["experi",{"_index":61,"title":{},"content":{"1":{},"2":{},"3":{},"17":{},"18":{},"25":{},"28":{},"30":{},"34":{}},"tags":{}}],["experienc",{"_index":785,"title":{},"content":{"17":{}},"tags":{}}],["explain",{"_index":374,"title":{},"content":{"4":{},"33":{}},"tags":{}}],["exploit",{"_index":414,"title":{},"content":{"4":{}},"tags":{}}],["explor",{"_index":368,"title":{},"content":{"4":{},"25":{},"30":{}},"tags":{}}],["express",{"_index":768,"title":{},"content":{"17":{},"18":{}},"tags":{}}],["extend",{"_index":274,"title":{},"content":{"2":{},"14":{}},"tags":{}}],["extens",{"_index":636,"title":{},"content":{"13":{}},"tags":{}}],["extra",{"_index":862,"title":{},"content":{"18":{},"19":{}},"tags":{}}],["extract",{"_index":901,"title":{},"content":{"19":{}},"tags":{}}],["face",{"_index":1195,"title":{},"content":{"31":{}},"tags":{}}],["fact",{"_index":511,"title":{},"content":{"5":{}},"tags":{}}],["fact,quit",{"_index":1020,"title":{},"content":{"26":{}},"tags":{}}],["famili",{"_index":151,"title":{"3":{}},"content":{"3":{},"4":{},"6":{},"16":{},"17":{},"26":{},"38":{}},"tags":{}}],["family-friendli",{"_index":230,"title":{},"content":{},"tags":{"3":{}}}],["fantast",{"_index":838,"title":{},"content":{"18":{}},"tags":{}}],["far",{"_index":258,"title":{},"content":{"2":{},"17":{}},"tags":{}}],["favorit",{"_index":1151,"title":{},"content":{"25":{},"34":{}},"tags":{}}],["feasibl",{"_index":432,"title":{},"content":{"4":{}},"tags":{}}],["featur",{"_index":80,"title":{"17":{},"31":{},"34":{},"38":{}},"content":{"1":{},"2":{},"4":{},"8":{},"17":{},"18":{},"19":{},"21":{},"25":{},"28":{},"29":{},"30":{},"34":{},"38":{},"39":{},"40":{}},"tags":{"18":{},"30":{},"31":{}}}],["feature request",{"_index":357,"title":{},"content":{},"tags":{"2":{}}}],["fee",{"_index":1089,"title":{},"content":{"28":{},"30":{}},"tags":{}}],["feed",{"_index":1168,"title":{},"content":{"25":{}},"tags":{}}],["feedback",{"_index":116,"title":{},"content":{"1":{},"3":{},"4":{},"6":{},"13":{},"17":{},"18":{},"21":{},"28":{},"30":{}},"tags":{"3":{},"17":{},"18":{},"30":{}}}],["feel",{"_index":491,"title":{},"content":{"4":{},"18":{},"26":{},"36":{},"39":{}},"tags":{}}],["fellow",{"_index":960,"title":{},"content":{"19":{}},"tags":{}}],["fetch",{"_index":1221,"title":{},"content":{"33":{},"37":{}},"tags":{}}],["few",{"_index":551,"title":{},"content":{"6":{},"29":{}},"tags":{}}],["fierc",{"_index":1152,"title":{},"content":{"25":{}},"tags":{}}],["file",{"_index":39,"title":{},"content":{"1":{},"19":{},"26":{}},"tags":{}}],["file serv",{"_index":142,"title":{},"content":{},"tags":{"1":{}}}],["fill",{"_index":1280,"title":{},"content":{"37":{}},"tags":{}}],["filter",{"_index":101,"title":{},"content":{"1":{}},"tags":{}}],["final",{"_index":459,"title":{"16":{}},"content":{"4":{},"5":{},"15":{},"25":{},"29":{},"35":{}},"tags":{}}],["financi",{"_index":316,"title":{},"content":{"2":{},"26":{}},"tags":{}}],["financial assist",{"_index":355,"title":{},"content":{},"tags":{"2":{}}}],["find",{"_index":208,"title":{},"content":{"3":{},"6":{},"11":{},"16":{},"18":{},"26":{},"29":{},"35":{}},"tags":{}}],["finder",{"_index":912,"title":{},"content":{"19":{}},"tags":{}}],["fine",{"_index":992,"title":{},"content":{"21":{}},"tags":{}}],["fingertip",{"_index":1158,"title":{},"content":{"25":{}},"tags":{}}],["finish",{"_index":695,"title":{},"content":{"15":{}},"tags":{}}],["first",{"_index":312,"title":{},"content":{"2":{},"5":{},"17":{},"22":{},"26":{},"28":{},"37":{}},"tags":{}}],["five",{"_index":319,"title":{},"content":{"2":{}},"tags":{}}],["fix",{"_index":895,"title":{},"content":{"19":{}},"tags":{}}],["flex",{"_index":1243,"title":{},"content":{"35":{}},"tags":{}}],["flexibl",{"_index":50,"title":{},"content":{"1":{},"37":{}},"tags":{}}],["flood",{"_index":832,"title":{},"content":{"18":{}},"tags":{}}],["floor",{"_index":1188,"title":{},"content":{"30":{}},"tags":{}}],["focus",{"_index":1132,"title":{},"content":{"29":{}},"tags":{}}],["foe",{"_index":1153,"title":{},"content":{"25":{}},"tags":{}}],["folk",{"_index":240,"title":{},"content":{"2":{},"16":{}},"tags":{}}],["follow",{"_index":880,"title":{},"content":{"19":{}},"tags":{}}],["fool",{"_index":1178,"title":{},"content":{"25":{}},"tags":{}}],["footer",{"_index":131,"title":{},"content":{"1":{}},"tags":{}}],["foremost",{"_index":1271,"title":{},"content":{"37":{}},"tags":{}}],["forgotten",{"_index":1032,"title":{},"content":{"26":{}},"tags":{}}],["form",{"_index":994,"title":{},"content":{"22":{}},"tags":{}}],["format",{"_index":906,"title":{},"content":{"19":{},"38":{}},"tags":{}}],["forum",{"_index":797,"title":{},"content":{"17":{}},"tags":{}}],["forward",{"_index":492,"title":{"19":{}},"content":{"4":{},"17":{},"29":{},"32":{}},"tags":{}}],["found",{"_index":110,"title":{},"content":{"1":{},"15":{},"24":{},"32":{}},"tags":{}}],["framework",{"_index":1143,"title":{},"content":{"25":{},"37":{}},"tags":{}}],["frankli",{"_index":1030,"title":{},"content":{"26":{}},"tags":{}}],["free",{"_index":8,"title":{"1":{}},"content":{"1":{},"4":{},"13":{},"18":{},"26":{},"28":{},"39":{},"40":{}},"tags":{}}],["freedom",{"_index":385,"title":{},"content":{"4":{},"37":{}},"tags":{}}],["freeli",{"_index":388,"title":{},"content":{"4":{}},"tags":{}}],["frequent",{"_index":1198,"title":{},"content":{"31":{}},"tags":{}}],["fresh",{"_index":705,"title":{},"content":{"15":{}},"tags":{}}],["friend",{"_index":38,"title":{},"content":{"1":{},"6":{},"16":{},"17":{},"26":{}},"tags":{}}],["friendli",{"_index":152,"title":{"3":{}},"content":{"3":{},"17":{}},"tags":{}}],["frontend",{"_index":890,"title":{},"content":{"19":{}},"tags":{}}],["fuel",{"_index":810,"title":{},"content":{"17":{}},"tags":{}}],["full",{"_index":98,"title":{},"content":{"1":{},"4":{},"37":{}},"tags":{}}],["fulli",{"_index":104,"title":{},"content":{"1":{},"4":{}},"tags":{}}],["function",{"_index":451,"title":{},"content":{"4":{},"38":{}},"tags":{}}],["further",{"_index":512,"title":{},"content":{"5":{},"6":{},"15":{},"17":{},"18":{},"25":{}},"tags":{}}],["furthermor",{"_index":683,"title":{},"content":{"15":{}},"tags":{}}],["futur",{"_index":177,"title":{},"content":{"3":{},"4":{},"17":{},"18":{},"19":{},"24":{},"30":{}},"tags":{}}],["future develop",{"_index":235,"title":{},"content":{},"tags":{"3":{}}}],["future featur",{"_index":970,"title":{},"content":{},"tags":{"19":{}}}],["gain",{"_index":1086,"title":{},"content":{"28":{},"30":{}},"tags":{}}],["game",{"_index":5,"title":{"1":{}},"content":{"1":{},"3":{},"9":{},"10":{},"12":{},"16":{},"17":{},"18":{},"19":{},"25":{},"26":{},"29":{},"30":{},"32":{},"33":{},"34":{},"37":{},"38":{}},"tags":{"1":{},"20":{},"26":{},"30":{},"31":{}}}],["game develop",{"_index":964,"title":{},"content":{},"tags":{"19":{}}}],["gamehub",{"_index":520,"title":{"12":{}},"content":{"6":{},"12":{}},"tags":{"5":{}}}],["gamehubapp.d",{"_index":623,"title":{},"content":{"12":{}},"tags":{}}],["gameplay",{"_index":1304,"title":{},"content":{"38":{}},"tags":{}}],["gamer",{"_index":200,"title":{},"content":{"3":{},"17":{}},"tags":{}}],["gameshelf",{"_index":518,"title":{"10":{}},"content":{"6":{},"10":{}},"tags":{"5":{}}}],["gameshelf.d",{"_index":606,"title":{},"content":{"10":{}},"tags":{}}],["gamestash",{"_index":517,"title":{"8":{}},"content":{"6":{},"8":{}},"tags":{"5":{}}}],["gamestash.d",{"_index":591,"title":{},"content":{"8":{}},"tags":{}}],["gamevau.lt",{"_index":598,"title":{},"content":{"9":{},"13":{},"15":{}},"tags":{}}],["gamevault",{"_index":1,"title":{"1":{},"4":{},"9":{},"20":{},"25":{},"26":{},"27":{},"28":{},"30":{},"35":{}},"content":{"1":{},"2":{},"4":{},"6":{},"9":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"23":{},"25":{},"26":{},"28":{},"29":{},"30":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"40":{}},"tags":{"1":{},"3":{},"5":{},"18":{},"20":{},"26":{},"30":{},"31":{},"36":{}}}],["gamevault app",{"_index":356,"title":{},"content":{},"tags":{"2":{}}}],["gamevault domain",{"_index":523,"title":{},"content":{},"tags":{"5":{}}}],["gamevault journey",{"_index":971,"title":{},"content":{},"tags":{"19":{}}}],["gamevault mileston",{"_index":817,"title":{},"content":{},"tags":{"17":{}}}],["gamevault'",{"_index":777,"title":{"32":{}},"content":{"17":{},"18":{},"32":{}},"tags":{}}],["gamevault999",{"_index":603,"title":{},"content":{"9":{}},"tags":{}}],["gamevault’",{"_index":1331,"title":{},"content":{"40":{}},"tags":{}}],["gaming commun",{"_index":966,"title":{},"content":{},"tags":{"19":{}}}],["gaming experi",{"_index":876,"title":{},"content":{},"tags":{"18":{}}}],["gaming platform",{"_index":228,"title":{},"content":{},"tags":{"3":{}}}],["gaming serv",{"_index":982,"title":{},"content":{},"tags":{"20":{}}}],["gap",{"_index":1281,"title":{},"content":{"37":{}},"tags":{}}],["gather",{"_index":186,"title":{},"content":{"3":{},"26":{}},"tags":{}}],["gave",{"_index":657,"title":{},"content":{"14":{}},"tags":{}}],["gener",{"_index":173,"title":{},"content":{"3":{},"4":{},"26":{}},"tags":{}}],["genr",{"_index":88,"title":{},"content":{"1":{}},"tags":{}}],["genuin",{"_index":460,"title":{},"content":{"4":{},"18":{}},"tags":{}}],["get",{"_index":1015,"title":{},"content":{"24":{}},"tags":{}}],["github",{"_index":269,"title":{},"content":{"2":{},"17":{},"18":{},"26":{},"32":{}},"tags":{"18":{}}}],["github issu",{"_index":824,"title":{},"content":{},"tags":{"17":{}}}],["give",{"_index":57,"title":{},"content":{"1":{},"14":{},"28":{},"37":{},"38":{}},"tags":{}}],["glimps",{"_index":877,"title":{"19":{}},"content":{},"tags":{}}],["go",{"_index":322,"title":{},"content":{"2":{},"17":{},"18":{},"25":{},"28":{},"32":{}},"tags":{}}],["goal",{"_index":448,"title":{},"content":{"4":{},"17":{},"32":{}},"tags":{}}],["gog",{"_index":26,"title":{},"content":{"1":{}},"tags":{}}],["golden",{"_index":983,"title":{},"content":{"21":{}},"tags":{}}],["good",{"_index":706,"title":{},"content":{"15":{}},"tags":{}}],["goodby",{"_index":929,"title":{},"content":{"19":{}},"tags":{}}],["goodi",{"_index":1083,"title":{},"content":{"28":{}},"tags":{}}],["googl",{"_index":588,"title":{},"content":{"8":{},"9":{},"10":{},"11":{},"12":{},"37":{}},"tags":{}}],["grab",{"_index":1001,"title":{},"content":{"23":{}},"tags":{}}],["graphic",{"_index":703,"title":{},"content":{"15":{}},"tags":{}}],["grate",{"_index":114,"title":{},"content":{"1":{},"2":{},"19":{},"26":{}},"tags":{}}],["gratitud",{"_index":665,"title":{},"content":{"14":{},"17":{},"18":{}},"tags":{"17":{}}}],["great",{"_index":484,"title":{},"content":{"4":{},"16":{},"17":{},"33":{}},"tags":{}}],["greatli",{"_index":178,"title":{},"content":{"3":{}},"tags":{}}],["ground",{"_index":1258,"title":{},"content":{"36":{}},"tags":{}}],["group",{"_index":243,"title":{},"content":{"2":{},"21":{}},"tags":{}}],["grow",{"_index":561,"title":{},"content":{"6":{},"17":{},"19":{}},"tags":{}}],["growth",{"_index":454,"title":{},"content":{"4":{}},"tags":{}}],["guid",{"_index":1325,"title":{},"content":{"39":{}},"tags":{}}],["guy",{"_index":10,"title":{},"content":{"1":{},"15":{},"19":{},"20":{}},"tags":{}}],["halloween",{"_index":1309,"title":{},"content":{"38":{}},"tags":{}}],["handl",{"_index":294,"title":{},"content":{"2":{}},"tags":{}}],["happen",{"_index":398,"title":{},"content":{"4":{},"18":{},"19":{},"26":{},"33":{}},"tags":{}}],["happi",{"_index":227,"title":{},"content":{"3":{},"4":{},"19":{},"25":{},"30":{}},"tags":{}}],["harass",{"_index":237,"title":{"2":{}},"content":{"2":{}},"tags":{"2":{}}}],["harbor",{"_index":519,"title":{"11":{}},"content":{"6":{},"11":{}},"tags":{"5":{}}}],["harborapp.d",{"_index":613,"title":{},"content":{"11":{}},"tags":{}}],["hard",{"_index":301,"title":{},"content":{"2":{},"4":{},"17":{},"25":{},"36":{}},"tags":{}}],["harm",{"_index":541,"title":{},"content":{"6":{}},"tags":{}}],["have",{"_index":1025,"title":{},"content":{"26":{}},"tags":{}}],["haven't",{"_index":793,"title":{},"content":{"17":{}},"tags":{}}],["head",{"_index":675,"title":{},"content":{"14":{},"16":{},"19":{},"25":{}},"tags":{}}],["health",{"_index":96,"title":{},"content":{"1":{}},"tags":{}}],["health monitor",{"_index":145,"title":{},"content":{},"tags":{"1":{}}}],["hear",{"_index":490,"title":{},"content":{"4":{},"13":{},"14":{}},"tags":{}}],["heart",{"_index":927,"title":{},"content":{"19":{},"26":{}},"tags":{}}],["heartfelt",{"_index":803,"title":{},"content":{"17":{},"18":{}},"tags":{}}],["heavi",{"_index":1121,"title":{},"content":{"29":{}},"tags":{}}],["hello",{"_index":155,"title":{},"content":{"3":{},"18":{},"19":{},"36":{}},"tags":{}}],["help",{"_index":160,"title":{"18":{}},"content":{"2":{},"3":{},"6":{},"17":{},"18":{},"19":{},"21":{},"28":{},"30":{},"40":{}},"tags":{}}],["here",{"_index":563,"title":{},"content":{"6":{},"14":{},"17":{},"18":{},"19":{},"23":{},"24":{},"25":{},"28":{},"30":{}},"tags":{}}],["here'",{"_index":535,"title":{},"content":{"6":{},"19":{},"21":{}},"tags":{}}],["here’",{"_index":1293,"title":{},"content":{"38":{}},"tags":{}}],["hey",{"_index":9,"title":{},"content":{"1":{},"2":{},"4":{},"5":{},"15":{},"16":{},"17":{},"20":{},"25":{},"26":{},"30":{},"31":{}},"tags":{}}],["highli",{"_index":106,"title":{},"content":{"1":{},"17":{},"25":{}},"tags":{}}],["highlight",{"_index":898,"title":{},"content":{"19":{}},"tags":{}}],["hit",{"_index":886,"title":{},"content":{"19":{},"39":{}},"tags":{}}],["holodeck",{"_index":1166,"title":{},"content":{"25":{}},"tags":{}}],["home",{"_index":1027,"title":{},"content":{"26":{}},"tags":{}}],["hope",{"_index":134,"title":{},"content":{"1":{},"2":{},"18":{},"34":{},"40":{}},"tags":{}}],["hopefulli",{"_index":1118,"title":{},"content":{"29":{}},"tags":{}}],["horizon",{"_index":885,"title":{},"content":{"19":{}},"tags":{}}],["host",{"_index":4,"title":{"1":{}},"content":{"1":{},"4":{},"13":{},"14":{},"17":{},"26":{}},"tags":{}}],["hostabl",{"_index":1018,"title":{},"content":{"26":{}},"tags":{}}],["hoster",{"_index":961,"title":{},"content":{"19":{}},"tags":{}}],["https://api.rawg.io/api",{"_index":1233,"title":{},"content":{"33":{}},"tags":{}}],["https://forms.gle/cysurg6bqmxcxe3b8",{"_index":226,"title":{},"content":{"3":{}},"tags":{}}],["humbl",{"_index":315,"title":{},"content":{"2":{}},"tags":{}}],["hybrid model",{"_index":498,"title":{},"content":{},"tags":{"4":{}}}],["idea",{"_index":659,"title":{},"content":{"14":{},"18":{},"33":{}},"tags":{}}],["ident",{"_index":618,"title":{},"content":{"11":{}},"tags":{}}],["igdb",{"_index":1194,"title":{"31":{}},"content":{"32":{}},"tags":{"31":{}}}],["igdb'",{"_index":1212,"title":{},"content":{"32":{}},"tags":{}}],["igdb/twitch",{"_index":1277,"title":{},"content":{"37":{}},"tags":{}}],["imag",{"_index":904,"title":{},"content":{"19":{},"23":{},"37":{}},"tags":{}}],["imagin",{"_index":1029,"title":{},"content":{"26":{}},"tags":{}}],["immens",{"_index":769,"title":{},"content":{"17":{}},"tags":{}}],["impact",{"_index":333,"title":{},"content":{"2":{}},"tags":{}}],["implement",{"_index":95,"title":{"33":{}},"content":{"1":{},"18":{},"19":{},"33":{}},"tags":{}}],["import",{"_index":156,"title":{"24":{}},"content":{"2":{},"3":{},"4":{},"5":{}},"tags":{}}],["importantli",{"_index":1187,"title":{},"content":{"30":{}},"tags":{}}],["impos",{"_index":42,"title":{},"content":{"1":{}},"tags":{}}],["improv",{"_index":224,"title":{},"content":{"2":{},"3":{},"4":{},"6":{},"19":{},"30":{},"37":{},"38":{}},"tags":{"2":{},"30":{}}}],["incept",{"_index":1181,"title":{},"content":{"30":{}},"tags":{}}],["includ",{"_index":554,"title":{},"content":{"6":{},"25":{},"28":{},"30":{}},"tags":{}}],["inclus",{"_index":192,"title":{},"content":{"2":{},"3":{}},"tags":{"3":{}}}],["incorpor",{"_index":839,"title":{},"content":{"18":{}},"tags":{}}],["incorrect",{"_index":1200,"title":{},"content":{"31":{}},"tags":{}}],["incred",{"_index":329,"title":{},"content":{"2":{},"17":{},"18":{},"25":{},"30":{},"37":{},"38":{}},"tags":{}}],["indefinit",{"_index":431,"title":{},"content":{"4":{}},"tags":{}}],["index",{"_index":82,"title":{},"content":{"1":{}},"tags":{}}],["indi",{"_index":1047,"title":{},"content":{"26":{}},"tags":{}}],["individu",{"_index":244,"title":{},"content":{"2":{}},"tags":{}}],["influenc",{"_index":640,"title":{},"content":{"13":{}},"tags":{}}],["info",{"_index":1285,"title":{"39":{}},"content":{"37":{}},"tags":{}}],["inform",{"_index":261,"title":{},"content":{"2":{},"6":{},"17":{}},"tags":{}}],["infrastructur",{"_index":1111,"title":{},"content":{"28":{}},"tags":{}}],["innov",{"_index":1174,"title":{},"content":{"25":{}},"tags":{}}],["input",{"_index":188,"title":{},"content":{"2":{},"3":{},"4":{},"18":{},"30":{}},"tags":{}}],["inspir",{"_index":772,"title":{},"content":{"17":{},"18":{},"19":{}},"tags":{}}],["instal",{"_index":759,"title":{"17":{}},"content":{"17":{},"19":{},"23":{}},"tags":{}}],["installation pipelin",{"_index":822,"title":{},"content":{},"tags":{"17":{}}}],["instanc",{"_index":433,"title":{},"content":{"4":{}},"tags":{}}],["instead",{"_index":1222,"title":{},"content":{"33":{},"37":{}},"tags":{}}],["instruct",{"_index":1327,"title":{},"content":{"39":{}},"tags":{}}],["integr",{"_index":1102,"title":{},"content":{"25":{},"28":{},"33":{}},"tags":{}}],["intellig",{"_index":1282,"title":{},"content":{"37":{}},"tags":{}}],["intent",{"_index":480,"title":{},"content":{"4":{}},"tags":{}}],["interact",{"_index":991,"title":{},"content":{"21":{}},"tags":{}}],["interfac",{"_index":1101,"title":{},"content":{"25":{},"28":{}},"tags":{}}],["intern",{"_index":637,"title":{},"content":{"13":{}},"tags":{}}],["introduc",{"_index":0,"title":{"1":{}},"content":{"13":{},"18":{},"33":{},"34":{},"37":{}},"tags":{}}],["intuit",{"_index":643,"title":{},"content":{"13":{},"25":{}},"tags":{}}],["invalu",{"_index":804,"title":{},"content":{"17":{},"18":{}},"tags":{}}],["invest",{"_index":1064,"title":{},"content":{"26":{}},"tags":{}}],["invit",{"_index":111,"title":{},"content":{"1":{},"17":{},"18":{}},"tags":{}}],["involv",{"_index":870,"title":{},"content":{"18":{}},"tags":{}}],["isn't",{"_index":327,"title":{},"content":{"2":{},"4":{},"26":{}},"tags":{}}],["issu",{"_index":252,"title":{},"content":{"2":{},"17":{},"18":{},"31":{},"32":{}},"tags":{}}],["it'",{"_index":392,"title":{},"content":{"4":{},"16":{},"17":{},"19":{},"26":{},"28":{},"30":{},"31":{}},"tags":{}}],["jellyfin",{"_index":54,"title":{},"content":{"1":{},"4":{}},"tags":{}}],["job",{"_index":474,"title":{},"content":{"4":{},"26":{}},"tags":{}}],["join",{"_index":127,"title":{"20":{},"22":{}},"content":{"1":{},"16":{},"17":{},"18":{},"19":{},"29":{}},"tags":{}}],["journey",{"_index":135,"title":{},"content":{"1":{},"14":{},"17":{},"18":{},"25":{},"30":{}},"tags":{}}],["joy",{"_index":303,"title":{},"content":{"2":{},"25":{}},"tags":{}}],["juggl",{"_index":1049,"title":{},"content":{"26":{}},"tags":{}}],["juli",{"_index":215,"title":{},"content":{"3":{}},"tags":{}}],["justifi",{"_index":1063,"title":{},"content":{"26":{}},"tags":{}}],["kairubyt",{"_index":664,"title":{},"content":{"14":{}},"tags":{}}],["kanban",{"_index":852,"title":{},"content":{"18":{}},"tags":{}}],["kanban board",{"_index":874,"title":{},"content":{},"tags":{"18":{}}}],["keep",{"_index":449,"title":{},"content":{"4":{},"14":{},"17":{},"19":{},"28":{},"29":{},"40":{}},"tags":{}}],["key",{"_index":536,"title":{},"content":{"6":{},"18":{},"19":{},"30":{},"32":{}},"tags":{}}],["keyhol",{"_index":741,"title":{},"content":{"16":{}},"tags":{}}],["keyhole represent",{"_index":756,"title":{},"content":{},"tags":{"16":{}}}],["kick",{"_index":996,"title":{},"content":{"22":{}},"tags":{}}],["kind",{"_index":330,"title":{},"content":{"2":{},"14":{}},"tags":{}}],["kindli",{"_index":180,"title":{},"content":{"2":{},"3":{},"17":{},"18":{}},"tags":{}}],["knee",{"_index":925,"title":{},"content":{"19":{}},"tags":{}}],["know",{"_index":654,"title":{},"content":{"14":{},"18":{},"26":{}},"tags":{}}],["known",{"_index":620,"title":{},"content":{"11":{}},"tags":{}}],["kofi",{"_index":321,"title":{},"content":{"2":{}},"tags":{}}],["larg",{"_index":976,"title":{},"content":{"20":{},"26":{}},"tags":{}}],["last",{"_index":670,"title":{},"content":{"14":{},"22":{},"26":{},"31":{}},"tags":{}}],["lastli",{"_index":689,"title":{},"content":{"15":{}},"tags":{}}],["later",{"_index":1012,"title":{},"content":{"24":{}},"tags":{}}],["latest",{"_index":988,"title":{},"content":{"21":{},"40":{}},"tags":{}}],["launch",{"_index":68,"title":{},"content":{"1":{},"17":{},"20":{},"26":{},"30":{}},"tags":{}}],["launch/instal",{"_index":1315,"title":{},"content":{"38":{}},"tags":{}}],["left",{"_index":940,"title":{},"content":{"19":{}},"tags":{}}],["lemmi",{"_index":130,"title":{},"content":{"1":{},"15":{},"17":{}},"tags":{}}],["lemmy commun",{"_index":720,"title":{},"content":{},"tags":{"15":{}}}],["lemmy community launch",{"_index":826,"title":{},"content":{},"tags":{"17":{}}}],["lemmy forum",{"_index":148,"title":{},"content":{},"tags":{"1":{}}}],["let'",{"_index":345,"title":{},"content":{"2":{},"5":{},"16":{},"17":{},"19":{}},"tags":{}}],["li",{"_index":410,"title":{},"content":{"4":{}},"tags":{}}],["librari",{"_index":624,"title":{},"content":{"12":{},"19":{},"25":{}},"tags":{}}],["life",{"_index":334,"title":{},"content":{"2":{},"29":{}},"tags":{}}],["light",{"_index":510,"title":{},"content":{"5":{},"19":{},"28":{}},"tags":{}}],["like",{"_index":1228,"title":{},"content":{"33":{}},"tags":{}}],["limit",{"_index":841,"title":{},"content":{"18":{},"24":{},"40":{}},"tags":{}}],["link",{"_index":122,"title":{},"content":{"1":{},"3":{},"33":{}},"tags":{}}],["linkedin",{"_index":260,"title":{},"content":{"2":{}},"tags":{}}],["list",{"_index":1014,"title":{},"content":{"24":{}},"tags":{}}],["listen",{"_index":158,"title":{},"content":{"3":{}},"tags":{}}],["live",{"_index":795,"title":{},"content":{"17":{},"25":{}},"tags":{}}],["local",{"_index":469,"title":{},"content":{"4":{}},"tags":{}}],["log",{"_index":94,"title":{},"content":{"1":{},"23":{}},"tags":{}}],["logo",{"_index":679,"title":{"15":{}},"content":{"15":{},"16":{}},"tags":{}}],["logo concept discuss",{"_index":757,"title":{},"content":{},"tags":{"16":{}}}],["logo deciph",{"_index":754,"title":{},"content":{},"tags":{"16":{}}}],["long",{"_index":323,"title":{},"content":{"2":{},"4":{},"26":{},"28":{}},"tags":{}}],["longer",{"_index":478,"title":{},"content":{"4":{},"25":{}},"tags":{}}],["look",{"_index":359,"title":{"4":{},"19":{}},"content":{"4":{},"17":{},"19":{},"29":{},"38":{}},"tags":{}}],["loss",{"_index":466,"title":{},"content":{"4":{}},"tags":{}}],["lot",{"_index":806,"title":{},"content":{"17":{},"19":{},"33":{}},"tags":{}}],["love",{"_index":770,"title":{},"content":{"17":{},"33":{},"35":{}},"tags":{}}],["love for gamevault",{"_index":820,"title":{},"content":{},"tags":{"17":{}}}],["loyal",{"_index":1054,"title":{},"content":{"26":{}},"tags":{}}],["ly",{"_index":1026,"title":{},"content":{"26":{}},"tags":{}}],["made",{"_index":309,"title":{},"content":{"2":{},"14":{}},"tags":{}}],["main",{"_index":447,"title":{},"content":{"4":{}},"tags":{}}],["mainli",{"_index":860,"title":{},"content":{"18":{}},"tags":{}}],["maintain",{"_index":295,"title":{},"content":{"2":{},"4":{},"26":{}},"tags":{}}],["major",{"_index":1248,"title":{"36":{},"38":{}},"content":{},"tags":{}}],["make",{"_index":165,"title":{},"content":{"2":{},"3":{},"4":{},"6":{},"11":{},"15":{},"17":{},"18":{},"19":{},"25":{},"28":{},"29":{},"30":{},"32":{},"33":{},"34":{},"35":{},"37":{},"38":{},"40":{}},"tags":{}}],["manag",{"_index":625,"title":{},"content":{"12":{},"17":{},"34":{},"38":{}},"tags":{}}],["mani",{"_index":835,"title":{},"content":{"18":{}},"tags":{}}],["markdown",{"_index":1318,"title":{},"content":{"38":{}},"tags":{}}],["market",{"_index":576,"title":{"7":{}},"content":{"6":{},"11":{},"14":{},"25":{},"26":{}},"tags":{}}],["market analysi",{"_index":521,"title":{},"content":{},"tags":{"5":{}}}],["massiv",{"_index":1147,"title":{},"content":{"25":{},"36":{}},"tags":{}}],["master",{"_index":271,"title":{},"content":{"2":{}},"tags":{}}],["matter",{"_index":207,"title":{},"content":{"3":{}},"tags":{}}],["mean",{"_index":337,"title":{},"content":{"2":{},"4":{},"26":{}},"tags":{}}],["meantim",{"_index":674,"title":{},"content":{"14":{},"15":{}},"tags":{}}],["measur",{"_index":293,"title":{},"content":{"2":{}},"tags":{}}],["media",{"_index":1300,"title":{},"content":{"38":{}},"tags":{}}],["meet",{"_index":371,"title":{},"content":{"4":{},"18":{},"24":{}},"tags":{}}],["member",{"_index":277,"title":{},"content":{"2":{},"4":{},"17":{},"18":{},"19":{},"24":{},"33":{}},"tags":{}}],["memor",{"_index":647,"title":{},"content":{"13":{}},"tags":{}}],["mention",{"_index":573,"title":{},"content":{"6":{},"14":{},"19":{},"31":{}},"tags":{}}],["metadata",{"_index":86,"title":{"32":{}},"content":{"1":{},"31":{},"32":{},"37":{}},"tags":{"1":{},"31":{}}}],["metadata framework",{"_index":1262,"title":{},"content":{},"tags":{"36":{}}}],["metadata—if",{"_index":1284,"title":{},"content":{"37":{}},"tags":{}}],["metro",{"_index":1161,"title":{},"content":{"25":{}},"tags":{}}],["microsoft",{"_index":729,"title":{"25":{}},"content":{"16":{},"17":{},"23":{},"25":{}},"tags":{}}],["microsoft stor",{"_index":981,"title":{},"content":{},"tags":{"20":{}}}],["microsoft store publ",{"_index":750,"title":{},"content":{},"tags":{"16":{}}}],["migrat",{"_index":678,"title":{"15":{},"16":{}},"content":{"15":{},"16":{},"25":{},"37":{},"39":{}},"tags":{}}],["migration fin",{"_index":724,"title":{},"content":{},"tags":{"15":{}}}],["mile",{"_index":863,"title":{},"content":{"18":{}},"tags":{}}],["mileston",{"_index":763,"title":{},"content":{"17":{}},"tags":{}}],["million",{"_index":444,"title":{},"content":{"4":{}},"tags":{}}],["mimick",{"_index":1220,"title":{},"content":{"33":{}},"tags":{}}],["mind",{"_index":1036,"title":{},"content":{"26":{},"29":{}},"tags":{}}],["minim",{"_index":189,"title":{},"content":{"3":{},"33":{}},"tags":{}}],["mobil",{"_index":1146,"title":{},"content":{"25":{}},"tags":{}}],["mockup",{"_index":935,"title":{},"content":{"19":{}},"tags":{}}],["mod",{"_index":922,"title":{},"content":{"19":{}},"tags":{}}],["model",{"_index":1068,"title":{},"content":{"26":{}},"tags":{}}],["moder",{"_index":289,"title":{},"content":{"2":{}},"tags":{}}],["modern",{"_index":942,"title":{},"content":{"19":{}},"tags":{}}],["modifi",{"_index":369,"title":{},"content":{"4":{}},"tags":{}}],["moment",{"_index":373,"title":{},"content":{"4":{},"18":{},"25":{}},"tags":{}}],["monet",{"_index":455,"title":{},"content":{"4":{}},"tags":{}}],["monetari",{"_index":326,"title":{},"content":{"2":{}},"tags":{}}],["monitor",{"_index":97,"title":{},"content":{"1":{}},"tags":{}}],["month",{"_index":1138,"title":{},"content":{"25":{},"36":{},"37":{}},"tags":{}}],["monthli",{"_index":1055,"title":{},"content":{"26":{},"28":{},"30":{}},"tags":{}}],["more",{"_index":49,"title":{},"content":{"1":{},"3":{},"4":{},"17":{},"19":{},"25":{},"28":{},"30":{},"32":{},"38":{}},"tags":{}}],["moreov",{"_index":272,"title":{},"content":{"2":{},"18":{}},"tags":{}}],["mostli",{"_index":836,"title":{},"content":{"18":{}},"tags":{}}],["motiv",{"_index":325,"title":{},"content":{"2":{},"6":{},"28":{}},"tags":{"2":{}}}],["move",{"_index":807,"title":{},"content":{"17":{},"34":{},"37":{}},"tags":{}}],["much",{"_index":869,"title":{},"content":{"18":{},"33":{},"36":{},"37":{}},"tags":{}}],["multi",{"_index":91,"title":{},"content":{"1":{}},"tags":{}}],["multi-user authent",{"_index":143,"title":{},"content":{},"tags":{"1":{}}}],["multipl",{"_index":1050,"title":{},"content":{"26":{}},"tags":{}}],["mysteri",{"_index":738,"title":{},"content":{"16":{}},"tags":{}}],["name",{"_index":153,"title":{"3":{},"5":{}},"content":{"2":{},"3":{},"4":{},"5":{},"6":{},"10":{},"13":{},"14":{},"15":{},"16":{}},"tags":{}}],["name migration progress",{"_index":715,"title":{},"content":{},"tags":{"15":{}}}],["namedpip",{"_index":1100,"title":{},"content":{"28":{}},"tags":{}}],["narr",{"_index":281,"title":{},"content":{"2":{}},"tags":{}}],["natur",{"_index":360,"title":{"4":{}},"content":{},"tags":{}}],["navig",{"_index":780,"title":{},"content":{"17":{},"25":{}},"tags":{}}],["nearli",{"_index":694,"title":{},"content":{"15":{}},"tags":{}}],["necessarili",{"_index":1084,"title":{},"content":{"28":{}},"tags":{}}],["need",{"_index":108,"title":{},"content":{"1":{},"3":{},"4":{},"18":{},"21":{},"25":{},"26":{},"28":{},"29":{}},"tags":{}}],["neg",{"_index":280,"title":{},"content":{"2":{}},"tags":{}}],["negative narr",{"_index":352,"title":{},"content":{},"tags":{"2":{}}}],["neglect",{"_index":472,"title":{},"content":{"4":{}},"tags":{}}],["network",{"_index":736,"title":{},"content":{"16":{}},"tags":{}}],["never",{"_index":1028,"title":{},"content":{"25":{},"26":{}},"tags":{}}],["nevertheless",{"_index":882,"title":{},"content":{"19":{}},"tags":{}}],["new",{"_index":150,"title":{"3":{},"5":{},"15":{},"31":{},"32":{},"34":{},"37":{},"38":{}},"content":{"3":{},"5":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"25":{},"26":{},"28":{},"33":{},"34":{},"36":{},"37":{},"38":{},"39":{}},"tags":{}}],["new logo",{"_index":722,"title":{},"content":{},"tags":{"15":{}}}],["new nam",{"_index":229,"title":{},"content":{},"tags":{"3":{}}}],["new name announc",{"_index":522,"title":{},"content":{},"tags":{"5":{}}}],["newslett",{"_index":671,"title":{},"content":{"14":{}},"tags":{}}],["next",{"_index":629,"title":{"13":{},"29":{}},"content":{"15":{},"24":{},"29":{},"30":{}},"tags":{}}],["nice",{"_index":1088,"title":{},"content":{"28":{}},"tags":{}}],["note",{"_index":1008,"title":{"24":{}},"content":{"38":{}},"tags":{"36":{}}}],["noth",{"_index":458,"title":{},"content":{"4":{}},"tags":{}}],["notif",{"_index":865,"title":{},"content":{"18":{}},"tags":{}}],["notifi",{"_index":1133,"title":{},"content":{"29":{}},"tags":{}}],["november upd",{"_index":973,"title":{},"content":{},"tags":{"19":{}}}],["now",{"_index":29,"title":{"20":{},"25":{},"30":{}},"content":{"1":{},"3":{},"4":{},"6":{},"15":{},"16":{},"17":{},"19":{},"25":{},"28":{},"30":{},"33":{},"34":{},"37":{},"38":{}},"tags":{}}],["number",{"_index":1009,"title":{},"content":{"24":{},"37":{}},"tags":{}}],["oblig",{"_index":471,"title":{},"content":{"4":{}},"tags":{}}],["offer",{"_index":56,"title":{},"content":{"1":{},"3":{},"4":{},"8":{},"26":{},"28":{},"30":{},"40":{}},"tags":{}}],["offici",{"_index":764,"title":{},"content":{"17":{},"30":{},"32":{},"37":{}},"tags":{}}],["official instal",{"_index":818,"title":{},"content":{},"tags":{"17":{}}}],["offlin",{"_index":74,"title":{},"content":{"1":{}},"tags":{}}],["old",{"_index":634,"title":{},"content":{"13":{}},"tags":{}}],["older",{"_index":1321,"title":{},"content":{"39":{}},"tags":{}}],["on",{"_index":382,"title":{},"content":{"4":{},"10":{},"13":{},"22":{},"26":{},"28":{},"33":{},"37":{},"40":{}},"tags":{}}],["onc",{"_index":713,"title":{},"content":{"15":{},"19":{},"29":{}},"tags":{}}],["ongo",{"_index":771,"title":{},"content":{"17":{},"18":{}},"tags":{}}],["onlin",{"_index":601,"title":{},"content":{"9":{}},"tags":{}}],["open",{"_index":51,"title":{},"content":{"1":{},"2":{},"4":{},"15":{},"29":{},"30":{}},"tags":{}}],["open-sourc",{"_index":495,"title":{},"content":{},"tags":{"4":{}}}],["opencollect",{"_index":438,"title":{},"content":{"4":{}},"tags":{}}],["opinion",{"_index":845,"title":{},"content":{"18":{}},"tags":{}}],["opportun",{"_index":559,"title":{},"content":{"6":{},"24":{}},"tags":{}}],["opposit",{"_index":1021,"title":{},"content":{"26":{}},"tags":{}}],["optim",{"_index":894,"title":{},"content":{"19":{},"30":{},"37":{}},"tags":{}}],["option",{"_index":1066,"title":{},"content":{"26":{}},"tags":{}}],["order",{"_index":453,"title":{},"content":{"4":{}},"tags":{}}],["organ",{"_index":851,"title":{},"content":{"18":{}},"tags":{}}],["origin",{"_index":24,"title":{},"content":{"1":{}},"tags":{}}],["other",{"_index":419,"title":{},"content":{"4":{},"17":{},"26":{}},"tags":{}}],["our",{"_index":595,"title":{},"content":{"8":{}},"tags":{}}],["ourselv",{"_index":633,"title":{},"content":{"13":{},"26":{}},"tags":{}}],["out",{"_index":789,"title":{"30":{}},"content":{"17":{},"19":{},"26":{},"28":{},"32":{},"39":{}},"tags":{}}],["outsid",{"_index":639,"title":{},"content":{"13":{}},"tags":{}}],["over",{"_index":60,"title":{},"content":{"1":{},"4":{},"5":{},"14":{},"17":{},"19":{},"25":{},"37":{},"38":{}},"tags":{}}],["overhaul",{"_index":1305,"title":{},"content":{"38":{}},"tags":{}}],["overwhelm",{"_index":1040,"title":{},"content":{"26":{}},"tags":{}}],["ownership",{"_index":648,"title":{},"content":{"13":{}},"tags":{}}],["page",{"_index":439,"title":{},"content":{"4":{},"28":{}},"tags":{}}],["pagin",{"_index":103,"title":{},"content":{"1":{}},"tags":{}}],["parent",{"_index":1295,"title":{},"content":{"38":{}},"tags":{}}],["parental control",{"_index":1264,"title":{},"content":{},"tags":{"36":{}}}],["part",{"_index":799,"title":{},"content":{"17":{},"18":{},"19":{},"20":{},"21":{},"25":{}},"tags":{}}],["parti",{"_index":1104,"title":{},"content":{"28":{},"37":{}},"tags":{}}],["particip",{"_index":175,"title":{},"content":{"3":{},"6":{},"14":{},"18":{},"23":{}},"tags":{}}],["particular",{"_index":1024,"title":{},"content":{"26":{}},"tags":{}}],["partnership",{"_index":1126,"title":{"31":{}},"content":{"29":{},"30":{},"32":{},"37":{}},"tags":{"30":{},"31":{}}}],["pass",{"_index":1156,"title":{},"content":{"25":{}},"tags":{}}],["passion",{"_index":132,"title":{},"content":{"1":{},"18":{},"40":{}},"tags":{}}],["password",{"_index":1240,"title":{},"content":{"34":{}},"tags":{}}],["past",{"_index":14,"title":{},"content":{"1":{}},"tags":{}}],["patienc",{"_index":1290,"title":{},"content":{"37":{}},"tags":{}}],["paus",{"_index":1238,"title":{},"content":{"34":{}},"tags":{}}],["pay",{"_index":896,"title":{},"content":{"19":{},"26":{}},"tags":{}}],["pc",{"_index":1140,"title":{},"content":{"25":{}},"tags":{}}],["peak",{"_index":1202,"title":{},"content":{"31":{}},"tags":{}}],["peek",{"_index":934,"title":{},"content":{"19":{},"21":{}},"tags":{}}],["penni",{"_index":958,"title":{},"content":{"19":{}},"tags":{}}],["peopl",{"_index":531,"title":{},"content":{"6":{},"26":{}},"tags":{}}],["per",{"_index":437,"title":{},"content":{"4":{}},"tags":{}}],["perform",{"_index":1186,"title":{},"content":{"30":{}},"tags":{}}],["period",{"_index":1241,"title":{},"content":{"34":{}},"tags":{}}],["person",{"_index":417,"title":{},"content":{"4":{},"17":{}},"tags":{}}],["perspect",{"_index":482,"title":{},"content":{"4":{}},"tags":{}}],["pet",{"_index":1171,"title":{},"content":{"25":{}},"tags":{}}],["phalcod",{"_index":1085,"title":{},"content":{"28":{},"35":{}},"tags":{}}],["phalcode/gamevault",{"_index":1002,"title":{},"content":{"23":{}},"tags":{}}],["phase",{"_index":995,"title":{},"content":{"22":{},"30":{},"37":{}},"tags":{}}],["phone",{"_index":1135,"title":{"25":{}},"content":{"25":{}},"tags":{}}],["pictur",{"_index":1095,"title":{},"content":{"28":{},"30":{},"35":{}},"tags":{}}],["piec",{"_index":746,"title":{},"content":{"16":{},"37":{}},"tags":{}}],["ping",{"_index":794,"title":{},"content":{"17":{}},"tags":{}}],["pipelin",{"_index":778,"title":{},"content":{"17":{}},"tags":{}}],["piraci",{"_index":539,"title":{},"content":{"6":{}},"tags":{}}],["place",{"_index":313,"title":{},"content":{"2":{},"26":{}},"tags":{}}],["plan",{"_index":850,"title":{},"content":{"18":{},"28":{},"30":{},"32":{},"33":{}},"tags":{}}],["platform",{"_index":6,"title":{"1":{}},"content":{"1":{},"3":{},"16":{},"18":{},"25":{},"26":{},"30":{}},"tags":{"18":{},"30":{}}}],["platform valu",{"_index":234,"title":{},"content":{},"tags":{"3":{}}}],["platform'",{"_index":163,"title":{},"content":{"3":{}},"tags":{}}],["play",{"_index":35,"title":{},"content":{"1":{},"17":{}},"tags":{}}],["playabl",{"_index":1297,"title":{},"content":{"38":{}},"tags":{}}],["player",{"_index":1301,"title":{},"content":{"38":{}},"tags":{}}],["playnit",{"_index":1106,"title":{},"content":{"28":{}},"tags":{}}],["playtim",{"_index":70,"title":{},"content":{"1":{}},"tags":{}}],["pleas",{"_index":126,"title":{"18":{}},"content":{"1":{},"3":{},"4":{},"6":{},"17":{},"35":{},"39":{}},"tags":{}}],["plex",{"_index":405,"title":{},"content":{"4":{}},"tags":{}}],["plug",{"_index":1209,"title":{},"content":{"32":{}},"tags":{}}],["plugin",{"_index":1276,"title":{},"content":{"37":{}},"tags":{}}],["plugin system",{"_index":1263,"title":{},"content":{},"tags":{"36":{}}}],["podcast",{"_index":667,"title":{},"content":{"14":{}},"tags":{}}],["point",{"_index":256,"title":{},"content":{"2":{}},"tags":{}}],["polish",{"_index":844,"title":{},"content":{"18":{},"29":{}},"tags":{}}],["poll",{"_index":169,"title":{},"content":{"2":{},"3":{},"5":{},"6":{},"18":{},"19":{},"29":{},"32":{}},"tags":{"3":{},"18":{}}}],["poll result",{"_index":514,"title":{},"content":{},"tags":{"5":{}}}],["pop",{"_index":1291,"title":{},"content":{"37":{}},"tags":{}}],["popular",{"_index":434,"title":{},"content":{"4":{},"9":{},"12":{}},"tags":{}}],["posit",{"_index":332,"title":{},"content":{"2":{}},"tags":{}}],["possibl",{"_index":328,"title":{},"content":{"2":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"35":{},"37":{}},"tags":{}}],["post",{"_index":205,"title":{},"content":{"3":{},"15":{},"17":{},"31":{}},"tags":{}}],["potenti",{"_index":171,"title":{},"content":{"3":{},"29":{}},"tags":{}}],["pour",{"_index":833,"title":{},"content":{"18":{},"26":{}},"tags":{}}],["power",{"_index":1139,"title":{},"content":{"25":{}},"tags":{}}],["prefer",{"_index":1210,"title":{},"content":{"32":{}},"tags":{}}],["premium",{"_index":1087,"title":{},"content":{"28":{},"30":{},"40":{}},"tags":{}}],["prerequisit",{"_index":1000,"title":{"23":{}},"content":{},"tags":{}}],["present",{"_index":481,"title":{},"content":{"4":{}},"tags":{}}],["prevent",{"_index":418,"title":{},"content":{"4":{}},"tags":{}}],["previou",{"_index":687,"title":{},"content":{"15":{}},"tags":{}}],["primari",{"_index":473,"title":{},"content":{"4":{}},"tags":{}}],["primarili",{"_index":1211,"title":{},"content":{"32":{}},"tags":{}}],["priorit",{"_index":831,"title":{"18":{}},"content":{"18":{},"24":{},"37":{}},"tags":{}}],["probabl",{"_index":1119,"title":{},"content":{"29":{}},"tags":{}}],["problem",{"_index":1023,"title":{},"content":{"26":{},"31":{}},"tags":{}}],["proceed",{"_index":580,"title":{},"content":{"6":{}},"tags":{}}],["process",{"_index":167,"title":{},"content":{"3":{},"5":{},"13":{},"17":{}},"tags":{}}],["product",{"_index":464,"title":{"36":{}},"content":{"4":{},"26":{},"28":{},"36":{}},"tags":{}}],["profil",{"_index":1094,"title":{},"content":{"28":{},"30":{},"35":{}},"tags":{}}],["profit",{"_index":420,"title":{},"content":{"4":{}},"tags":{}}],["program",{"_index":975,"title":{"20":{},"21":{}},"content":{"20":{},"24":{}},"tags":{}}],["progress",{"_index":71,"title":{},"content":{"1":{},"2":{},"15":{},"19":{},"29":{}},"tags":{}}],["project",{"_index":154,"title":{"3":{}},"content":{"2":{},"3":{},"4":{},"18":{},"19":{},"26":{},"28":{},"40":{}},"tags":{}}],["project'",{"_index":658,"title":{},"content":{"14":{}},"tags":{}}],["promot",{"_index":733,"title":{},"content":{"16":{},"19":{}},"tags":{}}],["promptli",{"_index":285,"title":{},"content":{"2":{}},"tags":{}}],["protect",{"_index":412,"title":{},"content":{"4":{},"34":{}},"tags":{}}],["provid",{"_index":44,"title":{"32":{}},"content":{"1":{},"3":{},"4":{},"6":{},"17":{},"32":{},"37":{}},"tags":{}}],["public",{"_index":310,"title":{},"content":{"2":{}},"tags":{"2":{}}}],["publish",{"_index":728,"title":{},"content":{"16":{}},"tags":{}}],["purpos",{"_index":390,"title":{},"content":{"4":{},"13":{}},"tags":{}}],["push",{"_index":773,"title":{},"content":{"17":{},"25":{}},"tags":{}}],["puzzl",{"_index":1157,"title":{},"content":{"25":{}},"tags":{}}],["q&a",{"_index":1110,"title":{},"content":{"28":{}},"tags":{}}],["qualiti",{"_index":1230,"title":{},"content":{"33":{}},"tags":{}}],["question",{"_index":124,"title":{},"content":{"1":{},"2":{}},"tags":{}}],["quick",{"_index":677,"title":{"15":{}},"content":{"25":{},"38":{}},"tags":{}}],["quit",{"_index":655,"title":{},"content":{"14":{},"26":{}},"tags":{}}],["r/phalcod",{"_index":691,"title":{},"content":{"15":{}},"tags":{}}],["racism",{"_index":265,"title":{},"content":{"2":{}},"tags":{}}],["racist",{"_index":298,"title":{},"content":{"2":{}},"tags":{"2":{}}}],["random",{"_index":911,"title":{},"content":{"19":{}},"tags":{}}],["rate",{"_index":813,"title":{},"content":{"17":{}},"tags":{}}],["rawg",{"_index":89,"title":{"31":{},"33":{}},"content":{"1":{},"29":{},"32":{},"33":{},"37":{}},"tags":{"31":{}}}],["rawg api",{"_index":144,"title":{},"content":{},"tags":{"1":{}}}],["rawg.io",{"_index":1196,"title":{},"content":{"31":{}},"tags":{}}],["rawg_api_url",{"_index":1224,"title":{},"content":{"33":{}},"tags":{}}],["reach",{"_index":762,"title":{},"content":{"17":{},"39":{}},"tags":{}}],["read",{"_index":787,"title":{},"content":{"17":{}},"tags":{}}],["readabl",{"_index":1320,"title":{},"content":{"38":{}},"tags":{}}],["realli",{"_index":1244,"title":{},"content":{"35":{}},"tags":{}}],["reason",{"_index":267,"title":{},"content":{"2":{}},"tags":{}}],["receiv",{"_index":273,"title":{},"content":{"2":{},"26":{}},"tags":{}}],["recent",{"_index":915,"title":{},"content":{"19":{},"32":{},"34":{}},"tags":{}}],["recogn",{"_index":381,"title":{},"content":{"4":{},"6":{}},"tags":{}}],["recommend",{"_index":546,"title":{},"content":{"6":{},"17":{}},"tags":{}}],["reddit",{"_index":129,"title":{},"content":{"1":{},"6":{}},"tags":{}}],["reddit forum",{"_index":147,"title":{},"content":{},"tags":{"1":{}}}],["redesign",{"_index":917,"title":{},"content":{"19":{},"38":{}},"tags":{}}],["redirect",{"_index":686,"title":{},"content":{"15":{},"33":{}},"tags":{}}],["reel",{"_index":899,"title":{},"content":{"19":{}},"tags":{}}],["refactor",{"_index":1128,"title":{},"content":{"29":{},"30":{}},"tags":{}}],["referr",{"_index":801,"title":{},"content":{"17":{}},"tags":{}}],["refin",{"_index":843,"title":{},"content":{"18":{},"28":{},"30":{}},"tags":{}}],["reflect",{"_index":162,"title":{},"content":{"3":{}},"tags":{}}],["refresh",{"_index":1306,"title":{},"content":{"38":{}},"tags":{}}],["regard",{"_index":692,"title":{},"content":{"15":{},"26":{}},"tags":{}}],["regardless",{"_index":72,"title":{},"content":{"1":{}},"tags":{}}],["regist",{"_index":650,"title":{},"content":{"13":{}},"tags":{}}],["registr",{"_index":1201,"title":{},"content":{"31":{}},"tags":{}}],["regular",{"_index":990,"title":{},"content":{"21":{}},"tags":{}}],["regularli",{"_index":796,"title":{},"content":{"17":{},"28":{}},"tags":{}}],["relat",{"_index":538,"title":{},"content":{"6":{},"11":{}},"tags":{}}],["releas",{"_index":672,"title":{},"content":{"14":{},"17":{},"19":{},"21":{},"25":{},"26":{},"29":{},"34":{},"36":{}},"tags":{"30":{}}}],["reli",{"_index":344,"title":{},"content":{"2":{},"26":{}},"tags":{}}],["reliabl",{"_index":948,"title":{},"content":{"19":{}},"tags":{}}],["relianc",{"_index":1122,"title":{},"content":{"29":{}},"tags":{}}],["remain",{"_index":696,"title":{},"content":{"15":{},"19":{},"28":{},"33":{}},"tags":{}}],["rememb",{"_index":342,"title":{},"content":{"2":{},"19":{}},"tags":{}}],["remov",{"_index":1013,"title":{},"content":{"24":{},"32":{}},"tags":{}}],["renam",{"_index":548,"title":{},"content":{"6":{}},"tags":{}}],["renaming app",{"_index":515,"title":{},"content":{},"tags":{"5":{}}}],["replac",{"_index":1214,"title":{"33":{}},"content":{"33":{}},"tags":{}}],["report",{"_index":118,"title":{},"content":{"1":{},"2":{},"18":{},"19":{}},"tags":{}}],["repositori",{"_index":1033,"title":{},"content":{"26":{}},"tags":{}}],["repres",{"_index":209,"title":{},"content":{"3":{},"15":{},"16":{}},"tags":{}}],["reput",{"_index":1185,"title":{},"content":{"30":{}},"tags":{}}],["request",{"_index":119,"title":{},"content":{"1":{},"2":{},"3":{},"17":{},"18":{},"19":{}},"tags":{}}],["requir",{"_index":425,"title":{},"content":{"4":{},"19":{},"24":{},"33":{},"39":{}},"tags":{}}],["reson",{"_index":584,"title":{},"content":{"6":{},"26":{}},"tags":{}}],["resourc",{"_index":426,"title":{},"content":{"4":{}},"tags":{}}],["respect",{"_index":341,"title":{},"content":{"2":{},"6":{}},"tags":{}}],["respons",{"_index":1038,"title":{},"content":{"26":{}},"tags":{}}],["restor",{"_index":909,"title":{},"content":{"19":{}},"tags":{}}],["restrict",{"_index":41,"title":{},"content":{"1":{},"38":{}},"tags":{}}],["result",{"_index":212,"title":{},"content":{"3":{},"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"19":{},"31":{}},"tags":{}}],["resum",{"_index":726,"title":{},"content":{"16":{},"34":{}},"tags":{}}],["reveal",{"_index":711,"title":{},"content":{"15":{}},"tags":{}}],["revenu",{"_index":452,"title":{},"content":{"4":{}},"tags":{}}],["revenue gener",{"_index":500,"title":{},"content":{},"tags":{"4":{}}}],["revolution",{"_index":779,"title":{},"content":{"17":{}},"tags":{}}],["rewrit",{"_index":943,"title":{},"content":{"19":{}},"tags":{}}],["ride",{"_index":1115,"title":{},"content":{"28":{}},"tags":{}}],["right",{"_index":311,"title":{},"content":{"2":{},"17":{},"18":{},"19":{}},"tags":{}}],["rigor",{"_index":1288,"title":{},"content":{"37":{}},"tags":{}}],["roadmap",{"_index":840,"title":{},"content":{"18":{}},"tags":{"18":{}}}],["role",{"_index":792,"title":{},"content":{"17":{},"18":{}},"tags":{}}],["roll",{"_index":956,"title":{},"content":{"19":{},"28":{}},"tags":{}}],["rom",{"_index":919,"title":{},"content":{"19":{}},"tags":{}}],["room",{"_index":1108,"title":{},"content":{"28":{}},"tags":{}}],["rough",{"_index":1116,"title":{},"content":{"29":{}},"tags":{}}],["rugpul",{"_index":1075,"title":{},"content":{"28":{}},"tags":{}}],["run",{"_index":866,"title":{},"content":{"18":{},"23":{},"37":{},"39":{}},"tags":{}}],["rundown",{"_index":1294,"title":{},"content":{"38":{}},"tags":{}}],["safe",{"_index":296,"title":{},"content":{"2":{}},"tags":{}}],["safe environ",{"_index":353,"title":{},"content":{},"tags":{"2":{}}}],["save",{"_index":1286,"title":{},"content":{"37":{}},"tags":{}}],["savvi",{"_index":782,"title":{},"content":{"17":{}},"tags":{}}],["say",{"_index":1081,"title":{},"content":{"28":{},"30":{}},"tags":{}}],["scammi",{"_index":1073,"title":{},"content":{"28":{}},"tags":{}}],["scene",{"_index":400,"title":{},"content":{"4":{},"26":{}},"tags":{}}],["scraper",{"_index":1273,"title":{},"content":{"37":{}},"tags":{}}],["scratch",{"_index":1249,"title":{"36":{}},"content":{},"tags":{}}],["scratch—there’",{"_index":1257,"title":{},"content":{"36":{}},"tags":{}}],["seamless",{"_index":1159,"title":{},"content":{"25":{}},"tags":{}}],["seamlessli",{"_index":701,"title":{},"content":{"15":{},"32":{}},"tags":{}}],["search",{"_index":100,"title":{},"content":{"1":{},"2":{},"8":{},"9":{},"10":{},"11":{},"12":{},"31":{}},"tags":{}}],["season",{"_index":1311,"title":{},"content":{"38":{}},"tags":{}}],["secur",{"_index":66,"title":{},"content":{"1":{},"13":{}},"tags":{}}],["see",{"_index":364,"title":{},"content":{"4":{},"18":{},"25":{},"28":{},"29":{}},"tags":{}}],["seem",{"_index":1042,"title":{},"content":{"26":{}},"tags":{}}],["select",{"_index":181,"title":{},"content":{"3":{}},"tags":{}}],["self",{"_index":3,"title":{"1":{}},"content":{"1":{},"4":{},"13":{},"14":{},"17":{},"19":{},"26":{}},"tags":{}}],["self-host",{"_index":139,"title":{},"content":{},"tags":{"1":{},"30":{}}}],["self-hosted newslett",{"_index":526,"title":{},"content":{},"tags":{"5":{}}}],["selfhost",{"_index":666,"title":{},"content":{"14":{}},"tags":{}}],["selfhosted podcast",{"_index":525,"title":{},"content":{},"tags":{"5":{}}}],["sell",{"_index":421,"title":{},"content":{"4":{}},"tags":{}}],["separ",{"_index":1287,"title":{},"content":{"37":{}},"tags":{}}],["server",{"_index":40,"title":{},"content":{"1":{},"2":{},"4":{},"13":{},"14":{},"15":{},"16":{},"17":{},"23":{},"26":{},"33":{},"35":{},"36":{},"38":{},"39":{}},"tags":{}}],["server upd",{"_index":1261,"title":{},"content":{},"tags":{"36":{}}}],["server'",{"_index":64,"title":{},"content":{"1":{}},"tags":{}}],["servic",{"_index":1062,"title":{},"content":{"26":{},"31":{}},"tags":{}}],["set",{"_index":685,"title":{},"content":{"15":{},"19":{},"40":{}},"tags":{}}],["shadi",{"_index":1072,"title":{},"content":{"28":{}},"tags":{}}],["shape",{"_index":176,"title":{},"content":{"3":{},"18":{},"30":{}},"tags":{}}],["share",{"_index":28,"title":{},"content":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"14":{},"15":{},"16":{},"17":{},"25":{}},"tags":{}}],["sharing blog post",{"_index":827,"title":{},"content":{},"tags":{"17":{}}}],["shed",{"_index":509,"title":{},"content":{"5":{}},"tags":{}}],["ship",{"_index":939,"title":{},"content":{"19":{}},"tags":{}}],["shortli",{"_index":652,"title":{},"content":{"13":{}},"tags":{}}],["shoutout",{"_index":663,"title":{},"content":{"14":{},"15":{},"26":{}},"tags":{}}],["showcas",{"_index":891,"title":{},"content":{"19":{}},"tags":{}}],["signifi",{"_index":745,"title":{},"content":{"16":{}},"tags":{}}],["signific",{"_index":442,"title":{},"content":{"4":{},"6":{},"17":{},"32":{}},"tags":{}}],["silenc",{"_index":1019,"title":{},"content":{"26":{}},"tags":{}}],["silverlight",{"_index":1137,"title":{"25":{}},"content":{"25":{}},"tags":{}}],["similar",{"_index":594,"title":{},"content":{"8":{}},"tags":{}}],["simpl",{"_index":812,"title":{},"content":{"17":{},"26":{}},"tags":{}}],["simpli",{"_index":1155,"title":{},"content":{"25":{}},"tags":{}}],["simplifi",{"_index":783,"title":{},"content":{"17":{}},"tags":{}}],["simplifying game instal",{"_index":823,"title":{},"content":{},"tags":{"17":{}}}],["simultan",{"_index":744,"title":{},"content":{"16":{}},"tags":{}}],["sincer",{"_index":218,"title":{},"content":{"3":{}},"tags":{}}],["site",{"_index":628,"title":{},"content":{"12":{}},"tags":{}}],["situat",{"_index":254,"title":{},"content":{"2":{},"31":{}},"tags":{}}],["six",{"_index":1250,"title":{},"content":{"36":{}},"tags":{}}],["skin",{"_index":1312,"title":{},"content":{"38":{}},"tags":{}}],["slack",{"_index":945,"title":{},"content":{"19":{},"26":{}},"tags":{}}],["sleeker",{"_index":931,"title":{},"content":{"19":{},"38":{}},"tags":{}}],["slight",{"_index":1065,"title":{},"content":{"26":{}},"tags":{}}],["slightli",{"_index":377,"title":{},"content":{"4":{}},"tags":{}}],["slot",{"_index":1010,"title":{},"content":{"24":{}},"tags":{}}],["small",{"_index":318,"title":{},"content":{"2":{},"4":{},"17":{},"26":{},"28":{},"30":{}},"tags":{}}],["smooth",{"_index":1324,"title":{},"content":{"39":{}},"tags":{}}],["smoother",{"_index":1160,"title":{},"content":{"25":{}},"tags":{}}],["snag",{"_index":1329,"title":{},"content":{"39":{}},"tags":{}}],["sneak",{"_index":933,"title":{},"content":{"19":{},"21":{}},"tags":{}}],["social",{"_index":735,"title":{},"content":{"16":{}},"tags":{}}],["softwar",{"_index":366,"title":{},"content":{"4":{}},"tags":{"26":{}}}],["software develop",{"_index":496,"title":{},"content":{},"tags":{"4":{}}}],["software licens",{"_index":499,"title":{},"content":{},"tags":{"4":{}}}],["software upd",{"_index":965,"title":{},"content":{},"tags":{"19":{}}}],["sole",{"_index":429,"title":{},"content":{"4":{},"6":{},"17":{},"26":{}},"tags":{}}],["solut",{"_index":46,"title":{"31":{},"33":{}},"content":{"1":{},"26":{},"29":{},"33":{}},"tags":{"31":{}}}],["someth",{"_index":811,"title":{},"content":{"17":{},"19":{},"37":{}},"tags":{}}],["sometim",{"_index":401,"title":{},"content":{"4":{}},"tags":{}}],["soon",{"_index":505,"title":{"26":{}},"content":{"5":{},"13":{},"15":{},"16":{},"17":{},"19":{},"25":{},"29":{}},"tags":{}}],["sort",{"_index":102,"title":{},"content":{"1":{}},"tags":{}}],["sought",{"_index":641,"title":{},"content":{"13":{}},"tags":{}}],["soul",{"_index":1051,"title":{},"content":{"26":{}},"tags":{}}],["sound",{"_index":626,"title":{},"content":{"12":{}},"tags":{}}],["soundtrack",{"_index":921,"title":{},"content":{"19":{}},"tags":{}}],["sourc",{"_index":17,"title":{"4":{}},"content":{"1":{},"3":{},"4":{},"37":{}},"tags":{}}],["source-avail",{"_index":138,"title":{},"content":{},"tags":{"1":{},"3":{}}}],["source-available softwar",{"_index":494,"title":{},"content":{},"tags":{"4":{}}}],["spam",{"_index":251,"title":{},"content":{"2":{}},"tags":{"2":{}}}],["spare",{"_index":1053,"title":{},"content":{"26":{}},"tags":{}}],["special",{"_index":653,"title":{"14":{}},"content":{"14":{}},"tags":{}}],["special thank",{"_index":524,"title":{},"content":{},"tags":{"5":{}}}],["specif",{"_index":1082,"title":{},"content":{"28":{}},"tags":{}}],["specul",{"_index":708,"title":{},"content":{"15":{}},"tags":{"15":{}}}],["speed",{"_index":881,"title":{},"content":{"19":{}},"tags":{}}],["spill",{"_index":949,"title":{},"content":{"19":{}},"tags":{}}],["spooki",{"_index":1310,"title":{},"content":{"38":{}},"tags":{}}],["sporad",{"_index":1060,"title":{},"content":{"26":{}},"tags":{}}],["spot",{"_index":883,"title":{},"content":{"19":{}},"tags":{}}],["spread",{"_index":279,"title":{},"content":{"2":{},"6":{},"16":{},"17":{}},"tags":{}}],["spreading the word",{"_index":753,"title":{},"content":{},"tags":{"16":{},"17":{}}}],["stabl",{"_index":989,"title":{},"content":{"21":{}},"tags":{}}],["stand",{"_index":346,"title":{},"content":{"2":{}},"tags":{}}],["standpoint",{"_index":669,"title":{},"content":{"14":{}},"tags":{}}],["start",{"_index":1175,"title":{},"content":{"25":{},"30":{}},"tags":{}}],["startup",{"_index":1069,"title":{},"content":{},"tags":{"26":{}}}],["starv",{"_index":1172,"title":{},"content":{"25":{}},"tags":{}}],["stat",{"_index":77,"title":{},"content":{"1":{}},"tags":{}}],["state",{"_index":78,"title":{},"content":{"1":{}},"tags":{}}],["stay",{"_index":220,"title":{},"content":{"3":{},"14":{},"17":{},"19":{},"29":{},"30":{}},"tags":{}}],["steam",{"_index":23,"title":{},"content":{"1":{},"26":{},"33":{}},"tags":{"31":{}}}],["still",{"_index":936,"title":{},"content":{"19":{}},"tags":{}}],["stop",{"_index":1183,"title":{},"content":{"30":{},"33":{}},"tags":{}}],["store",{"_index":730,"title":{},"content":{"16":{},"17":{},"23":{},"25":{}},"tags":{}}],["strategi",{"_index":1207,"title":{"32":{}},"content":{},"tags":{}}],["streamlin",{"_index":1317,"title":{},"content":{"38":{}},"tags":{}}],["stress",{"_index":867,"title":{},"content":{"18":{}},"tags":{}}],["strictli",{"_index":476,"title":{},"content":{"4":{}},"tags":{}}],["strive",{"_index":463,"title":{},"content":{"4":{},"26":{}},"tags":{}}],["submit",{"_index":340,"title":{},"content":{"2":{}},"tags":{}}],["subreddit",{"_index":690,"title":{},"content":{"15":{}},"tags":{}}],["subreddit migr",{"_index":719,"title":{},"content":{},"tags":{"15":{}}}],["subscrib",{"_index":791,"title":{},"content":{"17":{},"28":{},"40":{}},"tags":{}}],["subscript",{"_index":1067,"title":{},"content":{"26":{}},"tags":{"30":{}}}],["subscription model",{"_index":1070,"title":{},"content":{},"tags":{"26":{}}}],["subscription to updates rol",{"_index":825,"title":{},"content":{},"tags":{"17":{}}}],["success",{"_index":343,"title":{},"content":{"2":{},"17":{},"18":{}},"tags":{"2":{}}}],["successfulli",{"_index":681,"title":{},"content":{"15":{},"16":{}},"tags":{}}],["such",{"_index":307,"title":{},"content":{"2":{},"4":{}},"tags":{}}],["suddenli",{"_index":1216,"title":{},"content":{"33":{}},"tags":{}}],["suggest",{"_index":172,"title":{},"content":{"3":{},"13":{},"14":{},"17":{},"18":{},"30":{}},"tags":{}}],["suit",{"_index":107,"title":{},"content":{"1":{}},"tags":{}}],["suitabl",{"_index":616,"title":{},"content":{"11":{}},"tags":{}}],["summar",{"_index":586,"title":{},"content":{"6":{}},"tags":{}}],["summari",{"_index":528,"title":{"6":{}},"content":{"6":{}},"tags":{}}],["support",{"_index":120,"title":{"35":{},"40":{}},"content":{"1":{},"2":{},"3":{},"4":{},"14":{},"17":{},"19":{},"24":{},"25":{},"26":{},"28":{},"29":{},"30":{},"32":{},"34":{},"37":{},"38":{},"40":{}},"tags":{"2":{}}}],["support request",{"_index":828,"title":{},"content":{},"tags":{"17":{}}}],["sure",{"_index":790,"title":{},"content":{"17":{},"19":{},"29":{},"33":{},"37":{}},"tags":{}}],["surg",{"_index":731,"title":{},"content":{"16":{}},"tags":{}}],["surge of new us",{"_index":751,"title":{},"content":{},"tags":{"16":{}}}],["surround",{"_index":1148,"title":{},"content":{"25":{}},"tags":{}}],["sustain",{"_index":428,"title":{},"content":{"4":{},"26":{},"30":{}},"tags":{"30":{}}}],["swap",{"_index":1274,"title":{},"content":{"37":{}},"tags":{}}],["switch",{"_index":1145,"title":{},"content":{"25":{},"33":{}},"tags":{}}],["symbol",{"_index":742,"title":{},"content":{"16":{}},"tags":{}}],["system",{"_index":83,"title":{},"content":{"1":{},"28":{},"32":{},"37":{}},"tags":{}}],["tab",{"_index":918,"title":{},"content":{"19":{},"38":{}},"tags":{}}],["tag",{"_index":87,"title":{},"content":{"1":{},"33":{}},"tags":{}}],["take",{"_index":291,"title":{},"content":{"2":{},"4":{},"13":{},"18":{},"19":{},"33":{}},"tags":{}}],["taken",{"_index":376,"title":{},"content":{"4":{}},"tags":{}}],["task",{"_index":697,"title":{},"content":{"15":{},"18":{},"19":{}},"tags":{}}],["tax",{"_index":470,"title":{},"content":{"4":{}},"tags":{}}],["team",{"_index":11,"title":{},"content":{"1":{},"2":{},"18":{},"25":{},"26":{}},"tags":{}}],["teaser",{"_index":937,"title":{},"content":{"19":{}},"tags":{}}],["tech",{"_index":781,"title":{},"content":{"17":{}},"tags":{}}],["tech progress",{"_index":969,"title":{},"content":{},"tags":{"19":{}}}],["technic",{"_index":941,"title":{},"content":{"19":{}},"tags":{}}],["technolog",{"_index":1142,"title":{},"content":{"25":{}},"tags":{}}],["temporari",{"_index":1192,"title":{"31":{},"33":{}},"content":{},"tags":{}}],["term",{"_index":467,"title":{},"content":{"4":{},"6":{},"9":{},"26":{}},"tags":{}}],["test",{"_index":699,"title":{},"content":{"15":{},"19":{},"21":{},"24":{},"25":{},"28":{},"33":{},"37":{}},"tags":{"15":{}}}],["tester",{"_index":1005,"title":{},"content":{"23":{}},"tags":{}}],["text",{"_index":99,"title":{},"content":{"1":{}},"tags":{}}],["thank",{"_index":349,"title":{"14":{}},"content":{"2":{},"14":{},"18":{},"19":{},"25":{},"28":{},"29":{},"30":{},"35":{},"40":{}},"tags":{}}],["that'",{"_index":848,"title":{},"content":{"18":{},"30":{}},"tags":{}}],["theme",{"_index":1097,"title":{},"content":{"28":{},"30":{},"38":{}},"tags":{"36":{}}}],["theori",{"_index":709,"title":{},"content":{"15":{}},"tags":{}}],["there'",{"_index":592,"title":{},"content":{"8":{},"11":{},"19":{},"26":{}},"tags":{}}],["therefor",{"_index":475,"title":{},"content":{"4":{}},"tags":{}}],["they'll",{"_index":802,"title":{},"content":{"17":{}},"tags":{}}],["thing",{"_index":1007,"title":{},"content":{"23":{}},"tags":{}}],["think",{"_index":53,"title":{},"content":{"1":{},"4":{},"28":{}},"tags":{}}],["third",{"_index":767,"title":{},"content":{"17":{},"37":{}},"tags":{}}],["those",{"_index":47,"title":{},"content":{"1":{}},"tags":{}}],["though",{"_index":955,"title":{},"content":{"19":{},"35":{}},"tags":{}}],["thought",{"_index":486,"title":{},"content":{"4":{},"13":{},"14":{},"16":{},"26":{}},"tags":{}}],["thousand",{"_index":1041,"title":{},"content":{"26":{}},"tags":{}}],["threat",{"_index":351,"title":{},"content":{},"tags":{"2":{}}}],["threaten",{"_index":247,"title":{},"content":{"2":{}},"tags":{}}],["three",{"_index":914,"title":{},"content":{"19":{}},"tags":{}}],["thrill",{"_index":109,"title":{},"content":{"1":{},"5":{},"17":{},"25":{},"26":{},"30":{}},"tags":{}}],["through",{"_index":430,"title":{},"content":{"4":{},"17":{},"19":{},"25":{},"30":{},"34":{}},"tags":{}}],["thumb",{"_index":853,"title":{},"content":{"18":{}},"tags":{}}],["ticket",{"_index":984,"title":{},"content":{"21":{},"32":{}},"tags":{}}],["tile",{"_index":1162,"title":{},"content":{"25":{}},"tags":{}}],["time",{"_index":707,"title":{},"content":{"15":{},"18":{},"25":{},"26":{},"33":{},"38":{},"40":{}},"tags":{}}],["timelin",{"_index":847,"title":{},"content":{"18":{}},"tags":{}}],["timer",{"_index":1169,"title":{},"content":{"25":{}},"tags":{}}],["tip",{"_index":1061,"title":{},"content":{"26":{}},"tags":{}}],["tirelessli",{"_index":13,"title":{},"content":{"1":{}},"tags":{}}],["today",{"_index":113,"title":{},"content":{"1":{},"4":{},"25":{},"26":{},"28":{},"30":{},"33":{}},"tags":{}}],["togeth",{"_index":37,"title":{},"content":{"1":{},"2":{},"3":{},"17":{},"18":{}},"tags":{}}],["ton",{"_index":946,"title":{},"content":{"19":{}},"tags":{}}],["tool",{"_index":1105,"title":{},"content":{"28":{},"37":{}},"tags":{}}],["top",{"_index":564,"title":{},"content":{"6":{},"19":{},"37":{}},"tags":{}}],["topic",{"_index":488,"title":{},"content":{"4":{}},"tags":{}}],["total",{"_index":529,"title":{},"content":{"6":{}},"tags":{}}],["touch",{"_index":963,"title":{},"content":{"19":{},"25":{}},"tags":{}}],["toward",{"_index":249,"title":{},"content":{"2":{},"26":{}},"tags":{}}],["toylerrr",{"_index":1218,"title":{},"content":{"33":{}},"tags":{}}],["track",{"_index":36,"title":{},"content":{"1":{}},"tags":{}}],["tracker",{"_index":253,"title":{},"content":{"2":{},"18":{}},"tags":{}}],["tradit",{"_index":20,"title":{},"content":{"1":{},"4":{}},"tags":{}}],["trailer",{"_index":1303,"title":{},"content":{"38":{}},"tags":{}}],["transit",{"_index":502,"title":{},"content":{"5":{},"13":{},"14":{},"34":{}},"tags":{}}],["transition process",{"_index":527,"title":{},"content":{},"tags":{"5":{}}}],["transpar",{"_index":394,"title":{},"content":{"4":{}},"tags":{"4":{}}}],["travel",{"_index":1215,"title":{},"content":{"33":{}},"tags":{}}],["tri",{"_index":112,"title":{},"content":{"1":{},"17":{}},"tags":{}}],["trivial",{"_index":266,"title":{},"content":{"2":{}},"tags":{}}],["troll",{"_index":238,"title":{"2":{}},"content":{"2":{}},"tags":{"2":{}}}],["truli",{"_index":137,"title":{},"content":{"1":{},"3":{},"4":{},"18":{},"19":{}},"tags":{}}],["trust",{"_index":1011,"title":{},"content":{"24":{},"26":{},"32":{}},"tags":{}}],["tune",{"_index":221,"title":{},"content":{"3":{},"14":{},"17":{},"19":{},"21":{},"29":{},"30":{}},"tags":{}}],["tweak",{"_index":1112,"title":{},"content":{"28":{},"37":{}},"tags":{}}],["twitch.tv",{"_index":1205,"title":{},"content":{"32":{}},"tags":{"31":{}}}],["two",{"_index":462,"title":{},"content":{"4":{},"10":{},"26":{}},"tags":{}}],["ui",{"_index":916,"title":{},"content":{"19":{},"20":{},"38":{}},"tags":{}}],["ui redesign",{"_index":967,"title":{},"content":{},"tags":{"19":{}}}],["ui upd",{"_index":978,"title":{},"content":{},"tags":{"20":{}}}],["ultim",{"_index":872,"title":{},"content":{"18":{}},"tags":{}}],["unauthor",{"_index":413,"title":{},"content":{"4":{}},"tags":{}}],["unawar",{"_index":396,"title":{},"content":{"4":{}},"tags":{}}],["under",{"_index":547,"title":{},"content":{"6":{},"13":{},"18":{}},"tags":{}}],["understand",{"_index":350,"title":{},"content":{"2":{},"4":{},"6":{},"13":{},"17":{},"25":{}},"tags":{}}],["unexpectedli",{"_index":1039,"title":{},"content":{"26":{}},"tags":{}}],["unfold",{"_index":673,"title":{},"content":{"14":{}},"tags":{}}],["unfortun",{"_index":305,"title":{},"content":{"2":{},"31":{}},"tags":{}}],["uninstal",{"_index":902,"title":{},"content":{"19":{}},"tags":{}}],["uniqu",{"_index":45,"title":{},"content":{"1":{}},"tags":{}}],["unlimit",{"_index":1279,"title":{},"content":{"37":{}},"tags":{}}],["unmaintain",{"_index":1124,"title":{},"content":{"29":{},"31":{}},"tags":{}}],["unnecessari",{"_index":858,"title":{},"content":{"18":{}},"tags":{}}],["unreli",{"_index":1272,"title":{},"content":{"37":{}},"tags":{}}],["until",{"_index":714,"title":{},"content":{"15":{},"19":{},"28":{}},"tags":{}}],["unveil",{"_index":1252,"title":{},"content":{"36":{}},"tags":{}}],["up",{"_index":259,"title":{},"content":{"2":{},"14":{},"15":{},"16":{},"18":{},"19":{},"26":{},"30":{},"37":{}},"tags":{}}],["upcom",{"_index":760,"title":{"17":{}},"content":{"17":{},"20":{},"21":{},"26":{},"28":{}},"tags":{}}],["upcoming upd",{"_index":821,"title":{},"content":{},"tags":{"17":{}}}],["updat",{"_index":222,"title":{"15":{},"36":{},"39":{}},"content":{"2":{},"3":{},"4":{},"5":{},"14":{},"15":{},"17":{},"19":{},"20":{},"21":{},"29":{},"30":{},"33":{},"34":{},"36":{},"38":{},"39":{}},"tags":{"30":{},"31":{}}}],["upgrad",{"_index":1242,"title":{},"content":{"35":{}},"tags":{}}],["upload",{"_index":903,"title":{},"content":{"19":{},"28":{}},"tags":{}}],["upon",{"_index":809,"title":{},"content":{"17":{}},"tags":{}}],["up—mastillk",{"_index":1292,"title":{},"content":{"37":{}},"tags":{}}],["urgent",{"_index":1120,"title":{},"content":{"29":{}},"tags":{}}],["uri",{"_index":1099,"title":{},"content":{"28":{}},"tags":{}}],["url",{"_index":1223,"title":{},"content":{"33":{}},"tags":{}}],["us",{"_index":31,"title":{},"content":{"1":{},"4":{},"6":{},"10":{},"15":{},"26":{},"28":{},"31":{},"32":{},"33":{},"39":{},"40":{}},"tags":{}}],["user",{"_index":79,"title":{},"content":{"1":{},"3":{},"4":{},"6":{},"16":{},"17":{},"18":{},"19":{},"25":{},"28":{},"32":{},"37":{},"38":{}},"tags":{}}],["user engag",{"_index":501,"title":{},"content":{},"tags":{"4":{}}}],["user particip",{"_index":232,"title":{},"content":{},"tags":{"3":{}}}],["usher",{"_index":930,"title":{},"content":{"19":{}},"tags":{}}],["usual",{"_index":893,"title":{},"content":{"19":{}},"tags":{}}],["util",{"_index":304,"title":{},"content":{"2":{}},"tags":{}}],["v1.12",{"_index":1254,"title":{},"content":{"36":{},"39":{}},"tags":{}}],["v12.1.0",{"_index":1236,"title":{},"content":{"33":{}},"tags":{}}],["v13",{"_index":1255,"title":{},"content":{"36":{},"39":{}},"tags":{}}],["valu",{"_index":164,"title":{},"content":{"3":{},"4":{},"18":{}},"tags":{}}],["valuabl",{"_index":225,"title":{},"content":{"2":{},"3":{},"4":{},"6":{},"33":{}},"tags":{}}],["variabl",{"_index":1226,"title":{},"content":{"33":{}},"tags":{}}],["varieti",{"_index":182,"title":{},"content":{"3":{}},"tags":{}}],["vast",{"_index":1154,"title":{},"content":{"25":{}},"tags":{}}],["vault",{"_index":740,"title":{},"content":{"16":{}},"tags":{}}],["vault.d",{"_index":599,"title":{},"content":{"9":{}},"tags":{}}],["vendor",{"_index":1213,"title":{},"content":{"32":{}},"tags":{}}],["veri",{"_index":504,"title":{},"content":{"5":{},"11":{},"26":{}},"tags":{}}],["version",{"_index":887,"title":{},"content":{"19":{},"25":{},"26":{},"39":{}},"tags":{}}],["video",{"_index":1127,"title":{},"content":{"29":{},"30":{},"32":{},"34":{},"37":{},"38":{}},"tags":{}}],["video gam",{"_index":1190,"title":{},"content":{},"tags":{"30":{}}}],["videogam",{"_index":55,"title":{},"content":{"1":{},"19":{},"26":{},"31":{}},"tags":{"31":{}}}],["view",{"_index":932,"title":{},"content":{"19":{}},"tags":{}}],["viewabl",{"_index":1298,"title":{},"content":{"38":{}},"tags":{}}],["viewer",{"_index":609,"title":{},"content":{"10":{}},"tags":{}}],["virtual",{"_index":1034,"title":{},"content":{"25":{},"26":{}},"tags":{}}],["vision",{"_index":585,"title":{},"content":{"6":{},"17":{}},"tags":{}}],["voic",{"_index":206,"title":{},"content":{"3":{}},"tags":{}}],["volunt",{"_index":465,"title":{},"content":{"4":{}},"tags":{}}],["vote",{"_index":202,"title":{},"content":{"3":{},"6":{},"14":{},"18":{},"29":{}},"tags":{"3":{},"18":{}}}],["wait",{"_index":507,"title":{},"content":{"5":{},"25":{},"28":{}},"tags":{}}],["want",{"_index":48,"title":{},"content":{"1":{},"4":{},"6":{},"14":{},"17":{},"18":{},"19":{},"20":{},"28":{},"30":{},"35":{},"37":{}},"tags":{}}],["warn",{"_index":1170,"title":{},"content":{"25":{}},"tags":{}}],["wasn't",{"_index":550,"title":{},"content":{"6":{}},"tags":{}}],["watch",{"_index":1302,"title":{},"content":{"38":{}},"tags":{}}],["wave",{"_index":928,"title":{},"content":{"19":{}},"tags":{}}],["way",{"_index":324,"title":{},"content":{"2":{},"4":{},"17":{},"19":{},"28":{},"30":{}},"tags":{}}],["we'd",{"_index":489,"title":{},"content":{"4":{}},"tags":{}}],["we'll",{"_index":710,"title":{},"content":{"15":{},"17":{},"19":{},"28":{},"29":{}},"tags":{}}],["we'r",{"_index":693,"title":{},"content":{"15":{},"17":{},"19":{},"20":{},"25":{},"26":{},"28":{},"30":{},"32":{},"33":{},"34":{}},"tags":{}}],["we'v",{"_index":375,"title":{},"content":{"4":{},"15":{},"16":{},"19":{},"25":{},"26":{},"31":{},"40":{}},"tags":{}}],["websit",{"_index":123,"title":{},"content":{"1":{},"29":{}},"tags":{}}],["week",{"_index":999,"title":{},"content":{"22":{},"29":{}},"tags":{}}],["weird",{"_index":661,"title":{},"content":{"14":{}},"tags":{}}],["welcom",{"_index":198,"title":{},"content":{"3":{},"16":{}},"tags":{}}],["well",{"_index":619,"title":{},"content":{"11":{},"14":{},"15":{},"18":{},"25":{},"28":{},"30":{}},"tags":{}}],["went",{"_index":257,"title":{},"content":{"2":{},"31":{}},"tags":{}}],["we’r",{"_index":1046,"title":{},"content":{"26":{},"36":{}},"tags":{}}],["we’v",{"_index":1270,"title":{},"content":{"37":{},"38":{}},"tags":{}}],["what'",{"_index":397,"title":{"13":{},"21":{},"29":{}},"content":{"4":{},"17":{},"19":{}},"tags":{}}],["what’",{"_index":1269,"title":{"37":{}},"content":{"38":{}},"tags":{}}],["whenev",{"_index":1107,"title":{},"content":{"28":{}},"tags":{}}],["wherev",{"_index":651,"title":{},"content":{"13":{},"25":{}},"tags":{}}],["whether",{"_index":73,"title":{},"content":{"1":{},"2":{},"17":{},"25":{}},"tags":{}}],["wide",{"_index":380,"title":{},"content":{"4":{}},"tags":{}}],["window",{"_index":1134,"title":{"25":{}},"content":{"25":{}},"tags":{}}],["winner",{"_index":567,"title":{},"content":{"6":{}},"tags":{}}],["winner(",{"_index":712,"title":{},"content":{"15":{}},"tags":{}}],["within",{"_index":1080,"title":{},"content":{"28":{},"30":{},"34":{}},"tags":{}}],["without",{"_index":422,"title":{},"content":{"4":{},"5":{},"6":{},"30":{},"37":{}},"tags":{}}],["woe",{"_index":1193,"title":{"31":{}},"content":{},"tags":{}}],["wonder",{"_index":407,"title":{},"content":{"4":{}},"tags":{}}],["won’t",{"_index":1322,"title":{},"content":{"39":{}},"tags":{}}],["word",{"_index":331,"title":{},"content":{"2":{},"6":{},"11":{},"16":{},"17":{}},"tags":{}}],["work",{"_index":12,"title":{},"content":{"1":{},"2":{},"4":{},"15":{},"17":{},"18":{},"19":{},"25":{},"29":{},"30":{},"33":{},"36":{},"39":{}},"tags":{}}],["world",{"_index":338,"title":{},"content":{"2":{},"25":{}},"tags":{}}],["wouldn't",{"_index":558,"title":{},"content":{"6":{}},"tags":{}}],["wpf",{"_index":944,"title":{},"content":{"19":{}},"tags":{}}],["wrap",{"_index":951,"title":{},"content":{"19":{}},"tags":{}}],["write",{"_index":1278,"title":{},"content":{"37":{}},"tags":{}}],["written",{"_index":947,"title":{},"content":{"19":{}},"tags":{}}],["wrong",{"_index":543,"title":{},"content":{"6":{},"26":{}},"tags":{}}],["year",{"_index":15,"title":{},"content":{"1":{},"4":{}},"tags":{}}],["you'll",{"_index":700,"title":{},"content":{"15":{},"21":{},"28":{},"30":{}},"tags":{}}],["you'r",{"_index":734,"title":{},"content":{"16":{},"17":{},"18":{},"19":{},"24":{},"25":{}},"tags":{}}],["you'v",{"_index":879,"title":{},"content":{"19":{},"25":{}},"tags":{}}],["you’d",{"_index":1330,"title":{},"content":{"40":{}},"tags":{}}]],"pipeline":["stemmer"]}} \ No newline at end of file +{"documents":[{"id":2,"pageTitle":"Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games","sectionTitle":"Introducing GameVault 🚀 - The self-hosted gaming platform for DRM-free games","sectionRoute":"/blog/2023/07/01/","type":"blog"},{"id":1,"pageTitle":"Choosing a New, Family-Friendly Name for this project!","sectionTitle":"Choosing a New, Family-Friendly Name for this project!","sectionRoute":"/blog/2023/07/08/","type":"blog"},{"id":4,"pageTitle":"Battling Harassment and Trolls in Our App Community","sectionTitle":"Battling Harassment and Trolls in Our App Community","sectionRoute":"/blog/2023/07/09/","type":"blog"},{"id":3,"pageTitle":"A Closer Look at GameVaults 'Source-Available' Nature","sectionTitle":"A Closer Look at GameVaults 'Source-Available' Nature","sectionRoute":"/blog/2023/07/13/","type":"blog"},{"id":5,"pageTitle":"A New Name","sectionTitle":"A New Name","sectionRoute":"/blog/2023/07/15/","type":"blog"},{"id":6,"pageTitle":"A New Name","sectionTitle":"Summary","sectionRoute":"/blog/2023/07/15/#summary","type":"blog"},{"id":7,"pageTitle":"A New Name","sectionTitle":"Market Analysis","sectionRoute":"/blog/2023/07/15/#market-analysis","type":"blog"},{"id":8,"pageTitle":"A New Name","sectionTitle":"1. GameStash","sectionRoute":"/blog/2023/07/15/#1-gamestash","type":"blog"},{"id":9,"pageTitle":"A New Name","sectionTitle":"2. GameVault","sectionRoute":"/blog/2023/07/15/#2-gamevault","type":"blog"},{"id":10,"pageTitle":"A New Name","sectionTitle":"3. GameShelf","sectionRoute":"/blog/2023/07/15/#3-gameshelf","type":"blog"},{"id":11,"pageTitle":"A New Name","sectionTitle":"4. Harbor","sectionRoute":"/blog/2023/07/15/#4-harbor","type":"blog"},{"id":12,"pageTitle":"A New Name","sectionTitle":"5. GameHub","sectionRoute":"/blog/2023/07/15/#5-gamehub","type":"blog"},{"id":13,"pageTitle":"A New Name","sectionTitle":"What's Next?","sectionRoute":"/blog/2023/07/15/#whats-next","type":"blog"},{"id":14,"pageTitle":"A New Name","sectionTitle":"Special Thanks ❤️","sectionRoute":"/blog/2023/07/15/#special-thanks-️","type":"blog"},{"id":17,"pageTitle":"Quick Migration Update and new Logo","sectionTitle":"Quick Migration Update and new Logo","sectionRoute":"/blog/2023/07/19/","type":"blog"},{"id":15,"pageTitle":"The Migrations are finally completed","sectionTitle":"The Migrations are finally completed","sectionRoute":"/blog/2023/07/20/","type":"blog"},{"id":16,"pageTitle":"Celebrating 600+ Installations and announcing the upcoming big feature","sectionTitle":"Celebrating 600+ Installations and announcing the upcoming big feature","sectionRoute":"/blog/2023/07/24/","type":"blog"},{"id":18,"pageTitle":"Please help us prioritize!","sectionTitle":"Please help us prioritize!","sectionRoute":"/blog/2023/07/29/","type":"blog"},{"id":19,"pageTitle":"A Look Back and a Glimpse Forward","sectionTitle":"A Look Back and a Glimpse Forward","sectionRoute":"/blog/2023/11/20/","type":"blog"},{"id":20,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"Join the GameVault Early-Access Program Now!","sectionRoute":"/blog/2023/12/09/","type":"blog"},{"id":21,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"What's the Early-Access Program?","sectionRoute":"/blog/2023/12/09/#whats-the-early-access-program","type":"blog"},{"id":22,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"How to Join","sectionRoute":"/blog/2023/12/09/#how-to-join","type":"blog"},{"id":23,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"Prerequisites","sectionRoute":"/blog/2023/12/09/#prerequisites","type":"blog"},{"id":24,"pageTitle":"Join the GameVault Early-Access Program Now!","sectionTitle":"Important Note","sectionRoute":"/blog/2023/12/09/#important-note","type":"blog"},{"id":25,"pageTitle":"Announcing GameVault+ (coming soon)","sectionTitle":"Announcing GameVault+ (coming soon)","sectionRoute":"/blog/2024/03/28/","type":"blog"},{"id":26,"pageTitle":"Announcing GameVault+ (coming soon)","sectionTitle":"GameVault+","sectionRoute":"/blog/2024/03/28/#gamevault","type":"blog"},{"id":27,"pageTitle":"Announcing GameVault+ (coming soon)","sectionTitle":"What is GameVault+?","sectionRoute":"/blog/2024/03/28/#what-is-gamevault","type":"blog"},{"id":28,"pageTitle":"Announcing GameVault+ (coming soon)","sectionTitle":"So what's next?","sectionRoute":"/blog/2024/03/28/#so-whats-next","type":"blog"},{"id":29,"pageTitle":"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!","sectionTitle":"GameVault Client is now available on Windows Phone 7 based on Microsoft Silverlight!","sectionRoute":"/blog/2024/04/01/2024-04-01/","type":"blog"},{"id":30,"pageTitle":"GameVault+ out now","sectionTitle":"GameVault+ out now","sectionRoute":"/blog/2024/04/14/","type":"blog"},{"id":31,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionRoute":"/blog/2024/05/07/","type":"blog"},{"id":32,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"GameVault's new metadata provider strategy","sectionRoute":"/blog/2024/05/07/#gamevaults-new-metadata-provider-strategy","type":"blog"},{"id":33,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"Temporary solution: Implementing a RAWG replacement","sectionRoute":"/blog/2024/05/07/#temporary-solution-implementing-a-rawg-replacement","type":"blog"},{"id":34,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"Exciting new features","sectionRoute":"/blog/2024/05/07/#exciting-new-features","type":"blog"},{"id":35,"pageTitle":"Temporary Solution to RAWG Woes, IGDB Partnership, and Exciting New Features!","sectionTitle":"Supporting GameVault","sectionRoute":"/blog/2024/05/07/#supporting-gamevault","type":"blog"},{"id":36,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"An update so major, we could have built the product from scratch.","sectionRoute":"/blog/2024/10/20/","type":"blog"},{"id":37,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"What’s New?","sectionRoute":"/blog/2024/10/20/#whats-new","type":"blog"},{"id":38,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"Major New Features","sectionRoute":"/blog/2024/10/20/#major-new-features","type":"blog"},{"id":39,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"Critical Update Info","sectionRoute":"/blog/2024/10/20/#critical-update-info","type":"blog"},{"id":40,"pageTitle":"An update so major, we could have built the product from scratch.","sectionTitle":"Support Us","sectionRoute":"/blog/2024/10/20/#support-us","type":"blog"}],"index":{"version":"2.3.9","fields":["title","content","tags"],"fieldVectors":[["title/2",[0,1.056,1,0.064,2,0.522,3,0.903,4,0.974,5,0.469,6,0.781,7,1.412,8,0.839]],["content/2",[1,0.191,3,1.613,4,1.741,5,0.963,6,2.055,7,1.644,8,1.824,9,0.794,10,1.476,11,1.342,12,1.139,13,2.211,14,2.211,15,1.869,16,2.523,17,2.059,18,2.045,19,2.059,20,3.489,21,2.211,22,1.231,23,1.476,24,2.211,25,2.211,26,2.211,27,0.742,28,1.303,29,0.532,30,1.139,31,1.481,32,2.211,33,1.869,34,0.762,35,3.489,36,3.391,37,1.342,38,1.342,39,2.523,40,1.36,41,1.869,42,2.211,43,1.231,44,1.613,45,2.211,46,1.135,47,2.211,48,0.794,49,1.396,50,2.868,51,1.888,52,2.868,53,1.644,54,1.869,55,1.342,56,1.613,57,1.342,58,1.135,59,1.135,60,0.977,61,1.824,62,1.869,63,1.869,64,2.211,65,1.644,66,1.869,67,1.644,68,1.342,69,0.91,70,2.211,71,1.342,72,2.211,73,1.476,74,2.211,75,1.476,76,1.869,77,2.211,78,2.211,79,1.385,80,0.571,81,1.869,82,2.211,83,1.476,84,1.135,85,2.211,86,1.135,87,1.869,88,2.211,89,1.051,90,1.741,91,2.211,92,2.211,93,3.391,94,1.869,95,1.342,96,2.211,97,2.211,98,1.644,99,2.211,100,1.051,101,2.211,102,2.211,103,2.211,104,1.869,105,1.644,106,1.644,107,2.211,108,0.977,109,1.231,110,1.476,111,1.644,112,1.869,113,1.135,114,1.476,115,1.135,116,0.695,117,1.231,118,1.476,119,1.231,120,0.431,121,1.342,122,2.523,123,1.869,124,1.869,125,1.869,126,1.051,127,1.613,128,0.569,129,1.869,130,1.644,131,2.211,132,1.644,133,1.231,134,1.342,135,1.231,136,1.869,137,1.342]],["tags/2",[1,0.061,5,0.281,19,1.097,86,0.927,90,0.927,138,1.527,139,1.527,140,1.806,141,1.806,142,1.806,143,1.806,144,1.806,145,1.806,146,1.806,147,1.806,148,1.806]],["title/1",[149,1.919,150,0.311,151,1.227,152,1.919,153,0.926,154,1.14]],["content/1",[5,0.727,6,2.246,16,3.477,17,2.407,18,1.752,22,1.517,28,1.047,29,0.655,30,0.915,37,1.654,44,1.296,49,1.122,56,1.296,61,1.204,79,0.915,108,1.204,115,1.399,116,1.246,119,1.517,120,0.774,122,2.949,126,1.296,128,0.701,133,1.517,137,1.654,149,2.949,150,0.564,151,1.886,152,2.949,153,2.162,154,1.204,155,1.82,156,1.654,157,1.331,158,2.724,159,2.304,160,1.047,161,1.517,162,2.724,163,2.724,164,2.026,165,0.831,166,2.026,167,1.82,168,2.026,169,1.925,170,2.724,171,2.304,172,1.517,173,2.026,174,2.724,175,1.654,176,2.026,177,1.399,178,2.724,179,2.207,180,1.82,181,3.964,182,2.724,183,1.654,184,3.964,185,2.724,186,2.304,187,2.724,188,1.654,189,2.304,190,2.724,191,2.304,192,2.026,193,2.724,194,1.204,195,2.304,196,2.724,197,1.399,198,2.304,199,2.304,200,2.304,201,2.724,202,2.036,203,2.724,204,2.026,205,1.82,206,2.724,207,2.724,208,1.296,209,2.026,210,2.304,211,2.724,212,1.122,213,1.82,214,1.82,215,2.724,216,2.724,217,2.724,218,2.724,219,1.654,220,1.517,221,1.399,222,0.494,223,1.122,224,1.122,225,1.654,226,2.724,227,1.654]],["tags/1",[1,0.061,34,0.406,116,0.567,138,1.527,157,0.606,169,0.744,192,1.343,202,0.927,228,1.806,229,1.806,230,1.806,231,1.806,232,1.806,233,1.806,234,1.806,235,1.806]],["title/4",[34,0.637,236,2.397,237,2.108,238,2.108,239,0.78]],["content/4",[1,0.075,2,0.61,9,0.796,11,1.346,12,1.141,19,1.346,28,1.588,30,0.745,34,0.929,37,1.346,40,0.999,51,1.235,61,0.98,69,1.4,71,1.346,73,1.481,80,0.373,100,1.055,114,1.481,115,1.139,117,1.235,118,2.761,119,1.892,120,0.807,124,1.875,128,0.875,134,1.346,153,0.796,154,1.827,156,1.346,160,0.852,161,1.235,165,0.465,166,1.649,169,0.913,179,1.235,180,1.481,183,1.346,188,1.346,192,1.649,199,1.875,219,2.064,222,0.402,223,1.4,224,0.913,225,1.346,237,1.649,238,3.075,239,1.137,240,1.875,241,1.481,242,2.874,243,1.875,244,4.133,245,1.892,246,1.875,247,3.399,248,2.874,249,1.875,250,1.875,251,1.875,252,2.064,253,2.874,254,2.874,255,2.217,256,2.217,257,1.875,258,1.875,259,1.503,260,2.217,261,1.649,262,2.217,263,2.217,264,2.217,265,2.217,266,2.217,267,2.217,268,2.217,269,1.892,270,1.346,271,2.217,272,1.875,273,1.875,274,1.875,275,1.875,276,1.875,277,1.139,278,2.217,279,1.481,280,2.217,281,2.217,282,2.217,283,2.217,284,1.481,285,2.217,286,4.133,287,1.649,288,2.27,289,2.217,290,1.875,291,1.235,292,1.875,293,2.217,294,2.217,295,2.529,296,2.217,297,1.875,298,1.875,299,0.796,300,1.481,301,1.346,302,1.875,303,1.875,304,2.217,305,1.875,306,1.649,307,1.875,308,2.217,309,2.874,310,1.875,311,1.481,312,1.139,313,1.875,314,1.649,315,2.217,316,1.875,317,2.217,318,1.235,319,2.217,320,2.217,321,2.217,322,1.235,323,1.481,324,1.235,325,1.481,326,2.217,327,1.649,328,0.98,329,1.139,330,1.875,331,1.346,332,3.399,333,2.217,334,1.875,335,1.649,336,1.139,337,1.649,338,1.875,339,1.346,340,2.217,341,1.875,342,1.875,343,1.481,344,1.875,345,1.346,346,2.217,347,1.875,348,1.139,349,0.852,350,1.235]],["tags/4",[117,0.83,120,0.291,224,0.614,237,1.109,238,1.109,239,0.41,245,0.83,246,1.26,251,1.26,298,1.26,299,0.535,310,1.26,325,0.995,343,0.995,351,1.49,352,1.49,353,1.49,354,1.49,355,1.49,356,1.49,357,1.49]],["title/3",[1,0.087,17,1.567,18,1.14,358,2.58,359,1.325,360,2.58]],["content/3",[1,0.168,3,0.816,4,0.881,8,1.546,9,0.616,12,0.576,15,1.45,17,3.537,18,0.758,19,1.042,20,1.45,28,1.067,29,0.413,30,0.576,31,1.443,33,1.45,34,0.385,40,0.816,44,1.32,48,1.585,49,0.706,51,2.979,52,1.45,53,1.276,54,1.45,56,1.32,59,0.881,60,1.227,69,0.706,79,0.932,80,0.289,98,1.276,104,2.347,108,0.758,113,0.881,115,0.881,116,0.539,120,0.542,121,1.042,126,0.816,128,0.441,137,1.686,151,0.816,153,0.616,154,1.227,156,1.042,164,1.276,165,0.359,168,1.276,173,2.065,177,1.425,179,0.955,188,1.042,194,0.758,197,0.881,214,1.146,219,1.042,222,0.311,223,0.706,224,0.706,225,1.686,227,1.042,239,0.764,245,0.955,270,1.042,277,0.881,291,0.955,295,1.276,299,0.997,301,1.042,307,1.45,318,0.955,323,1.146,324,0.955,327,1.276,337,2.601,339,1.042,350,1.947,359,0.881,361,1.715,362,2.684,363,3.497,364,1.042,365,1.042,366,3.995,367,4.414,368,2.065,369,3.497,370,1.276,371,1.276,372,1.715,373,1.276,374,1.45,375,0.816,376,1.715,377,1.715,378,1.146,379,2.776,380,1.715,381,1.45,382,0.758,383,0.539,384,1.715,385,1.45,386,1.146,387,1.715,388,1.715,389,2.776,390,1.45,391,1.276,392,1.32,393,1.715,394,2.347,395,1.715,396,1.715,397,0.955,398,1.042,399,1.276,400,1.45,401,1.715,402,1.715,403,2.776,404,1.256,405,2.776,406,1.45,407,1.715,408,1.715,409,1.45,410,1.715,411,1.146,412,1.45,413,1.715,414,1.715,415,1.715,416,1.715,417,1.45,418,1.715,419,1.276,420,1.715,421,1.715,422,1.042,423,1.715,424,1.715,425,1.042,426,1.715,427,1.715,428,2.336,429,1.146,430,0.955,431,2.776,432,1.715,433,1.715,434,1.276,435,1.715,436,1.715,437,1.715,438,1.715,439,1.45,440,1.715,441,1.715,442,1.146,443,1.715,444,1.715,445,1.715,446,1.715,447,1.715,448,1.276,449,0.881,450,1.276,451,1.45,452,1.715,453,1.715,454,1.715,455,1.715,456,0.659,457,1.276,458,1.715,459,0.881,460,1.45,461,1.276,462,1.276,463,1.45,464,1.042,465,1.715,466,1.715,467,1.146,468,1.45,469,1.715,470,1.715,471,1.715,472,1.715,473,1.715,474,1.45,475,1.715,476,1.715,477,1.276,478,1.45,479,1.715,480,1.715,481,1.715,482,1.715,483,1.715,484,1.146,485,1.45,486,1.042,487,1.715,488,1.715,489,1.715,490,1.276,491,1.042,492,1.042,493,1.146]],["tags/3",[59,1.243,394,2.047,494,2.421,495,2.421,496,2.421,497,2.421,498,2.421,499,2.421,500,2.421,501,2.421]],["title/5",[150,0.486,153,1.446]],["content/5",[9,1.583,27,1.481,28,1.695,30,1.481,60,1.949,109,2.455,149,3.28,150,0.663,153,1.972,156,2.678,157,1.481,167,2.945,169,2.261,212,1.816,222,0.8,239,1.213,312,2.264,345,2.678,422,2.678,459,2.264,502,2.945,503,3.729,504,3.28,505,1.949,506,3.28,507,3.28,508,3.729,509,4.41,510,3.28,511,4.41,512,2.455,513,4.41]],["tags/5",[1,0.064,514,1.886,515,1.886,516,1.595,517,1.26,518,1.26,519,1.26,520,1.26,521,1.886,522,1.886,523,1.886,524,1.886,525,1.886,526,1.886,527,1.886]],["title/6",[528,3.961]],["content/6",[1,0.093,28,1.059,29,0.663,31,0.989,34,1.159,38,1.673,44,1.311,48,0.989,69,1.135,79,0.925,115,2.052,116,0.866,126,1.311,129,2.33,136,2.33,151,1.311,153,2.117,160,1.059,165,0.577,166,2.05,169,2.125,175,2.427,194,1.218,202,2.052,208,1.311,212,1.135,219,1.673,224,1.135,225,1.673,239,1.42,261,2.05,279,1.84,325,1.84,331,1.673,341,2.33,347,2.33,348,1.415,350,1.534,378,1.84,381,2.33,386,1.84,422,2.427,429,1.84,442,1.84,461,2.05,467,1.84,512,1.534,517,1.84,518,1.84,519,1.84,520,1.84,528,2.33,529,2.755,530,2.755,531,3.38,532,1.84,533,2.755,534,2.755,535,2.05,536,1.673,537,2.755,538,2.33,539,3.997,540,2.755,541,2.755,542,2.755,543,2.33,544,2.755,545,2.755,546,2.33,547,2.05,548,2.755,549,2.755,550,2.755,551,2.33,552,2.33,553,2.755,554,1.84,555,2.33,556,1.415,557,2.755,558,2.755,559,2.33,560,2.33,561,2.05,562,2.755,563,1.135,564,2.05,565,2.33,566,2.755,567,2.755,568,2.755,569,2.755,570,2.755,571,2.755,572,2.755,573,1.84,574,2.755,575,3.997,576,2.225,577,3.38,578,2.755,579,2.755,580,2.755,581,2.755,582,2.755,583,2.755,584,2.33,585,2.33,586,2.755]],["tags/6",[]],["title/7",[576,2.242,577,3.406]],["content/7",[]],["tags/7",[]],["title/8",[517,2.69,587,4.027]],["content/8",[56,2.371,80,0.839,100,2.371,212,2.052,239,1.371,328,2.203,365,3.027,517,3.329,588,2.775,589,4.984,590,2.559,591,4.984,592,3.329,593,2.052,594,4.984,595,4.984]],["tags/8",[]],["title/9",[1,0.136,596,4.027]],["content/9",[1,0.166,5,0.765,100,2.339,212,2.025,328,2.173,365,2.986,404,1.765,434,3.657,467,3.284,588,2.737,590,2.525,597,4.917,598,3.657,599,4.917,600,4.917,601,4.917,602,4.917,603,4.917]],["tags/9",[]],["title/10",[518,2.69,604,4.027]],["content/10",[5,0.899,31,1.719,65,3.561,100,2.277,153,1.719,212,1.971,239,1.317,328,2.116,382,2.116,404,1.719,462,3.561,518,3.197,588,2.665,590,2.458,593,1.971,605,4.787,606,4.787,607,4.787,608,3.561,609,4.787,610,4.787]],["tags/10",[]],["title/11",[519,2.69,611,4.027]],["content/11",[75,3.057,100,2.177,165,0.959,208,2.177,212,1.884,239,1.259,328,2.023,331,2.779,365,2.779,477,3.404,504,3.404,519,3.753,538,3.87,576,2.548,588,2.548,590,2.885,592,3.057,612,4.576,613,4.576,614,4.576,615,3.404,616,4.576,617,3.404,618,4.576,619,2.35,620,4.576,621,4.576]],["tags/11",[]],["title/12",[520,2.69,565,3.406]],["content/12",[2,1.362,5,0.77,100,2.355,212,2.038,328,2.188,434,4.383,520,3.306,588,2.756,590,2.542,622,4.95,623,4.95,624,3.682,625,3.306,626,4.95,627,4.95,628,4.95]],["tags/12",[]],["title/13",[397,2.242,629,2.242]],["content/13",[0,2.046,1,0.124,3,1.748,4,1.887,8,1.624,18,1.624,40,1.08,59,1.887,66,4.129,75,2.454,116,1.154,150,0.662,153,2.292,167,2.454,172,2.046,191,3.107,197,1.887,239,1.011,245,2.046,291,2.046,297,3.107,328,1.624,350,2.046,382,1.624,390,3.107,486,2.231,490,2.733,502,2.454,503,3.107,505,1.624,547,2.733,590,2.507,593,1.513,598,2.733,630,3.262,631,3.674,632,3.674,633,3.107,634,3.674,635,3.107,636,3.674,637,3.674,638,3.674,639,3.674,640,3.674,641,3.674,642,3.674,643,3.107,644,2.733,645,3.674,646,3.107,647,3.674,648,3.674,649,3.107,650,3.674,651,3.107,652,3.674]],["tags/13",[]],["title/14",[2,0.972,349,1.357,653,2.987]],["content/14",[1,0.119,2,0.972,3,1.68,4,1.813,27,1.186,28,1.357,40,1.038,48,1.268,57,2.144,60,1.561,69,1.454,120,0.689,128,1.384,135,1.966,150,0.574,153,2.065,172,1.966,175,2.144,202,1.813,220,1.966,221,1.813,222,0.641,223,1.454,239,0.972,241,2.359,259,1.561,274,2.986,309,2.986,330,2.986,336,1.813,349,2.066,449,1.813,486,2.888,490,2.627,502,2.359,563,1.454,573,2.359,576,1.966,619,1.813,653,4.021,654,2.627,655,2.986,656,5.377,657,3.531,658,3.531,659,2.627,660,3.531,661,3.531,662,3.176,663,2.627,664,3.531,665,2.359,666,3.531,667,3.531,668,3.531,669,3.531,670,2.359,671,3.531,672,1.454,673,3.531,674,2.986,675,2.359,676,2.627]],["tags/14",[]],["title/17",[150,0.342,222,0.514,677,2.108,678,1.455,679,2.108]],["content/17",[1,0.182,2,0.837,9,1.093,10,2.033,12,1.022,28,1.17,29,0.732,31,1.093,34,0.684,40,0.895,43,1.694,51,1.694,58,1.563,71,2.606,105,2.264,110,2.033,128,0.783,130,2.264,150,0.652,153,1.785,165,0.638,194,1.345,205,2.033,209,2.264,213,2.033,222,0.902,259,1.897,299,1.093,335,2.264,336,1.563,375,2.365,383,0.956,404,1.785,409,2.574,456,1.649,459,1.563,493,2.033,505,1.345,512,1.694,590,2.204,598,2.264,619,1.563,629,1.694,662,2.033,663,2.264,674,2.574,678,3.034,679,3.193,680,3.044,681,2.574,682,2.606,683,3.044,684,3.044,685,2.264,686,2.574,687,3.044,688,3.044,689,3.044,690,3.044,691,3.044,692,2.574,693,1.649,694,3.044,695,3.044,696,2.033,697,2.264,698,1.848,699,1.345,700,2.033,701,2.574,702,3.044,703,3.044,704,3.044,705,3.044,706,3.044,707,1.563,708,2.574,709,3.044,710,1.848,711,3.044,712,3.044,713,2.264,714,2.264]],["tags/17",[699,0.961,708,1.838,715,2.174,716,2.174,717,2.174,718,2.174,719,2.174,720,2.174,721,2.174,722,2.174,723,1.838,724,2.174]],["title/15",[58,1.814,459,1.814,678,1.814]],["content/15",[1,0.164,5,0.758,6,1.505,9,1.313,18,1.616,28,1.405,29,0.879,38,2.22,40,1.075,79,1.228,127,2.315,128,1.253,150,0.661,151,1.739,153,1.313,198,3.091,208,1.739,209,3.62,239,1.006,240,3.091,259,1.616,279,2.442,331,2.22,345,2.22,375,1.739,392,1.739,399,2.719,484,2.442,486,2.22,505,1.616,555,3.091,675,2.442,678,1.877,679,3.62,681,3.091,725,3.656,726,3.091,727,3.656,728,3.656,729,2.22,730,2.442,731,3.656,732,3.656,733,3.091,734,2.035,735,3.656,736,3.656,737,3.656,738,3.656,739,2.719,740,3.656,741,5.471,742,3.656,743,3.656,744,3.656,745,3.656,746,3.091,747,3.656,748,3.656]],["tags/15",[723,2.047,749,2.421,750,2.421,751,2.421,752,2.421,753,2.047,754,2.421,755,2.421,756,2.421,757,2.421]],["title/16",[80,0.398,157,0.795,676,1.761,758,2.002,759,1.581,760,1.318,761,1.437]],["content/16",[1,0.163,2,0.497,3,0.858,4,0.927,5,0.644,9,0.648,12,0.971,27,1.215,28,1.591,29,0.696,30,0.606,34,1.086,35,1.526,37,1.096,38,1.096,40,0.85,43,1.005,44,0.858,48,1.038,49,1.704,60,0.798,61,1.278,68,1.096,69,1.191,73,1.205,79,0.971,80,0.487,106,1.342,109,1.005,111,1.342,112,1.526,116,0.567,119,1.005,120,0.884,125,3.06,126,0.858,127,1.721,128,0.931,130,2.692,135,1.61,150,0.349,151,1.376,152,1.342,157,0.971,160,1.111,165,0.758,167,1.932,172,1.005,177,0.927,179,1.005,180,1.205,183,1.096,194,0.798,200,1.526,205,1.205,213,1.205,214,1.205,219,1.756,220,2.304,221,1.485,222,0.751,223,1.49,239,0.497,245,1.005,252,1.096,258,1.526,261,1.342,269,1.61,270,1.096,277,1.485,279,1.205,288,1.205,301,1.096,306,2.151,311,1.205,312,0.927,314,1.342,318,1.005,322,1.005,324,1.61,329,1.485,331,1.096,335,1.342,343,1.205,345,1.096,350,1.005,359,0.927,362,1.205,378,1.205,391,2.151,392,0.858,397,1.005,404,0.648,417,1.526,419,1.342,429,1.205,430,1.005,442,1.205,448,1.342,449,0.927,456,0.693,468,1.526,484,1.205,492,1.756,505,0.798,512,1.005,546,1.526,561,1.342,563,0.743,585,1.526,593,0.743,615,1.342,625,1.205,662,1.205,665,1.205,672,1.191,676,2.151,693,1.591,710,1.756,729,1.096,730,1.205,734,1.005,758,1.526,759,3.636,760,1.005,762,1.526,763,2.892,764,1.932,765,2.151,766,1.805,767,1.526,768,2.445,769,1.805,770,2.151,771,1.526,772,1.342,773,1.526,774,1.526,775,1.096,776,2.892,777,2.417,778,4.139,779,1.805,780,1.526,781,1.805,782,1.805,783,1.805,784,1.805,785,1.805,786,1.805,787,1.805,788,1.205,789,0.927,790,1.096,791,1.342,792,2.445,793,1.805,794,1.805,795,1.526,796,1.526,797,1.805,798,1.205,799,1.005,800,2.892,801,1.805,802,1.805,803,1.526,804,1.526,805,1.342,806,1.342,807,1.342,808,1.005,809,1.805,810,1.805,811,1.342,812,1.526,813,1.805,814,1.096,815,1.805,816,1.805]],["tags/16",[116,0.544,665,1.157,753,1.465,817,1.733,818,1.733,819,1.733,820,1.733,821,1.733,822,1.733,823,1.733,824,1.733,825,1.733,826,1.733,827,1.733,828,1.733,829,1.733,830,1.733]],["title/18",[126,1.68,160,1.357,831,2.359]],["content/18",[0,1.25,1,0.17,2,0.618,5,0.349,6,0.924,8,0.992,11,1.363,12,1.152,16,1.67,30,0.754,34,0.771,37,1.363,48,1.804,61,0.992,62,1.898,69,0.924,79,0.754,80,0.701,95,1.363,108,0.992,111,1.67,115,1.153,116,0.705,117,1.25,118,1.499,119,1.91,127,1.068,128,0.578,132,2.552,134,1.363,135,1.25,137,1.363,150,0.414,154,1.517,155,1.499,160,0.863,161,1.91,164,1.67,165,0.719,169,1.413,172,1.25,175,1.363,176,2.552,177,1.153,179,1.25,180,1.499,188,1.363,197,1.153,202,1.153,208,1.632,252,2.832,253,1.898,259,0.992,269,1.25,270,1.363,272,1.898,277,1.762,288,2.292,290,1.898,291,2.319,299,1.232,311,1.499,322,1.25,329,1.153,336,1.153,343,1.499,348,1.762,349,0.863,364,1.363,371,1.67,373,1.67,391,1.67,398,1.363,411,1.499,457,1.67,460,1.898,477,1.67,491,1.363,512,1.25,536,1.363,547,1.67,563,0.924,593,0.924,608,1.67,619,1.762,630,1.499,644,1.67,654,1.67,659,1.67,665,1.499,697,1.67,698,2.084,707,2.58,734,1.91,765,1.67,768,1.898,771,1.898,772,1.67,777,1.499,792,1.898,798,2.292,799,1.25,803,1.898,804,1.898,805,1.67,831,1.499,832,2.245,833,1.898,834,1.898,835,2.245,836,2.245,837,2.245,838,2.245,839,2.245,840,2.901,841,1.67,842,2.245,843,1.67,844,1.898,845,4.165,846,1.898,847,2.245,848,1.898,849,2.245,850,2.084,851,2.245,852,2.245,853,3.431,854,1.898,855,2.245,856,2.245,857,2.245,858,2.245,859,2.245,860,2.245,861,2.901,862,1.898,863,2.245,864,2.552,865,3.431,866,1.499,867,2.245,868,2.245,869,1.499,870,2.245,871,2.245,872,2.245,873,1.898]],["tags/18",[1,0.064,6,0.777,34,0.424,80,0.317,116,0.593,128,0.485,169,0.777,202,0.968,269,1.05,299,0.677,805,1.403,840,1.595,874,1.886,875,1.886,876,1.886]],["title/19",[359,1.615,492,1.91,814,1.91,877,3.145]],["content/19",[1,0.141,2,1.256,3,0.871,5,0.795,10,1.223,12,0.983,27,0.615,29,0.704,34,0.412,39,1.363,48,1.051,49,0.754,55,1.112,59,1.877,60,0.81,71,1.112,79,0.615,80,0.615,84,0.941,95,1.777,114,1.223,115,0.941,117,1.02,118,1.223,119,1.02,120,0.713,121,1.112,127,0.871,128,1.074,137,1.112,150,0.221,154,0.81,155,1.223,160,1.125,165,0.384,169,0.754,177,0.941,183,1.112,194,0.81,197,0.941,204,2.177,210,1.549,212,0.754,213,1.223,220,1.02,221,0.941,222,0.663,223,0.754,224,0.754,227,1.112,242,1.549,245,1.02,259,1.616,270,1.112,275,1.549,277,1.503,291,1.02,299,0.658,311,1.223,314,1.363,324,1.63,342,1.549,345,1.112,348,0.941,349,0.704,359,0.941,375,1.739,378,1.223,392,0.871,397,2.035,398,1.112,404,0.658,411,1.223,425,1.112,430,1.02,449,0.941,450,1.363,505,0.81,508,1.549,510,1.363,535,1.363,536,1.112,556,0.941,561,1.363,563,1.719,564,1.363,573,1.223,592,1.223,593,0.754,624,3.395,630,1.223,672,0.754,675,1.223,682,1.777,685,2.177,693,1.87,696,1.223,697,1.363,699,0.81,710,1.112,713,1.363,714,1.363,733,1.549,734,1.02,759,2.441,761,1.112,772,1.363,789,0.941,790,1.112,798,1.223,799,1.02,806,2.719,811,1.363,814,1.112,862,1.549,864,1.363,878,1.549,879,1.549,880,1.832,881,1.832,882,1.832,883,1.832,884,1.832,885,1.832,886,1.549,887,1.223,888,1.832,889,1.832,890,1.832,891,1.832,892,1.832,893,1.832,894,1.363,895,1.832,896,1.549,897,1.832,898,1.832,899,1.832,900,1.549,901,1.832,902,1.832,903,1.549,904,1.363,905,1.549,906,1.549,907,1.832,908,1.832,909,1.832,910,1.832,911,1.832,912,1.832,913,1.832,914,1.832,915,1.363,916,3.106,917,2.475,918,2.475,919,1.832,920,1.832,921,1.832,922,1.832,923,1.832,924,1.549,925,1.832,926,1.832,927,1.549,928,1.832,929,1.832,930,1.832,931,1.549,932,1.832,933,1.549,934,1.549,935,4.175,936,1.832,937,1.832,938,1.832,939,2.927,940,1.832,941,1.832,942,1.832,943,1.832,944,1.832,945,1.549,946,1.832,947,1.832,948,1.832,949,1.832,950,1.832,951,1.832,952,1.832,953,1.832,954,1.832,955,1.549,956,1.549,957,1.832,958,1.832,959,1.832,960,1.832,961,1.832,962,1.832,963,1.549]],["tags/19",[964,2.421,965,2.421,966,2.421,967,2.421,968,2.421,969,2.421,970,2.421,971,2.421,972,2.421,973,2.421]],["title/20",[1,0.087,29,0.621,127,1.227,383,0.811,974,1.14,975,1.723]],["content/20",[1,0.199,9,1.777,10,3.306,48,1.777,68,3.006,150,0.598,222,0.898,383,1.555,617,3.682,693,1.902,760,2.756,799,2.756,916,3.682,974,2.188,975,3.306,976,4.186]],["tags/20",[1,0.082,5,0.377,128,0.623,516,2.047,977,2.047,978,2.421,979,2.421,980,2.421,981,2.421,982,2.421]],["title/21",[383,0.988,397,1.751,974,1.39,975,2.101]],["content/21",[1,0.148,2,1.206,30,1.472,80,0.737,108,1.937,116,1.377,160,1.684,221,2.251,222,0.795,243,3.706,383,1.377,485,3.706,535,3.261,649,3.706,672,2.253,699,1.937,700,2.928,760,2.44,761,2.662,799,2.44,933,3.706,934,3.706,974,1.937,983,4.383,984,3.706,985,4.383,986,3.654,987,4.383,988,3.706,989,4.383,990,4.383,991,4.383,992,4.383,993,4.383]],["tags/21",[]],["title/22",[127,2.228]],["content/22",[2,1.635,58,2.577,312,2.577,382,2.218,383,1.577,404,1.802,670,3.352,974,2.218,994,5.019,995,3.733,996,5.019,997,5.019,998,5.019,999,4.244]],["tags/22",[]],["title/23",[1000,4.685]],["content/23",[1,0.19,2,1.673,40,1.346,43,2.548,94,3.87,128,1.178,175,2.779,336,2.35,383,1.438,563,1.884,635,3.87,698,2.779,729,3.412,730,3.057,759,3.057,866,3.753,904,3.404,1001,4.576,1002,4.576,1003,4.576,1004,3.87,1005,4.576,1006,4.576,1007,4.576]],["tags/23",[]],["title/24",[156,2.446,1008,2.996]],["content/24",[110,3.115,120,0.91,177,2.395,277,2.395,371,3.47,383,1.466,404,1.675,425,2.832,559,3.944,563,1.921,629,2.597,699,2.062,734,2.597,831,3.115,841,3.47,974,2.062,975,3.115,1004,3.944,1009,3.944,1010,4.664,1011,3.47,1012,4.664,1013,3.944,1014,4.664,1015,4.664,1016,3.944]],["tags/24",[]],["title/25",[1,0.106,157,1.056,241,2.101,505,1.39]],["content/25",[1,0.122,2,0.663,3,1.721,4,1.237,5,0.563,6,1.79,7,1.792,8,1.065,9,0.865,11,1.462,19,1.462,23,1.609,30,0.809,31,0.865,38,1.462,39,1.792,40,0.708,46,1.237,55,1.462,56,1.146,58,1.237,68,1.462,108,1.6,109,1.341,113,1.237,114,1.609,120,0.47,121,1.462,150,0.291,151,1.146,154,1.065,157,0.809,173,1.792,186,2.036,204,2.692,208,1.146,239,0.663,249,2.036,259,1.6,269,1.341,273,2.036,295,1.792,299,0.865,312,1.237,313,2.036,316,2.036,318,1.341,323,1.609,327,1.792,337,1.792,344,2.036,365,1.462,370,1.792,375,2.299,382,1.065,392,2.068,398,1.462,399,1.792,400,2.036,404,1.3,419,1.792,428,1.609,429,1.609,456,0.925,462,2.692,463,2.036,464,1.462,467,1.609,474,2.036,486,2.198,491,1.462,504,1.792,531,2.036,543,2.036,556,1.237,576,1.341,584,2.036,592,1.609,633,2.036,654,1.792,655,2.036,663,1.792,670,1.609,672,0.992,692,2.036,693,1.671,707,2.232,760,1.341,789,2.232,812,2.036,833,2.036,878,2.036,887,1.609,896,2.036,927,2.036,945,2.036,976,2.036,1011,1.792,1017,2.036,1018,2.408,1019,2.408,1020,2.408,1021,2.408,1022,2.408,1023,2.036,1024,2.408,1025,2.408,1026,2.408,1027,2.408,1028,2.036,1029,2.408,1030,2.408,1031,2.036,1032,2.408,1033,2.408,1034,2.036,1035,2.408,1036,2.036,1037,2.408,1038,2.408,1039,2.408,1040,2.408,1041,2.408,1042,2.408,1043,2.408,1044,2.408,1045,2.408,1046,2.036,1047,2.408,1048,2.408,1049,2.408,1050,2.408,1051,2.408,1052,2.408,1053,2.408,1054,2.408,1055,1.792,1056,2.408,1057,2.408,1058,2.408,1059,2.036,1060,2.408,1061,2.408,1062,2.036,1063,2.408,1064,2.408,1065,2.408,1066,2.408,1067,2.036,1068,2.408]],["tags/25",[1,0.092,5,0.425,34,0.614,157,0.917,299,0.981,366,2.309,1069,2.731,1070,2.731]],["title/26",[1,0.158]],["content/26",[]],["tags/26",[]],["title/27",[1,0.158]],["content/27",[1,0.2,8,1.128,18,1.128,22,1.421,27,0.857,29,0.614,30,0.857,31,1.357,34,0.573,43,2.104,48,0.916,49,1.853,53,1.898,56,1.214,57,1.55,61,1.128,75,1.705,79,0.857,80,0.936,83,1.705,90,1.31,108,1.128,113,1.31,116,0.802,120,0.878,133,1.421,150,0.456,154,1.128,160,0.981,165,0.535,194,1.128,214,1.705,241,1.705,312,1.94,318,1.421,322,1.421,323,1.705,324,1.421,325,1.705,349,0.981,364,1.55,382,1.128,383,1.187,392,1.797,439,2.158,449,1.94,450,1.898,456,1.452,464,2.295,506,2.811,507,1.898,510,1.898,554,1.705,563,1.051,608,1.898,619,1.31,646,2.158,662,1.705,693,0.981,696,1.705,698,1.55,699,1.128,700,1.705,710,1.55,714,1.898,760,1.421,775,2.295,788,1.705,789,1.31,791,1.898,796,2.158,814,2.295,843,1.898,850,1.55,903,2.158,956,2.158,974,1.128,986,1.705,1016,2.158,1055,2.811,1059,2.158,1071,2.552,1072,2.552,1073,2.552,1074,2.552,1075,2.552,1076,1.898,1077,2.552,1078,2.552,1079,2.552,1080,1.898,1081,2.158,1082,2.552,1083,2.552,1084,2.552,1085,2.158,1086,2.158,1087,1.898,1088,2.552,1089,2.158,1090,2.552,1091,2.552,1092,2.552,1093,1.898,1094,1.898,1095,1.898,1096,1.898,1097,1.705,1098,2.552,1099,2.552,1100,2.552,1101,2.158,1102,1.898,1103,2.552,1104,2.158,1105,2.158,1106,2.552,1107,2.552,1108,2.552,1109,2.552,1110,2.552,1111,2.552,1112,2.158,1113,2.552,1114,2.158,1115,2.552]],["tags/27",[]],["title/28",[397,2.242,629,2.242]],["content/28",[1,0.119,5,0.55,12,1.186,34,0.793,46,1.813,51,1.966,71,2.144,80,0.8,84,2.442,89,1.68,105,2.627,108,2.102,120,0.689,123,2.986,127,1.68,128,0.909,157,1.186,165,0.74,169,1.454,171,2.986,202,1.813,208,1.68,220,1.966,221,1.813,222,0.641,300,2.359,302,2.986,334,2.986,336,1.813,349,1.357,359,1.813,364,2.888,411,2.359,449,1.813,456,1.357,459,2.442,492,2.144,505,1.561,551,2.986,593,1.958,629,2.993,672,1.454,710,2.144,713,2.627,761,2.144,790,2.144,844,2.986,864,2.627,999,2.986,1036,2.986,1116,3.531,1117,3.531,1118,3.531,1119,3.531,1120,3.531,1121,3.531,1122,3.531,1123,3.531,1124,2.986,1125,3.531,1126,1.813,1127,1.966,1128,2.986,1129,3.531,1130,3.531,1131,2.627,1132,3.531,1133,3.531]],["tags/28",[]],["title/29",[1,0.064,18,0.839,22,1.056,29,0.456,456,0.729,729,1.152,1134,1.605,1135,1.605,1136,1.605,1137,1.605]],["content/29",[1,0.173,5,0.871,6,0.966,9,0.842,11,1.425,12,1.192,18,1.569,27,1.192,28,0.902,29,0.564,30,0.788,49,0.966,60,1.037,61,1.037,63,1.984,65,1.745,67,1.745,73,1.567,76,1.984,79,0.788,80,0.597,81,1.984,106,1.745,108,1.037,109,1.976,113,1.205,120,0.458,135,1.306,150,0.517,157,0.788,165,0.492,194,1.037,223,0.966,227,1.425,236,3,300,1.567,301,2.155,303,1.984,306,2.64,322,1.306,329,1.205,338,1.984,348,1.822,349,0.902,350,1.306,364,1.425,368,1.745,373,1.745,375,1.116,404,0.842,430,1.976,456,0.902,459,1.205,478,1.984,493,1.567,505,1.037,507,2.64,512,1.306,554,1.567,563,0.966,576,1.306,593,0.966,619,1.205,624,1.745,630,1.567,643,1.984,651,1.984,672,0.966,675,1.567,677,1.745,678,1.205,693,1.364,699,1.037,707,1.205,729,2.599,730,2.37,734,1.306,773,1.984,774,1.984,775,2.155,780,1.984,795,1.984,799,1.306,846,1.984,873,1.984,879,1.984,887,1.567,924,1.984,963,1.984,1028,1.984,1034,1.984,1076,1.745,1101,1.984,1102,3.183,1134,4.034,1135,4.034,1136,3.619,1137,3.619,1138,1.745,1139,2.346,1140,3.548,1141,2.346,1142,2.346,1143,1.984,1144,1.984,1145,1.984,1146,2.346,1147,1.984,1148,2.346,1149,2.346,1150,2.346,1151,1.984,1152,2.346,1153,2.346,1154,2.346,1155,2.346,1156,2.346,1157,2.346,1158,2.346,1159,2.346,1160,2.346,1161,2.346,1162,2.346,1163,2.346,1164,2.346,1165,2.346,1166,2.346,1167,2.346,1168,2.346,1169,2.346,1170,2.346,1171,2.346,1172,2.346,1173,2.346,1174,2.346,1175,1.984,1176,2.346,1177,2.346,1178,2.346]],["tags/29",[1179,4.949]],["title/30",[1,0.119,29,0.85,789,1.814]],["content/30",[1,0.203,5,0.798,6,1.628,9,0.975,12,0.911,22,1.511,27,1.328,29,0.653,30,1.328,34,0.61,43,1.511,48,0.975,49,1.92,51,1.511,56,1.291,61,1.2,68,1.648,69,1.118,80,0.785,84,1.394,90,1.394,109,1.511,113,1.394,116,0.853,120,0.91,128,0.698,133,1.511,135,2.201,157,0.911,160,1.043,165,0.569,172,1.511,176,2.019,177,2.03,188,1.648,197,1.394,220,1.511,221,1.394,222,0.717,223,1.118,224,1.118,227,1.648,259,1.2,284,1.813,288,1.813,318,1.511,324,1.511,329,1.394,336,1.394,339,1.648,348,1.394,349,1.519,368,2.019,370,2.019,383,1.242,392,1.291,404,0.975,422,1.648,428,1.813,430,1.511,456,1.519,532,1.813,536,1.648,554,1.813,563,1.118,619,1.394,629,1.511,693,2.184,698,1.648,700,1.813,761,1.648,764,1.813,765,2.019,775,2.401,834,2.295,843,2.019,848,2.295,850,1.648,861,2.295,894,2.019,974,1.2,995,2.019,1055,2.019,1080,2.019,1081,2.295,1086,2.295,1087,2.019,1089,2.295,1093,2.019,1094,2.019,1095,2.019,1096,2.019,1097,1.813,1126,1.394,1127,1.511,1128,2.295,1131,2.019,1175,2.295,1180,2.714,1181,2.714,1182,2.714,1183,2.295,1184,2.714,1185,2.714,1186,2.714,1187,2.714,1188,2.714]],["tags/30",[1,0.086,5,0.24,6,0.636,80,0.26,116,0.485,128,0.397,139,1.306,157,0.519,222,0.28,224,0.636,299,0.555,428,1.032,672,0.636,977,1.306,1067,1.306,1126,0.793,1189,1.544,1190,1.544,1191,1.544]],["title/31",[27,0.682,46,1.043,80,0.342,89,0.967,150,0.245,1126,1.043,1192,1.718,1193,2.032,1194,1.512]],["content/31",[9,1.574,30,1.472,31,1.574,55,2.662,58,2.251,84,2.251,86,2.251,100,2.085,195,3.706,205,2.928,212,1.805,252,2.662,254,3.706,257,3.706,305,3.706,375,2.602,392,2.085,573,2.928,615,3.261,670,2.928,798,2.928,854,3.706,1023,3.706,1062,3.706,1124,3.706,1195,4.383,1196,4.383,1197,4.383,1198,4.383,1199,4.383,1200,4.383,1201,4.383,1202,4.383,1203,4.383,1204,4.383]],["tags/31",[1,0.092,5,0.259,23,1.112,34,0.374,46,0.855,55,1.011,80,0.28,84,0.855,86,0.855,89,0.792,90,0.855,222,0.302,682,1.011,1126,0.855,1194,1.239,1205,1.408,1206,1.665]],["title/32",[44,1.348,86,1.455,150,0.342,777,1.893,1207,2.834]],["content/32",[1,0.169,5,0.593,27,1.279,31,1.796,44,2.379,49,1.568,79,1.279,83,2.544,84,1.956,86,2.867,89,1.812,90,2.568,110,2.544,120,0.976,157,1.279,165,1.048,169,1.568,223,1.568,252,2.313,269,2.121,284,2.544,300,2.544,322,2.121,386,2.544,442,2.544,448,2.833,492,2.313,536,2.313,556,1.956,693,1.922,701,3.221,739,2.833,764,2.544,777,2.544,788,2.544,789,1.956,850,3.037,915,2.833,984,3.221,1011,2.833,1013,3.221,1126,1.956,1127,2.121,1194,2.833,1205,3.221,1208,3.809,1209,3.809,1210,3.809,1211,3.809,1212,3.809,1213,3.809]],["tags/32",[]],["title/33",[46,1.455,89,1.348,95,1.721,1192,2.397,1214,2.397]],["content/33",[0,1.746,1,0.106,5,0.488,12,1.837,23,3.375,29,0.754,31,1.126,34,0.704,40,0.922,46,2.595,87,2.651,89,2.738,90,1.61,95,1.904,113,1.61,122,2.332,150,0.379,159,2.651,161,1.746,165,0.657,189,2.651,194,1.386,197,1.61,222,0.569,225,1.904,248,2.651,250,2.651,277,1.61,284,2.094,287,2.332,291,1.746,299,1.126,374,2.651,382,1.937,398,1.904,404,1.126,406,2.651,425,1.904,461,2.332,484,2.927,532,2.094,556,2.25,593,1.291,659,3.26,682,2.661,686,2.651,693,1.205,696,2.094,699,1.386,707,2.25,739,2.332,770,2.332,790,1.904,806,2.332,808,1.746,850,1.904,869,2.094,1102,2.332,1145,2.651,1183,2.651,1214,3.706,1215,3.135,1216,3.135,1217,2.651,1218,3.135,1219,3.135,1220,3.135,1221,2.651,1222,2.651,1223,3.135,1224,4.383,1225,3.135,1226,3.135,1227,2.651,1228,3.135,1229,3.135,1230,3.135,1231,3.135,1232,3.135,1233,3.135,1234,2.651,1235,2.651,1236,3.135]],["tags/33",[]],["title/34",[27,1.186,80,0.594,150,0.426]],["content/34",[0,2.25,1,0.205,2,1.581,5,0.809,27,1.357,29,1.382,61,1.787,67,3.866,69,1.664,80,0.68,120,1.014,134,2.454,150,0.488,161,2.25,165,0.847,222,0.733,339,2.454,412,3.418,430,2.25,502,2.7,556,2.076,625,2.7,672,1.664,693,1.553,726,4.395,807,3.007,900,3.418,905,4.395,915,3.007,1080,3.007,1127,2.25,1151,3.418,1237,5.197,1238,4.042,1239,4.042,1240,4.042,1241,4.042]],["tags/34",[]],["title/35",[1,0.136,120,0.786]],["content/35",[1,0.191,2,1.267,40,1.354,48,1.654,126,2.191,165,0.965,179,2.564,208,2.191,328,2.036,349,1.77,362,3.076,459,2.365,506,3.426,593,1.896,770,3.426,955,3.894,1085,3.894,1093,3.426,1094,3.426,1095,3.426,1131,3.426,1242,4.605,1243,4.605,1244,4.605,1245,4.605,1246,4.605,1247,4.605]],["tags/35",[]],["title/36",[222,0.514,464,1.721,808,1.578,1248,2.397,1249,2.834]],["content/36",[1,0.205,12,1.527,27,1.527,34,1.022,40,1.337,150,0.549,155,3.037,222,0.825,301,2.762,456,1.748,464,2.762,491,2.762,672,1.873,808,2.532,869,3.037,1046,3.845,1138,3.383,1147,3.845,1250,4.548,1251,4.548,1252,4.548,1253,4.548,1254,3.845,1255,3.845,1256,4.548,1257,4.548,1258,4.548,1259,4.548]],["tags/36",[1,0.073,1008,1.617,1097,1.452,1260,2.174,1261,2.174,1262,2.174,1263,2.174,1264,2.174,1265,2.174,1266,2.174,1267,2.174,1268,2.174]],["title/37",[150,0.486,1269,3.406]],["content/37",[0,1.653,5,0.656,17,1.803,29,0.714,44,2.333,48,1.066,50,2.511,57,1.803,58,1.525,59,1.525,60,1.312,69,1.223,79,1.416,83,2.817,86,2.166,89,1.412,98,3.137,117,1.653,120,0.579,150,0.509,161,1.653,165,0.622,183,1.803,224,1.223,259,1.312,312,1.525,328,1.312,329,1.525,382,1.312,383,0.933,385,2.511,386,1.983,422,1.803,493,2.817,532,2.817,556,2.166,560,2.511,564,2.209,588,1.653,617,2.209,644,2.209,678,1.525,682,1.803,699,1.312,746,2.511,764,1.983,767,2.511,790,1.803,807,2.209,808,1.653,811,2.209,814,1.803,831,1.983,866,1.983,869,2.817,894,2.209,904,2.209,974,1.312,986,1.983,995,2.209,1009,2.511,1031,2.511,1096,2.209,1104,2.511,1105,2.511,1112,2.511,1126,1.525,1127,1.653,1138,3.137,1143,2.511,1217,2.511,1221,2.511,1222,2.511,1270,4.77,1271,2.969,1272,2.969,1273,2.969,1274,2.969,1275,2.969,1276,4.905,1277,2.969,1278,2.969,1279,2.969,1280,2.969,1281,2.969,1282,2.969,1283,2.969,1284,2.969,1285,2.511,1286,2.969,1287,2.969,1288,2.969,1289,2.969,1290,2.969,1291,2.969,1292,2.969]],["tags/37",[]],["title/38",[80,0.594,150,0.426,1248,2.987]],["content/38",[1,0.155,2,0.922,5,0.522,22,1.866,29,1.259,34,0.753,40,0.986,41,2.835,49,1.38,57,2.036,59,2.357,60,1.482,79,1.126,80,0.564,120,0.896,133,1.866,150,0.405,151,1.595,165,0.702,168,2.494,222,0.608,224,1.38,239,1.263,276,2.835,287,2.494,292,2.835,329,1.721,339,2.036,359,1.721,383,1.053,451,2.835,625,2.239,677,2.494,707,1.721,808,1.866,906,2.835,916,2.494,917,2.835,918,2.835,931,2.835,1008,2.494,1017,3.881,1097,3.066,1114,2.835,1127,1.866,1234,2.835,1269,2.835,1270,3.881,1293,3.352,1294,3.352,1295,3.352,1296,3.352,1297,3.352,1298,3.352,1299,3.352,1300,3.352,1301,3.352,1302,3.352,1303,3.352,1304,3.352,1305,3.352,1306,3.352,1307,3.352,1308,3.352,1309,4.59,1310,3.352,1311,3.352,1312,3.352,1313,2.835,1314,3.352,1315,3.352,1316,3.352,1317,3.352,1318,4.59,1319,3.352,1320,3.352]],["tags/38",[]],["title/39",[222,0.641,552,2.987,1285,2.987]],["content/39",[8,1.817,12,1.38,31,1.476,40,1.794,80,0.692,126,1.955,128,1.058,150,0.496,222,0.953,348,2.111,425,2.496,456,2.225,491,2.496,678,2.111,762,3.476,788,2.745,789,2.698,866,3.509,886,3.476,887,2.745,986,3.509,1076,3.058,1144,3.476,1227,4.442,1235,3.476,1254,4.442,1255,3.476,1321,4.111,1322,4.111,1323,4.111,1324,4.111,1325,4.111,1326,4.111,1327,4.111,1328,4.111,1329,4.111]],["tags/39",[]],["title/40",[120,0.914]],["content/40",[1,0.181,8,1.881,31,1.528,56,2.024,80,0.99,120,1.148,121,2.584,132,3.165,133,2.369,134,2.584,154,1.881,160,2.064,165,1.125,223,1.752,239,1.171,299,1.528,349,1.635,362,2.842,375,2.024,382,1.881,383,1.337,449,2.185,457,3.165,685,3.165,707,2.758,775,2.584,791,3.165,841,3.165,988,3.598,1087,3.165,1313,3.598,1330,4.255,1331,4.255]],["tags/40",[]]],"invertedIndex":[["",{"_index":2,"title":{"2":{},"14":{}},"content":{"4":{},"12":{},"14":{},"16":{},"17":{},"18":{},"19":{},"21":{},"22":{},"23":{},"25":{},"34":{},"35":{},"38":{}},"tags":{}}],["1",{"_index":587,"title":{"8":{}},"content":{},"tags":{}}],["1.7",{"_index":889,"title":{},"content":{"19":{}},"tags":{}}],["10",{"_index":184,"title":{},"content":{"1":{}},"tags":{}}],["100",{"_index":170,"title":{},"content":{"1":{}},"tags":{}}],["13",{"_index":1323,"title":{},"content":{"39":{}},"tags":{}}],["13,500",{"_index":436,"title":{},"content":{"3":{}},"tags":{}}],["15",{"_index":216,"title":{},"content":{"1":{}},"tags":{}}],["17",{"_index":998,"title":{},"content":{"22":{}},"tags":{}}],["2",{"_index":596,"title":{"9":{}},"content":{},"tags":{}}],["200",{"_index":766,"title":{},"content":{"16":{}},"tags":{}}],["2000",{"_index":953,"title":{},"content":{"19":{}},"tags":{}}],["2023",{"_index":217,"title":{},"content":{"1":{}},"tags":{}}],["28.2",{"_index":572,"title":{},"content":{"6":{}},"tags":{}}],["29.6",{"_index":571,"title":{},"content":{"6":{}},"tags":{}}],["2–3",{"_index":1289,"title":{},"content":{"37":{}},"tags":{}}],["3",{"_index":604,"title":{"10":{}},"content":{},"tags":{}}],["31",{"_index":570,"title":{},"content":{"6":{}},"tags":{}}],["33,600",{"_index":589,"title":{},"content":{"8":{}},"tags":{}}],["35.2",{"_index":569,"title":{},"content":{"6":{}},"tags":{}}],["350",{"_index":954,"title":{},"content":{"19":{}},"tags":{}}],["36.6",{"_index":557,"title":{},"content":{"6":{}},"tags":{}}],["38",{"_index":568,"title":{},"content":{"6":{}},"tags":{}}],["393,000,000",{"_index":612,"title":{},"content":{"11":{}},"tags":{}}],["3rd",{"_index":1103,"title":{},"content":{"27":{}},"tags":{}}],["4",{"_index":611,"title":{"11":{}},"content":{},"tags":{}}],["4,99",{"_index":1090,"title":{},"content":{"27":{}},"tags":{}}],["42.3",{"_index":545,"title":{},"content":{"6":{}},"tags":{}}],["49.90",{"_index":1091,"title":{},"content":{"27":{}},"tags":{}}],["5",{"_index":565,"title":{"12":{}},"content":{"6":{}},"tags":{}}],["5,690,000",{"_index":622,"title":{},"content":{"12":{}},"tags":{}}],["52.1",{"_index":537,"title":{},"content":{"6":{}},"tags":{}}],["560,000",{"_index":605,"title":{},"content":{"10":{}},"tags":{}}],["5th",{"_index":1203,"title":{},"content":{"31":{}},"tags":{}}],["600",{"_index":758,"title":{"16":{}},"content":{"16":{}},"tags":{}}],["667",{"_index":1229,"title":{},"content":{"33":{}},"tags":{}}],["7",{"_index":1136,"title":{"29":{}},"content":{"29":{}},"tags":{}}],["71",{"_index":530,"title":{},"content":{"6":{}},"tags":{}}],["8.5",{"_index":443,"title":{},"content":{"3":{}},"tags":{}}],["800,000",{"_index":597,"title":{},"content":{"9":{}},"tags":{}}],["9",{"_index":888,"title":{},"content":{"19":{}},"tags":{}}],["abandonwar",{"_index":1197,"title":{},"content":{"31":{}},"tags":{}}],["abov",{"_index":1227,"title":{},"content":{"33":{},"39":{}},"tags":{}}],["absolut",{"_index":415,"title":{},"content":{"3":{}},"tags":{}}],["accept",{"_index":1004,"title":{},"content":{"23":{},"24":{}},"tags":{}}],["access",{"_index":383,"title":{"20":{},"21":{}},"content":{"3":{},"17":{},"20":{},"21":{},"22":{},"23":{},"24":{},"27":{},"30":{},"37":{},"38":{},"40":{}},"tags":{}}],["accord",{"_index":379,"title":{},"content":{"3":{}},"tags":{}}],["account",{"_index":635,"title":{},"content":{"13":{},"23":{}},"tags":{}}],["accus",{"_index":264,"title":{},"content":{"4":{}},"tags":{}}],["achiev",{"_index":816,"title":{},"content":{"16":{}},"tags":{}}],["acknowledg",{"_index":424,"title":{},"content":{"3":{}},"tags":{}}],["acquir",{"_index":684,"title":{},"content":{"17":{}},"tags":{}}],["action",{"_index":275,"title":{},"content":{"4":{},"19":{}},"tags":{}}],["activ",{"_index":698,"title":{},"content":{"17":{},"18":{},"23":{},"27":{},"30":{}},"tags":{}}],["ad",{"_index":1313,"title":{},"content":{"38":{},"40":{}},"tags":{}}],["add",{"_index":846,"title":{},"content":{"18":{},"29":{}},"tags":{}}],["addit",{"_index":339,"title":{},"content":{"3":{},"4":{},"30":{},"34":{},"38":{}},"tags":{}}],["addition",{"_index":75,"title":{},"content":{"2":{},"11":{},"13":{},"27":{}},"tags":{}}],["address",{"_index":284,"title":{},"content":{"4":{},"30":{},"32":{},"33":{}},"tags":{}}],["admin",{"_index":1307,"title":{},"content":{"38":{}},"tags":{}}],["admir",{"_index":427,"title":{},"content":{"3":{}},"tags":{}}],["ado",{"_index":562,"title":{},"content":{"6":{}},"tags":{}}],["adult",{"_index":627,"title":{},"content":{"12":{}},"tags":{}}],["adventur",{"_index":1176,"title":{},"content":{"29":{}},"tags":{}}],["advertis",{"_index":727,"title":{},"content":{"15":{}},"tags":{}}],["affili",{"_index":544,"title":{},"content":{"6":{}},"tags":{}}],["afford",{"_index":1079,"title":{},"content":{"27":{}},"tags":{}}],["ag",{"_index":1017,"title":{},"content":{"25":{},"38":{}},"tags":{}}],["again",{"_index":1275,"title":{},"content":{"37":{}},"tags":{}}],["against",{"_index":347,"title":{},"content":{"4":{},"6":{}},"tags":{}}],["age restrict",{"_index":1265,"title":{},"content":{},"tags":{"36":{}}}],["agnost",{"_index":1208,"title":{},"content":{"32":{}},"tags":{}}],["ai",{"_index":174,"title":{},"content":{"1":{}},"tags":{}}],["ai-generated nam",{"_index":231,"title":{},"content":{},"tags":{"1":{}}}],["aim",{"_index":191,"title":{},"content":{"1":{},"13":{}},"tags":{}}],["align",{"_index":477,"title":{},"content":{"3":{},"11":{},"18":{}},"tags":{}}],["aliv",{"_index":1109,"title":{},"content":{"27":{}},"tags":{}}],["allow",{"_index":386,"title":{},"content":{"3":{},"6":{},"32":{},"37":{}},"tags":{}}],["along",{"_index":1114,"title":{},"content":{"27":{},"38":{}},"tags":{}}],["alongsid",{"_index":892,"title":{},"content":{"19":{}},"tags":{}}],["alreadi",{"_index":593,"title":{},"content":{"8":{},"10":{},"13":{},"16":{},"18":{},"19":{},"28":{},"29":{},"33":{},"35":{}},"tags":{}}],["altern",{"_index":19,"title":{},"content":{"2":{},"3":{},"4":{},"25":{}},"tags":{"2":{}}}],["although",{"_index":457,"title":{},"content":{"3":{},"18":{},"40":{}},"tags":{}}],["alway",{"_index":1076,"title":{},"content":{"27":{},"29":{},"39":{}},"tags":{}}],["amaz",{"_index":765,"title":{},"content":{"16":{},"18":{},"30":{}},"tags":{}}],["analysi",{"_index":577,"title":{"7":{}},"content":{"6":{}},"tags":{}}],["analyt",{"_index":1267,"title":{},"content":{},"tags":{"36":{}}}],["analyz",{"_index":581,"title":{},"content":{"6":{}},"tags":{}}],["anim",{"_index":1093,"title":{},"content":{"27":{},"30":{},"35":{}},"tags":{}}],["announ",{"_index":884,"title":{},"content":{"19":{}},"tags":{}}],["announc",{"_index":157,"title":{"16":{},"25":{}},"content":{"1":{},"5":{},"16":{},"25":{},"28":{},"29":{},"30":{},"32":{}},"tags":{"1":{},"25":{},"30":{}}}],["annual",{"_index":445,"title":{},"content":{"3":{}},"tags":{}}],["anoth",{"_index":1031,"title":{},"content":{"25":{},"37":{}},"tags":{}}],["answer",{"_index":409,"title":{},"content":{"3":{},"17":{}},"tags":{}}],["anticip",{"_index":306,"title":{},"content":{"4":{},"16":{},"29":{}},"tags":{}}],["anual",{"_index":1092,"title":{},"content":{"27":{}},"tags":{}}],["anyon",{"_index":987,"title":{},"content":{"21":{}},"tags":{}}],["anyth",{"_index":938,"title":{},"content":{"19":{}},"tags":{}}],["api",{"_index":90,"title":{},"content":{"2":{},"27":{},"30":{},"32":{},"33":{}},"tags":{"2":{},"31":{}}}],["apolog",{"_index":193,"title":{},"content":{"1":{}},"tags":{}}],["app",{"_index":239,"title":{"4":{}},"content":{"3":{},"4":{},"5":{},"6":{},"8":{},"10":{},"11":{},"13":{},"14":{},"15":{},"16":{},"25":{},"38":{},"40":{}},"tags":{"4":{}}}],["app name migr",{"_index":749,"title":{},"content":{},"tags":{"15":{}}}],["app optim",{"_index":1266,"title":{},"content":{},"tags":{"36":{}}}],["app'",{"_index":210,"title":{},"content":{"1":{},"19":{}},"tags":{}}],["appeal",{"_index":185,"title":{},"content":{"1":{}},"tags":{}}],["appear",{"_index":702,"title":{},"content":{"17":{}},"tags":{}}],["appli",{"_index":1016,"title":{},"content":{"24":{},"27":{}},"tags":{}}],["applic",{"_index":404,"title":{},"content":{"3":{},"9":{},"10":{},"16":{},"17":{},"19":{},"22":{},"24":{},"25":{},"29":{},"30":{},"33":{}},"tags":{}}],["application'",{"_index":1129,"title":{},"content":{"28":{}},"tags":{}}],["appreci",{"_index":179,"title":{},"content":{"1":{},"3":{},"4":{},"16":{},"18":{},"35":{}},"tags":{}}],["approach",{"_index":52,"title":{},"content":{"2":{},"3":{}},"tags":{}}],["appropri",{"_index":292,"title":{},"content":{"4":{},"38":{}},"tags":{}}],["april",{"_index":1177,"title":{},"content":{"29":{}},"tags":{}}],["april fool",{"_index":1179,"title":{},"content":{},"tags":{"29":{}}}],["architectur",{"_index":1130,"title":{},"content":{"28":{}},"tags":{}}],["archiv",{"_index":905,"title":{},"content":{"19":{},"34":{}},"tags":{}}],["area",{"_index":1184,"title":{},"content":{"30":{}},"tags":{}}],["argument",{"_index":1314,"title":{},"content":{"38":{}},"tags":{}}],["around",{"_index":214,"title":{},"content":{"1":{},"3":{},"16":{},"27":{}},"tags":{}}],["art",{"_index":1231,"title":{},"content":{"33":{}},"tags":{}}],["ask",{"_index":183,"title":{},"content":{"1":{},"4":{},"16":{},"19":{},"37":{}},"tags":{}}],["aspect",{"_index":856,"title":{},"content":{"18":{}},"tags":{}}],["assist",{"_index":317,"title":{},"content":{"4":{}},"tags":{}}],["associ",{"_index":600,"title":{},"content":{"9":{}},"tags":{}}],["aswel",{"_index":924,"title":{},"content":{"19":{},"29":{}},"tags":{}}],["atmospher",{"_index":283,"title":{},"content":{"4":{}},"tags":{}}],["attempt",{"_index":278,"title":{},"content":{"4":{}},"tags":{}}],["attent",{"_index":242,"title":{},"content":{"4":{},"19":{}},"tags":{}}],["attract",{"_index":542,"title":{},"content":{"6":{}},"tags":{}}],["authent",{"_index":92,"title":{},"content":{"2":{}},"tags":{}}],["auto",{"_index":900,"title":{},"content":{"19":{},"34":{}},"tags":{}}],["automat",{"_index":81,"title":{},"content":{"2":{},"29":{}},"tags":{}}],["avail",{"_index":18,"title":{"3":{},"29":{}},"content":{"1":{},"2":{},"3":{},"13":{},"15":{},"27":{},"29":{}},"tags":{}}],["away",{"_index":1217,"title":{},"content":{"33":{},"37":{}},"tags":{}}],["awesom",{"_index":776,"title":{},"content":{"16":{}},"tags":{}}],["back",{"_index":814,"title":{"19":{}},"content":{"16":{},"19":{},"27":{},"37":{}},"tags":{}}],["backend",{"_index":682,"title":{},"content":{"17":{},"19":{},"33":{},"37":{}},"tags":{"31":{}}}],["backend application migr",{"_index":716,"title":{},"content":{},"tags":{"17":{}}}],["backend:earli",{"_index":1003,"title":{},"content":{"23":{}},"tags":{}}],["backlog",{"_index":610,"title":{},"content":{"10":{}},"tags":{}}],["backup",{"_index":908,"title":{},"content":{"19":{}},"tags":{}}],["bandwidth",{"_index":907,"title":{},"content":{"19":{}},"tags":{}}],["bar",{"_index":1308,"title":{},"content":{"38":{}},"tags":{}}],["base",{"_index":22,"title":{"29":{}},"content":{"1":{},"2":{},"27":{},"30":{},"38":{}},"tags":{}}],["baseless",{"_index":263,"title":{},"content":{"4":{}},"tags":{}}],["battl",{"_index":236,"title":{"4":{}},"content":{"29":{}},"tags":{}}],["be",{"_index":270,"title":{},"content":{"3":{},"4":{},"16":{},"18":{},"19":{}},"tags":{}}],["bean",{"_index":950,"title":{},"content":{"19":{}},"tags":{}}],["becom",{"_index":798,"title":{},"content":{"16":{},"18":{},"19":{},"31":{}},"tags":{}}],["befor",{"_index":986,"title":{},"content":{"21":{},"27":{},"37":{},"39":{}},"tags":{}}],["beforehand",{"_index":578,"title":{},"content":{"6":{}},"tags":{}}],["began",{"_index":250,"title":{},"content":{"4":{},"33":{}},"tags":{}}],["begin",{"_index":1165,"title":{},"content":{"29":{}},"tags":{}}],["behavior",{"_index":248,"title":{},"content":{"4":{},"33":{}},"tags":{}}],["behind",{"_index":399,"title":{},"content":{"3":{},"15":{},"25":{}},"tags":{}}],["believ",{"_index":391,"title":{},"content":{"3":{},"16":{},"18":{}},"tags":{}}],["benefit",{"_index":136,"title":{},"content":{"2":{},"6":{}},"tags":{}}],["best",{"_index":873,"title":{},"content":{"18":{},"29":{}},"tags":{}}],["bet",{"_index":1245,"title":{},"content":{"35":{}},"tags":{}}],["beta test",{"_index":979,"title":{},"content":{},"tags":{"20":{}}}],["better",{"_index":161,"title":{},"content":{"1":{},"4":{},"18":{},"33":{},"34":{},"37":{}},"tags":{}}],["between",{"_index":1235,"title":{},"content":{"33":{},"39":{}},"tags":{}}],["beyond",{"_index":1251,"title":{},"content":{"36":{}},"tags":{}}],["bia",{"_index":190,"title":{},"content":{"1":{}},"tags":{}}],["big",{"_index":761,"title":{"16":{}},"content":{"19":{},"21":{},"28":{},"30":{}},"tags":{}}],["biggest",{"_index":1253,"title":{},"content":{"36":{}},"tags":{}}],["bird",{"_index":1167,"title":{},"content":{"29":{}},"tags":{}}],["blackmail",{"_index":246,"title":{},"content":{"4":{}},"tags":{"4":{}}}],["bloat",{"_index":859,"title":{},"content":{"18":{}},"tags":{}}],["blog",{"_index":213,"title":{},"content":{"1":{},"16":{},"17":{},"19":{}},"tags":{}}],["board",{"_index":608,"title":{},"content":{"10":{},"18":{},"27":{}},"tags":{}}],["bookmark",{"_index":1237,"title":{},"content":{"34":{}},"tags":{}}],["bore",{"_index":962,"title":{},"content":{"19":{}},"tags":{}}],["born",{"_index":1022,"title":{},"content":{"25":{}},"tags":{}}],["both",{"_index":287,"title":{},"content":{"4":{},"33":{},"38":{}},"tags":{}}],["bothersom",{"_index":857,"title":{},"content":{"18":{}},"tags":{}}],["boundari",{"_index":774,"title":{},"content":{"16":{},"29":{}},"tags":{}}],["box",{"_index":739,"title":{},"content":{"15":{},"32":{},"33":{}},"tags":{}}],["box represent",{"_index":755,"title":{},"content":{},"tags":{"15":{}}}],["boy",{"_index":1037,"title":{},"content":{"25":{}},"tags":{}}],["brainstorm",{"_index":638,"title":{},"content":{"13":{}},"tags":{}}],["branch",{"_index":268,"title":{},"content":{"4":{}},"tags":{}}],["brand",{"_index":617,"title":{},"content":{"11":{},"20":{},"37":{}},"tags":{}}],["break",{"_index":1006,"title":{},"content":{"23":{}},"tags":{}}],["breez",{"_index":1319,"title":{},"content":{"38":{}},"tags":{}}],["brent",{"_index":668,"title":{},"content":{"14":{}},"tags":{}}],["brief",{"_index":680,"title":{},"content":{"17":{}},"tags":{}}],["bring",{"_index":302,"title":{},"content":{"4":{},"28":{}},"tags":{}}],["brows",{"_index":63,"title":{},"content":{"2":{},"29":{}},"tags":{}}],["btw",{"_index":1057,"title":{},"content":{"25":{}},"tags":{}}],["buck",{"_index":320,"title":{},"content":{"4":{}},"tags":{}}],["bug",{"_index":117,"title":{},"content":{"2":{},"4":{},"18":{},"19":{},"37":{}},"tags":{"4":{}}}],["build",{"_index":1045,"title":{},"content":{"25":{}},"tags":{}}],["built",{"_index":808,"title":{"36":{}},"content":{"16":{},"33":{},"36":{},"37":{},"38":{}},"tags":{}}],["bunch",{"_index":897,"title":{},"content":{"19":{}},"tags":{}}],["busi",{"_index":461,"title":{},"content":{"3":{},"6":{},"33":{}},"tags":{}}],["bypass",{"_index":1077,"title":{},"content":{"27":{}},"tags":{}}],["call",{"_index":365,"title":{},"content":{"3":{},"8":{},"9":{},"11":{},"25":{}},"tags":{}}],["can't",{"_index":506,"title":{},"content":{"5":{},"27":{},"35":{}},"tags":{}}],["capac",{"_index":842,"title":{},"content":{"18":{}},"tags":{}}],["carri",{"_index":1150,"title":{},"content":{"29":{}},"tags":{}}],["case",{"_index":402,"title":{},"content":{"3":{}},"tags":{}}],["casino/gambl",{"_index":602,"title":{},"content":{"9":{}},"tags":{}}],["cast",{"_index":201,"title":{},"content":{"1":{}},"tags":{}}],["caught",{"_index":878,"title":{},"content":{"19":{},"25":{}},"tags":{}}],["caus",{"_index":195,"title":{},"content":{"1":{},"31":{}},"tags":{}}],["celebr",{"_index":676,"title":{"16":{}},"content":{"14":{},"16":{}},"tags":{}}],["celebration of achiev",{"_index":830,"title":{},"content":{},"tags":{"16":{}}}],["certain",{"_index":384,"title":{},"content":{"3":{}},"tags":{}}],["challeng",{"_index":615,"title":{},"content":{"11":{},"16":{},"31":{}},"tags":{}}],["chanc",{"_index":660,"title":{},"content":{"14":{}},"tags":{}}],["chang",{"_index":556,"title":{},"content":{"6":{},"19":{},"25":{},"32":{},"33":{},"34":{},"37":{}},"tags":{}}],["changelog",{"_index":1328,"title":{},"content":{"39":{}},"tags":{}}],["channel",{"_index":336,"title":{},"content":{"4":{},"14":{},"17":{},"18":{},"23":{},"28":{},"30":{}},"tags":{}}],["chapter",{"_index":1113,"title":{},"content":{"27":{}},"tags":{}}],["character",{"_index":479,"title":{},"content":{"3":{}},"tags":{}}],["chat",{"_index":335,"title":{},"content":{"4":{},"16":{},"17":{}},"tags":{}}],["check",{"_index":1326,"title":{},"content":{"39":{}},"tags":{}}],["cherri",{"_index":1283,"title":{},"content":{"37":{}},"tags":{}}],["children",{"_index":1299,"title":{},"content":{"38":{}},"tags":{}}],["choic",{"_index":540,"title":{},"content":{"6":{}},"tags":{}}],["choos",{"_index":149,"title":{"1":{}},"content":{"1":{},"5":{}},"tags":{}}],["chosen",{"_index":583,"title":{},"content":{"6":{}},"tags":{}}],["clarifi",{"_index":361,"title":{},"content":{"3":{}},"tags":{}}],["clear",{"_index":1059,"title":{},"content":{"25":{},"27":{}},"tags":{}}],["cli",{"_index":1098,"title":{},"content":{"27":{}},"tags":{}}],["click",{"_index":203,"title":{},"content":{"1":{}},"tags":{}}],["client",{"_index":456,"title":{"29":{}},"content":{"3":{},"16":{},"17":{},"25":{},"27":{},"28":{},"29":{},"30":{},"36":{},"39":{}},"tags":{}}],["client application upd",{"_index":721,"title":{},"content":{},"tags":{"17":{}}}],["client upd",{"_index":1260,"title":{},"content":{},"tags":{"36":{}}}],["close",{"_index":403,"title":{},"content":{"3":{}},"tags":{}}],["closer",{"_index":358,"title":{"3":{}},"content":{},"tags":{}}],["cloud",{"_index":21,"title":{},"content":{"2":{}},"tags":{}}],["cloud-based game platform",{"_index":140,"title":{},"content":{},"tags":{"2":{}}}],["code",{"_index":367,"title":{},"content":{"3":{}},"tags":{}}],["code access",{"_index":497,"title":{},"content":{},"tags":{"3":{}}}],["coding chronicl",{"_index":972,"title":{},"content":{},"tags":{"19":{}}}],["collabor",{"_index":805,"title":{},"content":{"16":{},"18":{}},"tags":{"18":{}}}],["colleagu",{"_index":555,"title":{},"content":{"6":{},"15":{}},"tags":{}}],["collect",{"_index":65,"title":{},"content":{"2":{},"10":{},"29":{}},"tags":{}}],["come",{"_index":241,"title":{"25":{}},"content":{"4":{},"14":{},"27":{}},"tags":{}}],["commenc",{"_index":503,"title":{},"content":{"5":{},"13":{}},"tags":{}}],["comment",{"_index":487,"title":{},"content":{"3":{}},"tags":{}}],["commerci",{"_index":389,"title":{},"content":{"3":{}},"tags":{}}],["commit",{"_index":197,"title":{},"content":{"1":{},"3":{},"13":{},"18":{},"19":{},"30":{},"33":{}},"tags":{}}],["common",{"_index":614,"title":{},"content":{"11":{}},"tags":{}}],["commun",{"_index":34,"title":{"4":{}},"content":{"2":{},"3":{},"4":{},"6":{},"16":{},"17":{},"18":{},"19":{},"27":{},"28":{},"30":{},"33":{},"36":{},"38":{}},"tags":{"1":{},"18":{},"25":{},"31":{}}}],["community feedback",{"_index":516,"title":{},"content":{},"tags":{"5":{},"20":{}}}],["community manag",{"_index":1268,"title":{},"content":{},"tags":{"36":{}}}],["community-driven",{"_index":1191,"title":{},"content":{},"tags":{"30":{}}}],["company'",{"_index":446,"title":{},"content":{"3":{}},"tags":{}}],["compar",{"_index":76,"title":{},"content":{"2":{},"29":{}},"tags":{}}],["compat",{"_index":1144,"title":{},"content":{"29":{},"39":{}},"tags":{}}],["complet",{"_index":58,"title":{"15":{}},"content":{"2":{},"17":{},"22":{},"25":{},"31":{},"37":{}},"tags":{}}],["concept",{"_index":747,"title":{},"content":{"15":{}},"tags":{}}],["concern",{"_index":159,"title":{},"content":{"1":{},"33":{}},"tags":{}}],["conclud",{"_index":1180,"title":{},"content":{"30":{}},"tags":{}}],["conclus",{"_index":534,"title":{},"content":{"6":{}},"tags":{}}],["conduct",{"_index":575,"title":{},"content":{"6":{}},"tags":{}}],["configur",{"_index":93,"title":{},"content":{"2":{}},"tags":{}}],["confirm",{"_index":549,"title":{},"content":{"6":{}},"tags":{}}],["confus",{"_index":1071,"title":{},"content":{"27":{}},"tags":{}}],["connect",{"_index":125,"title":{},"content":{"2":{},"16":{}},"tags":{}}],["consent",{"_index":423,"title":{},"content":{"3":{}},"tags":{}}],["consequ",{"_index":579,"title":{},"content":{"6":{}},"tags":{}}],["consid",{"_index":362,"title":{},"content":{"3":{},"16":{},"35":{},"40":{}},"tags":{}}],["contact",{"_index":1125,"title":{},"content":{"28":{}},"tags":{}}],["content",{"_index":1296,"title":{},"content":{"38":{}},"tags":{}}],["continu",{"_index":223,"title":{},"content":{"1":{},"3":{},"4":{},"14":{},"16":{},"19":{},"29":{},"30":{},"32":{},"40":{}},"tags":{}}],["continued support",{"_index":829,"title":{},"content":{},"tags":{"16":{}}}],["contrast",{"_index":440,"title":{},"content":{"3":{}},"tags":{}}],["contribut",{"_index":115,"title":{},"content":{"1":{},"2":{},"3":{},"4":{},"6":{},"18":{},"19":{}},"tags":{}}],["control",{"_index":59,"title":{},"content":{"2":{},"3":{},"13":{},"19":{},"37":{},"38":{}},"tags":{"3":{}}}],["conveni",{"_index":168,"title":{},"content":{"1":{},"3":{},"38":{}},"tags":{}}],["convey",{"_index":645,"title":{},"content":{"13":{}},"tags":{}}],["convinc",{"_index":837,"title":{},"content":{"18":{}},"tags":{}}],["cook",{"_index":913,"title":{},"content":{"19":{}},"tags":{}}],["copi",{"_index":416,"title":{},"content":{"3":{}},"tags":{}}],["core",{"_index":450,"title":{},"content":{"3":{},"19":{},"27":{}},"tags":{}}],["couldn't",{"_index":1182,"title":{},"content":{"30":{}},"tags":{}}],["could’v",{"_index":1256,"title":{},"content":{"36":{}},"tags":{}}],["council",{"_index":864,"title":{},"content":{"18":{},"19":{},"28":{}},"tags":{}}],["council memb",{"_index":875,"title":{},"content":{},"tags":{"18":{}}}],["count",{"_index":959,"title":{},"content":{"19":{}},"tags":{}}],["cover",{"_index":1259,"title":{},"content":{"36":{}},"tags":{}}],["craft",{"_index":704,"title":{},"content":{"17":{}},"tags":{}}],["crash",{"_index":910,"title":{},"content":{"19":{}},"tags":{}}],["creat",{"_index":16,"title":{},"content":{"1":{},"2":{},"18":{}},"tags":{}}],["creativ",{"_index":748,"title":{},"content":{"15":{}},"tags":{}}],["creepi",{"_index":308,"title":{},"content":{"4":{}},"tags":{}}],["creepy behavior",{"_index":354,"title":{},"content":{},"tags":{"4":{}}}],["criteria",{"_index":372,"title":{},"content":{"3":{}},"tags":{}}],["critic",{"_index":552,"title":{"39":{}},"content":{"6":{}},"tags":{}}],["cross",{"_index":952,"title":{},"content":{"19":{}},"tags":{}}],["crucial",{"_index":855,"title":{},"content":{"18":{}},"tags":{}}],["crucual",{"_index":393,"title":{},"content":{"3":{}},"tags":{}}],["current",{"_index":194,"title":{},"content":{"1":{},"3":{},"6":{},"16":{},"17":{},"19":{},"27":{},"29":{},"33":{}},"tags":{}}],["custom",{"_index":1096,"title":{},"content":{"27":{},"30":{},"37":{}},"tags":{}}],["data",{"_index":532,"title":{},"content":{"6":{},"30":{},"33":{},"37":{}},"tags":{}}],["databas",{"_index":84,"title":{},"content":{"2":{},"19":{},"28":{},"30":{},"31":{},"32":{}},"tags":{"31":{}}}],["day",{"_index":1204,"title":{},"content":{"31":{}},"tags":{}}],["deal",{"_index":485,"title":{},"content":{"3":{},"21":{}},"tags":{}}],["decad",{"_index":435,"title":{},"content":{"3":{}},"tags":{}}],["decemb",{"_index":997,"title":{},"content":{"22":{}},"tags":{}}],["decid",{"_index":300,"title":{},"content":{"4":{},"28":{},"29":{},"32":{}},"tags":{}}],["deciph",{"_index":737,"title":{},"content":{"15":{}},"tags":{}}],["decis",{"_index":166,"title":{},"content":{"1":{},"4":{},"6":{}},"tags":{}}],["decision-mak",{"_index":233,"title":{},"content":{},"tags":{"1":{}}}],["dedic",{"_index":288,"title":{},"content":{"4":{},"16":{},"18":{},"30":{}},"tags":{}}],["deep",{"_index":926,"title":{},"content":{"19":{}},"tags":{}}],["default",{"_index":1234,"title":{},"content":{"33":{},"38":{}},"tags":{}}],["definit",{"_index":363,"title":{},"content":{"3":{}},"tags":{}}],["degrad",{"_index":1123,"title":{},"content":{"28":{}},"tags":{}}],["delay",{"_index":513,"title":{},"content":{"5":{}},"tags":{}}],["delight",{"_index":32,"title":{},"content":{"2":{}},"tags":{}}],["demand",{"_index":1043,"title":{},"content":{"25":{}},"tags":{}}],["demo",{"_index":688,"title":{},"content":{"17":{}},"tags":{}}],["depend",{"_index":560,"title":{},"content":{"6":{},"37":{}},"tags":{}}],["descript",{"_index":642,"title":{},"content":{"13":{}},"tags":{}}],["design",{"_index":43,"title":{},"content":{"2":{},"16":{},"17":{},"23":{},"27":{},"30":{}},"tags":{}}],["desir",{"_index":411,"title":{},"content":{"3":{},"18":{},"19":{},"28":{}},"tags":{}}],["despit",{"_index":1048,"title":{},"content":{"25":{}},"tags":{}}],["detail",{"_index":788,"title":{},"content":{"16":{},"27":{},"32":{},"39":{}},"tags":{}}],["develop",{"_index":299,"title":{},"content":{"3":{},"4":{},"17":{},"18":{},"19":{},"25":{},"33":{},"40":{}},"tags":{"4":{},"18":{},"25":{},"30":{}}}],["development mileston",{"_index":968,"title":{},"content":{},"tags":{"19":{}}}],["devic",{"_index":1149,"title":{},"content":{"29":{}},"tags":{}}],["dice",{"_index":743,"title":{},"content":{"15":{}},"tags":{}}],["didn't",{"_index":408,"title":{},"content":{"3":{}},"tags":{}}],["differ",{"_index":378,"title":{},"content":{"3":{},"6":{},"16":{},"19":{}},"tags":{}}],["direct",{"_index":861,"title":{},"content":{"18":{},"30":{}},"tags":{}}],["directli",{"_index":276,"title":{},"content":{"4":{},"38":{}},"tags":{}}],["disclos",{"_index":33,"title":{},"content":{"2":{},"3":{}},"tags":{}}],["discomfort",{"_index":196,"title":{},"content":{"1":{}},"tags":{}}],["discontinu",{"_index":1141,"title":{},"content":{"29":{}},"tags":{}}],["discord",{"_index":128,"title":{},"content":{"1":{},"2":{},"3":{},"4":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"23":{},"28":{},"30":{},"39":{}},"tags":{"18":{},"20":{},"30":{}}}],["discord channel",{"_index":723,"title":{},"content":{},"tags":{"15":{},"17":{}}}],["discord community growth",{"_index":819,"title":{},"content":{},"tags":{"16":{}}}],["discord serv",{"_index":146,"title":{},"content":{},"tags":{"2":{}}}],["discord server promot",{"_index":752,"title":{},"content":{},"tags":{"15":{}}}],["discov",{"_index":1164,"title":{},"content":{"29":{}},"tags":{}}],["discuss",{"_index":662,"title":{},"content":{"14":{},"16":{},"17":{},"27":{}},"tags":{}}],["display",{"_index":849,"title":{},"content":{"18":{}},"tags":{}}],["disrupt",{"_index":282,"title":{},"content":{"4":{}},"tags":{}}],["distanc",{"_index":632,"title":{},"content":{"13":{}},"tags":{}}],["distribut",{"_index":387,"title":{},"content":{"3":{}},"tags":{}}],["dive",{"_index":508,"title":{},"content":{"5":{},"19":{}},"tags":{}}],["divers",{"_index":187,"title":{},"content":{"1":{}},"tags":{}}],["do",{"_index":290,"title":{},"content":{"4":{},"18":{}},"tags":{}}],["docker/kubernet",{"_index":621,"title":{},"content":{"11":{}},"tags":{}}],["document",{"_index":105,"title":{},"content":{"2":{},"17":{},"28":{}},"tags":{}}],["documentation migr",{"_index":717,"title":{},"content":{},"tags":{"17":{}}}],["doesn't",{"_index":370,"title":{},"content":{"3":{},"25":{},"30":{}},"tags":{}}],["domain",{"_index":590,"title":{},"content":{"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"17":{}},"tags":{}}],["domain acquisit",{"_index":718,"title":{},"content":{},"tags":{"17":{}}}],["don't",{"_index":395,"title":{},"content":{"3":{}},"tags":{}}],["donat",{"_index":121,"title":{},"content":{"2":{},"3":{},"19":{},"25":{},"40":{}},"tags":{}}],["done",{"_index":1131,"title":{},"content":{"28":{},"30":{},"35":{}},"tags":{}}],["donor",{"_index":1056,"title":{},"content":{"25":{}},"tags":{}}],["dont",{"_index":1078,"title":{},"content":{"27":{}},"tags":{}}],["dough",{"_index":957,"title":{},"content":{"19":{}},"tags":{}}],["down",{"_index":854,"title":{},"content":{"18":{},"31":{}},"tags":{}}],["download",{"_index":67,"title":{},"content":{"2":{},"29":{},"34":{}},"tags":{}}],["downtim",{"_index":1199,"title":{},"content":{"31":{}},"tags":{}}],["draw",{"_index":533,"title":{},"content":{"6":{}},"tags":{}}],["drawback",{"_index":1232,"title":{},"content":{"33":{}},"tags":{}}],["drive",{"_index":985,"title":{},"content":{"21":{}},"tags":{}}],["drm",{"_index":7,"title":{"2":{}},"content":{"2":{},"25":{}},"tags":{}}],["drm-free",{"_index":1189,"title":{},"content":{},"tags":{"30":{}}}],["drm-free gam",{"_index":141,"title":{},"content":{},"tags":{"2":{}}}],["drop",{"_index":1219,"title":{},"content":{"33":{}},"tags":{}}],["due",{"_index":732,"title":{},"content":{"15":{}},"tags":{}}],["dure",{"_index":1052,"title":{},"content":{"25":{}},"tags":{}}],["dust",{"_index":1035,"title":{},"content":{"25":{}},"tags":{}}],["each",{"_index":582,"title":{},"content":{"6":{}},"tags":{}}],["eager",{"_index":630,"title":{},"content":{"13":{},"18":{},"19":{},"29":{}},"tags":{}}],["eagerli",{"_index":800,"title":{},"content":{"16":{}},"tags":{}}],["earli",{"_index":974,"title":{"20":{},"21":{}},"content":{"20":{},"21":{},"22":{},"24":{},"27":{},"30":{},"37":{}},"tags":{}}],["earlier",{"_index":574,"title":{},"content":{"6":{}},"tags":{}}],["early access",{"_index":977,"title":{},"content":{},"tags":{"20":{},"30":{}}}],["earn",{"_index":441,"title":{},"content":{"3":{}},"tags":{}}],["easier",{"_index":786,"title":{},"content":{"16":{}},"tags":{}}],["easili",{"_index":646,"title":{},"content":{"13":{},"27":{}},"tags":{}}],["easter",{"_index":1246,"title":{},"content":{"35":{}},"tags":{}}],["easter egg",{"_index":1206,"title":{},"content":{},"tags":{"31":{}}}],["edg",{"_index":1117,"title":{},"content":{"28":{}},"tags":{}}],["edit",{"_index":493,"title":{},"content":{"3":{},"17":{},"29":{},"37":{}},"tags":{}}],["effect",{"_index":644,"title":{},"content":{"13":{},"18":{},"37":{}},"tags":{}}],["effort",{"_index":314,"title":{},"content":{"4":{},"16":{},"19":{}},"tags":{}}],["egg",{"_index":1247,"title":{},"content":{"35":{}},"tags":{}}],["eleg",{"_index":1163,"title":{},"content":{"29":{}},"tags":{}}],["embark",{"_index":1173,"title":{},"content":{"29":{}},"tags":{}}],["emerg",{"_index":566,"title":{},"content":{"6":{}},"tags":{}}],["empathi",{"_index":483,"title":{},"content":{"3":{}},"tags":{}}],["emphas",{"_index":297,"title":{},"content":{"4":{},"13":{}},"tags":{}}],["employ",{"_index":262,"title":{},"content":{"4":{}},"tags":{}}],["empow",{"_index":815,"title":{},"content":{"16":{}},"tags":{}}],["emul",{"_index":920,"title":{},"content":{"19":{}},"tags":{}}],["enabl",{"_index":62,"title":{},"content":{"2":{},"18":{}},"tags":{}}],["encount",{"_index":286,"title":{},"content":{"4":{}},"tags":{}}],["encourag",{"_index":219,"title":{},"content":{"1":{},"3":{},"4":{},"6":{},"16":{}},"tags":{}}],["encrypt",{"_index":1239,"title":{},"content":{"34":{}},"tags":{}}],["end",{"_index":204,"title":{},"content":{"1":{},"19":{},"25":{}},"tags":{}}],["endeavor",{"_index":871,"title":{},"content":{"18":{}},"tags":{}}],["endlessli",{"_index":1058,"title":{},"content":{"25":{}},"tags":{}}],["engag",{"_index":245,"title":{},"content":{"3":{},"4":{},"13":{},"16":{},"19":{}},"tags":{"4":{}}}],["enhanc",{"_index":775,"title":{},"content":{"16":{},"27":{},"29":{},"30":{},"40":{}},"tags":{}}],["enjoy",{"_index":133,"title":{},"content":{"1":{},"2":{},"27":{},"30":{},"38":{},"40":{}},"tags":{}}],["enough",{"_index":868,"title":{},"content":{"18":{}},"tags":{}}],["enrich",{"_index":85,"title":{},"content":{"2":{}},"tags":{}}],["ensur",{"_index":348,"title":{},"content":{"4":{},"6":{},"18":{},"19":{},"29":{},"30":{},"39":{}},"tags":{}}],["enterpris",{"_index":1074,"title":{},"content":{"27":{}},"tags":{}}],["enthusiasm",{"_index":834,"title":{},"content":{"18":{},"30":{}},"tags":{}}],["entir",{"_index":784,"title":{},"content":{"16":{}},"tags":{}}],["entireti",{"_index":725,"title":{},"content":{"15":{}},"tags":{}}],["environ",{"_index":199,"title":{},"content":{"1":{},"4":{}},"tags":{}}],["environment",{"_index":1225,"title":{},"content":{"33":{}},"tags":{}}],["epic",{"_index":25,"title":{},"content":{"2":{}},"tags":{}}],["equal",{"_index":631,"title":{},"content":{"13":{}},"tags":{}}],["escal",{"_index":255,"title":{},"content":{"4":{}},"tags":{}}],["especi",{"_index":468,"title":{},"content":{"3":{},"16":{}},"tags":{}}],["essenc",{"_index":211,"title":{},"content":{"1":{}},"tags":{}}],["etc",{"_index":923,"title":{},"content":{"19":{}},"tags":{}}],["even",{"_index":69,"title":{},"content":{"2":{},"3":{},"4":{},"6":{},"14":{},"16":{},"18":{},"30":{},"34":{},"37":{}},"tags":{}}],["everybodi",{"_index":656,"title":{},"content":{"14":{}},"tags":{}}],["everyon",{"_index":30,"title":{},"content":{"1":{},"2":{},"3":{},"4":{},"5":{},"16":{},"18":{},"21":{},"25":{},"27":{},"29":{},"30":{},"31":{}},"tags":{}}],["everyth",{"_index":993,"title":{},"content":{"21":{}},"tags":{}}],["exact",{"_index":1044,"title":{},"content":{"25":{}},"tags":{}}],["exampl",{"_index":406,"title":{},"content":{"3":{},"33":{}},"tags":{}}],["excit",{"_index":27,"title":{"31":{},"34":{}},"content":{"2":{},"5":{},"14":{},"16":{},"19":{},"27":{},"29":{},"30":{},"32":{},"34":{},"36":{}},"tags":{}}],["exclus",{"_index":649,"title":{},"content":{"13":{},"21":{}},"tags":{}}],["exclusive preview",{"_index":980,"title":{},"content":{},"tags":{"20":{}}}],["execut",{"_index":1316,"title":{},"content":{"38":{}},"tags":{}}],["exist",{"_index":607,"title":{},"content":{"10":{}},"tags":{}}],["expand",{"_index":553,"title":{},"content":{"6":{}},"tags":{}}],["experi",{"_index":61,"title":{},"content":{"1":{},"2":{},"4":{},"16":{},"18":{},"27":{},"29":{},"30":{},"34":{}},"tags":{}}],["experienc",{"_index":785,"title":{},"content":{"16":{}},"tags":{}}],["explain",{"_index":374,"title":{},"content":{"3":{},"33":{}},"tags":{}}],["exploit",{"_index":414,"title":{},"content":{"3":{}},"tags":{}}],["explor",{"_index":368,"title":{},"content":{"3":{},"29":{},"30":{}},"tags":{}}],["express",{"_index":768,"title":{},"content":{"16":{},"18":{}},"tags":{}}],["extend",{"_index":274,"title":{},"content":{"4":{},"14":{}},"tags":{}}],["extens",{"_index":636,"title":{},"content":{"13":{}},"tags":{}}],["extra",{"_index":862,"title":{},"content":{"18":{},"19":{}},"tags":{}}],["extract",{"_index":901,"title":{},"content":{"19":{}},"tags":{}}],["face",{"_index":1195,"title":{},"content":{"31":{}},"tags":{}}],["fact",{"_index":511,"title":{},"content":{"5":{}},"tags":{}}],["fact,quit",{"_index":1020,"title":{},"content":{"25":{}},"tags":{}}],["famili",{"_index":151,"title":{"1":{}},"content":{"1":{},"3":{},"6":{},"15":{},"16":{},"25":{},"38":{}},"tags":{}}],["family-friendli",{"_index":230,"title":{},"content":{},"tags":{"1":{}}}],["fantast",{"_index":838,"title":{},"content":{"18":{}},"tags":{}}],["far",{"_index":258,"title":{},"content":{"4":{},"16":{}},"tags":{}}],["favorit",{"_index":1151,"title":{},"content":{"29":{},"34":{}},"tags":{}}],["feasibl",{"_index":432,"title":{},"content":{"3":{}},"tags":{}}],["featur",{"_index":80,"title":{"16":{},"31":{},"34":{},"38":{}},"content":{"2":{},"3":{},"4":{},"8":{},"16":{},"18":{},"19":{},"21":{},"27":{},"28":{},"29":{},"30":{},"34":{},"38":{},"39":{},"40":{}},"tags":{"18":{},"30":{},"31":{}}}],["feature request",{"_index":357,"title":{},"content":{},"tags":{"4":{}}}],["fee",{"_index":1089,"title":{},"content":{"27":{},"30":{}},"tags":{}}],["feed",{"_index":1168,"title":{},"content":{"29":{}},"tags":{}}],["feedback",{"_index":116,"title":{},"content":{"1":{},"2":{},"3":{},"6":{},"13":{},"16":{},"18":{},"21":{},"27":{},"30":{}},"tags":{"1":{},"16":{},"18":{},"30":{}}}],["feel",{"_index":491,"title":{},"content":{"3":{},"18":{},"25":{},"36":{},"39":{}},"tags":{}}],["fellow",{"_index":960,"title":{},"content":{"19":{}},"tags":{}}],["fetch",{"_index":1221,"title":{},"content":{"33":{},"37":{}},"tags":{}}],["few",{"_index":551,"title":{},"content":{"6":{},"28":{}},"tags":{}}],["fierc",{"_index":1152,"title":{},"content":{"29":{}},"tags":{}}],["file",{"_index":39,"title":{},"content":{"2":{},"19":{},"25":{}},"tags":{}}],["file serv",{"_index":142,"title":{},"content":{},"tags":{"2":{}}}],["fill",{"_index":1280,"title":{},"content":{"37":{}},"tags":{}}],["filter",{"_index":101,"title":{},"content":{"2":{}},"tags":{}}],["final",{"_index":459,"title":{"15":{}},"content":{"3":{},"5":{},"17":{},"28":{},"29":{},"35":{}},"tags":{}}],["financi",{"_index":316,"title":{},"content":{"4":{},"25":{}},"tags":{}}],["financial assist",{"_index":355,"title":{},"content":{},"tags":{"4":{}}}],["find",{"_index":208,"title":{},"content":{"1":{},"6":{},"11":{},"15":{},"18":{},"25":{},"28":{},"35":{}},"tags":{}}],["finder",{"_index":912,"title":{},"content":{"19":{}},"tags":{}}],["fine",{"_index":992,"title":{},"content":{"21":{}},"tags":{}}],["fingertip",{"_index":1158,"title":{},"content":{"29":{}},"tags":{}}],["finish",{"_index":695,"title":{},"content":{"17":{}},"tags":{}}],["first",{"_index":312,"title":{},"content":{"4":{},"5":{},"16":{},"22":{},"25":{},"27":{},"37":{}},"tags":{}}],["five",{"_index":319,"title":{},"content":{"4":{}},"tags":{}}],["fix",{"_index":895,"title":{},"content":{"19":{}},"tags":{}}],["flex",{"_index":1243,"title":{},"content":{"35":{}},"tags":{}}],["flexibl",{"_index":50,"title":{},"content":{"2":{},"37":{}},"tags":{}}],["flood",{"_index":832,"title":{},"content":{"18":{}},"tags":{}}],["floor",{"_index":1188,"title":{},"content":{"30":{}},"tags":{}}],["focus",{"_index":1132,"title":{},"content":{"28":{}},"tags":{}}],["foe",{"_index":1153,"title":{},"content":{"29":{}},"tags":{}}],["folk",{"_index":240,"title":{},"content":{"4":{},"15":{}},"tags":{}}],["follow",{"_index":880,"title":{},"content":{"19":{}},"tags":{}}],["fool",{"_index":1178,"title":{},"content":{"29":{}},"tags":{}}],["footer",{"_index":131,"title":{},"content":{"2":{}},"tags":{}}],["foremost",{"_index":1271,"title":{},"content":{"37":{}},"tags":{}}],["forgotten",{"_index":1032,"title":{},"content":{"25":{}},"tags":{}}],["form",{"_index":994,"title":{},"content":{"22":{}},"tags":{}}],["format",{"_index":906,"title":{},"content":{"19":{},"38":{}},"tags":{}}],["forum",{"_index":797,"title":{},"content":{"16":{}},"tags":{}}],["forward",{"_index":492,"title":{"19":{}},"content":{"3":{},"16":{},"28":{},"32":{}},"tags":{}}],["found",{"_index":110,"title":{},"content":{"2":{},"17":{},"24":{},"32":{}},"tags":{}}],["framework",{"_index":1143,"title":{},"content":{"29":{},"37":{}},"tags":{}}],["frankli",{"_index":1030,"title":{},"content":{"25":{}},"tags":{}}],["free",{"_index":8,"title":{"2":{}},"content":{"2":{},"3":{},"13":{},"18":{},"25":{},"27":{},"39":{},"40":{}},"tags":{}}],["freedom",{"_index":385,"title":{},"content":{"3":{},"37":{}},"tags":{}}],["freeli",{"_index":388,"title":{},"content":{"3":{}},"tags":{}}],["frequent",{"_index":1198,"title":{},"content":{"31":{}},"tags":{}}],["fresh",{"_index":705,"title":{},"content":{"17":{}},"tags":{}}],["friend",{"_index":38,"title":{},"content":{"2":{},"6":{},"15":{},"16":{},"25":{}},"tags":{}}],["friendli",{"_index":152,"title":{"1":{}},"content":{"1":{},"16":{}},"tags":{}}],["frontend",{"_index":890,"title":{},"content":{"19":{}},"tags":{}}],["fuel",{"_index":810,"title":{},"content":{"16":{}},"tags":{}}],["full",{"_index":98,"title":{},"content":{"2":{},"3":{},"37":{}},"tags":{}}],["fulli",{"_index":104,"title":{},"content":{"2":{},"3":{}},"tags":{}}],["function",{"_index":451,"title":{},"content":{"3":{},"38":{}},"tags":{}}],["further",{"_index":512,"title":{},"content":{"5":{},"6":{},"16":{},"17":{},"18":{},"29":{}},"tags":{}}],["furthermor",{"_index":683,"title":{},"content":{"17":{}},"tags":{}}],["futur",{"_index":177,"title":{},"content":{"1":{},"3":{},"16":{},"18":{},"19":{},"24":{},"30":{}},"tags":{}}],["future develop",{"_index":235,"title":{},"content":{},"tags":{"1":{}}}],["future featur",{"_index":970,"title":{},"content":{},"tags":{"19":{}}}],["gain",{"_index":1086,"title":{},"content":{"27":{},"30":{}},"tags":{}}],["game",{"_index":5,"title":{"2":{}},"content":{"1":{},"2":{},"9":{},"10":{},"12":{},"15":{},"16":{},"18":{},"19":{},"25":{},"28":{},"29":{},"30":{},"32":{},"33":{},"34":{},"37":{},"38":{}},"tags":{"2":{},"20":{},"25":{},"30":{},"31":{}}}],["game develop",{"_index":964,"title":{},"content":{},"tags":{"19":{}}}],["gamehub",{"_index":520,"title":{"12":{}},"content":{"6":{},"12":{}},"tags":{"5":{}}}],["gamehubapp.d",{"_index":623,"title":{},"content":{"12":{}},"tags":{}}],["gameplay",{"_index":1304,"title":{},"content":{"38":{}},"tags":{}}],["gamer",{"_index":200,"title":{},"content":{"1":{},"16":{}},"tags":{}}],["gameshelf",{"_index":518,"title":{"10":{}},"content":{"6":{},"10":{}},"tags":{"5":{}}}],["gameshelf.d",{"_index":606,"title":{},"content":{"10":{}},"tags":{}}],["gamestash",{"_index":517,"title":{"8":{}},"content":{"6":{},"8":{}},"tags":{"5":{}}}],["gamestash.d",{"_index":591,"title":{},"content":{"8":{}},"tags":{}}],["gamevau.lt",{"_index":598,"title":{},"content":{"9":{},"13":{},"17":{}},"tags":{}}],["gamevault",{"_index":1,"title":{"2":{},"3":{},"9":{},"20":{},"25":{},"26":{},"27":{},"29":{},"30":{},"35":{}},"content":{"2":{},"3":{},"4":{},"6":{},"9":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"23":{},"25":{},"27":{},"28":{},"29":{},"30":{},"32":{},"33":{},"34":{},"35":{},"36":{},"38":{},"40":{}},"tags":{"1":{},"2":{},"5":{},"18":{},"20":{},"25":{},"30":{},"31":{},"36":{}}}],["gamevault app",{"_index":356,"title":{},"content":{},"tags":{"4":{}}}],["gamevault domain",{"_index":523,"title":{},"content":{},"tags":{"5":{}}}],["gamevault journey",{"_index":971,"title":{},"content":{},"tags":{"19":{}}}],["gamevault mileston",{"_index":817,"title":{},"content":{},"tags":{"16":{}}}],["gamevault'",{"_index":777,"title":{"32":{}},"content":{"16":{},"18":{},"32":{}},"tags":{}}],["gamevault999",{"_index":603,"title":{},"content":{"9":{}},"tags":{}}],["gamevault’",{"_index":1331,"title":{},"content":{"40":{}},"tags":{}}],["gaming commun",{"_index":966,"title":{},"content":{},"tags":{"19":{}}}],["gaming experi",{"_index":876,"title":{},"content":{},"tags":{"18":{}}}],["gaming platform",{"_index":228,"title":{},"content":{},"tags":{"1":{}}}],["gaming serv",{"_index":982,"title":{},"content":{},"tags":{"20":{}}}],["gap",{"_index":1281,"title":{},"content":{"37":{}},"tags":{}}],["gather",{"_index":186,"title":{},"content":{"1":{},"25":{}},"tags":{}}],["gave",{"_index":657,"title":{},"content":{"14":{}},"tags":{}}],["gener",{"_index":173,"title":{},"content":{"1":{},"3":{},"25":{}},"tags":{}}],["genr",{"_index":88,"title":{},"content":{"2":{}},"tags":{}}],["genuin",{"_index":460,"title":{},"content":{"3":{},"18":{}},"tags":{}}],["get",{"_index":1015,"title":{},"content":{"24":{}},"tags":{}}],["github",{"_index":269,"title":{},"content":{"4":{},"16":{},"18":{},"25":{},"32":{}},"tags":{"18":{}}}],["github issu",{"_index":824,"title":{},"content":{},"tags":{"16":{}}}],["give",{"_index":57,"title":{},"content":{"2":{},"14":{},"27":{},"37":{},"38":{}},"tags":{}}],["glimps",{"_index":877,"title":{"19":{}},"content":{},"tags":{}}],["go",{"_index":322,"title":{},"content":{"4":{},"16":{},"18":{},"27":{},"29":{},"32":{}},"tags":{}}],["goal",{"_index":448,"title":{},"content":{"3":{},"16":{},"32":{}},"tags":{}}],["gog",{"_index":26,"title":{},"content":{"2":{}},"tags":{}}],["golden",{"_index":983,"title":{},"content":{"21":{}},"tags":{}}],["good",{"_index":706,"title":{},"content":{"17":{}},"tags":{}}],["goodby",{"_index":929,"title":{},"content":{"19":{}},"tags":{}}],["goodi",{"_index":1083,"title":{},"content":{"27":{}},"tags":{}}],["googl",{"_index":588,"title":{},"content":{"8":{},"9":{},"10":{},"11":{},"12":{},"37":{}},"tags":{}}],["grab",{"_index":1001,"title":{},"content":{"23":{}},"tags":{}}],["graphic",{"_index":703,"title":{},"content":{"17":{}},"tags":{}}],["grate",{"_index":114,"title":{},"content":{"2":{},"4":{},"19":{},"25":{}},"tags":{}}],["gratitud",{"_index":665,"title":{},"content":{"14":{},"16":{},"18":{}},"tags":{"16":{}}}],["great",{"_index":484,"title":{},"content":{"3":{},"15":{},"16":{},"33":{}},"tags":{}}],["greatli",{"_index":178,"title":{},"content":{"1":{}},"tags":{}}],["ground",{"_index":1258,"title":{},"content":{"36":{}},"tags":{}}],["group",{"_index":243,"title":{},"content":{"4":{},"21":{}},"tags":{}}],["grow",{"_index":561,"title":{},"content":{"6":{},"16":{},"19":{}},"tags":{}}],["growth",{"_index":454,"title":{},"content":{"3":{}},"tags":{}}],["guid",{"_index":1325,"title":{},"content":{"39":{}},"tags":{}}],["guy",{"_index":10,"title":{},"content":{"2":{},"17":{},"19":{},"20":{}},"tags":{}}],["halloween",{"_index":1309,"title":{},"content":{"38":{}},"tags":{}}],["handl",{"_index":294,"title":{},"content":{"4":{}},"tags":{}}],["happen",{"_index":398,"title":{},"content":{"3":{},"18":{},"19":{},"25":{},"33":{}},"tags":{}}],["happi",{"_index":227,"title":{},"content":{"1":{},"3":{},"19":{},"29":{},"30":{}},"tags":{}}],["harass",{"_index":237,"title":{"4":{}},"content":{"4":{}},"tags":{"4":{}}}],["harbor",{"_index":519,"title":{"11":{}},"content":{"6":{},"11":{}},"tags":{"5":{}}}],["harborapp.d",{"_index":613,"title":{},"content":{"11":{}},"tags":{}}],["hard",{"_index":301,"title":{},"content":{"3":{},"4":{},"16":{},"29":{},"36":{}},"tags":{}}],["harm",{"_index":541,"title":{},"content":{"6":{}},"tags":{}}],["have",{"_index":1025,"title":{},"content":{"25":{}},"tags":{}}],["haven't",{"_index":793,"title":{},"content":{"16":{}},"tags":{}}],["head",{"_index":675,"title":{},"content":{"14":{},"15":{},"19":{},"29":{}},"tags":{}}],["health",{"_index":96,"title":{},"content":{"2":{}},"tags":{}}],["health monitor",{"_index":145,"title":{},"content":{},"tags":{"2":{}}}],["hear",{"_index":490,"title":{},"content":{"3":{},"13":{},"14":{}},"tags":{}}],["heart",{"_index":927,"title":{},"content":{"19":{},"25":{}},"tags":{}}],["heartfelt",{"_index":803,"title":{},"content":{"16":{},"18":{}},"tags":{}}],["heavi",{"_index":1121,"title":{},"content":{"28":{}},"tags":{}}],["hello",{"_index":155,"title":{},"content":{"1":{},"18":{},"19":{},"36":{}},"tags":{}}],["help",{"_index":160,"title":{"18":{}},"content":{"1":{},"4":{},"6":{},"16":{},"18":{},"19":{},"21":{},"27":{},"30":{},"40":{}},"tags":{}}],["here",{"_index":563,"title":{},"content":{"6":{},"14":{},"16":{},"18":{},"19":{},"23":{},"24":{},"27":{},"29":{},"30":{}},"tags":{}}],["here'",{"_index":535,"title":{},"content":{"6":{},"19":{},"21":{}},"tags":{}}],["here’",{"_index":1293,"title":{},"content":{"38":{}},"tags":{}}],["hey",{"_index":9,"title":{},"content":{"2":{},"3":{},"4":{},"5":{},"15":{},"16":{},"17":{},"20":{},"25":{},"29":{},"30":{},"31":{}},"tags":{}}],["highli",{"_index":106,"title":{},"content":{"2":{},"16":{},"29":{}},"tags":{}}],["highlight",{"_index":898,"title":{},"content":{"19":{}},"tags":{}}],["hit",{"_index":886,"title":{},"content":{"19":{},"39":{}},"tags":{}}],["holodeck",{"_index":1166,"title":{},"content":{"29":{}},"tags":{}}],["home",{"_index":1027,"title":{},"content":{"25":{}},"tags":{}}],["hope",{"_index":134,"title":{},"content":{"2":{},"4":{},"18":{},"34":{},"40":{}},"tags":{}}],["hopefulli",{"_index":1118,"title":{},"content":{"28":{}},"tags":{}}],["horizon",{"_index":885,"title":{},"content":{"19":{}},"tags":{}}],["host",{"_index":4,"title":{"2":{}},"content":{"2":{},"3":{},"13":{},"14":{},"16":{},"25":{}},"tags":{}}],["hostabl",{"_index":1018,"title":{},"content":{"25":{}},"tags":{}}],["hoster",{"_index":961,"title":{},"content":{"19":{}},"tags":{}}],["https://api.rawg.io/api",{"_index":1233,"title":{},"content":{"33":{}},"tags":{}}],["https://forms.gle/cysurg6bqmxcxe3b8",{"_index":226,"title":{},"content":{"1":{}},"tags":{}}],["humbl",{"_index":315,"title":{},"content":{"4":{}},"tags":{}}],["hybrid model",{"_index":498,"title":{},"content":{},"tags":{"3":{}}}],["idea",{"_index":659,"title":{},"content":{"14":{},"18":{},"33":{}},"tags":{}}],["ident",{"_index":618,"title":{},"content":{"11":{}},"tags":{}}],["igdb",{"_index":1194,"title":{"31":{}},"content":{"32":{}},"tags":{"31":{}}}],["igdb'",{"_index":1212,"title":{},"content":{"32":{}},"tags":{}}],["igdb/twitch",{"_index":1277,"title":{},"content":{"37":{}},"tags":{}}],["imag",{"_index":904,"title":{},"content":{"19":{},"23":{},"37":{}},"tags":{}}],["imagin",{"_index":1029,"title":{},"content":{"25":{}},"tags":{}}],["immens",{"_index":769,"title":{},"content":{"16":{}},"tags":{}}],["impact",{"_index":333,"title":{},"content":{"4":{}},"tags":{}}],["implement",{"_index":95,"title":{"33":{}},"content":{"2":{},"18":{},"19":{},"33":{}},"tags":{}}],["import",{"_index":156,"title":{"24":{}},"content":{"1":{},"3":{},"4":{},"5":{}},"tags":{}}],["importantli",{"_index":1187,"title":{},"content":{"30":{}},"tags":{}}],["impos",{"_index":42,"title":{},"content":{"2":{}},"tags":{}}],["improv",{"_index":224,"title":{},"content":{"1":{},"3":{},"4":{},"6":{},"19":{},"30":{},"37":{},"38":{}},"tags":{"4":{},"30":{}}}],["incept",{"_index":1181,"title":{},"content":{"30":{}},"tags":{}}],["includ",{"_index":554,"title":{},"content":{"6":{},"27":{},"29":{},"30":{}},"tags":{}}],["inclus",{"_index":192,"title":{},"content":{"1":{},"4":{}},"tags":{"1":{}}}],["incorpor",{"_index":839,"title":{},"content":{"18":{}},"tags":{}}],["incorrect",{"_index":1200,"title":{},"content":{"31":{}},"tags":{}}],["incred",{"_index":329,"title":{},"content":{"4":{},"16":{},"18":{},"29":{},"30":{},"37":{},"38":{}},"tags":{}}],["indefinit",{"_index":431,"title":{},"content":{"3":{}},"tags":{}}],["index",{"_index":82,"title":{},"content":{"2":{}},"tags":{}}],["indi",{"_index":1047,"title":{},"content":{"25":{}},"tags":{}}],["individu",{"_index":244,"title":{},"content":{"4":{}},"tags":{}}],["influenc",{"_index":640,"title":{},"content":{"13":{}},"tags":{}}],["info",{"_index":1285,"title":{"39":{}},"content":{"37":{}},"tags":{}}],["inform",{"_index":261,"title":{},"content":{"4":{},"6":{},"16":{}},"tags":{}}],["infrastructur",{"_index":1111,"title":{},"content":{"27":{}},"tags":{}}],["innov",{"_index":1174,"title":{},"content":{"29":{}},"tags":{}}],["input",{"_index":188,"title":{},"content":{"1":{},"3":{},"4":{},"18":{},"30":{}},"tags":{}}],["inspir",{"_index":772,"title":{},"content":{"16":{},"18":{},"19":{}},"tags":{}}],["instal",{"_index":759,"title":{"16":{}},"content":{"16":{},"19":{},"23":{}},"tags":{}}],["installation pipelin",{"_index":822,"title":{},"content":{},"tags":{"16":{}}}],["instanc",{"_index":433,"title":{},"content":{"3":{}},"tags":{}}],["instead",{"_index":1222,"title":{},"content":{"33":{},"37":{}},"tags":{}}],["instruct",{"_index":1327,"title":{},"content":{"39":{}},"tags":{}}],["integr",{"_index":1102,"title":{},"content":{"27":{},"29":{},"33":{}},"tags":{}}],["intellig",{"_index":1282,"title":{},"content":{"37":{}},"tags":{}}],["intent",{"_index":480,"title":{},"content":{"3":{}},"tags":{}}],["interact",{"_index":991,"title":{},"content":{"21":{}},"tags":{}}],["interfac",{"_index":1101,"title":{},"content":{"27":{},"29":{}},"tags":{}}],["intern",{"_index":637,"title":{},"content":{"13":{}},"tags":{}}],["introduc",{"_index":0,"title":{"2":{}},"content":{"13":{},"18":{},"33":{},"34":{},"37":{}},"tags":{}}],["intuit",{"_index":643,"title":{},"content":{"13":{},"29":{}},"tags":{}}],["invalu",{"_index":804,"title":{},"content":{"16":{},"18":{}},"tags":{}}],["invest",{"_index":1064,"title":{},"content":{"25":{}},"tags":{}}],["invit",{"_index":111,"title":{},"content":{"2":{},"16":{},"18":{}},"tags":{}}],["involv",{"_index":870,"title":{},"content":{"18":{}},"tags":{}}],["isn't",{"_index":327,"title":{},"content":{"3":{},"4":{},"25":{}},"tags":{}}],["issu",{"_index":252,"title":{},"content":{"4":{},"16":{},"18":{},"31":{},"32":{}},"tags":{}}],["it'",{"_index":392,"title":{},"content":{"3":{},"15":{},"16":{},"19":{},"25":{},"27":{},"30":{},"31":{}},"tags":{}}],["jellyfin",{"_index":54,"title":{},"content":{"2":{},"3":{}},"tags":{}}],["job",{"_index":474,"title":{},"content":{"3":{},"25":{}},"tags":{}}],["join",{"_index":127,"title":{"20":{},"22":{}},"content":{"2":{},"15":{},"16":{},"18":{},"19":{},"28":{}},"tags":{}}],["journey",{"_index":135,"title":{},"content":{"2":{},"14":{},"16":{},"18":{},"29":{},"30":{}},"tags":{}}],["joy",{"_index":303,"title":{},"content":{"4":{},"29":{}},"tags":{}}],["juggl",{"_index":1049,"title":{},"content":{"25":{}},"tags":{}}],["juli",{"_index":215,"title":{},"content":{"1":{}},"tags":{}}],["justifi",{"_index":1063,"title":{},"content":{"25":{}},"tags":{}}],["kairubyt",{"_index":664,"title":{},"content":{"14":{}},"tags":{}}],["kanban",{"_index":852,"title":{},"content":{"18":{}},"tags":{}}],["kanban board",{"_index":874,"title":{},"content":{},"tags":{"18":{}}}],["keep",{"_index":449,"title":{},"content":{"3":{},"14":{},"16":{},"19":{},"27":{},"28":{},"40":{}},"tags":{}}],["key",{"_index":536,"title":{},"content":{"6":{},"18":{},"19":{},"30":{},"32":{}},"tags":{}}],["keyhol",{"_index":741,"title":{},"content":{"15":{}},"tags":{}}],["keyhole represent",{"_index":756,"title":{},"content":{},"tags":{"15":{}}}],["kick",{"_index":996,"title":{},"content":{"22":{}},"tags":{}}],["kind",{"_index":330,"title":{},"content":{"4":{},"14":{}},"tags":{}}],["kindli",{"_index":180,"title":{},"content":{"1":{},"4":{},"16":{},"18":{}},"tags":{}}],["knee",{"_index":925,"title":{},"content":{"19":{}},"tags":{}}],["know",{"_index":654,"title":{},"content":{"14":{},"18":{},"25":{}},"tags":{}}],["known",{"_index":620,"title":{},"content":{"11":{}},"tags":{}}],["kofi",{"_index":321,"title":{},"content":{"4":{}},"tags":{}}],["larg",{"_index":976,"title":{},"content":{"20":{},"25":{}},"tags":{}}],["last",{"_index":670,"title":{},"content":{"14":{},"22":{},"25":{},"31":{}},"tags":{}}],["lastli",{"_index":689,"title":{},"content":{"17":{}},"tags":{}}],["later",{"_index":1012,"title":{},"content":{"24":{}},"tags":{}}],["latest",{"_index":988,"title":{},"content":{"21":{},"40":{}},"tags":{}}],["launch",{"_index":68,"title":{},"content":{"2":{},"16":{},"20":{},"25":{},"30":{}},"tags":{}}],["launch/instal",{"_index":1315,"title":{},"content":{"38":{}},"tags":{}}],["left",{"_index":940,"title":{},"content":{"19":{}},"tags":{}}],["lemmi",{"_index":130,"title":{},"content":{"2":{},"16":{},"17":{}},"tags":{}}],["lemmy commun",{"_index":720,"title":{},"content":{},"tags":{"17":{}}}],["lemmy community launch",{"_index":826,"title":{},"content":{},"tags":{"16":{}}}],["lemmy forum",{"_index":148,"title":{},"content":{},"tags":{"2":{}}}],["let'",{"_index":345,"title":{},"content":{"4":{},"5":{},"15":{},"16":{},"19":{}},"tags":{}}],["li",{"_index":410,"title":{},"content":{"3":{}},"tags":{}}],["librari",{"_index":624,"title":{},"content":{"12":{},"19":{},"29":{}},"tags":{}}],["life",{"_index":334,"title":{},"content":{"4":{},"28":{}},"tags":{}}],["light",{"_index":510,"title":{},"content":{"5":{},"19":{},"27":{}},"tags":{}}],["like",{"_index":1228,"title":{},"content":{"33":{}},"tags":{}}],["limit",{"_index":841,"title":{},"content":{"18":{},"24":{},"40":{}},"tags":{}}],["link",{"_index":122,"title":{},"content":{"1":{},"2":{},"33":{}},"tags":{}}],["linkedin",{"_index":260,"title":{},"content":{"4":{}},"tags":{}}],["list",{"_index":1014,"title":{},"content":{"24":{}},"tags":{}}],["listen",{"_index":158,"title":{},"content":{"1":{}},"tags":{}}],["live",{"_index":795,"title":{},"content":{"16":{},"29":{}},"tags":{}}],["local",{"_index":469,"title":{},"content":{"3":{}},"tags":{}}],["log",{"_index":94,"title":{},"content":{"2":{},"23":{}},"tags":{}}],["logo",{"_index":679,"title":{"17":{}},"content":{"15":{},"17":{}},"tags":{}}],["logo concept discuss",{"_index":757,"title":{},"content":{},"tags":{"15":{}}}],["logo deciph",{"_index":754,"title":{},"content":{},"tags":{"15":{}}}],["long",{"_index":323,"title":{},"content":{"3":{},"4":{},"25":{},"27":{}},"tags":{}}],["longer",{"_index":478,"title":{},"content":{"3":{},"29":{}},"tags":{}}],["look",{"_index":359,"title":{"3":{},"19":{}},"content":{"3":{},"16":{},"19":{},"28":{},"38":{}},"tags":{}}],["loss",{"_index":466,"title":{},"content":{"3":{}},"tags":{}}],["lot",{"_index":806,"title":{},"content":{"16":{},"19":{},"33":{}},"tags":{}}],["love",{"_index":770,"title":{},"content":{"16":{},"33":{},"35":{}},"tags":{}}],["love for gamevault",{"_index":820,"title":{},"content":{},"tags":{"16":{}}}],["loyal",{"_index":1054,"title":{},"content":{"25":{}},"tags":{}}],["ly",{"_index":1026,"title":{},"content":{"25":{}},"tags":{}}],["made",{"_index":309,"title":{},"content":{"4":{},"14":{}},"tags":{}}],["main",{"_index":447,"title":{},"content":{"3":{}},"tags":{}}],["mainli",{"_index":860,"title":{},"content":{"18":{}},"tags":{}}],["maintain",{"_index":295,"title":{},"content":{"3":{},"4":{},"25":{}},"tags":{}}],["major",{"_index":1248,"title":{"36":{},"38":{}},"content":{},"tags":{}}],["make",{"_index":165,"title":{},"content":{"1":{},"3":{},"4":{},"6":{},"11":{},"16":{},"17":{},"18":{},"19":{},"27":{},"28":{},"29":{},"30":{},"32":{},"33":{},"34":{},"35":{},"37":{},"38":{},"40":{}},"tags":{}}],["manag",{"_index":625,"title":{},"content":{"12":{},"16":{},"34":{},"38":{}},"tags":{}}],["mani",{"_index":835,"title":{},"content":{"18":{}},"tags":{}}],["markdown",{"_index":1318,"title":{},"content":{"38":{}},"tags":{}}],["market",{"_index":576,"title":{"7":{}},"content":{"6":{},"11":{},"14":{},"25":{},"29":{}},"tags":{}}],["market analysi",{"_index":521,"title":{},"content":{},"tags":{"5":{}}}],["massiv",{"_index":1147,"title":{},"content":{"29":{},"36":{}},"tags":{}}],["master",{"_index":271,"title":{},"content":{"4":{}},"tags":{}}],["matter",{"_index":207,"title":{},"content":{"1":{}},"tags":{}}],["mean",{"_index":337,"title":{},"content":{"3":{},"4":{},"25":{}},"tags":{}}],["meantim",{"_index":674,"title":{},"content":{"14":{},"17":{}},"tags":{}}],["measur",{"_index":293,"title":{},"content":{"4":{}},"tags":{}}],["media",{"_index":1300,"title":{},"content":{"38":{}},"tags":{}}],["meet",{"_index":371,"title":{},"content":{"3":{},"18":{},"24":{}},"tags":{}}],["member",{"_index":277,"title":{},"content":{"3":{},"4":{},"16":{},"18":{},"19":{},"24":{},"33":{}},"tags":{}}],["memor",{"_index":647,"title":{},"content":{"13":{}},"tags":{}}],["mention",{"_index":573,"title":{},"content":{"6":{},"14":{},"19":{},"31":{}},"tags":{}}],["metadata",{"_index":86,"title":{"32":{}},"content":{"2":{},"31":{},"32":{},"37":{}},"tags":{"2":{},"31":{}}}],["metadata framework",{"_index":1262,"title":{},"content":{},"tags":{"36":{}}}],["metadata—if",{"_index":1284,"title":{},"content":{"37":{}},"tags":{}}],["metro",{"_index":1161,"title":{},"content":{"29":{}},"tags":{}}],["microsoft",{"_index":729,"title":{"29":{}},"content":{"15":{},"16":{},"23":{},"29":{}},"tags":{}}],["microsoft stor",{"_index":981,"title":{},"content":{},"tags":{"20":{}}}],["microsoft store publ",{"_index":750,"title":{},"content":{},"tags":{"15":{}}}],["migrat",{"_index":678,"title":{"15":{},"17":{}},"content":{"15":{},"17":{},"29":{},"37":{},"39":{}},"tags":{}}],["migration fin",{"_index":724,"title":{},"content":{},"tags":{"17":{}}}],["mile",{"_index":863,"title":{},"content":{"18":{}},"tags":{}}],["mileston",{"_index":763,"title":{},"content":{"16":{}},"tags":{}}],["million",{"_index":444,"title":{},"content":{"3":{}},"tags":{}}],["mimick",{"_index":1220,"title":{},"content":{"33":{}},"tags":{}}],["mind",{"_index":1036,"title":{},"content":{"25":{},"28":{}},"tags":{}}],["minim",{"_index":189,"title":{},"content":{"1":{},"33":{}},"tags":{}}],["mobil",{"_index":1146,"title":{},"content":{"29":{}},"tags":{}}],["mockup",{"_index":935,"title":{},"content":{"19":{}},"tags":{}}],["mod",{"_index":922,"title":{},"content":{"19":{}},"tags":{}}],["model",{"_index":1068,"title":{},"content":{"25":{}},"tags":{}}],["moder",{"_index":289,"title":{},"content":{"4":{}},"tags":{}}],["modern",{"_index":942,"title":{},"content":{"19":{}},"tags":{}}],["modifi",{"_index":369,"title":{},"content":{"3":{}},"tags":{}}],["moment",{"_index":373,"title":{},"content":{"3":{},"18":{},"29":{}},"tags":{}}],["monet",{"_index":455,"title":{},"content":{"3":{}},"tags":{}}],["monetari",{"_index":326,"title":{},"content":{"4":{}},"tags":{}}],["monitor",{"_index":97,"title":{},"content":{"2":{}},"tags":{}}],["month",{"_index":1138,"title":{},"content":{"29":{},"36":{},"37":{}},"tags":{}}],["monthli",{"_index":1055,"title":{},"content":{"25":{},"27":{},"30":{}},"tags":{}}],["more",{"_index":49,"title":{},"content":{"1":{},"2":{},"3":{},"16":{},"19":{},"27":{},"29":{},"30":{},"32":{},"38":{}},"tags":{}}],["moreov",{"_index":272,"title":{},"content":{"4":{},"18":{}},"tags":{}}],["mostli",{"_index":836,"title":{},"content":{"18":{}},"tags":{}}],["motiv",{"_index":325,"title":{},"content":{"4":{},"6":{},"27":{}},"tags":{"4":{}}}],["move",{"_index":807,"title":{},"content":{"16":{},"34":{},"37":{}},"tags":{}}],["much",{"_index":869,"title":{},"content":{"18":{},"33":{},"36":{},"37":{}},"tags":{}}],["multi",{"_index":91,"title":{},"content":{"2":{}},"tags":{}}],["multi-user authent",{"_index":143,"title":{},"content":{},"tags":{"2":{}}}],["multipl",{"_index":1050,"title":{},"content":{"25":{}},"tags":{}}],["mysteri",{"_index":738,"title":{},"content":{"15":{}},"tags":{}}],["name",{"_index":153,"title":{"1":{},"5":{}},"content":{"1":{},"3":{},"4":{},"5":{},"6":{},"10":{},"13":{},"14":{},"15":{},"17":{}},"tags":{}}],["name migration progress",{"_index":715,"title":{},"content":{},"tags":{"17":{}}}],["namedpip",{"_index":1100,"title":{},"content":{"27":{}},"tags":{}}],["narr",{"_index":281,"title":{},"content":{"4":{}},"tags":{}}],["natur",{"_index":360,"title":{"3":{}},"content":{},"tags":{}}],["navig",{"_index":780,"title":{},"content":{"16":{},"29":{}},"tags":{}}],["nearli",{"_index":694,"title":{},"content":{"17":{}},"tags":{}}],["necessarili",{"_index":1084,"title":{},"content":{"27":{}},"tags":{}}],["need",{"_index":108,"title":{},"content":{"1":{},"2":{},"3":{},"18":{},"21":{},"25":{},"27":{},"28":{},"29":{}},"tags":{}}],["neg",{"_index":280,"title":{},"content":{"4":{}},"tags":{}}],["negative narr",{"_index":352,"title":{},"content":{},"tags":{"4":{}}}],["neglect",{"_index":472,"title":{},"content":{"3":{}},"tags":{}}],["network",{"_index":736,"title":{},"content":{"15":{}},"tags":{}}],["never",{"_index":1028,"title":{},"content":{"25":{},"29":{}},"tags":{}}],["nevertheless",{"_index":882,"title":{},"content":{"19":{}},"tags":{}}],["new",{"_index":150,"title":{"1":{},"5":{},"17":{},"31":{},"32":{},"34":{},"37":{},"38":{}},"content":{"1":{},"5":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"25":{},"27":{},"29":{},"33":{},"34":{},"36":{},"37":{},"38":{},"39":{}},"tags":{}}],["new logo",{"_index":722,"title":{},"content":{},"tags":{"17":{}}}],["new nam",{"_index":229,"title":{},"content":{},"tags":{"1":{}}}],["new name announc",{"_index":522,"title":{},"content":{},"tags":{"5":{}}}],["newslett",{"_index":671,"title":{},"content":{"14":{}},"tags":{}}],["next",{"_index":629,"title":{"13":{},"28":{}},"content":{"17":{},"24":{},"28":{},"30":{}},"tags":{}}],["nice",{"_index":1088,"title":{},"content":{"27":{}},"tags":{}}],["note",{"_index":1008,"title":{"24":{}},"content":{"38":{}},"tags":{"36":{}}}],["noth",{"_index":458,"title":{},"content":{"3":{}},"tags":{}}],["notif",{"_index":865,"title":{},"content":{"18":{}},"tags":{}}],["notifi",{"_index":1133,"title":{},"content":{"28":{}},"tags":{}}],["november upd",{"_index":973,"title":{},"content":{},"tags":{"19":{}}}],["now",{"_index":29,"title":{"20":{},"29":{},"30":{}},"content":{"1":{},"2":{},"3":{},"6":{},"15":{},"16":{},"17":{},"19":{},"27":{},"29":{},"30":{},"33":{},"34":{},"37":{},"38":{}},"tags":{}}],["number",{"_index":1009,"title":{},"content":{"24":{},"37":{}},"tags":{}}],["oblig",{"_index":471,"title":{},"content":{"3":{}},"tags":{}}],["offer",{"_index":56,"title":{},"content":{"1":{},"2":{},"3":{},"8":{},"25":{},"27":{},"30":{},"40":{}},"tags":{}}],["offici",{"_index":764,"title":{},"content":{"16":{},"30":{},"32":{},"37":{}},"tags":{}}],["official instal",{"_index":818,"title":{},"content":{},"tags":{"16":{}}}],["offlin",{"_index":74,"title":{},"content":{"2":{}},"tags":{}}],["old",{"_index":634,"title":{},"content":{"13":{}},"tags":{}}],["older",{"_index":1321,"title":{},"content":{"39":{}},"tags":{}}],["on",{"_index":382,"title":{},"content":{"3":{},"10":{},"13":{},"22":{},"25":{},"27":{},"33":{},"37":{},"40":{}},"tags":{}}],["onc",{"_index":713,"title":{},"content":{"17":{},"19":{},"28":{}},"tags":{}}],["ongo",{"_index":771,"title":{},"content":{"16":{},"18":{}},"tags":{}}],["onlin",{"_index":601,"title":{},"content":{"9":{}},"tags":{}}],["open",{"_index":51,"title":{},"content":{"2":{},"3":{},"4":{},"17":{},"28":{},"30":{}},"tags":{}}],["open-sourc",{"_index":495,"title":{},"content":{},"tags":{"3":{}}}],["opencollect",{"_index":438,"title":{},"content":{"3":{}},"tags":{}}],["opinion",{"_index":845,"title":{},"content":{"18":{}},"tags":{}}],["opportun",{"_index":559,"title":{},"content":{"6":{},"24":{}},"tags":{}}],["opposit",{"_index":1021,"title":{},"content":{"25":{}},"tags":{}}],["optim",{"_index":894,"title":{},"content":{"19":{},"30":{},"37":{}},"tags":{}}],["option",{"_index":1066,"title":{},"content":{"25":{}},"tags":{}}],["order",{"_index":453,"title":{},"content":{"3":{}},"tags":{}}],["organ",{"_index":851,"title":{},"content":{"18":{}},"tags":{}}],["origin",{"_index":24,"title":{},"content":{"2":{}},"tags":{}}],["other",{"_index":419,"title":{},"content":{"3":{},"16":{},"25":{}},"tags":{}}],["our",{"_index":595,"title":{},"content":{"8":{}},"tags":{}}],["ourselv",{"_index":633,"title":{},"content":{"13":{},"25":{}},"tags":{}}],["out",{"_index":789,"title":{"30":{}},"content":{"16":{},"19":{},"25":{},"27":{},"32":{},"39":{}},"tags":{}}],["outsid",{"_index":639,"title":{},"content":{"13":{}},"tags":{}}],["over",{"_index":60,"title":{},"content":{"2":{},"3":{},"5":{},"14":{},"16":{},"19":{},"29":{},"37":{},"38":{}},"tags":{}}],["overhaul",{"_index":1305,"title":{},"content":{"38":{}},"tags":{}}],["overwhelm",{"_index":1040,"title":{},"content":{"25":{}},"tags":{}}],["ownership",{"_index":648,"title":{},"content":{"13":{}},"tags":{}}],["page",{"_index":439,"title":{},"content":{"3":{},"27":{}},"tags":{}}],["pagin",{"_index":103,"title":{},"content":{"2":{}},"tags":{}}],["parent",{"_index":1295,"title":{},"content":{"38":{}},"tags":{}}],["parental control",{"_index":1264,"title":{},"content":{},"tags":{"36":{}}}],["part",{"_index":799,"title":{},"content":{"16":{},"18":{},"19":{},"20":{},"21":{},"29":{}},"tags":{}}],["parti",{"_index":1104,"title":{},"content":{"27":{},"37":{}},"tags":{}}],["particip",{"_index":175,"title":{},"content":{"1":{},"6":{},"14":{},"18":{},"23":{}},"tags":{}}],["particular",{"_index":1024,"title":{},"content":{"25":{}},"tags":{}}],["partnership",{"_index":1126,"title":{"31":{}},"content":{"28":{},"30":{},"32":{},"37":{}},"tags":{"30":{},"31":{}}}],["pass",{"_index":1156,"title":{},"content":{"29":{}},"tags":{}}],["passion",{"_index":132,"title":{},"content":{"2":{},"18":{},"40":{}},"tags":{}}],["password",{"_index":1240,"title":{},"content":{"34":{}},"tags":{}}],["past",{"_index":14,"title":{},"content":{"2":{}},"tags":{}}],["patienc",{"_index":1290,"title":{},"content":{"37":{}},"tags":{}}],["paus",{"_index":1238,"title":{},"content":{"34":{}},"tags":{}}],["pay",{"_index":896,"title":{},"content":{"19":{},"25":{}},"tags":{}}],["pc",{"_index":1140,"title":{},"content":{"29":{}},"tags":{}}],["peak",{"_index":1202,"title":{},"content":{"31":{}},"tags":{}}],["peek",{"_index":934,"title":{},"content":{"19":{},"21":{}},"tags":{}}],["penni",{"_index":958,"title":{},"content":{"19":{}},"tags":{}}],["peopl",{"_index":531,"title":{},"content":{"6":{},"25":{}},"tags":{}}],["per",{"_index":437,"title":{},"content":{"3":{}},"tags":{}}],["perform",{"_index":1186,"title":{},"content":{"30":{}},"tags":{}}],["period",{"_index":1241,"title":{},"content":{"34":{}},"tags":{}}],["person",{"_index":417,"title":{},"content":{"3":{},"16":{}},"tags":{}}],["perspect",{"_index":482,"title":{},"content":{"3":{}},"tags":{}}],["pet",{"_index":1171,"title":{},"content":{"29":{}},"tags":{}}],["phalcod",{"_index":1085,"title":{},"content":{"27":{},"35":{}},"tags":{}}],["phalcode/gamevault",{"_index":1002,"title":{},"content":{"23":{}},"tags":{}}],["phase",{"_index":995,"title":{},"content":{"22":{},"30":{},"37":{}},"tags":{}}],["phone",{"_index":1135,"title":{"29":{}},"content":{"29":{}},"tags":{}}],["pictur",{"_index":1095,"title":{},"content":{"27":{},"30":{},"35":{}},"tags":{}}],["piec",{"_index":746,"title":{},"content":{"15":{},"37":{}},"tags":{}}],["ping",{"_index":794,"title":{},"content":{"16":{}},"tags":{}}],["pipelin",{"_index":778,"title":{},"content":{"16":{}},"tags":{}}],["piraci",{"_index":539,"title":{},"content":{"6":{}},"tags":{}}],["place",{"_index":313,"title":{},"content":{"4":{},"25":{}},"tags":{}}],["plan",{"_index":850,"title":{},"content":{"18":{},"27":{},"30":{},"32":{},"33":{}},"tags":{}}],["platform",{"_index":6,"title":{"2":{}},"content":{"1":{},"2":{},"15":{},"18":{},"25":{},"29":{},"30":{}},"tags":{"18":{},"30":{}}}],["platform valu",{"_index":234,"title":{},"content":{},"tags":{"1":{}}}],["platform'",{"_index":163,"title":{},"content":{"1":{}},"tags":{}}],["play",{"_index":35,"title":{},"content":{"2":{},"16":{}},"tags":{}}],["playabl",{"_index":1297,"title":{},"content":{"38":{}},"tags":{}}],["player",{"_index":1301,"title":{},"content":{"38":{}},"tags":{}}],["playnit",{"_index":1106,"title":{},"content":{"27":{}},"tags":{}}],["playtim",{"_index":70,"title":{},"content":{"2":{}},"tags":{}}],["pleas",{"_index":126,"title":{"18":{}},"content":{"1":{},"2":{},"3":{},"6":{},"16":{},"35":{},"39":{}},"tags":{}}],["plex",{"_index":405,"title":{},"content":{"3":{}},"tags":{}}],["plug",{"_index":1209,"title":{},"content":{"32":{}},"tags":{}}],["plugin",{"_index":1276,"title":{},"content":{"37":{}},"tags":{}}],["plugin system",{"_index":1263,"title":{},"content":{},"tags":{"36":{}}}],["podcast",{"_index":667,"title":{},"content":{"14":{}},"tags":{}}],["point",{"_index":256,"title":{},"content":{"4":{}},"tags":{}}],["polish",{"_index":844,"title":{},"content":{"18":{},"28":{}},"tags":{}}],["poll",{"_index":169,"title":{},"content":{"1":{},"4":{},"5":{},"6":{},"18":{},"19":{},"28":{},"32":{}},"tags":{"1":{},"18":{}}}],["poll result",{"_index":514,"title":{},"content":{},"tags":{"5":{}}}],["pop",{"_index":1291,"title":{},"content":{"37":{}},"tags":{}}],["popular",{"_index":434,"title":{},"content":{"3":{},"9":{},"12":{}},"tags":{}}],["posit",{"_index":332,"title":{},"content":{"4":{}},"tags":{}}],["possibl",{"_index":328,"title":{},"content":{"4":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"35":{},"37":{}},"tags":{}}],["post",{"_index":205,"title":{},"content":{"1":{},"16":{},"17":{},"31":{}},"tags":{}}],["potenti",{"_index":171,"title":{},"content":{"1":{},"28":{}},"tags":{}}],["pour",{"_index":833,"title":{},"content":{"18":{},"25":{}},"tags":{}}],["power",{"_index":1139,"title":{},"content":{"29":{}},"tags":{}}],["prefer",{"_index":1210,"title":{},"content":{"32":{}},"tags":{}}],["premium",{"_index":1087,"title":{},"content":{"27":{},"30":{},"40":{}},"tags":{}}],["prerequisit",{"_index":1000,"title":{"23":{}},"content":{},"tags":{}}],["present",{"_index":481,"title":{},"content":{"3":{}},"tags":{}}],["prevent",{"_index":418,"title":{},"content":{"3":{}},"tags":{}}],["previou",{"_index":687,"title":{},"content":{"17":{}},"tags":{}}],["primari",{"_index":473,"title":{},"content":{"3":{}},"tags":{}}],["primarili",{"_index":1211,"title":{},"content":{"32":{}},"tags":{}}],["priorit",{"_index":831,"title":{"18":{}},"content":{"18":{},"24":{},"37":{}},"tags":{}}],["probabl",{"_index":1119,"title":{},"content":{"28":{}},"tags":{}}],["problem",{"_index":1023,"title":{},"content":{"25":{},"31":{}},"tags":{}}],["proceed",{"_index":580,"title":{},"content":{"6":{}},"tags":{}}],["process",{"_index":167,"title":{},"content":{"1":{},"5":{},"13":{},"16":{}},"tags":{}}],["product",{"_index":464,"title":{"36":{}},"content":{"3":{},"25":{},"27":{},"36":{}},"tags":{}}],["profil",{"_index":1094,"title":{},"content":{"27":{},"30":{},"35":{}},"tags":{}}],["profit",{"_index":420,"title":{},"content":{"3":{}},"tags":{}}],["program",{"_index":975,"title":{"20":{},"21":{}},"content":{"20":{},"24":{}},"tags":{}}],["progress",{"_index":71,"title":{},"content":{"2":{},"4":{},"17":{},"19":{},"28":{}},"tags":{}}],["project",{"_index":154,"title":{"1":{}},"content":{"1":{},"3":{},"4":{},"18":{},"19":{},"25":{},"27":{},"40":{}},"tags":{}}],["project'",{"_index":658,"title":{},"content":{"14":{}},"tags":{}}],["promot",{"_index":733,"title":{},"content":{"15":{},"19":{}},"tags":{}}],["promptli",{"_index":285,"title":{},"content":{"4":{}},"tags":{}}],["protect",{"_index":412,"title":{},"content":{"3":{},"34":{}},"tags":{}}],["provid",{"_index":44,"title":{"32":{}},"content":{"1":{},"2":{},"3":{},"6":{},"16":{},"32":{},"37":{}},"tags":{}}],["public",{"_index":310,"title":{},"content":{"4":{}},"tags":{"4":{}}}],["publish",{"_index":728,"title":{},"content":{"15":{}},"tags":{}}],["purpos",{"_index":390,"title":{},"content":{"3":{},"13":{}},"tags":{}}],["push",{"_index":773,"title":{},"content":{"16":{},"29":{}},"tags":{}}],["puzzl",{"_index":1157,"title":{},"content":{"29":{}},"tags":{}}],["q&a",{"_index":1110,"title":{},"content":{"27":{}},"tags":{}}],["qualiti",{"_index":1230,"title":{},"content":{"33":{}},"tags":{}}],["question",{"_index":124,"title":{},"content":{"2":{},"4":{}},"tags":{}}],["quick",{"_index":677,"title":{"17":{}},"content":{"29":{},"38":{}},"tags":{}}],["quit",{"_index":655,"title":{},"content":{"14":{},"25":{}},"tags":{}}],["r/phalcod",{"_index":691,"title":{},"content":{"17":{}},"tags":{}}],["racism",{"_index":265,"title":{},"content":{"4":{}},"tags":{}}],["racist",{"_index":298,"title":{},"content":{"4":{}},"tags":{"4":{}}}],["random",{"_index":911,"title":{},"content":{"19":{}},"tags":{}}],["rate",{"_index":813,"title":{},"content":{"16":{}},"tags":{}}],["rawg",{"_index":89,"title":{"31":{},"33":{}},"content":{"2":{},"28":{},"32":{},"33":{},"37":{}},"tags":{"31":{}}}],["rawg api",{"_index":144,"title":{},"content":{},"tags":{"2":{}}}],["rawg.io",{"_index":1196,"title":{},"content":{"31":{}},"tags":{}}],["rawg_api_url",{"_index":1224,"title":{},"content":{"33":{}},"tags":{}}],["reach",{"_index":762,"title":{},"content":{"16":{},"39":{}},"tags":{}}],["read",{"_index":787,"title":{},"content":{"16":{}},"tags":{}}],["readabl",{"_index":1320,"title":{},"content":{"38":{}},"tags":{}}],["realli",{"_index":1244,"title":{},"content":{"35":{}},"tags":{}}],["reason",{"_index":267,"title":{},"content":{"4":{}},"tags":{}}],["receiv",{"_index":273,"title":{},"content":{"4":{},"25":{}},"tags":{}}],["recent",{"_index":915,"title":{},"content":{"19":{},"32":{},"34":{}},"tags":{}}],["recogn",{"_index":381,"title":{},"content":{"3":{},"6":{}},"tags":{}}],["recommend",{"_index":546,"title":{},"content":{"6":{},"16":{}},"tags":{}}],["reddit",{"_index":129,"title":{},"content":{"2":{},"6":{}},"tags":{}}],["reddit forum",{"_index":147,"title":{},"content":{},"tags":{"2":{}}}],["redesign",{"_index":917,"title":{},"content":{"19":{},"38":{}},"tags":{}}],["redirect",{"_index":686,"title":{},"content":{"17":{},"33":{}},"tags":{}}],["reel",{"_index":899,"title":{},"content":{"19":{}},"tags":{}}],["refactor",{"_index":1128,"title":{},"content":{"28":{},"30":{}},"tags":{}}],["referr",{"_index":801,"title":{},"content":{"16":{}},"tags":{}}],["refin",{"_index":843,"title":{},"content":{"18":{},"27":{},"30":{}},"tags":{}}],["reflect",{"_index":162,"title":{},"content":{"1":{}},"tags":{}}],["refresh",{"_index":1306,"title":{},"content":{"38":{}},"tags":{}}],["regard",{"_index":692,"title":{},"content":{"17":{},"25":{}},"tags":{}}],["regardless",{"_index":72,"title":{},"content":{"2":{}},"tags":{}}],["regist",{"_index":650,"title":{},"content":{"13":{}},"tags":{}}],["registr",{"_index":1201,"title":{},"content":{"31":{}},"tags":{}}],["regular",{"_index":990,"title":{},"content":{"21":{}},"tags":{}}],["regularli",{"_index":796,"title":{},"content":{"16":{},"27":{}},"tags":{}}],["relat",{"_index":538,"title":{},"content":{"6":{},"11":{}},"tags":{}}],["releas",{"_index":672,"title":{},"content":{"14":{},"16":{},"19":{},"21":{},"25":{},"28":{},"29":{},"34":{},"36":{}},"tags":{"30":{}}}],["reli",{"_index":344,"title":{},"content":{"4":{},"25":{}},"tags":{}}],["reliabl",{"_index":948,"title":{},"content":{"19":{}},"tags":{}}],["relianc",{"_index":1122,"title":{},"content":{"28":{}},"tags":{}}],["remain",{"_index":696,"title":{},"content":{"17":{},"19":{},"27":{},"33":{}},"tags":{}}],["rememb",{"_index":342,"title":{},"content":{"4":{},"19":{}},"tags":{}}],["remov",{"_index":1013,"title":{},"content":{"24":{},"32":{}},"tags":{}}],["renam",{"_index":548,"title":{},"content":{"6":{}},"tags":{}}],["renaming app",{"_index":515,"title":{},"content":{},"tags":{"5":{}}}],["replac",{"_index":1214,"title":{"33":{}},"content":{"33":{}},"tags":{}}],["report",{"_index":118,"title":{},"content":{"2":{},"4":{},"18":{},"19":{}},"tags":{}}],["repositori",{"_index":1033,"title":{},"content":{"25":{}},"tags":{}}],["repres",{"_index":209,"title":{},"content":{"1":{},"15":{},"17":{}},"tags":{}}],["reput",{"_index":1185,"title":{},"content":{"30":{}},"tags":{}}],["request",{"_index":119,"title":{},"content":{"1":{},"2":{},"4":{},"16":{},"18":{},"19":{}},"tags":{}}],["requir",{"_index":425,"title":{},"content":{"3":{},"19":{},"24":{},"33":{},"39":{}},"tags":{}}],["reson",{"_index":584,"title":{},"content":{"6":{},"25":{}},"tags":{}}],["resourc",{"_index":426,"title":{},"content":{"3":{}},"tags":{}}],["respect",{"_index":341,"title":{},"content":{"4":{},"6":{}},"tags":{}}],["respons",{"_index":1038,"title":{},"content":{"25":{}},"tags":{}}],["restor",{"_index":909,"title":{},"content":{"19":{}},"tags":{}}],["restrict",{"_index":41,"title":{},"content":{"2":{},"38":{}},"tags":{}}],["result",{"_index":212,"title":{},"content":{"1":{},"5":{},"6":{},"8":{},"9":{},"10":{},"11":{},"12":{},"19":{},"31":{}},"tags":{}}],["resum",{"_index":726,"title":{},"content":{"15":{},"34":{}},"tags":{}}],["reveal",{"_index":711,"title":{},"content":{"17":{}},"tags":{}}],["revenu",{"_index":452,"title":{},"content":{"3":{}},"tags":{}}],["revenue gener",{"_index":500,"title":{},"content":{},"tags":{"3":{}}}],["revolution",{"_index":779,"title":{},"content":{"16":{}},"tags":{}}],["rewrit",{"_index":943,"title":{},"content":{"19":{}},"tags":{}}],["ride",{"_index":1115,"title":{},"content":{"27":{}},"tags":{}}],["right",{"_index":311,"title":{},"content":{"4":{},"16":{},"18":{},"19":{}},"tags":{}}],["rigor",{"_index":1288,"title":{},"content":{"37":{}},"tags":{}}],["roadmap",{"_index":840,"title":{},"content":{"18":{}},"tags":{"18":{}}}],["role",{"_index":792,"title":{},"content":{"16":{},"18":{}},"tags":{}}],["roll",{"_index":956,"title":{},"content":{"19":{},"27":{}},"tags":{}}],["rom",{"_index":919,"title":{},"content":{"19":{}},"tags":{}}],["room",{"_index":1108,"title":{},"content":{"27":{}},"tags":{}}],["rough",{"_index":1116,"title":{},"content":{"28":{}},"tags":{}}],["rugpul",{"_index":1075,"title":{},"content":{"27":{}},"tags":{}}],["run",{"_index":866,"title":{},"content":{"18":{},"23":{},"37":{},"39":{}},"tags":{}}],["rundown",{"_index":1294,"title":{},"content":{"38":{}},"tags":{}}],["safe",{"_index":296,"title":{},"content":{"4":{}},"tags":{}}],["safe environ",{"_index":353,"title":{},"content":{},"tags":{"4":{}}}],["save",{"_index":1286,"title":{},"content":{"37":{}},"tags":{}}],["savvi",{"_index":782,"title":{},"content":{"16":{}},"tags":{}}],["say",{"_index":1081,"title":{},"content":{"27":{},"30":{}},"tags":{}}],["scammi",{"_index":1073,"title":{},"content":{"27":{}},"tags":{}}],["scene",{"_index":400,"title":{},"content":{"3":{},"25":{}},"tags":{}}],["scraper",{"_index":1273,"title":{},"content":{"37":{}},"tags":{}}],["scratch",{"_index":1249,"title":{"36":{}},"content":{},"tags":{}}],["scratch—there’",{"_index":1257,"title":{},"content":{"36":{}},"tags":{}}],["seamless",{"_index":1159,"title":{},"content":{"29":{}},"tags":{}}],["seamlessli",{"_index":701,"title":{},"content":{"17":{},"32":{}},"tags":{}}],["search",{"_index":100,"title":{},"content":{"2":{},"4":{},"8":{},"9":{},"10":{},"11":{},"12":{},"31":{}},"tags":{}}],["season",{"_index":1311,"title":{},"content":{"38":{}},"tags":{}}],["secur",{"_index":66,"title":{},"content":{"2":{},"13":{}},"tags":{}}],["see",{"_index":364,"title":{},"content":{"3":{},"18":{},"27":{},"28":{},"29":{}},"tags":{}}],["seem",{"_index":1042,"title":{},"content":{"25":{}},"tags":{}}],["select",{"_index":181,"title":{},"content":{"1":{}},"tags":{}}],["self",{"_index":3,"title":{"2":{}},"content":{"2":{},"3":{},"13":{},"14":{},"16":{},"19":{},"25":{}},"tags":{}}],["self-host",{"_index":139,"title":{},"content":{},"tags":{"2":{},"30":{}}}],["self-hosted newslett",{"_index":526,"title":{},"content":{},"tags":{"5":{}}}],["selfhost",{"_index":666,"title":{},"content":{"14":{}},"tags":{}}],["selfhosted podcast",{"_index":525,"title":{},"content":{},"tags":{"5":{}}}],["sell",{"_index":421,"title":{},"content":{"3":{}},"tags":{}}],["separ",{"_index":1287,"title":{},"content":{"37":{}},"tags":{}}],["server",{"_index":40,"title":{},"content":{"2":{},"3":{},"4":{},"13":{},"14":{},"15":{},"16":{},"17":{},"23":{},"25":{},"33":{},"35":{},"36":{},"38":{},"39":{}},"tags":{}}],["server upd",{"_index":1261,"title":{},"content":{},"tags":{"36":{}}}],["server'",{"_index":64,"title":{},"content":{"2":{}},"tags":{}}],["servic",{"_index":1062,"title":{},"content":{"25":{},"31":{}},"tags":{}}],["set",{"_index":685,"title":{},"content":{"17":{},"19":{},"40":{}},"tags":{}}],["shadi",{"_index":1072,"title":{},"content":{"27":{}},"tags":{}}],["shape",{"_index":176,"title":{},"content":{"1":{},"18":{},"30":{}},"tags":{}}],["share",{"_index":28,"title":{},"content":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"14":{},"15":{},"16":{},"17":{},"29":{}},"tags":{}}],["sharing blog post",{"_index":827,"title":{},"content":{},"tags":{"16":{}}}],["shed",{"_index":509,"title":{},"content":{"5":{}},"tags":{}}],["ship",{"_index":939,"title":{},"content":{"19":{}},"tags":{}}],["shortli",{"_index":652,"title":{},"content":{"13":{}},"tags":{}}],["shoutout",{"_index":663,"title":{},"content":{"14":{},"17":{},"25":{}},"tags":{}}],["showcas",{"_index":891,"title":{},"content":{"19":{}},"tags":{}}],["signifi",{"_index":745,"title":{},"content":{"15":{}},"tags":{}}],["signific",{"_index":442,"title":{},"content":{"3":{},"6":{},"16":{},"32":{}},"tags":{}}],["silenc",{"_index":1019,"title":{},"content":{"25":{}},"tags":{}}],["silverlight",{"_index":1137,"title":{"29":{}},"content":{"29":{}},"tags":{}}],["similar",{"_index":594,"title":{},"content":{"8":{}},"tags":{}}],["simpl",{"_index":812,"title":{},"content":{"16":{},"25":{}},"tags":{}}],["simpli",{"_index":1155,"title":{},"content":{"29":{}},"tags":{}}],["simplifi",{"_index":783,"title":{},"content":{"16":{}},"tags":{}}],["simplifying game instal",{"_index":823,"title":{},"content":{},"tags":{"16":{}}}],["simultan",{"_index":744,"title":{},"content":{"15":{}},"tags":{}}],["sincer",{"_index":218,"title":{},"content":{"1":{}},"tags":{}}],["site",{"_index":628,"title":{},"content":{"12":{}},"tags":{}}],["situat",{"_index":254,"title":{},"content":{"4":{},"31":{}},"tags":{}}],["six",{"_index":1250,"title":{},"content":{"36":{}},"tags":{}}],["skin",{"_index":1312,"title":{},"content":{"38":{}},"tags":{}}],["slack",{"_index":945,"title":{},"content":{"19":{},"25":{}},"tags":{}}],["sleeker",{"_index":931,"title":{},"content":{"19":{},"38":{}},"tags":{}}],["slight",{"_index":1065,"title":{},"content":{"25":{}},"tags":{}}],["slightli",{"_index":377,"title":{},"content":{"3":{}},"tags":{}}],["slot",{"_index":1010,"title":{},"content":{"24":{}},"tags":{}}],["small",{"_index":318,"title":{},"content":{"3":{},"4":{},"16":{},"25":{},"27":{},"30":{}},"tags":{}}],["smooth",{"_index":1324,"title":{},"content":{"39":{}},"tags":{}}],["smoother",{"_index":1160,"title":{},"content":{"29":{}},"tags":{}}],["snag",{"_index":1329,"title":{},"content":{"39":{}},"tags":{}}],["sneak",{"_index":933,"title":{},"content":{"19":{},"21":{}},"tags":{}}],["social",{"_index":735,"title":{},"content":{"15":{}},"tags":{}}],["softwar",{"_index":366,"title":{},"content":{"3":{}},"tags":{"25":{}}}],["software develop",{"_index":496,"title":{},"content":{},"tags":{"3":{}}}],["software licens",{"_index":499,"title":{},"content":{},"tags":{"3":{}}}],["software upd",{"_index":965,"title":{},"content":{},"tags":{"19":{}}}],["sole",{"_index":429,"title":{},"content":{"3":{},"6":{},"16":{},"25":{}},"tags":{}}],["solut",{"_index":46,"title":{"31":{},"33":{}},"content":{"2":{},"25":{},"28":{},"33":{}},"tags":{"31":{}}}],["someth",{"_index":811,"title":{},"content":{"16":{},"19":{},"37":{}},"tags":{}}],["sometim",{"_index":401,"title":{},"content":{"3":{}},"tags":{}}],["soon",{"_index":505,"title":{"25":{}},"content":{"5":{},"13":{},"15":{},"16":{},"17":{},"19":{},"28":{},"29":{}},"tags":{}}],["sort",{"_index":102,"title":{},"content":{"2":{}},"tags":{}}],["sought",{"_index":641,"title":{},"content":{"13":{}},"tags":{}}],["soul",{"_index":1051,"title":{},"content":{"25":{}},"tags":{}}],["sound",{"_index":626,"title":{},"content":{"12":{}},"tags":{}}],["soundtrack",{"_index":921,"title":{},"content":{"19":{}},"tags":{}}],["sourc",{"_index":17,"title":{"3":{}},"content":{"1":{},"2":{},"3":{},"37":{}},"tags":{}}],["source-avail",{"_index":138,"title":{},"content":{},"tags":{"1":{},"2":{}}}],["source-available softwar",{"_index":494,"title":{},"content":{},"tags":{"3":{}}}],["spam",{"_index":251,"title":{},"content":{"4":{}},"tags":{"4":{}}}],["spare",{"_index":1053,"title":{},"content":{"25":{}},"tags":{}}],["special",{"_index":653,"title":{"14":{}},"content":{"14":{}},"tags":{}}],["special thank",{"_index":524,"title":{},"content":{},"tags":{"5":{}}}],["specif",{"_index":1082,"title":{},"content":{"27":{}},"tags":{}}],["specul",{"_index":708,"title":{},"content":{"17":{}},"tags":{"17":{}}}],["speed",{"_index":881,"title":{},"content":{"19":{}},"tags":{}}],["spill",{"_index":949,"title":{},"content":{"19":{}},"tags":{}}],["spooki",{"_index":1310,"title":{},"content":{"38":{}},"tags":{}}],["sporad",{"_index":1060,"title":{},"content":{"25":{}},"tags":{}}],["spot",{"_index":883,"title":{},"content":{"19":{}},"tags":{}}],["spread",{"_index":279,"title":{},"content":{"4":{},"6":{},"15":{},"16":{}},"tags":{}}],["spreading the word",{"_index":753,"title":{},"content":{},"tags":{"15":{},"16":{}}}],["stabl",{"_index":989,"title":{},"content":{"21":{}},"tags":{}}],["stand",{"_index":346,"title":{},"content":{"4":{}},"tags":{}}],["standpoint",{"_index":669,"title":{},"content":{"14":{}},"tags":{}}],["start",{"_index":1175,"title":{},"content":{"29":{},"30":{}},"tags":{}}],["startup",{"_index":1069,"title":{},"content":{},"tags":{"25":{}}}],["starv",{"_index":1172,"title":{},"content":{"29":{}},"tags":{}}],["stat",{"_index":77,"title":{},"content":{"2":{}},"tags":{}}],["state",{"_index":78,"title":{},"content":{"2":{}},"tags":{}}],["stay",{"_index":220,"title":{},"content":{"1":{},"14":{},"16":{},"19":{},"28":{},"30":{}},"tags":{}}],["steam",{"_index":23,"title":{},"content":{"2":{},"25":{},"33":{}},"tags":{"31":{}}}],["still",{"_index":936,"title":{},"content":{"19":{}},"tags":{}}],["stop",{"_index":1183,"title":{},"content":{"30":{},"33":{}},"tags":{}}],["store",{"_index":730,"title":{},"content":{"15":{},"16":{},"23":{},"29":{}},"tags":{}}],["strategi",{"_index":1207,"title":{"32":{}},"content":{},"tags":{}}],["streamlin",{"_index":1317,"title":{},"content":{"38":{}},"tags":{}}],["stress",{"_index":867,"title":{},"content":{"18":{}},"tags":{}}],["strictli",{"_index":476,"title":{},"content":{"3":{}},"tags":{}}],["strive",{"_index":463,"title":{},"content":{"3":{},"25":{}},"tags":{}}],["submit",{"_index":340,"title":{},"content":{"4":{}},"tags":{}}],["subreddit",{"_index":690,"title":{},"content":{"17":{}},"tags":{}}],["subreddit migr",{"_index":719,"title":{},"content":{},"tags":{"17":{}}}],["subscrib",{"_index":791,"title":{},"content":{"16":{},"27":{},"40":{}},"tags":{}}],["subscript",{"_index":1067,"title":{},"content":{"25":{}},"tags":{"30":{}}}],["subscription model",{"_index":1070,"title":{},"content":{},"tags":{"25":{}}}],["subscription to updates rol",{"_index":825,"title":{},"content":{},"tags":{"16":{}}}],["success",{"_index":343,"title":{},"content":{"4":{},"16":{},"18":{}},"tags":{"4":{}}}],["successfulli",{"_index":681,"title":{},"content":{"15":{},"17":{}},"tags":{}}],["such",{"_index":307,"title":{},"content":{"3":{},"4":{}},"tags":{}}],["suddenli",{"_index":1216,"title":{},"content":{"33":{}},"tags":{}}],["suggest",{"_index":172,"title":{},"content":{"1":{},"13":{},"14":{},"16":{},"18":{},"30":{}},"tags":{}}],["suit",{"_index":107,"title":{},"content":{"2":{}},"tags":{}}],["suitabl",{"_index":616,"title":{},"content":{"11":{}},"tags":{}}],["summar",{"_index":586,"title":{},"content":{"6":{}},"tags":{}}],["summari",{"_index":528,"title":{"6":{}},"content":{"6":{}},"tags":{}}],["support",{"_index":120,"title":{"35":{},"40":{}},"content":{"1":{},"2":{},"3":{},"4":{},"14":{},"16":{},"19":{},"24":{},"25":{},"27":{},"28":{},"29":{},"30":{},"32":{},"34":{},"37":{},"38":{},"40":{}},"tags":{"4":{}}}],["support request",{"_index":828,"title":{},"content":{},"tags":{"16":{}}}],["sure",{"_index":790,"title":{},"content":{"16":{},"19":{},"28":{},"33":{},"37":{}},"tags":{}}],["surg",{"_index":731,"title":{},"content":{"15":{}},"tags":{}}],["surge of new us",{"_index":751,"title":{},"content":{},"tags":{"15":{}}}],["surround",{"_index":1148,"title":{},"content":{"29":{}},"tags":{}}],["sustain",{"_index":428,"title":{},"content":{"3":{},"25":{},"30":{}},"tags":{"30":{}}}],["swap",{"_index":1274,"title":{},"content":{"37":{}},"tags":{}}],["switch",{"_index":1145,"title":{},"content":{"29":{},"33":{}},"tags":{}}],["symbol",{"_index":742,"title":{},"content":{"15":{}},"tags":{}}],["system",{"_index":83,"title":{},"content":{"2":{},"27":{},"32":{},"37":{}},"tags":{}}],["tab",{"_index":918,"title":{},"content":{"19":{},"38":{}},"tags":{}}],["tag",{"_index":87,"title":{},"content":{"2":{},"33":{}},"tags":{}}],["take",{"_index":291,"title":{},"content":{"3":{},"4":{},"13":{},"18":{},"19":{},"33":{}},"tags":{}}],["taken",{"_index":376,"title":{},"content":{"3":{}},"tags":{}}],["task",{"_index":697,"title":{},"content":{"17":{},"18":{},"19":{}},"tags":{}}],["tax",{"_index":470,"title":{},"content":{"3":{}},"tags":{}}],["team",{"_index":11,"title":{},"content":{"2":{},"4":{},"18":{},"25":{},"29":{}},"tags":{}}],["teaser",{"_index":937,"title":{},"content":{"19":{}},"tags":{}}],["tech",{"_index":781,"title":{},"content":{"16":{}},"tags":{}}],["tech progress",{"_index":969,"title":{},"content":{},"tags":{"19":{}}}],["technic",{"_index":941,"title":{},"content":{"19":{}},"tags":{}}],["technolog",{"_index":1142,"title":{},"content":{"29":{}},"tags":{}}],["temporari",{"_index":1192,"title":{"31":{},"33":{}},"content":{},"tags":{}}],["term",{"_index":467,"title":{},"content":{"3":{},"6":{},"9":{},"25":{}},"tags":{}}],["test",{"_index":699,"title":{},"content":{"17":{},"19":{},"21":{},"24":{},"27":{},"29":{},"33":{},"37":{}},"tags":{"17":{}}}],["tester",{"_index":1005,"title":{},"content":{"23":{}},"tags":{}}],["text",{"_index":99,"title":{},"content":{"2":{}},"tags":{}}],["thank",{"_index":349,"title":{"14":{}},"content":{"4":{},"14":{},"18":{},"19":{},"27":{},"28":{},"29":{},"30":{},"35":{},"40":{}},"tags":{}}],["that'",{"_index":848,"title":{},"content":{"18":{},"30":{}},"tags":{}}],["theme",{"_index":1097,"title":{},"content":{"27":{},"30":{},"38":{}},"tags":{"36":{}}}],["theori",{"_index":709,"title":{},"content":{"17":{}},"tags":{}}],["there'",{"_index":592,"title":{},"content":{"8":{},"11":{},"19":{},"25":{}},"tags":{}}],["therefor",{"_index":475,"title":{},"content":{"3":{}},"tags":{}}],["they'll",{"_index":802,"title":{},"content":{"16":{}},"tags":{}}],["thing",{"_index":1007,"title":{},"content":{"23":{}},"tags":{}}],["think",{"_index":53,"title":{},"content":{"2":{},"3":{},"27":{}},"tags":{}}],["third",{"_index":767,"title":{},"content":{"16":{},"37":{}},"tags":{}}],["those",{"_index":47,"title":{},"content":{"2":{}},"tags":{}}],["though",{"_index":955,"title":{},"content":{"19":{},"35":{}},"tags":{}}],["thought",{"_index":486,"title":{},"content":{"3":{},"13":{},"14":{},"15":{},"25":{}},"tags":{}}],["thousand",{"_index":1041,"title":{},"content":{"25":{}},"tags":{}}],["threat",{"_index":351,"title":{},"content":{},"tags":{"4":{}}}],["threaten",{"_index":247,"title":{},"content":{"4":{}},"tags":{}}],["three",{"_index":914,"title":{},"content":{"19":{}},"tags":{}}],["thrill",{"_index":109,"title":{},"content":{"2":{},"5":{},"16":{},"25":{},"29":{},"30":{}},"tags":{}}],["through",{"_index":430,"title":{},"content":{"3":{},"16":{},"19":{},"29":{},"30":{},"34":{}},"tags":{}}],["thumb",{"_index":853,"title":{},"content":{"18":{}},"tags":{}}],["ticket",{"_index":984,"title":{},"content":{"21":{},"32":{}},"tags":{}}],["tile",{"_index":1162,"title":{},"content":{"29":{}},"tags":{}}],["time",{"_index":707,"title":{},"content":{"17":{},"18":{},"25":{},"29":{},"33":{},"38":{},"40":{}},"tags":{}}],["timelin",{"_index":847,"title":{},"content":{"18":{}},"tags":{}}],["timer",{"_index":1169,"title":{},"content":{"29":{}},"tags":{}}],["tip",{"_index":1061,"title":{},"content":{"25":{}},"tags":{}}],["tirelessli",{"_index":13,"title":{},"content":{"2":{}},"tags":{}}],["today",{"_index":113,"title":{},"content":{"2":{},"3":{},"25":{},"27":{},"29":{},"30":{},"33":{}},"tags":{}}],["togeth",{"_index":37,"title":{},"content":{"1":{},"2":{},"4":{},"16":{},"18":{}},"tags":{}}],["ton",{"_index":946,"title":{},"content":{"19":{}},"tags":{}}],["tool",{"_index":1105,"title":{},"content":{"27":{},"37":{}},"tags":{}}],["top",{"_index":564,"title":{},"content":{"6":{},"19":{},"37":{}},"tags":{}}],["topic",{"_index":488,"title":{},"content":{"3":{}},"tags":{}}],["total",{"_index":529,"title":{},"content":{"6":{}},"tags":{}}],["touch",{"_index":963,"title":{},"content":{"19":{},"29":{}},"tags":{}}],["toward",{"_index":249,"title":{},"content":{"4":{},"25":{}},"tags":{}}],["toylerrr",{"_index":1218,"title":{},"content":{"33":{}},"tags":{}}],["track",{"_index":36,"title":{},"content":{"2":{}},"tags":{}}],["tracker",{"_index":253,"title":{},"content":{"4":{},"18":{}},"tags":{}}],["tradit",{"_index":20,"title":{},"content":{"2":{},"3":{}},"tags":{}}],["trailer",{"_index":1303,"title":{},"content":{"38":{}},"tags":{}}],["transit",{"_index":502,"title":{},"content":{"5":{},"13":{},"14":{},"34":{}},"tags":{}}],["transition process",{"_index":527,"title":{},"content":{},"tags":{"5":{}}}],["transpar",{"_index":394,"title":{},"content":{"3":{}},"tags":{"3":{}}}],["travel",{"_index":1215,"title":{},"content":{"33":{}},"tags":{}}],["tri",{"_index":112,"title":{},"content":{"2":{},"16":{}},"tags":{}}],["trivial",{"_index":266,"title":{},"content":{"4":{}},"tags":{}}],["troll",{"_index":238,"title":{"4":{}},"content":{"4":{}},"tags":{"4":{}}}],["truli",{"_index":137,"title":{},"content":{"1":{},"2":{},"3":{},"18":{},"19":{}},"tags":{}}],["trust",{"_index":1011,"title":{},"content":{"24":{},"25":{},"32":{}},"tags":{}}],["tune",{"_index":221,"title":{},"content":{"1":{},"14":{},"16":{},"19":{},"21":{},"28":{},"30":{}},"tags":{}}],["tweak",{"_index":1112,"title":{},"content":{"27":{},"37":{}},"tags":{}}],["twitch.tv",{"_index":1205,"title":{},"content":{"32":{}},"tags":{"31":{}}}],["two",{"_index":462,"title":{},"content":{"3":{},"10":{},"25":{}},"tags":{}}],["ui",{"_index":916,"title":{},"content":{"19":{},"20":{},"38":{}},"tags":{}}],["ui redesign",{"_index":967,"title":{},"content":{},"tags":{"19":{}}}],["ui upd",{"_index":978,"title":{},"content":{},"tags":{"20":{}}}],["ultim",{"_index":872,"title":{},"content":{"18":{}},"tags":{}}],["unauthor",{"_index":413,"title":{},"content":{"3":{}},"tags":{}}],["unawar",{"_index":396,"title":{},"content":{"3":{}},"tags":{}}],["under",{"_index":547,"title":{},"content":{"6":{},"13":{},"18":{}},"tags":{}}],["understand",{"_index":350,"title":{},"content":{"3":{},"4":{},"6":{},"13":{},"16":{},"29":{}},"tags":{}}],["unexpectedli",{"_index":1039,"title":{},"content":{"25":{}},"tags":{}}],["unfold",{"_index":673,"title":{},"content":{"14":{}},"tags":{}}],["unfortun",{"_index":305,"title":{},"content":{"4":{},"31":{}},"tags":{}}],["uninstal",{"_index":902,"title":{},"content":{"19":{}},"tags":{}}],["uniqu",{"_index":45,"title":{},"content":{"2":{}},"tags":{}}],["unlimit",{"_index":1279,"title":{},"content":{"37":{}},"tags":{}}],["unmaintain",{"_index":1124,"title":{},"content":{"28":{},"31":{}},"tags":{}}],["unnecessari",{"_index":858,"title":{},"content":{"18":{}},"tags":{}}],["unreli",{"_index":1272,"title":{},"content":{"37":{}},"tags":{}}],["until",{"_index":714,"title":{},"content":{"17":{},"19":{},"27":{}},"tags":{}}],["unveil",{"_index":1252,"title":{},"content":{"36":{}},"tags":{}}],["up",{"_index":259,"title":{},"content":{"4":{},"14":{},"15":{},"17":{},"18":{},"19":{},"25":{},"30":{},"37":{}},"tags":{}}],["upcom",{"_index":760,"title":{"16":{}},"content":{"16":{},"20":{},"21":{},"25":{},"27":{}},"tags":{}}],["upcoming upd",{"_index":821,"title":{},"content":{},"tags":{"16":{}}}],["updat",{"_index":222,"title":{"17":{},"36":{},"39":{}},"content":{"1":{},"3":{},"4":{},"5":{},"14":{},"16":{},"17":{},"19":{},"20":{},"21":{},"28":{},"30":{},"33":{},"34":{},"36":{},"38":{},"39":{}},"tags":{"30":{},"31":{}}}],["upgrad",{"_index":1242,"title":{},"content":{"35":{}},"tags":{}}],["upload",{"_index":903,"title":{},"content":{"19":{},"27":{}},"tags":{}}],["upon",{"_index":809,"title":{},"content":{"16":{}},"tags":{}}],["up—mastillk",{"_index":1292,"title":{},"content":{"37":{}},"tags":{}}],["urgent",{"_index":1120,"title":{},"content":{"28":{}},"tags":{}}],["uri",{"_index":1099,"title":{},"content":{"27":{}},"tags":{}}],["url",{"_index":1223,"title":{},"content":{"33":{}},"tags":{}}],["us",{"_index":31,"title":{},"content":{"2":{},"3":{},"6":{},"10":{},"17":{},"25":{},"27":{},"31":{},"32":{},"33":{},"39":{},"40":{}},"tags":{}}],["user",{"_index":79,"title":{},"content":{"1":{},"2":{},"3":{},"6":{},"15":{},"16":{},"18":{},"19":{},"27":{},"29":{},"32":{},"37":{},"38":{}},"tags":{}}],["user engag",{"_index":501,"title":{},"content":{},"tags":{"3":{}}}],["user particip",{"_index":232,"title":{},"content":{},"tags":{"1":{}}}],["usher",{"_index":930,"title":{},"content":{"19":{}},"tags":{}}],["usual",{"_index":893,"title":{},"content":{"19":{}},"tags":{}}],["util",{"_index":304,"title":{},"content":{"4":{}},"tags":{}}],["v1.12",{"_index":1254,"title":{},"content":{"36":{},"39":{}},"tags":{}}],["v12.1.0",{"_index":1236,"title":{},"content":{"33":{}},"tags":{}}],["v13",{"_index":1255,"title":{},"content":{"36":{},"39":{}},"tags":{}}],["valu",{"_index":164,"title":{},"content":{"1":{},"3":{},"18":{}},"tags":{}}],["valuabl",{"_index":225,"title":{},"content":{"1":{},"3":{},"4":{},"6":{},"33":{}},"tags":{}}],["variabl",{"_index":1226,"title":{},"content":{"33":{}},"tags":{}}],["varieti",{"_index":182,"title":{},"content":{"1":{}},"tags":{}}],["vast",{"_index":1154,"title":{},"content":{"29":{}},"tags":{}}],["vault",{"_index":740,"title":{},"content":{"15":{}},"tags":{}}],["vault.d",{"_index":599,"title":{},"content":{"9":{}},"tags":{}}],["vendor",{"_index":1213,"title":{},"content":{"32":{}},"tags":{}}],["veri",{"_index":504,"title":{},"content":{"5":{},"11":{},"25":{}},"tags":{}}],["version",{"_index":887,"title":{},"content":{"19":{},"25":{},"29":{},"39":{}},"tags":{}}],["video",{"_index":1127,"title":{},"content":{"28":{},"30":{},"32":{},"34":{},"37":{},"38":{}},"tags":{}}],["video gam",{"_index":1190,"title":{},"content":{},"tags":{"30":{}}}],["videogam",{"_index":55,"title":{},"content":{"2":{},"19":{},"25":{},"31":{}},"tags":{"31":{}}}],["view",{"_index":932,"title":{},"content":{"19":{}},"tags":{}}],["viewabl",{"_index":1298,"title":{},"content":{"38":{}},"tags":{}}],["viewer",{"_index":609,"title":{},"content":{"10":{}},"tags":{}}],["virtual",{"_index":1034,"title":{},"content":{"25":{},"29":{}},"tags":{}}],["vision",{"_index":585,"title":{},"content":{"6":{},"16":{}},"tags":{}}],["voic",{"_index":206,"title":{},"content":{"1":{}},"tags":{}}],["volunt",{"_index":465,"title":{},"content":{"3":{}},"tags":{}}],["vote",{"_index":202,"title":{},"content":{"1":{},"6":{},"14":{},"18":{},"28":{}},"tags":{"1":{},"18":{}}}],["wait",{"_index":507,"title":{},"content":{"5":{},"27":{},"29":{}},"tags":{}}],["want",{"_index":48,"title":{},"content":{"2":{},"3":{},"6":{},"14":{},"16":{},"18":{},"19":{},"20":{},"27":{},"30":{},"35":{},"37":{}},"tags":{}}],["warn",{"_index":1170,"title":{},"content":{"29":{}},"tags":{}}],["wasn't",{"_index":550,"title":{},"content":{"6":{}},"tags":{}}],["watch",{"_index":1302,"title":{},"content":{"38":{}},"tags":{}}],["wave",{"_index":928,"title":{},"content":{"19":{}},"tags":{}}],["way",{"_index":324,"title":{},"content":{"3":{},"4":{},"16":{},"19":{},"27":{},"30":{}},"tags":{}}],["we'd",{"_index":489,"title":{},"content":{"3":{}},"tags":{}}],["we'll",{"_index":710,"title":{},"content":{"16":{},"17":{},"19":{},"27":{},"28":{}},"tags":{}}],["we'r",{"_index":693,"title":{},"content":{"16":{},"17":{},"19":{},"20":{},"25":{},"27":{},"29":{},"30":{},"32":{},"33":{},"34":{}},"tags":{}}],["we'v",{"_index":375,"title":{},"content":{"3":{},"15":{},"17":{},"19":{},"25":{},"29":{},"31":{},"40":{}},"tags":{}}],["websit",{"_index":123,"title":{},"content":{"2":{},"28":{}},"tags":{}}],["week",{"_index":999,"title":{},"content":{"22":{},"28":{}},"tags":{}}],["weird",{"_index":661,"title":{},"content":{"14":{}},"tags":{}}],["welcom",{"_index":198,"title":{},"content":{"1":{},"15":{}},"tags":{}}],["well",{"_index":619,"title":{},"content":{"11":{},"14":{},"17":{},"18":{},"27":{},"29":{},"30":{}},"tags":{}}],["went",{"_index":257,"title":{},"content":{"4":{},"31":{}},"tags":{}}],["we’r",{"_index":1046,"title":{},"content":{"25":{},"36":{}},"tags":{}}],["we’v",{"_index":1270,"title":{},"content":{"37":{},"38":{}},"tags":{}}],["what'",{"_index":397,"title":{"13":{},"21":{},"28":{}},"content":{"3":{},"16":{},"19":{}},"tags":{}}],["what’",{"_index":1269,"title":{"37":{}},"content":{"38":{}},"tags":{}}],["whenev",{"_index":1107,"title":{},"content":{"27":{}},"tags":{}}],["wherev",{"_index":651,"title":{},"content":{"13":{},"29":{}},"tags":{}}],["whether",{"_index":73,"title":{},"content":{"2":{},"4":{},"16":{},"29":{}},"tags":{}}],["wide",{"_index":380,"title":{},"content":{"3":{}},"tags":{}}],["window",{"_index":1134,"title":{"29":{}},"content":{"29":{}},"tags":{}}],["winner",{"_index":567,"title":{},"content":{"6":{}},"tags":{}}],["winner(",{"_index":712,"title":{},"content":{"17":{}},"tags":{}}],["within",{"_index":1080,"title":{},"content":{"27":{},"30":{},"34":{}},"tags":{}}],["without",{"_index":422,"title":{},"content":{"3":{},"5":{},"6":{},"30":{},"37":{}},"tags":{}}],["woe",{"_index":1193,"title":{"31":{}},"content":{},"tags":{}}],["wonder",{"_index":407,"title":{},"content":{"3":{}},"tags":{}}],["won’t",{"_index":1322,"title":{},"content":{"39":{}},"tags":{}}],["word",{"_index":331,"title":{},"content":{"4":{},"6":{},"11":{},"15":{},"16":{}},"tags":{}}],["work",{"_index":12,"title":{},"content":{"2":{},"3":{},"4":{},"16":{},"17":{},"18":{},"19":{},"28":{},"29":{},"30":{},"33":{},"36":{},"39":{}},"tags":{}}],["world",{"_index":338,"title":{},"content":{"4":{},"29":{}},"tags":{}}],["wouldn't",{"_index":558,"title":{},"content":{"6":{}},"tags":{}}],["wpf",{"_index":944,"title":{},"content":{"19":{}},"tags":{}}],["wrap",{"_index":951,"title":{},"content":{"19":{}},"tags":{}}],["write",{"_index":1278,"title":{},"content":{"37":{}},"tags":{}}],["written",{"_index":947,"title":{},"content":{"19":{}},"tags":{}}],["wrong",{"_index":543,"title":{},"content":{"6":{},"25":{}},"tags":{}}],["year",{"_index":15,"title":{},"content":{"2":{},"3":{}},"tags":{}}],["you'll",{"_index":700,"title":{},"content":{"17":{},"21":{},"27":{},"30":{}},"tags":{}}],["you'r",{"_index":734,"title":{},"content":{"15":{},"16":{},"18":{},"19":{},"24":{},"29":{}},"tags":{}}],["you'v",{"_index":879,"title":{},"content":{"19":{},"29":{}},"tags":{}}],["you’d",{"_index":1330,"title":{},"content":{"40":{}},"tags":{}}]],"pipeline":["stemmer"]}} \ No newline at end of file diff --git a/search-index-docs-default-current.json b/search-index-docs-default-current.json index b6cff10a9..a92955d91 100644 --- a/search-index-docs-default-current.json +++ b/search-index-docs-default-current.json @@ -1 +1 @@ -{"documents":[{"id":214,"pageTitle":"Early Access Program","sectionTitle":"Early Access Program","sectionRoute":"/docs/advanced-usage/early-access-program","type":"docs"},{"id":215,"pageTitle":"Early Access Program","sectionTitle":"Welcome","sectionRoute":"/docs/advanced-usage/early-access-program#welcome","type":"docs"},{"id":216,"pageTitle":"Early Access Program","sectionTitle":"Participation Requirements","sectionRoute":"/docs/advanced-usage/early-access-program#participation-requirements","type":"docs"},{"id":217,"pageTitle":"Early Access Program","sectionTitle":"How to Join","sectionRoute":"/docs/advanced-usage/early-access-program#how-to-join","type":"docs"},{"id":218,"pageTitle":"Early Access Program","sectionTitle":"Important Information","sectionRoute":"/docs/advanced-usage/early-access-program#important-information","type":"docs"},{"id":219,"pageTitle":"Early Access Program","sectionTitle":"FAQ for Early Access Testers","sectionRoute":"/docs/advanced-usage/early-access-program#faq-for-early-access-testers","type":"docs"},{"id":220,"pageTitle":"Early Access Program","sectionTitle":"How to switch to an early access version?","sectionRoute":"/docs/advanced-usage/early-access-program#how-to-switch-to-an-early-access-version","type":"docs"},{"id":221,"pageTitle":"Early Access Program","sectionTitle":"How to return to a stable version?","sectionRoute":"/docs/advanced-usage/early-access-program#how-to-return-to-a-stable-version","type":"docs"},{"id":222,"pageTitle":"Early Access Program","sectionTitle":"Where to report bugs and suggest/discuss changes?","sectionRoute":"/docs/advanced-usage/early-access-program#where-to-report-bugs-and-suggestdiscuss-changes","type":"docs"},{"id":47,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"Configuring Fail2Ban for GameVault","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide","type":"docs"},{"id":48,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"Introduction","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#introduction","type":"docs"},{"id":49,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"Prerequisites","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#prerequisites","type":"docs"},{"id":50,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"Steps","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#steps","type":"docs"},{"id":51,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"1. Enable Log Files and Map a Volume","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#1-enable-log-files-and-map-a-volume","type":"docs"},{"id":52,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"2. Identify Failed Authentication Attempts","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#2-identify-failed-authentication-attempts","type":"docs"},{"id":53,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"3. Create a Fail2Ban Filter","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#3-create-a-fail2ban-filter","type":"docs"},{"id":54,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"4. Configure Fail2Ban Jail","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#4-configure-fail2ban-jail","type":"docs"},{"id":55,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"5. Restart Fail2Ban","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#5-restart-fail2ban","type":"docs"},{"id":56,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"6. Verify Jail Status","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#6-verify-jail-status","type":"docs"},{"id":57,"pageTitle":"Configuring Fail2Ban for GameVault","sectionTitle":"Conclusion","sectionRoute":"/docs/advanced-usage/fail2ban-gamevault-guide#conclusion","type":"docs"},{"id":58,"pageTitle":"Running the Client on Linux","sectionTitle":"Running the Client on Linux","sectionRoute":"/docs/advanced-usage/linux-client","type":"docs"},{"id":59,"pageTitle":"Running the Client on Linux","sectionTitle":"Getting the application","sectionRoute":"/docs/advanced-usage/linux-client#getting-the-application","type":"docs"},{"id":60,"pageTitle":"Running the Client on Linux","sectionTitle":"Setting up with Wine","sectionRoute":"/docs/advanced-usage/linux-client#setting-up-with-wine","type":"docs"},{"id":61,"pageTitle":"Running the Client on Linux","sectionTitle":"Setting up with Bottles","sectionRoute":"/docs/advanced-usage/linux-client#setting-up-with-bottles","type":"docs"},{"id":62,"pageTitle":"Running the Client on Linux","sectionTitle":"Updating the Client","sectionRoute":"/docs/advanced-usage/linux-client#updating-the-client","type":"docs"},{"id":63,"pageTitle":"Running the Client on Linux","sectionTitle":"Known issues","sectionRoute":"/docs/advanced-usage/linux-client#known-issues","type":"docs"},{"id":64,"pageTitle":"REST API Usage","sectionTitle":"REST API Usage","sectionRoute":"/docs/advanced-usage/rest-api","type":"docs"},{"id":65,"pageTitle":"REST API Usage","sectionTitle":"Register a Bot User","sectionRoute":"/docs/advanced-usage/rest-api#register-a-bot-user","type":"docs"},{"id":66,"pageTitle":"REST API Usage","sectionTitle":"OpenAPI Specification","sectionRoute":"/docs/advanced-usage/rest-api#openapi-specification","type":"docs"},{"id":67,"pageTitle":"REST API Usage","sectionTitle":"Authentication","sectionRoute":"/docs/advanced-usage/rest-api#authentication","type":"docs"},{"id":68,"pageTitle":"Running the Client on Steamdeck","sectionTitle":"Running the Client on Steamdeck","sectionRoute":"/docs/advanced-usage/steamdeck","type":"docs"},{"id":69,"pageTitle":"Running the Client on Steamdeck","sectionTitle":"App Setup Guide","sectionRoute":"/docs/advanced-usage/steamdeck#app-setup-guide","type":"docs"},{"id":70,"pageTitle":"Running the Client on Steamdeck","sectionTitle":"Updating the Client","sectionRoute":"/docs/advanced-usage/steamdeck#updating-the-client","type":"docs"},{"id":100,"pageTitle":"Data Management","sectionTitle":"Data Management","sectionRoute":"/docs/client-docs/data","type":"docs"},{"id":101,"pageTitle":"Data Management","sectionTitle":"Image Cache","sectionRoute":"/docs/client-docs/data#image-cache","type":"docs"},{"id":102,"pageTitle":"Data Management","sectionTitle":"Image Cache Optimization","sectionRoute":"/docs/client-docs/data#image-cache-optimization","type":"docs"},{"id":103,"pageTitle":"Data Management","sectionTitle":"Offline Cache (Progresses)","sectionRoute":"/docs/client-docs/data#offline-cache-progresses","type":"docs"},{"id":104,"pageTitle":"Data Management","sectionTitle":"Offline Cache (Game Metadata)","sectionRoute":"/docs/client-docs/data#offline-cache-game-metadata","type":"docs"},{"id":105,"pageTitle":"Data Management","sectionTitle":"Settings","sectionRoute":"/docs/client-docs/data#settings","type":"docs"},{"id":106,"pageTitle":"Data Management","sectionTitle":"Embedded Browser Settings","sectionRoute":"/docs/client-docs/data#embedded-browser-settings","type":"docs"},{"id":107,"pageTitle":"Data Management","sectionTitle":"Ignore List","sectionRoute":"/docs/client-docs/data#ignore-list","type":"docs"},{"id":108,"pageTitle":"Data Management","sectionTitle":"Crash Logs","sectionRoute":"/docs/client-docs/data#crash-logs","type":"docs"},{"id":109,"pageTitle":"Data Management","sectionTitle":"Themes","sectionRoute":"/docs/client-docs/data#themes","type":"docs"},{"id":71,"pageTitle":"GUI Overview","sectionTitle":"GUI Overview","sectionRoute":"/docs/client-docs/gui","type":"docs"},{"id":72,"pageTitle":"GUI Overview","sectionTitle":"Setup Wizard","sectionRoute":"/docs/client-docs/gui#setup-wizard","type":"docs"},{"id":73,"pageTitle":"GUI Overview","sectionTitle":"Library","sectionRoute":"/docs/client-docs/gui#library","type":"docs"},{"id":74,"pageTitle":"GUI Overview","sectionTitle":"Game","sectionRoute":"/docs/client-docs/gui#game","type":"docs"},{"id":75,"pageTitle":"GUI Overview","sectionTitle":"Game Settings","sectionRoute":"/docs/client-docs/gui#game-settings","type":"docs"},{"id":76,"pageTitle":"GUI Overview","sectionTitle":"Your Computer","sectionRoute":"/docs/client-docs/gui#your-computer","type":"docs"},{"id":77,"pageTitle":"GUI Overview","sectionTitle":"Server","sectionRoute":"/docs/client-docs/gui#server","type":"docs"},{"id":78,"pageTitle":"GUI Overview","sectionTitle":"Downloads","sectionRoute":"/docs/client-docs/gui#downloads","type":"docs"},{"id":79,"pageTitle":"GUI Overview","sectionTitle":"Community","sectionRoute":"/docs/client-docs/gui#community","type":"docs"},{"id":80,"pageTitle":"GUI Overview","sectionTitle":"User Settings","sectionRoute":"/docs/client-docs/gui#user-settings","type":"docs"},{"id":81,"pageTitle":"GUI Overview","sectionTitle":"Edit User Images","sectionRoute":"/docs/client-docs/gui#edit-user-images","type":"docs"},{"id":82,"pageTitle":"GUI Overview","sectionTitle":"Edit Details","sectionRoute":"/docs/client-docs/gui#edit-details","type":"docs"},{"id":83,"pageTitle":"GUI Overview","sectionTitle":"Settings","sectionRoute":"/docs/client-docs/gui#settings","type":"docs"},{"id":84,"pageTitle":"GUI Overview","sectionTitle":"Application","sectionRoute":"/docs/client-docs/gui#application","type":"docs"},{"id":85,"pageTitle":"GUI Overview","sectionTitle":"Installation","sectionRoute":"/docs/client-docs/gui#installation-1","type":"docs"},{"id":86,"pageTitle":"GUI Overview","sectionTitle":"User","sectionRoute":"/docs/client-docs/gui#user","type":"docs"},{"id":87,"pageTitle":"GUI Overview","sectionTitle":"Data","sectionRoute":"/docs/client-docs/gui#data","type":"docs"},{"id":88,"pageTitle":"GUI Overview","sectionTitle":"Administration","sectionRoute":"/docs/client-docs/gui#administration","type":"docs"},{"id":89,"pageTitle":"GUI Overview","sectionTitle":"News","sectionRoute":"/docs/client-docs/gui#news","type":"docs"},{"id":90,"pageTitle":"How to Use","sectionTitle":"How to Use","sectionRoute":"/docs/client-docs/how-to-use","type":"docs"},{"id":91,"pageTitle":"How to Use","sectionTitle":"File & Folder Structure","sectionRoute":"/docs/client-docs/how-to-use#file--folder-structure","type":"docs"},{"id":92,"pageTitle":"How to Use","sectionTitle":"Downloading Games","sectionRoute":"/docs/client-docs/how-to-use#downloading-games","type":"docs"},{"id":93,"pageTitle":"How to Use","sectionTitle":"1. Extracting the Game","sectionRoute":"/docs/client-docs/how-to-use#1-extracting-the-game","type":"docs"},{"id":94,"pageTitle":"How to Use","sectionTitle":"2. Installing the Game","sectionRoute":"/docs/client-docs/how-to-use#2-installing-the-game","type":"docs"},{"id":95,"pageTitle":"How to Use","sectionTitle":"Playing a Game","sectionRoute":"/docs/client-docs/how-to-use#playing-a-game","type":"docs"},{"id":96,"pageTitle":"How to Use","sectionTitle":"Tracking Your Game Progress","sectionRoute":"/docs/client-docs/how-to-use#tracking-your-game-progress","type":"docs"},{"id":97,"pageTitle":"How to Use","sectionTitle":"Modifying Games","sectionRoute":"/docs/client-docs/how-to-use#modifying-games","type":"docs"},{"id":98,"pageTitle":"How to Use","sectionTitle":"Modifying Users","sectionRoute":"/docs/client-docs/how-to-use#modifying-users","type":"docs"},{"id":99,"pageTitle":"How to Use","sectionTitle":"Exiting or Relaunching the App","sectionRoute":"/docs/client-docs/how-to-use#exiting-or-relaunching-the-app","type":"docs"},{"id":110,"pageTitle":"Setting up a GameVault Client","sectionTitle":"Setting up a GameVault Client","sectionRoute":"/docs/client-docs/setup","type":"docs"},{"id":111,"pageTitle":"Setting up a GameVault Client","sectionTitle":"Installation","sectionRoute":"/docs/client-docs/setup#installation","type":"docs"},{"id":112,"pageTitle":"Setting up a GameVault Client","sectionTitle":"Recommended Installation Option","sectionRoute":"/docs/client-docs/setup#recommended-installation-option","type":"docs"},{"id":113,"pageTitle":"Setting up a GameVault Client","sectionTitle":"Alternative Installation Options","sectionRoute":"/docs/client-docs/setup#alternative-installation-options","type":"docs"},{"id":114,"pageTitle":"Setting up a GameVault Client","sectionTitle":"Initial Configuration","sectionRoute":"/docs/client-docs/setup#initial-configuration","type":"docs"},{"id":115,"pageTitle":"Setting up a GameVault Client","sectionTitle":"Step 1: Select the Root Folder","sectionRoute":"/docs/client-docs/setup#step-1-select-the-root-folder","type":"docs"},{"id":116,"pageTitle":"Setting up a GameVault Client","sectionTitle":"Step 2: Entering the Selfhosted Backend Server URL","sectionRoute":"/docs/client-docs/setup#step-2-entering-the-selfhosted-backend-server-url","type":"docs"},{"id":117,"pageTitle":"Setting up a GameVault Client","sectionTitle":"Step 3: Log In or Register","sectionRoute":"/docs/client-docs/setup#step-3-log-in-or-register","type":"docs"},{"id":118,"pageTitle":"Setting up a GameVault Client","sectionTitle":"Conclusion","sectionRoute":"/docs/client-docs/setup#conclusion","type":"docs"},{"id":131,"pageTitle":"Themes","sectionTitle":"Themes","sectionRoute":"/docs/client-docs/themes","type":"docs"},{"id":132,"pageTitle":"Themes","sectionTitle":"Free Themes","sectionRoute":"/docs/client-docs/themes#free-themes","type":"docs"},{"id":133,"pageTitle":"Themes","sectionTitle":"Premium Themes","sectionRoute":"/docs/client-docs/themes#premium-themes","type":"docs"},{"id":134,"pageTitle":"Themes","sectionTitle":"Custom Themes","sectionRoute":"/docs/client-docs/themes#custom-themes","type":"docs"},{"id":164,"pageTitle":"Updating the Client","sectionTitle":"Updating the Client","sectionRoute":"/docs/client-docs/updating-client","type":"docs"},{"id":165,"pageTitle":"Updating the Client","sectionTitle":"Microsoft Store","sectionRoute":"/docs/client-docs/updating-client#microsoft-store","type":"docs"},{"id":166,"pageTitle":"Updating the Client","sectionTitle":"Other Sources","sectionRoute":"/docs/client-docs/updating-client#other-sources","type":"docs"},{"id":119,"pageTitle":"Client APIs","sectionTitle":"Client APIs","sectionRoute":"/docs/gamevault-plus/client-apis","type":"docs"},{"id":120,"pageTitle":"Client APIs","sectionTitle":"Available APIs","sectionRoute":"/docs/gamevault-plus/client-apis#available-apis","type":"docs"},{"id":121,"pageTitle":"Client APIs","sectionTitle":"CLI","sectionRoute":"/docs/gamevault-plus/client-apis#cli","type":"docs"},{"id":122,"pageTitle":"Client APIs","sectionTitle":"URI","sectionRoute":"/docs/gamevault-plus/client-apis#uri","type":"docs"},{"id":123,"pageTitle":"Client APIs","sectionTitle":"NamedPipe","sectionRoute":"/docs/gamevault-plus/client-apis#namedpipe","type":"docs"},{"id":124,"pageTitle":"Client APIs","sectionTitle":"Usage","sectionRoute":"/docs/gamevault-plus/client-apis#usage","type":"docs"},{"id":125,"pageTitle":"Client APIs","sectionTitle":"Available Actions & Parameters","sectionRoute":"/docs/gamevault-plus/client-apis#available-actions--parameters","type":"docs"},{"id":126,"pageTitle":"Client APIs","sectionTitle":"URI \"Query\" Action","sectionRoute":"/docs/gamevault-plus/client-apis#uri-query-action","type":"docs"},{"id":127,"pageTitle":"Client APIs","sectionTitle":"Command-line Examples","sectionRoute":"/docs/gamevault-plus/client-apis#command-line-examples","type":"docs"},{"id":128,"pageTitle":"Client APIs","sectionTitle":"URI Examples","sectionRoute":"/docs/gamevault-plus/client-apis#uri-examples","type":"docs"},{"id":129,"pageTitle":"Client APIs","sectionTitle":"Query Examples","sectionRoute":"/docs/gamevault-plus/client-apis#query-examples","type":"docs"},{"id":130,"pageTitle":"Client APIs","sectionTitle":"C# Code Example","sectionRoute":"/docs/gamevault-plus/client-apis#c-code-example","type":"docs"},{"id":135,"pageTitle":"Client Setup","sectionTitle":"Client Setup","sectionRoute":"/docs/gamevault-plus/client-setup","type":"docs"},{"id":136,"pageTitle":"Client Setup","sectionTitle":"Linking Your Phalcode Account","sectionRoute":"/docs/gamevault-plus/client-setup#linking-your-phalcode-account","type":"docs"},{"id":137,"pageTitle":"Client Setup","sectionTitle":"Retrieving Your License","sectionRoute":"/docs/gamevault-plus/client-setup#retrieving-your-license","type":"docs"},{"id":138,"pageTitle":"Client Setup","sectionTitle":"Offline Usage","sectionRoute":"/docs/gamevault-plus/client-setup#offline-usage","type":"docs"},{"id":139,"pageTitle":"","sectionTitle":"Introduction","sectionRoute":"/docs/gamevault-plus/introduction#introduction","type":"docs"},{"id":140,"pageTitle":"","sectionTitle":"Feature List","sectionRoute":"/docs/gamevault-plus/introduction#feature-list","type":"docs"},{"id":141,"pageTitle":"","sectionTitle":"Pricing","sectionRoute":"/docs/gamevault-plus/introduction#pricing","type":"docs"},{"id":142,"pageTitle":"","sectionTitle":"Get Started","sectionRoute":"/docs/gamevault-plus/introduction#get-started","type":"docs"},{"id":143,"pageTitle":"","sectionTitle":"Questions and Answers","sectionRoute":"/docs/gamevault-plus/introduction#questions-and-answers","type":"docs"},{"id":144,"pageTitle":"","sectionTitle":"What is Phalcode?","sectionRoute":"/docs/gamevault-plus/introduction#what-is-phalcode","type":"docs"},{"id":145,"pageTitle":"","sectionTitle":"I have trouble with GameVault+ and I need support. How can I contact you?","sectionRoute":"/docs/gamevault-plus/introduction#i-have-trouble-with-gamevault-and-i-need-support-how-can-i-contact-you","type":"docs"},{"id":146,"pageTitle":"","sectionTitle":"How do I manage billing and payments?","sectionRoute":"/docs/gamevault-plus/introduction#how-do-i-manage-billing-and-payments","type":"docs"},{"id":147,"pageTitle":"","sectionTitle":"What payment methods are accepted for GameVault+ subscriptions?","sectionRoute":"/docs/gamevault-plus/introduction#what-payment-methods-are-accepted-for-gamevault-subscriptions","type":"docs"},{"id":148,"pageTitle":"","sectionTitle":"Are there going to be more features added to GameVault+?","sectionRoute":"/docs/gamevault-plus/introduction#are-there-going-to-be-more-features-added-to-gamevault","type":"docs"},{"id":149,"pageTitle":"","sectionTitle":"Can GameVault+ be shared with multiple users?","sectionRoute":"/docs/gamevault-plus/introduction#can-gamevault-be-shared-with-multiple-users","type":"docs"},{"id":150,"pageTitle":"","sectionTitle":"How many devices can I have in my GameVault+ subscription?","sectionRoute":"/docs/gamevault-plus/introduction#how-many-devices-can-i-have-in-my-gamevault-subscription","type":"docs"},{"id":151,"pageTitle":"","sectionTitle":"Can GameVault+ be used offline?","sectionRoute":"/docs/gamevault-plus/introduction#can-gamevault-be-used-offline","type":"docs"},{"id":152,"pageTitle":"","sectionTitle":"How does GameVault+ ensure user privacy protection?","sectionRoute":"/docs/gamevault-plus/introduction#how-does-gamevault-ensure-user-privacy-protection","type":"docs"},{"id":153,"pageTitle":"","sectionTitle":"Will GameVault+ support more integrations with other software in the future?","sectionRoute":"/docs/gamevault-plus/introduction#will-gamevault-support-more-integrations-with-other-software-in-the-future","type":"docs"},{"id":154,"pageTitle":"","sectionTitle":"Can users suggest or vote on new features for GameVault+?","sectionRoute":"/docs/gamevault-plus/introduction#can-users-suggest-or-vote-on-new-features-for-gamevault","type":"docs"},{"id":155,"pageTitle":"","sectionTitle":"Which Client Application versions are supported?","sectionRoute":"/docs/gamevault-plus/introduction#which-client-application-versions-are-supported","type":"docs"},{"id":156,"pageTitle":"","sectionTitle":"Are commercial licenses available for GameVault+?","sectionRoute":"/docs/gamevault-plus/introduction#are-commercial-licenses-available-for-gamevault","type":"docs"},{"id":157,"pageTitle":"","sectionTitle":"What if i cant afford GameVault+?","sectionRoute":"/docs/gamevault-plus/introduction#what-if-i-cant-afford-gamevault","type":"docs"},{"id":158,"pageTitle":"Themes","sectionTitle":"Themes","sectionRoute":"/docs/gamevault-plus/themes","type":"docs"},{"id":159,"pageTitle":"Themes","sectionTitle":"Premium Themes","sectionRoute":"/docs/gamevault-plus/themes#premium-themes","type":"docs"},{"id":160,"pageTitle":"Themes","sectionTitle":"Custom Themes","sectionRoute":"/docs/gamevault-plus/themes#custom-themes","type":"docs"},{"id":161,"pageTitle":"Themes","sectionTitle":"How to Install and Apply a Custom Theme","sectionRoute":"/docs/gamevault-plus/themes#how-to-install-and-apply-a-custom-theme","type":"docs"},{"id":162,"pageTitle":"Themes","sectionTitle":"Creating a Custom Theme","sectionRoute":"/docs/gamevault-plus/themes#creating-a-custom-theme","type":"docs"},{"id":163,"pageTitle":"Themes","sectionTitle":"Sharing Custom Themes","sectionRoute":"/docs/gamevault-plus/themes#sharing-custom-themes","type":"docs"},{"id":167,"pageTitle":"Introduction","sectionTitle":"Introduction","sectionRoute":"/docs/intro","type":"docs"},{"id":168,"pageTitle":"Introduction","sectionTitle":"What is GameVault?","sectionRoute":"/docs/intro#what-is-gamevault","type":"docs"},{"id":169,"pageTitle":"Introduction","sectionTitle":"Who Can Enjoy GameVault?","sectionRoute":"/docs/intro#who-can-enjoy-gamevault","type":"docs"},{"id":170,"pageTitle":"Introduction","sectionTitle":"What GameVault is not","sectionRoute":"/docs/intro#what-gamevault-is-not","type":"docs"},{"id":171,"pageTitle":"Introduction","sectionTitle":"Features","sectionRoute":"/docs/intro#features","type":"docs"},{"id":172,"pageTitle":"Introduction","sectionTitle":"Client Features","sectionRoute":"/docs/intro#client-features","type":"docs"},{"id":173,"pageTitle":"Introduction","sectionTitle":"Server Features","sectionRoute":"/docs/intro#server-features","type":"docs"},{"id":174,"pageTitle":"Introduction","sectionTitle":"Support","sectionRoute":"/docs/intro#support","type":"docs"},{"id":175,"pageTitle":"Introduction","sectionTitle":"License","sectionRoute":"/docs/intro#license","type":"docs"},{"id":176,"pageTitle":"Introduction","sectionTitle":"Legal Disclaimer","sectionRoute":"/docs/intro#legal-disclaimer","type":"docs"},{"id":188,"pageTitle":"Licensing and Contributions","sectionTitle":"Licensing and Contributions","sectionRoute":"/docs/license-contribute","type":"docs"},{"id":189,"pageTitle":"Licensing and Contributions","sectionTitle":"License","sectionRoute":"/docs/license-contribute#license","type":"docs"},{"id":190,"pageTitle":"Licensing and Contributions","sectionTitle":"Why is GameVault not open-source?","sectionRoute":"/docs/license-contribute#why-is-gamevault-not-open-source","type":"docs"},{"id":191,"pageTitle":"Licensing and Contributions","sectionTitle":"Contributing to GameVault","sectionRoute":"/docs/license-contribute#contributing-to-gamevault","type":"docs"},{"id":192,"pageTitle":"Licensing and Contributions","sectionTitle":"Publishing Adaptations of GameVault","sectionRoute":"/docs/license-contribute#publishing-adaptations-of-gamevault","type":"docs"},{"id":193,"pageTitle":"Licensing and Contributions","sectionTitle":"Community Forks","sectionRoute":"/docs/license-contribute#community-forks","type":"docs"},{"id":194,"pageTitle":"Licensing and Contributions","sectionTitle":"gamevault-app","sectionRoute":"/docs/license-contribute#gamevault-app","type":"docs"},{"id":195,"pageTitle":"Licensing and Contributions","sectionTitle":"gamevault-backend","sectionRoute":"/docs/license-contribute#gamevault-backend","type":"docs"},{"id":196,"pageTitle":"Licensing and Contributions","sectionTitle":"Contributors to this Documentation","sectionRoute":"/docs/license-contribute#contributors-to-this-documentation","type":"docs"},{"id":201,"pageTitle":"Adding Games to GameVault","sectionTitle":"Adding Games to GameVault","sectionRoute":"/docs/server-docs/adding-games","type":"docs"},{"id":202,"pageTitle":"Adding Games to GameVault","sectionTitle":"Before You Begin","sectionRoute":"/docs/server-docs/adding-games#before-you-begin","type":"docs"},{"id":203,"pageTitle":"Adding Games to GameVault","sectionTitle":"Step 1: Preparing","sectionRoute":"/docs/server-docs/adding-games#step-1-preparing","type":"docs"},{"id":204,"pageTitle":"Adding Games to GameVault","sectionTitle":"Step 2: Compression","sectionRoute":"/docs/server-docs/adding-games#step-2-compression","type":"docs"},{"id":205,"pageTitle":"Adding Games to GameVault","sectionTitle":"Method 1: The Fast Way","sectionRoute":"/docs/server-docs/adding-games#method-1-the-fast-way","type":"docs"},{"id":206,"pageTitle":"Adding Games to GameVault","sectionTitle":"Method 2: The Hardcore Way","sectionRoute":"/docs/server-docs/adding-games#method-2-the-hardcore-way","type":"docs"},{"id":207,"pageTitle":"Adding Games to GameVault","sectionTitle":"Method 3: The Balanced Way","sectionRoute":"/docs/server-docs/adding-games#method-3-the-balanced-way","type":"docs"},{"id":208,"pageTitle":"Adding Games to GameVault","sectionTitle":"Step 3: Naming the Archive","sectionRoute":"/docs/server-docs/adding-games#step-3-naming-the-archive","type":"docs"},{"id":209,"pageTitle":"Adding Games to GameVault","sectionTitle":"Adding the same game multiple times","sectionRoute":"/docs/server-docs/adding-games#adding-the-same-game-multiple-times","type":"docs"},{"id":210,"pageTitle":"Adding Games to GameVault","sectionTitle":"Step 4: Deploy 🥳","sectionRoute":"/docs/server-docs/adding-games#step-4-deploy-","type":"docs"},{"id":211,"pageTitle":"Database Backup & Restoration","sectionTitle":"Database Backup & Restoration","sectionRoute":"/docs/server-docs/backup-and-restore","type":"docs"},{"id":212,"pageTitle":"Database Backup & Restoration","sectionTitle":"Backup","sectionRoute":"/docs/server-docs/backup-and-restore#backup","type":"docs"},{"id":213,"pageTitle":"Database Backup & Restoration","sectionTitle":"Restoration","sectionRoute":"/docs/server-docs/backup-and-restore#restoration","type":"docs"},{"id":177,"pageTitle":"Configuration","sectionTitle":"Configuration","sectionRoute":"/docs/server-docs/configuration","type":"docs"},{"id":178,"pageTitle":"Configuration","sectionTitle":"Configuration Properties","sectionRoute":"/docs/server-docs/configuration#configuration-properties","type":"docs"},{"id":179,"pageTitle":"Configuration","sectionTitle":"SERVER","sectionRoute":"/docs/server-docs/configuration#server","type":"docs"},{"id":180,"pageTitle":"Configuration","sectionTitle":"VOLUMES","sectionRoute":"/docs/server-docs/configuration#volumes","type":"docs"},{"id":181,"pageTitle":"Configuration","sectionTitle":"DB","sectionRoute":"/docs/server-docs/configuration#db","type":"docs"},{"id":182,"pageTitle":"Configuration","sectionTitle":"USERS","sectionRoute":"/docs/server-docs/configuration#users","type":"docs"},{"id":183,"pageTitle":"Configuration","sectionTitle":"PARENTAL","sectionRoute":"/docs/server-docs/configuration#parental","type":"docs"},{"id":184,"pageTitle":"Configuration","sectionTitle":"GAMES","sectionRoute":"/docs/server-docs/configuration#games","type":"docs"},{"id":185,"pageTitle":"Configuration","sectionTitle":"MEDIA","sectionRoute":"/docs/server-docs/configuration#media","type":"docs"},{"id":186,"pageTitle":"Configuration","sectionTitle":"METADATA","sectionRoute":"/docs/server-docs/configuration#metadata","type":"docs"},{"id":187,"pageTitle":"Configuration","sectionTitle":"TESTING","sectionRoute":"/docs/server-docs/configuration#testing","type":"docs"},{"id":197,"pageTitle":"Game Types","sectionTitle":"Game Types","sectionRoute":"/docs/server-docs/game-types","type":"docs"},{"id":198,"pageTitle":"Game Types","sectionTitle":"List of currently supported Game Types","sectionRoute":"/docs/server-docs/game-types#list-of-currently-supported-game-types","type":"docs"},{"id":199,"pageTitle":"Game Types","sectionTitle":"Windows","sectionRoute":"/docs/server-docs/game-types#windows","type":"docs"},{"id":200,"pageTitle":"Game Types","sectionTitle":"Undetected","sectionRoute":"/docs/server-docs/game-types#undetected","type":"docs"},{"id":363,"pageTitle":"Game Indexing","sectionTitle":"Game Indexing","sectionRoute":"/docs/server-docs/indexing","type":"docs"},{"id":223,"pageTitle":"Media","sectionTitle":"Media","sectionRoute":"/docs/server-docs/media","type":"docs"},{"id":224,"pageTitle":"Media","sectionTitle":"Supported Formats","sectionRoute":"/docs/server-docs/media#supported-formats","type":"docs"},{"id":225,"pageTitle":"Media","sectionTitle":"Supported Image Formats","sectionRoute":"/docs/server-docs/media#supported-image-formats","type":"docs"},{"id":226,"pageTitle":"Media","sectionTitle":"Supported Audio Formats","sectionRoute":"/docs/server-docs/media#supported-audio-formats","type":"docs"},{"id":227,"pageTitle":"Media","sectionTitle":"Supported Video Formats","sectionRoute":"/docs/server-docs/media#supported-video-formats","type":"docs"},{"id":228,"pageTitle":"Media","sectionTitle":"Media Persistence","sectionRoute":"/docs/server-docs/media#media-persistence","type":"docs"},{"id":229,"pageTitle":"Media","sectionTitle":"Media that is stored on the filesystem","sectionRoute":"/docs/server-docs/media#media-that-is-stored-on-the-filesystem","type":"docs"},{"id":230,"pageTitle":"Media","sectionTitle":"Media that is stored as an external resource","sectionRoute":"/docs/server-docs/media#media-that-is-stored-as-an-external-resource","type":"docs"},{"id":231,"pageTitle":"Media","sectionTitle":"Duplicate Media","sectionRoute":"/docs/server-docs/media#duplicate-media","type":"docs"},{"id":232,"pageTitle":"Media","sectionTitle":"Media Garbage Collection","sectionRoute":"/docs/server-docs/media#media-garbage-collection","type":"docs"},{"id":233,"pageTitle":"Media","sectionTitle":"Turning off Garbage Collection","sectionRoute":"/docs/server-docs/media#turning-off-garbage-collection","type":"docs"},{"id":234,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"Enriching your Games with Metadata","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata","type":"docs"},{"id":235,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"Setting Up a Metadata Provider","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata#setting-up-a-metadata-provider","type":"docs"},{"id":236,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"Built-In Metadata Providers","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata#built-in-metadata-providers","type":"docs"},{"id":237,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"Community-Maintained Metadata Providers","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata#community-maintained-metadata-providers","type":"docs"},{"id":238,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"How Metadata Enrichment in GameVault Works","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata#how-metadata-enrichment-in-gamevault-works","type":"docs"},{"id":239,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"Editing Metadata","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata#editing-metadata","type":"docs"},{"id":240,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"Remapping a Game","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata#remapping-a-game","type":"docs"},{"id":241,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"Unmapping a Game","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata#unmapping-a-game","type":"docs"},{"id":242,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"How GameVault Merges Metadata","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata#how-gamevault-merges-metadata","type":"docs"},{"id":243,"pageTitle":"Enriching your Games with Metadata","sectionTitle":"Developing a New Metadata Provider","sectionRoute":"/docs/server-docs/metadata-enrichment/metadata#developing-a-new-metadata-provider","type":"docs"},{"id":248,"pageTitle":"Provider: IGDB","sectionTitle":"Provider: IGDB","sectionRoute":"/docs/server-docs/metadata-enrichment/provider-igdb","type":"docs"},{"id":249,"pageTitle":"Provider: IGDB","sectionTitle":"Overview","sectionRoute":"/docs/server-docs/metadata-enrichment/provider-igdb#overview","type":"docs"},{"id":250,"pageTitle":"Provider: IGDB","sectionTitle":"Setup","sectionRoute":"/docs/server-docs/metadata-enrichment/provider-igdb#setup","type":"docs"},{"id":251,"pageTitle":"Provider: IGDB","sectionTitle":"Configurations","sectionRoute":"/docs/server-docs/metadata-enrichment/provider-igdb#configurations","type":"docs"},{"id":252,"pageTitle":"Provider: IGDB","sectionTitle":"Mappings","sectionRoute":"/docs/server-docs/metadata-enrichment/provider-igdb#mappings","type":"docs"},{"id":253,"pageTitle":"Provider: IGDB","sectionTitle":"Fields","sectionRoute":"/docs/server-docs/metadata-enrichment/provider-igdb#fields","type":"docs"},{"id":254,"pageTitle":"Provider: IGDB","sectionTitle":"Age Rating","sectionRoute":"/docs/server-docs/metadata-enrichment/provider-igdb#age-rating","type":"docs"},{"id":244,"pageTitle":"Parental Control","sectionTitle":"Parental Control","sectionRoute":"/docs/server-docs/parental-control","type":"docs"},{"id":245,"pageTitle":"Parental Control","sectionTitle":"Enabling Parental Control","sectionRoute":"/docs/server-docs/parental-control#enabling-parental-control","type":"docs"},{"id":246,"pageTitle":"Parental Control","sectionTitle":"Changing the Age of Majority","sectionRoute":"/docs/server-docs/parental-control#changing-the-age-of-majority","type":"docs"},{"id":247,"pageTitle":"Parental Control","sectionTitle":"Overriding the Age Rating of a Game","sectionRoute":"/docs/server-docs/parental-control#overriding-the-age-rating-of-a-game","type":"docs"},{"id":255,"pageTitle":"Plugins","sectionTitle":"Plugins","sectionRoute":"/docs/server-docs/plugins","type":"docs"},{"id":256,"pageTitle":"Plugins","sectionTitle":"Introduction","sectionRoute":"/docs/server-docs/plugins#introduction","type":"docs"},{"id":257,"pageTitle":"Plugins","sectionTitle":"Getting Started","sectionRoute":"/docs/server-docs/plugins#getting-started","type":"docs"},{"id":258,"pageTitle":"Plugins","sectionTitle":"Finding Plugins","sectionRoute":"/docs/server-docs/plugins#finding-plugins","type":"docs"},{"id":259,"pageTitle":"Plugins","sectionTitle":"Writing GameVault Plugins","sectionRoute":"/docs/server-docs/plugins#writing-gamevault-plugins","type":"docs"},{"id":260,"pageTitle":"Plugins","sectionTitle":"Example Plugins","sectionRoute":"/docs/server-docs/plugins#example-plugins","type":"docs"},{"id":261,"pageTitle":"Plugins","sectionTitle":"Available Features","sectionRoute":"/docs/server-docs/plugins#available-features","type":"docs"},{"id":262,"pageTitle":"Server News","sectionTitle":"Server News","sectionRoute":"/docs/server-docs/server-news","type":"docs"},{"id":275,"pageTitle":"Setting up a GameVault Server","sectionTitle":"Setting up a GameVault Server","sectionRoute":"/docs/server-docs/setup/","type":"docs"},{"id":276,"pageTitle":"Setting up a GameVault Server","sectionTitle":"Supported Methods","sectionRoute":"/docs/server-docs/setup/#supported-methods","type":"docs"},{"id":277,"pageTitle":"Setting up a GameVault Server","sectionTitle":"More Methods","sectionRoute":"/docs/server-docs/setup/#more-methods","type":"docs"},{"id":278,"pageTitle":"Setting up a GameVault Server","sectionTitle":"What Next?","sectionRoute":"/docs/server-docs/setup/#what-next","type":"docs"},{"id":263,"pageTitle":"Using CapRover","sectionTitle":"Using CapRover","sectionRoute":"/docs/server-docs/setup/caprover","type":"docs"},{"id":264,"pageTitle":"Using CapRover","sectionTitle":"Prerequisites","sectionRoute":"/docs/server-docs/setup/caprover#prerequisites","type":"docs"},{"id":265,"pageTitle":"Using CapRover","sectionTitle":"Step 1: Log in to your CapRover Dashboard","sectionRoute":"/docs/server-docs/setup/caprover#step-1-log-in-to-your-caprover-dashboard","type":"docs"},{"id":266,"pageTitle":"Using CapRover","sectionTitle":"Step 2: Navigate to the One-Click-Apps/Databases","sectionRoute":"/docs/server-docs/setup/caprover#step-2-navigate-to-the-one-click-appsdatabases","type":"docs"},{"id":267,"pageTitle":"Using CapRover","sectionTitle":"Step 3: Connect Phalcode's third-party repository","sectionRoute":"/docs/server-docs/setup/caprover#step-3-connect-phalcodes-third-party-repository","type":"docs"},{"id":268,"pageTitle":"Using CapRover","sectionTitle":"Step 4: Install our GameVault One-Click-App","sectionRoute":"/docs/server-docs/setup/caprover#step-4-install-our-gamevault-one-click-app","type":"docs"},{"id":269,"pageTitle":"Using CapRover","sectionTitle":"Step 5: Enable WebSocket Support","sectionRoute":"/docs/server-docs/setup/caprover#step-5-enable-websocket-support","type":"docs"},{"id":270,"pageTitle":"Using CapRover","sectionTitle":"Step 6: Configuring Volumes","sectionRoute":"/docs/server-docs/setup/caprover#step-6-configuring-volumes","type":"docs"},{"id":271,"pageTitle":"Using CapRover","sectionTitle":"Conclusion","sectionRoute":"/docs/server-docs/setup/caprover#conclusion","type":"docs"},{"id":272,"pageTitle":"Using CapRover","sectionTitle":"Additional Info","sectionRoute":"/docs/server-docs/setup/caprover#additional-info","type":"docs"},{"id":273,"pageTitle":"Using CapRover","sectionTitle":"Stopping the Server","sectionRoute":"/docs/server-docs/setup/caprover#stopping-the-server","type":"docs"},{"id":274,"pageTitle":"Using CapRover","sectionTitle":"Reading the Logs","sectionRoute":"/docs/server-docs/setup/caprover#reading-the-logs","type":"docs"},{"id":279,"pageTitle":"Using Docker Compose","sectionTitle":"Using Docker Compose","sectionRoute":"/docs/server-docs/setup/docker-compose","type":"docs"},{"id":280,"pageTitle":"Using Docker Compose","sectionTitle":"Prerequisites","sectionRoute":"/docs/server-docs/setup/docker-compose#prerequisites","type":"docs"},{"id":281,"pageTitle":"Using Docker Compose","sectionTitle":"Step 1: Creating a Docker Compose file","sectionRoute":"/docs/server-docs/setup/docker-compose#step-1-creating-a-docker-compose-file","type":"docs"},{"id":282,"pageTitle":"Using Docker Compose","sectionTitle":"Alternative Step 1: Running without a PostgreSQL Database","sectionRoute":"/docs/server-docs/setup/docker-compose#alternative-step-1-running-without-a-postgresql-database","type":"docs"},{"id":283,"pageTitle":"Using Docker Compose","sectionTitle":"Step 2: Start the Service","sectionRoute":"/docs/server-docs/setup/docker-compose#step-2-start-the-service","type":"docs"},{"id":284,"pageTitle":"Using Docker Compose","sectionTitle":"Conclusion","sectionRoute":"/docs/server-docs/setup/docker-compose#conclusion","type":"docs"},{"id":285,"pageTitle":"Using Docker Compose","sectionTitle":"Additional Info","sectionRoute":"/docs/server-docs/setup/docker-compose#additional-info","type":"docs"},{"id":286,"pageTitle":"Using Docker Compose","sectionTitle":"Stopping the server","sectionRoute":"/docs/server-docs/setup/docker-compose#stopping-the-server","type":"docs"},{"id":287,"pageTitle":"Using Docker Compose","sectionTitle":"Reading the logs","sectionRoute":"/docs/server-docs/setup/docker-compose#reading-the-logs","type":"docs"},{"id":288,"pageTitle":"Using Native Approach","sectionTitle":"Using Native Approach","sectionRoute":"/docs/server-docs/setup/native","type":"docs"},{"id":289,"pageTitle":"Using Native Approach","sectionTitle":"Prerequisites","sectionRoute":"/docs/server-docs/setup/native#prerequisites","type":"docs"},{"id":290,"pageTitle":"Using Native Approach","sectionTitle":"Step 1: Clone the Source Code","sectionRoute":"/docs/server-docs/setup/native#step-1-clone-the-source-code","type":"docs"},{"id":291,"pageTitle":"Using Native Approach","sectionTitle":"Step 2: Install Dependencies","sectionRoute":"/docs/server-docs/setup/native#step-2-install-dependencies","type":"docs"},{"id":292,"pageTitle":"Using Native Approach","sectionTitle":"Step 3: Set up an .env File","sectionRoute":"/docs/server-docs/setup/native#step-3-set-up-an-env-file","type":"docs"},{"id":293,"pageTitle":"Using Native Approach","sectionTitle":"Step 4: Build and Start the Server","sectionRoute":"/docs/server-docs/setup/native#step-4-build-and-start-the-server","type":"docs"},{"id":294,"pageTitle":"Using Native Approach","sectionTitle":"Conclusion","sectionRoute":"/docs/server-docs/setup/native#conclusion","type":"docs"},{"id":295,"pageTitle":"Using Native Approach","sectionTitle":"Additional Info","sectionRoute":"/docs/server-docs/setup/native#additional-info","type":"docs"},{"id":296,"pageTitle":"Using Native Approach","sectionTitle":"Stopping the Server","sectionRoute":"/docs/server-docs/setup/native#stopping-the-server","type":"docs"},{"id":297,"pageTitle":"Using Native Approach","sectionTitle":"Updating the Server","sectionRoute":"/docs/server-docs/setup/native#updating-the-server","type":"docs"},{"id":319,"pageTitle":"Using Synology Container Manager","sectionTitle":"Using Synology Container Manager","sectionRoute":"/docs/server-docs/setup/synology-container-manager","type":"docs"},{"id":320,"pageTitle":"Using Synology Container Manager","sectionTitle":"Prerequisites","sectionRoute":"/docs/server-docs/setup/synology-container-manager#prerequisites","type":"docs"},{"id":321,"pageTitle":"Using Synology Container Manager","sectionTitle":"Step 1: Create Necessary Folders","sectionRoute":"/docs/server-docs/setup/synology-container-manager#step-1-create-necessary-folders","type":"docs"},{"id":322,"pageTitle":"Using Synology Container Manager","sectionTitle":"Step 2: Set Up a Project in Container Manager","sectionRoute":"/docs/server-docs/setup/synology-container-manager#step-2-set-up-a-project-in-container-manager","type":"docs"},{"id":323,"pageTitle":"Using Synology Container Manager","sectionTitle":"Step 3: Create Docker Compose File","sectionRoute":"/docs/server-docs/setup/synology-container-manager#step-3-create-docker-compose-file","type":"docs"},{"id":324,"pageTitle":"Using Synology Container Manager","sectionTitle":"Alternative Step 3: Running without a PostgreSQL Database","sectionRoute":"/docs/server-docs/setup/synology-container-manager#alternative-step-3-running-without-a-postgresql-database","type":"docs"},{"id":325,"pageTitle":"Using Synology Container Manager","sectionTitle":"Conclusion","sectionRoute":"/docs/server-docs/setup/synology-container-manager#conclusion","type":"docs"},{"id":326,"pageTitle":"Using Synology Container Manager","sectionTitle":"Additional Info","sectionRoute":"/docs/server-docs/setup/synology-container-manager#additional-info","type":"docs"},{"id":327,"pageTitle":"Using Synology Container Manager","sectionTitle":"Stopping the Server","sectionRoute":"/docs/server-docs/setup/synology-container-manager#stopping-the-server","type":"docs"},{"id":328,"pageTitle":"Using Synology Container Manager","sectionTitle":"Reading the Logs","sectionRoute":"/docs/server-docs/setup/synology-container-manager#reading-the-logs","type":"docs"},{"id":298,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Using TrueNAS Scale","sectionRoute":"/docs/server-docs/setup/truenas-scale","type":"docs"},{"id":299,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Prerequisites","sectionRoute":"/docs/server-docs/setup/truenas-scale#prerequisites","type":"docs"},{"id":300,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Step 1: Log in to your TrueNAS Scale Dashboard","sectionRoute":"/docs/server-docs/setup/truenas-scale#step-1-log-in-to-your-truenas-scale-dashboard","type":"docs"},{"id":301,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Step 2: Navigate to the catalog Page in TrueNas Scale","sectionRoute":"/docs/server-docs/setup/truenas-scale#step-2-navigate-to-the-catalog-page-in-truenas-scale","type":"docs"},{"id":302,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Step 3: Navigate to Apps and Disover Page","sectionRoute":"/docs/server-docs/setup/truenas-scale#step-3-navigate-to-apps-and-disover-page","type":"docs"},{"id":303,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Step 4: Configure and Install gamevault-backend","sectionRoute":"/docs/server-docs/setup/truenas-scale#step-4-configure-and-install-gamevault-backend","type":"docs"},{"id":304,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Conclusion","sectionRoute":"/docs/server-docs/setup/truenas-scale#conclusion","type":"docs"},{"id":305,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Additional Info","sectionRoute":"/docs/server-docs/setup/truenas-scale#additional-info","type":"docs"},{"id":306,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Stopping the Server","sectionRoute":"/docs/server-docs/setup/truenas-scale#stopping-the-server","type":"docs"},{"id":307,"pageTitle":"Using TrueNAS Scale","sectionTitle":"Reading the Logs","sectionRoute":"/docs/server-docs/setup/truenas-scale#reading-the-logs","type":"docs"},{"id":308,"pageTitle":"Using UNRAID","sectionTitle":"Using UNRAID","sectionRoute":"/docs/server-docs/setup/unraid","type":"docs"},{"id":309,"pageTitle":"Using UNRAID","sectionTitle":"Prerequisites","sectionRoute":"/docs/server-docs/setup/unraid#prerequisites","type":"docs"},{"id":310,"pageTitle":"Using UNRAID","sectionTitle":"Step 1: Setting up the Database","sectionRoute":"/docs/server-docs/setup/unraid#step-1-setting-up-the-database","type":"docs"},{"id":311,"pageTitle":"Using UNRAID","sectionTitle":"Step 2: Install POSTGRES","sectionRoute":"/docs/server-docs/setup/unraid#step-2-install-postgres","type":"docs"},{"id":312,"pageTitle":"Using UNRAID","sectionTitle":"Step 3: Setting up your GameVault Backend server","sectionRoute":"/docs/server-docs/setup/unraid#step-3-setting-up-your-gamevault-backend-server","type":"docs"},{"id":313,"pageTitle":"Using UNRAID","sectionTitle":"Alternative Step 3: Running without a PostgreSQL Database","sectionRoute":"/docs/server-docs/setup/unraid#alternative-step-3-running-without-a-postgresql-database","type":"docs"},{"id":314,"pageTitle":"Using UNRAID","sectionTitle":"Step 4: Configure install","sectionRoute":"/docs/server-docs/setup/unraid#step-4-configure-install","type":"docs"},{"id":315,"pageTitle":"Using UNRAID","sectionTitle":"Conclusion","sectionRoute":"/docs/server-docs/setup/unraid#conclusion","type":"docs"},{"id":316,"pageTitle":"Using UNRAID","sectionTitle":"Additional Info","sectionRoute":"/docs/server-docs/setup/unraid#additional-info","type":"docs"},{"id":317,"pageTitle":"Using UNRAID","sectionTitle":"Stopping the Server","sectionRoute":"/docs/server-docs/setup/unraid#stopping-the-server","type":"docs"},{"id":318,"pageTitle":"Using UNRAID","sectionTitle":"Reading the Logs","sectionRoute":"/docs/server-docs/setup/unraid#reading-the-logs","type":"docs"},{"id":329,"pageTitle":"File and Folder Structure","sectionTitle":"File and Folder Structure","sectionRoute":"/docs/server-docs/structure","type":"docs"},{"id":330,"pageTitle":"File and Folder Structure","sectionTitle":"Supported Archive Formats","sectionRoute":"/docs/server-docs/structure#supported-archive-formats","type":"docs"},{"id":331,"pageTitle":"File and Folder Structure","sectionTitle":"Single File Executable","sectionRoute":"/docs/server-docs/structure#single-file-executable","type":"docs"},{"id":332,"pageTitle":"File and Folder Structure","sectionTitle":"Naming Convention for Games","sectionRoute":"/docs/server-docs/structure#naming-convention-for-games","type":"docs"},{"id":333,"pageTitle":"File and Folder Structure","sectionTitle":"Other Examples","sectionRoute":"/docs/server-docs/structure#other-examples","type":"docs"},{"id":334,"pageTitle":"Updating Games","sectionTitle":"Updating Games","sectionRoute":"/docs/server-docs/updating-games","type":"docs"},{"id":335,"pageTitle":"Updating Games","sectionTitle":"Applying an Update to a Game","sectionRoute":"/docs/server-docs/updating-games#applying-an-update-to-a-game","type":"docs"},{"id":336,"pageTitle":"Updating Games","sectionTitle":"Example","sectionRoute":"/docs/server-docs/updating-games#example","type":"docs"},{"id":337,"pageTitle":"Updating Games","sectionTitle":"Changing or Moving a Game","sectionRoute":"/docs/server-docs/updating-games#changing-or-moving-a-game","type":"docs"},{"id":338,"pageTitle":"User Management","sectionTitle":"User Management","sectionRoute":"/docs/server-docs/user-management","type":"docs"},{"id":339,"pageTitle":"User Management","sectionTitle":"Admin User","sectionRoute":"/docs/server-docs/user-management#admin-user","type":"docs"},{"id":340,"pageTitle":"User Management","sectionTitle":"Initial Setup","sectionRoute":"/docs/server-docs/user-management#initial-setup","type":"docs"},{"id":341,"pageTitle":"User Management","sectionTitle":"Admin Role Recovery","sectionRoute":"/docs/server-docs/user-management#admin-role-recovery","type":"docs"},{"id":342,"pageTitle":"User Management","sectionTitle":"Admin Password Recovery","sectionRoute":"/docs/server-docs/user-management#admin-password-recovery","type":"docs"},{"id":343,"pageTitle":"User Management","sectionTitle":"User Registration","sectionRoute":"/docs/server-docs/user-management#user-registration","type":"docs"},{"id":344,"pageTitle":"User Management","sectionTitle":"User Activation","sectionRoute":"/docs/server-docs/user-management#user-activation","type":"docs"},{"id":345,"pageTitle":"User Management","sectionTitle":"User Roles","sectionRoute":"/docs/server-docs/user-management#user-roles","type":"docs"},{"id":346,"pageTitle":"WebSockets","sectionTitle":"WebSockets","sectionRoute":"/docs/server-docs/websockets","type":"docs"},{"id":347,"pageTitle":"WebSockets","sectionTitle":"Activities","sectionRoute":"/docs/server-docs/websockets#activities","type":"docs"},{"id":348,"pageTitle":"WebSockets","sectionTitle":"Disabling Activities","sectionRoute":"/docs/server-docs/websockets#disabling-activities","type":"docs"},{"id":349,"pageTitle":"WebSockets","sectionTitle":"Security","sectionRoute":"/docs/server-docs/websockets#security","type":"docs"},{"id":350,"pageTitle":"Troubleshooting","sectionTitle":"Troubleshooting","sectionRoute":"/docs/troubleshooting","type":"docs"},{"id":351,"pageTitle":"Troubleshooting","sectionTitle":"All-Rounder Solutions that Fix Most Problems","sectionRoute":"/docs/troubleshooting#all-rounder-solutions-that-fix-most-problems","type":"docs"},{"id":352,"pageTitle":"Troubleshooting","sectionTitle":"Common Problems and Solutions","sectionRoute":"/docs/troubleshooting#common-problems-and-solutions","type":"docs"},{"id":353,"pageTitle":"Troubleshooting","sectionTitle":"Incorrect Game Mapping","sectionRoute":"/docs/troubleshooting#incorrect-game-mapping","type":"docs"},{"id":354,"pageTitle":"Troubleshooting","sectionTitle":"Server fails to save media / create SQLITE Database / index games / throws a Permissions Denied / No Permission / EACCES error","sectionRoute":"/docs/troubleshooting#server-fails-to-save-media--create-sqlite-database--index-games--throws-a-permissions-denied--no-permission--eacces-error","type":"docs"},{"id":355,"pageTitle":"Troubleshooting","sectionTitle":"Unable to Connect to Server / 500 Internal Server Error","sectionRoute":"/docs/troubleshooting#unable-to-connect-to-server--500-internal-server-error","type":"docs"},{"id":356,"pageTitle":"Troubleshooting","sectionTitle":"Initial Admin User is not working","sectionRoute":"/docs/troubleshooting#initial-admin-user-is-not-working","type":"docs"},{"id":357,"pageTitle":"Troubleshooting","sectionTitle":"Games Not Appearing in the Installations / Servers List","sectionRoute":"/docs/troubleshooting#games-not-appearing-in-the-installations--servers-list","type":"docs"},{"id":358,"pageTitle":"Troubleshooting","sectionTitle":"Missing Box Arts","sectionRoute":"/docs/troubleshooting#missing-box-arts","type":"docs"},{"id":359,"pageTitle":"Troubleshooting","sectionTitle":"Lack of Metadata in Games","sectionRoute":"/docs/troubleshooting#lack-of-metadata-in-games","type":"docs"},{"id":360,"pageTitle":"Troubleshooting","sectionTitle":"Lost my Admin Role","sectionRoute":"/docs/troubleshooting#lost-my-admin-role","type":"docs"},{"id":361,"pageTitle":"Troubleshooting","sectionTitle":"Forgot my Admin Password","sectionRoute":"/docs/troubleshooting#forgot-my-admin-password","type":"docs"},{"id":362,"pageTitle":"Troubleshooting","sectionTitle":"Game Downloads are slow","sectionRoute":"/docs/troubleshooting#game-downloads-are-slow","type":"docs"}],"index":{"version":"2.3.9","fields":["title","content","tags"],"fieldVectors":[["title/214",[0,2.936,1,2.032,2,3.857]],["content/214",[]],["tags/214",[]],["title/215",[3,5.449]],["content/215",[0,3.942,1,1.922,2,3.649,3,3.649,4,0.557,5,4.358,6,4.817,7,2.608,8,2.91,9,3.157,10,4.817,11,2.138,12,3.777,13,5.211,14,3.498,15,3.649,16,4.055,17,4.055,18,3.498,19,4.817,20,3.157,21,2.079,22,2.269,23,4.817,24,2.382,25,2.343,26,2.608,27,3.257,28,4.055,29,4.055,30,2.269,31,2.51,32,4.055,33,3.829,34,3.37,35,3.37,36,4.817,37,4.358,38,3.649,39,3.649,40,3.498]],["tags/215",[]],["title/216",[32,5.02,41,3.052]],["content/216",[0,3.831,1,3.103,2,5.034,4,0.542,25,2.251,31,2.412,32,5.595,41,3.402,42,3.679,43,2.147,44,2.458,45,3.506,46,2.235,47,3.238,48,2.947,49,3.13,50,4.628,51,3.506,52,2.019,53,4.356,54,2.054,55,1.824,56,2.73,57,4.628,58,1.998,59,2.506,60,3.896,61,1.68,62,1.346,63,3.361,64,4.628,65,3.181,66,0.875,67,1.231,68,3.238,69,3.896,70,4.187,71,2.61]],["tags/216",[]],["title/217",[42,5.719]],["content/217",[0,3.777,1,2.615,2,4.963,5,5.928,46,2.203,48,4.172,49,4.431,60,5.516,72,4.963,73,5.209,74,4.295,75,2.203,76,4.963,77,3.479,78,2.203,79,5.209,80,4.963,81,4.584,82,2.994,83,3.619]],["tags/217",[]],["title/218",[84,3.797,85,2.9]],["content/218",[0,3.579,1,2.478,2,4.702,7,3.361,15,4.702,41,3.178,45,4.702,68,4.343,78,2.088,86,4.702,87,6.208,88,3.953,89,6.208,90,2.388,91,5.226,92,5.616,93,4.509,94,4.702,95,4.702,96,4.509,97,4.198,98,2.925,99,3.953,100,4.702]],["tags/218",[]],["title/219",[0,2.561,1,1.773,69,3.741,101,4.443]],["content/219",[]],["tags/219",[]],["title/220",[0,2.561,1,1.773,30,2.093,102,3.741]],["content/220",[0,5.548,1,3.841,11,2.756,30,2.925,49,4.198,60,5.226,68,4.343,80,4.702,103,4.09,104,3.372,105,3.579,106,3.122,107,1.444,108,3.019,109,4.702,110,3.361]],["tags/220",[]],["title/221",[28,4.287,30,2.399,111,4.287]],["content/221",[0,2.99,1,2.07,4,0.587,11,2.302,24,2.565,28,4.366,30,2.443,48,3.303,49,3.507,52,1.575,53,3.399,54,2.302,61,1.883,69,4.366,94,3.929,98,2.443,103,2.609,104,2.987,106,2.609,107,1.206,108,2.522,109,3.929,110,2.808,112,3.628,113,3.134,114,4.123,115,2.808,116,4.123,117,5.231,118,6.516,119,5.187,120,4.366,121,2.406,122,5.187,123,3.628]],["tags/221",[]],["title/222",[124,3.366,125,3.532,126,4.443,127,2.061]],["content/222",[0,3.999,1,2.768,17,5.84,48,4.417,49,4.691,68,4.853,110,3.755,124,5.254,125,5.514,127,3.218,128,6.937,129,5.514,130,3.755,131,5.038,132,5.254,133,5.84]],["tags/222",[]],["title/47",[4,0.415,134,1.959,135,3.077]],["content/47",[15,4.582,66,1.144,96,5.806,114,4.809,135,3.655,136,3.826,137,3.113,138,4.848,139,5.473,140,3.568,141,6.049,142,4.582,143,3.275,144,4.393,145,3.275,146,4.809,147,3.749,148,3.568,149,3.965,150,3.153,151,6.049]],["tags/47",[]],["title/48",[152,5.719]],["content/48",[1,2.446,4,0.499,55,2.415,78,2.061,107,1.425,135,4.871,138,3.317,153,5.159,154,2.33,155,6.128,156,5.544,157,4.642,158,4.287,159,4.642,160,5.544,161,1.707,162,4.642,163,4.871,164,4.144,165,6.128,166,6.128,167,6.128,168,3.194,169,5.544]],["tags/48",[]],["title/49",[170,4.865]],["content/49",[4,0.61,52,2.274,61,2.717,62,1.516,135,4.523,171,5.062,172,3.583,173,5.67,174,5.67,175,4.222,176,3.975]],["tags/49",[]],["title/50",[75,2.419]],["content/50",[]],["tags/50",[]],["title/51",[55,1.396,161,0.986,177,1.781,178,1.812,179,2.321,180,2.088]],["content/51",[4,0.542,12,2.556,43,2.147,44,2.458,55,3.065,63,3.361,65,2.215,105,2.668,107,1.076,108,2.251,161,1.852,178,2.369,179,3.033,180,3.92,181,2.506,182,2.588,183,2.796,184,2.95,185,2.288,186,3.506,187,3.626,188,3.506,189,3.238,190,2.61,191,2.251,192,4.187,193,2.328,194,3.92,195,1.998,196,4.628,197,4.628,198,3.13,199,4.628,200,3.896,201,2.556]],["tags/51",[]],["title/52",[158,2.757,202,2.017,203,3.133,204,3.318,205,2.324]],["content/52",[46,2.144,55,2.513,158,4.46,161,1.776,164,4.311,187,3.373,204,5.367,205,3.76,206,4.311,207,3.051,208,3.951,209,6.376,210,6.376,211,4.179,212,6.376,213,5.768,214,6.376,215,5.367,216,6.376,217,6.376]],["tags/52",[]],["title/53",[135,2.685,137,1.73,218,2.316,219,3.108]],["content/53",[29,4.567,41,2.777,46,1.824,66,1.026,96,3.94,135,4.489,137,2.112,161,2.07,171,3.668,187,1.992,219,3.795,220,2.556,221,3.94,222,3.278,223,4.283,224,4.312,225,4.907,226,7.43,227,7.43,228,4.567,229,3.795,230,4.907,231,5.425,232,5.425,233,2.881,234,5.425,235,4.567,236,4.907,237,5.425,238,5.425]],["tags/53",[]],["title/54",[134,1.709,135,2.685,239,2.685,240,3.532]],["content/54",[4,0.601,46,1.803,107,1.247,134,2.063,135,3.24,162,4.062,178,2.745,187,3.607,193,2.697,219,5.157,222,3.24,223,3.092,224,4.263,225,4.852,240,4.263,241,3.627,242,5.363,243,2.848,244,2.608,245,2.962,246,3.752,247,5.363,248,5.363,249,4.852,250,4.263,251,5.363,252,7.372,253,5.363]],["tags/54",[]],["title/55",[105,2.936,135,3.077,254,4.048]],["content/55",[105,5.382,127,3.586,135,5.641,224,6.145,255,4.671,256,5.228,257,7.731]],["tags/55",[]],["title/56",[240,3.532,258,3.532,259,3.532,260,3.741]],["content/56",[4,0.761,106,3.888,135,4.671,224,6.145,240,6.145,260,7.86,261,2.443]],["tags/56",[]],["title/57",[262,4.865]],["content/57",[1,1.922,4,0.393,26,2.608,27,3.257,41,2.465,46,1.62,71,2.717,72,3.649,75,1.62,78,1.62,107,1.12,121,2.235,135,2.91,138,2.608,157,3.649,158,3.37,162,3.649,163,3.829,164,3.257,213,4.358,249,4.358,263,3.649,264,2.841,265,2.985,266,4.358,267,4.358,268,4.817,269,3.498,270,2.51,271,2.985,272,3.257,273,2.465,274,4.358,275,2.777,276,3.649,277,4.358,278,4.817,279,4.817,280,2.382,281,4.358,282,4.055,283,4.817,284,4.817,285,4.055,286,2.717,287,4.817]],["tags/57",[]],["title/58",[61,1.848,261,1.61,288,3.562]],["content/58",[4,0.646,25,2.905,61,2.168,66,1.129,107,1.389,136,2.858,138,3.234,154,2.271,233,3.172,261,1.888,265,3.702,288,5.546,289,3.172,290,4.338,291,4.748,292,4.524,293,3.523,294,3.443,295,3.803,296,5.028,297,5.028,298,4.338,299,5.028,300,2.858,301,2.651]],["tags/58",[]],["title/59",[78,2.005,302,4.172]],["content/59",[58,3.392,78,2.643,103,3.953,153,6.616,161,2.19,303,3.137,304,7.11,305,4.255]],["tags/59",[]],["title/60",[107,1.184,154,1.936,306,4.048]],["content/60",[52,2.348,61,2.806,221,5.615,306,6.145,307,9.337,308,7.731,309,4.671,310,6.145]],["tags/60",[]],["title/61",[107,1.184,154,1.936,311,4.607]],["content/61",[21,2.289,26,2.871,27,3.586,46,1.783,52,2.543,61,1.925,66,1.003,123,3.71,137,2.065,222,3.204,289,2.816,310,4.215,311,8.857,312,4.215,313,2.714,314,5.303,315,2.714,316,2.816,317,5.303,318,2.46,319,5.303,320,1.065,321,3.851,322,2.016,323,3.287,324,5.303,325,3.377,326,4.017,327,4.215,328,2.871]],["tags/61",[]],["title/62",[11,2.647,261,1.885]],["content/62",[4,0.542,11,4.159,59,3.597,176,3.528,261,2.686,271,4.118,293,3.919,301,2.949,303,2.652,329,4.826,330,3.919,331,5.033,332,4.648,333,3.67,334,5.282,335,5.282]],["tags/62",[]],["title/63",[71,3.364,336,5.964]],["content/63",[52,2.311,66,1.062,71,3.169,110,4.119,147,4.716,172,2.689,182,2.188,187,2.063,288,3.93,306,4.466,337,4.08,338,3.799,339,4.255,340,5.618,341,4.466,342,6.883,343,5.618,344,5.618,345,6.883,346,4.73,347,5.082,348,5.618,349,4.73,350,5.618,351,5.618,352,2.778,353,5.082]],["tags/63",[]],["title/64",[354,4.607,355,2.437,356,3.562]],["content/64",[4,0.686,40,4.759,62,1.327,66,1.239,176,3.479,184,2.909,261,2.071,354,5.928,355,4.03,357,3.865,358,4.584,359,4.584,360,5.928,361,4.584,362,3.696,363,2.951,364,4.061,365,3.24]],["tags/64",[]],["title/65",[67,1.355,366,2.936,367,4.607]],["content/65",[4,0.63,14,4.18,66,1.651,67,2.484,79,4.575,98,2.711,104,2.386,107,1.338,205,3.394,206,3.891,211,3.772,275,3.318,355,3.701,366,4.458,367,5.206,368,3.116,369,4.18,370,5.206,371,5.755,372,3.394,373,5.755,374,3.318]],["tags/65",[]],["title/66",[270,3.108,375,5.395]],["content/66",[30,2.138,43,2.106,44,2.41,62,0.919,66,1.593,77,2.41,84,2.89,106,2.283,107,1.056,138,2.457,159,3.438,171,3.069,176,3.48,191,2.208,193,2.283,205,2.677,207,2.172,261,1.435,270,3.416,301,2.015,355,4.031,375,5.929,376,4.107,377,2.283,378,4.107,379,3.176,380,4.539,381,1.611,382,2.89,383,2.323,384,4.107,385,3.069,386,1.959,387,2.366,388,6.554,389,4.107,390,4.539,391,3.176,392,4.539,393,4.296,394,2.813]],["tags/66",[]],["title/67",[205,4.243]],["content/67",[41,3.772,205,5.348,273,3.772,275,5.228,303,2.941,355,3.527,383,3.772,395,6.204,396,6.667,397,5.352]],["tags/67",[]],["title/68",[61,1.848,261,1.61,353,4.607]],["content/68",[4,0.674,25,3.101,61,2.314,66,1.205,107,1.483,136,3.051,138,3.452,154,2.424,233,3.385,261,2.015,288,4.46,289,3.385,290,4.63,291,5.068,292,4.829,293,3.76,294,3.675,295,4.06,296,5.367,297,5.367,398,6.376]],["tags/68",[]],["title/69",[104,2.112,138,2.757,175,2.872]],["content/69",[4,0.487,30,2.258,43,1.396,44,1.598,52,2.26,54,1.335,58,2.941,61,2.169,66,0.569,78,2.009,84,1.916,100,2.279,103,1.513,104,2.477,115,2.595,121,1.396,127,2.772,148,2.827,153,2.533,161,0.838,182,1.171,243,1.598,246,2.105,270,1.568,293,1.774,303,1.201,304,2.722,305,2.595,310,3.81,312,2.392,320,1.494,342,4.336,364,1.865,379,2.105,386,2.941,399,5.975,400,4.793,401,2.722,402,1.972,403,2.185,404,2.533,405,2.279,406,6.675,407,4.339,408,4.793,409,4.793,410,3.009,411,3.009,412,3.009,413,2.279,414,1.697,415,4.336,416,3.009,417,3.009,418,3.009,419,2.392,420,3.009,421,3.009,422,3.009,423,3.009,424,3.009,425,2.722]],["tags/69",[]],["title/70",[11,2.647,261,1.885]],["content/70",[4,0.542,11,4.159,59,3.597,176,3.528,261,2.686,271,4.118,293,3.919,301,2.949,303,2.652,329,4.826,330,3.919,331,5.033,332,4.648,333,3.67,334,5.282,335,5.282]],["tags/70",[]],["title/100",[315,3.052,363,2.685]],["content/100",[4,0.648,25,2.343,52,2.415,53,4.482,54,3.529,71,2.717,93,3.498,104,2.836,110,2.608,143,2.608,146,3.829,148,2.841,182,1.876,189,3.37,241,3.257,289,2.558,313,3.5,315,4.43,333,2.661,363,2.169,386,2.079,426,3.829,427,3.067,428,3.649,429,3.37,430,4.817,431,2.841,432,4.817,433,3.829,434,3.649,435,3.498,436,4.055,437,4.358,438,4.817]],["tags/100",[]],["title/101",[65,2.854,439,3.603]],["content/101",[4,0.566,7,2.662,11,2.183,65,3.848,67,1.846,72,3.724,207,2.353,241,3.325,270,2.563,275,2.835,313,2.517,320,0.987,372,2.9,439,4.192,440,2.563,441,4.917,442,4.917,443,3.909,444,3.44,445,4.139,446,3.325,447,4.917,448,4.917,449,3.909,450,4.917,451,4.917,452,4.917,453,4.3,454,4.448,455,4.917,456,3.047,457,4.448,458,4.448,459,3.131,460,2.971,461,3.44,462,3.44,463,4.139]],["tags/101",[]],["title/102",[65,2.437,439,3.077,464,4.607]],["content/102",[4,0.52,24,3.152,65,3.96,235,5.367,261,2.015,309,3.852,356,4.46,437,5.768,439,3.852,443,5.068,445,5.367,464,5.768,465,4.311,466,4.235,467,5.367,468,4.311,469,5.367,470,4.829,471,6.376,472,4.46]],["tags/102",[]],["title/103",[439,3.077,473,3.004,474,2.757]],["content/103",[4,0.663,24,3.07,61,2.254,62,1.836,78,2.088,97,4.198,261,1.962,313,3.178,315,3.178,440,3.236,473,3.662,475,6.208,476,6.208,477,4.198,478,4.509,479,4.343,480,4.198,481,4.198,482,4.509,483,5.616,484,4.935]],["tags/103",[]],["title/104",[320,0.892,439,2.685,473,2.621,485,1.867]],["content/104",[4,0.493,7,3.275,54,2.685,59,3.275,62,1.225,78,2.034,82,2.765,130,3.275,305,3.275,313,3.096,320,1.798,386,2.611,439,3.655,440,3.153,444,4.232,459,3.852,473,3.568,477,4.091,485,3.359,486,6.049,487,6.049,488,3.096,489,5.473]],["tags/104",[]],["title/105",[107,1.673]],["content/105",[4,0.583,54,3.172,67,1.901,107,1.662,161,1.991,264,4.215,313,3.658,315,3.658,440,3.725,446,4.832,490,7.147,491,7.147,492,6.465,493,5.413]],["tags/105",[]],["title/106",[107,1.184,494,4.607,495,4.607]],["content/106",[4,0.487,54,2.651,55,2.354,56,3.523,66,1.129,77,3.172,107,1.389,113,3.609,182,3.087,313,3.057,315,3.057,330,3.523,440,3.113,494,7.172,495,8.05,496,5.973,497,5.973,498,4.524,499,4.748,500,5.028,501,3.299,502,4.039,503,4.039]],["tags/106",[]],["title/107",[98,2.809,504,4.331]],["content/107",[52,1.353,62,0.902,66,0.842,98,3.933,150,2.321,161,1.241,173,3.374,181,2.411,183,2.691,194,2.627,220,2.098,222,4.598,313,2.28,320,0.894,328,2.411,374,2.568,383,2.28,440,2.321,444,3.116,446,3.012,482,4.695,504,4.695,505,4.454,506,4.454,507,4.454,508,3.235,509,4.029,510,4.454,511,2.627,512,5.139,513,4.454,514,4.454,515,3.235,516,3.54,517,2.919,518,4.454,519,3.116,520,4.029,521,4.454,522,4.454,523,4.029,524,3.749,525,4.454,526,2.691,527,3.116,528,4.454]],["tags/107",[]],["title/108",[55,2.351,529,5.395]],["content/108",[4,0.565,55,2.734,66,1.312,71,3.913,90,2.669,149,4.547,276,5.254,313,3.551,381,2.462,393,4.547,440,3.615,529,6.275,530,6.937,531,6.937,532,6.937,533,5.514]],["tags/108",[]],["title/109",[534,3.389]],["content/109",[58,2.994,84,4.417,138,3.755,244,4.648,313,3.551,440,3.615,534,4.503,535,6.275,536,6.937,537,4.547,538,3.32,539,4.417]],["tags/109",[]],["title/71",[426,4.741,540,5.02]],["content/71",[4,0.557,67,1.818,176,3.63,273,3.499,330,4.032,357,4.032,374,3.941,381,2.427,426,5.435,503,4.623,540,7.285,541,5.755,542,4.131,543,6.837,544,4.481,545,5.755]],["tags/71",[]],["title/72",[175,3.364,546,5.02]],["content/72",[4,0.52,67,1.696,82,2.914,107,2.261,116,5.068,134,3.183,138,3.452,168,3.323,175,3.596,206,4.311,289,3.385,300,3.051,374,3.675,546,6.966,547,5.768,548,3.951,549,5.367]],["tags/72",[]],["title/73",[364,4.459]],["content/73",[1,1.713,52,1.911,62,1.274,66,0.812,107,1.463,130,2.324,148,2.532,219,4.402,220,2.022,265,2.66,270,2.237,289,2.279,301,2.793,309,2.593,320,1.942,322,2.392,364,2.66,386,2.716,443,3.412,460,3.802,461,4.402,467,3.613,550,3.883,551,5.692,552,4.292,553,2.902,554,2.532,555,3.549,556,2.733,557,4.743,558,3.251,559,4.292,560,3.251,561,4.292,562,4.292,563,3.883,564,2.474,565,3.883]],["tags/73",[]],["title/74",[320,1.444]],["content/74",[52,1.493,66,0.93,67,1.308,82,2.247,83,2.716,107,1.144,123,4.854,137,1.915,140,2.9,233,2.611,243,2.611,309,2.971,320,1.753,332,3.44,364,3.047,372,2.9,374,2.835,382,3.131,383,2.517,386,2.122,474,3.756,555,2.773,566,3.047,567,4.139,568,2.473,569,4.917,570,4.917,571,2.473,572,3.325,573,3.909,574,3.909,575,4.139,576,4.139,577,4.917,578,4.917,579,2.773,580,4.917,581,4.917,582,4.139]],["tags/74",[]],["title/75",[107,1.387,320,1.197]],["content/75",[]],["tags/75",[]],["title/76",[583,6.056]],["content/76",[52,2.737,106,3.082,107,1.875,117,4.45,137,2.386,195,2.645,222,3.702,300,2.932,309,4.871,316,3.254,320,1.809,356,4.287,385,4.144,444,4.287,566,3.798,584,4.642,585,5.544,586,5.544,587,6.128]],["tags/76",[]],["title/77",[62,1.457]],["content/77",[59,2.662,62,0.629,65,2.921,66,0.588,67,1.308,77,1.65,82,2.789,88,1.979,102,2.616,107,1.419,127,1.442,150,1.619,207,1.487,244,1.511,270,1.619,280,1.536,301,1.379,315,1.59,320,1.393,322,1.87,328,1.682,337,2.257,369,2.257,381,2.684,383,1.59,387,1.619,397,2.257,443,2.47,485,3.67,503,2.101,511,2.901,523,2.811,527,2.174,553,2.101,555,3.442,557,1.979,564,1.791,566,1.926,571,1.563,584,2.354,588,2.811,589,2.101,590,2.101,591,3.107,592,1.979,593,2.354,594,2.811,595,3.107,596,4.14,597,3.107,598,2.811,599,2.101,600,1.833,601,2.811,602,3.107,603,2.174,604,2.037,605,1.877,606,4.14,607,3.325,608,3.131,609,3.107,610,3.107,611,2.811,612,3.107,613,2.811,614,2.47,615,1.926,616,1.877,617,2.354]],["tags/77",[]],["title/78",[386,3.105]],["content/78",[52,1.814,61,2.168,161,1.664,182,2.326,220,2.814,245,3.299,320,1.591,382,3.803,386,4.258,465,4.039,474,4.292,501,3.299,566,4.913,575,5.028,618,4.524,619,5.973,620,5.196,621,3.369,622,3.299]],["tags/78",[]],["title/79",[136,3.443]],["content/79",[4,0.549,62,1.365,67,2.508,82,3.919,85,3.277,150,3.512,320,1.353,328,3.648,474,5.106,501,3.722,566,4.177,623,6.097,624,6.097]],["tags/79",[]],["title/80",[67,1.586,107,1.387]],["content/80",[]],["tags/80",[]],["title/81",[65,2.437,67,1.355,150,2.654]],["content/81",[65,3.89,66,1.537,107,1.891,592,5.176,593,6.158,625,8.13]],["tags/81",[]],["title/82",[82,2.725,150,3.108]],["content/82",[11,4.228,67,2.126,82,3.652,566,4.953,626,4.327,627,6.728]],["tags/82",[]],["title/83",[107,1.673]],["content/83",[]],["tags/83",[]],["title/84",[78,2.419]],["content/84",[62,1.469,127,3.366,134,2.792,182,2.826,220,3.418,228,6.109,261,2.293,300,3.473,534,4.231,592,4.62,628,5.496,629,7.256]],["tags/84",[]],["title/85",[52,2.185]],["content/85",[52,2.47,86,4.702,107,2.109,121,2.88,134,2.388,161,1.73,195,2.68,320,1.633,329,6.587,386,2.68,403,4.509,493,4.702,501,3.429,560,4.702,620,4.069,621,3.502,626,3.361,630,6.208]],["tags/85",[]],["title/86",[67,1.914]],["content/86",[4,0.764,21,2.868,55,3.35,59,3.597,62,1.897,67,2.26,77,3.528,107,1.545,184,4.159,366,3.83,631,5.033]],["tags/86",[]],["title/87",[315,3.682]],["content/87",[4,0.61,65,3.583,201,4.135,328,4.053,429,5.237,439,5.532,473,4.415,503,6.191,632,7.486]],["tags/87",[]],["title/88",[633,4.865]],["content/88",[62,1.309,67,2.459,136,3.093,150,3.368,220,3.045,320,1.297,322,2.457,374,3.726,501,3.57,566,4.005,588,5.847,634,2.998,635,6.463,636,3.57,637,4.521,638,5.137,639,5.441,640,6.463,641,3.905]],["tags/88",[]],["title/89",[21,3.105]],["content/89",[4,0.534,21,4.386,301,2.909,379,4.584,469,5.516,555,4.75,572,5.695,573,5.209,642,5.516,643,4.295,644,4.963,645,5.209,646,6.553,647,6.553]],["tags/89",[]],["title/90",[66,1.36]],["content/90",[]],["tags/90",[]],["title/91",[161,1.238,182,1.73,187,1.631,648,2.754]],["content/91",[4,0.69,21,2.849,38,3.472,52,2.005,134,1.763,161,1.277,172,2.193,182,3.748,201,2.532,273,3.378,316,3.504,320,1.553,338,3.099,386,3.338,393,5.069,427,2.918,429,4.617,648,2.841,649,2.006,650,3.472,651,4.583,652,5.971,653,4.146,654,4.146,655,2.305,656,3.858,657,4.583,658,4.583,659,4.583,660,4.583]],["tags/91",[]],["title/92",[320,1.197,386,2.574]],["content/92",[4,0.618,43,1.451,46,1.662,52,1.862,54,1.388,62,1.001,66,0.591,73,2.486,75,1.052,91,2.633,93,2.272,103,1.573,161,0.871,164,2.115,182,1.925,203,2.486,293,2.916,315,1.601,318,1.451,320,1.809,326,2.369,358,3.458,364,1.939,374,1.803,386,3.481,393,2.05,427,1.992,453,3.064,466,2.53,501,1.728,554,1.845,574,2.486,575,2.633,621,1.764,634,1.451,650,2.369,655,1.573,661,6.862,662,6.862,663,6.862,664,3.128,665,3.128,666,3.128,667,2.188,668,3.128,669,4.472,670,2.83,671,3.128,672,2.272,673,2.83,674,2.369,675,3.458,676,4.944,677,4.472,678,2.369,679,2.83,680,2.83]],["tags/92",[]],["title/93",[177,2.561,320,1.022,620,3.338]],["content/93",[4,0.475,24,1.914,62,0.784,67,1.03,82,1.769,99,2.464,106,1.947,112,2.708,147,2.399,149,4.593,183,2.338,189,2.708,207,1.852,290,2.811,303,1.545,316,2.055,320,1.831,322,1.471,333,2.138,334,3.077,362,2.183,382,2.464,386,2.515,391,2.708,440,2.017,449,3.077,459,2.464,474,3.155,501,2.138,508,2.811,542,2.338,555,2.183,565,3.501,572,2.617,620,6.413,621,3.287,633,2.617,654,3.501,681,2.537,682,3.501,683,2.811,684,3.871,685,3.077,686,3.871,687,2.617,688,3.501,689,3.501,690,2.138,691,2.811]],["tags/93",[]],["title/94",[52,1.547,202,2.606,320,1.022]],["content/94",[4,0.468,12,0.691,34,0.875,41,1.157,43,0.58,52,2.518,58,1.336,61,0.454,62,0.889,66,0.236,74,0.819,75,0.42,77,0.664,85,0.608,107,1.244,112,1.582,117,0.908,123,0.875,130,1.675,138,0.677,143,2.054,145,0.677,147,0.775,148,0.737,149,0.819,161,1.859,168,1.178,172,0.598,175,4.033,182,2.235,201,1.249,222,3.864,229,1.582,245,0.691,276,0.947,303,0.902,309,1.87,316,0.664,318,0.58,320,1.751,321,1.642,322,1.176,327,1.797,328,2.654,333,2.954,335,0.994,338,0.845,339,1.712,352,1.118,358,2.165,364,0.775,365,1.118,372,0.737,374,1.784,381,0.802,382,1.44,383,0.64,386,1.638,387,1.613,393,0.819,403,3.56,440,0.652,456,0.775,459,4.408,460,0.755,466,1.584,488,1.942,501,0.691,503,0.845,512,0.994,538,0.598,548,0.775,554,3.154,555,1.275,557,0.796,620,1.482,622,3.95,627,1.053,633,2.092,655,1.137,661,1.131,662,1.131,663,1.131,672,0.908,677,1.131,678,0.947,685,0.994,689,1.131,692,1.25,693,1.25,694,3.016,695,0.705,696,1.582,697,1.053,698,2.247,699,2.605,700,1.131,701,1.25,702,2.46,703,1.797,704,2.045,705,3.794,706,1.131,707,1.053,708,2.045,709,1.712,710,0.994,711,1.131,712,0.994,713,1.25,714,0.908,715,1.25,716,1.053,717,1.903,718,1.25,719,1.25,720,0.563,721,0.994,722,0.908,723,0.908,724,0.775,725,0.994,726,1.25]],["tags/94",[]],["title/95",[320,1.197,554,3.517]],["content/95",[4,0.636,52,2.368,74,3.818,103,2.93,107,1.355,127,2.703,130,3.154,206,3.939,222,3.52,309,4.711,320,1.884,322,2.215,325,3.709,365,2.881,374,3.358,459,3.709,554,3.436,555,3.286,694,4.631,727,5.826,728,4.631,729,5.826,730,4.075]],["tags/95",[]],["title/96",[320,1.022,474,2.757,481,3.443]],["content/96",[4,0.467,11,1.256,12,1.562,24,1.399,25,1.376,31,2.378,52,0.859,54,1.256,61,1.027,62,0.924,66,0.535,67,0.752,85,2.219,98,1.332,117,2.054,127,2.116,130,1.531,131,2.054,136,2.183,137,1.101,161,0.788,168,1.474,182,1.101,183,1.709,187,1.038,233,1.502,241,1.913,270,1.474,273,1.448,293,1.668,309,2.756,316,1.502,320,1.448,341,2.248,365,2.256,374,2.63,382,1.801,383,2.335,428,2.142,440,1.474,474,4.176,477,1.913,480,1.913,481,3.877,482,4.164,501,1.562,504,2.054,511,1.668,527,3.191,539,1.801,554,3.382,574,4.558,618,2.142,673,2.559,691,2.054,695,1.595,716,2.381,723,2.054,725,2.248,731,4.562,732,2.829,733,2.142,734,2.381,735,2.829,736,1.376,737,2.248,738,2.573,739,2.381,740,2.381,741,2.559,742,2.559,743,2.381,744,1.854,745,2.381,746,2.829,747,2.829,748,5.733,749,2.559,750,2.559,751,2.559,752,2.381,753,2.054]],["tags/96",[]],["title/97",[241,4.032,320,1.197]],["content/97",[4,0.308,25,1.837,46,1.27,62,1.398,65,3.961,67,1.005,75,1.27,82,1.726,107,1.331,127,1.753,150,1.969,206,2.554,220,1.78,233,2.006,241,2.554,244,1.837,273,1.934,289,2.006,313,3.535,320,1.661,322,1.436,333,2.087,381,1.341,387,1.969,459,2.405,460,4.172,461,4.831,479,4.002,485,3.477,557,2.405,584,2.861,589,2.554,590,2.554,592,2.405,614,3.003,615,2.341,636,2.087,697,3.18,704,3.418,754,3.778,755,3.418,756,4.334,757,2.861,758,2.476,759,3.18,760,3.418,761,3.418,762,2.861,763,3.778,764,3.418]],["tags/97",[]],["title/98",[67,1.586,241,4.032]],["content/98",[4,0.377,62,0.937,65,4.067,67,2.261,82,2.115,107,1.076,121,2.147,127,3.083,150,3.464,206,3.13,313,3.402,315,3.402,322,2.527,387,2.412,440,2.412,479,4.649,557,4.232,590,3.13,592,2.947,614,5.283,615,2.868,634,3.083,636,2.556,638,5.283,639,3.896,643,3.033,690,2.556,759,5.595,760,4.187,761,4.187,762,3.506,765,4.187,766,3.361]],["tags/98",[]],["title/99",[104,2.112,116,4.048,767,5.092]],["content/99",[4,0.627,24,2.245,31,2.366,44,2.41,66,0.858,78,1.526,104,3.19,105,3.778,116,5.21,172,2.172,200,3.821,221,3.297,255,2.743,322,1.726,328,2.457,330,2.677,402,2.975,458,4.107,466,2.323,481,3.069,482,3.297,502,3.069,555,2.56,615,2.813,690,2.507,703,3.608,707,3.821,720,2.044,736,2.208,741,4.107,751,4.107,768,4.539,769,3.297,770,2.89,771,3.821,772,4.539,773,3.821,774,5.517,775,4.107,776,4.107,777,4.539,778,2.677,779,4.539,780,3.608,781,4.539]],["tags/99",[]],["title/110",[4,0.362,107,1.033,154,1.689,261,1.404]],["content/110",[4,0.62,46,2.558,52,2.31,66,1.438,75,2.558,121,3.529,303,3.036,320,1.527,386,3.283,583,6.403]],["tags/110",[]],["title/111",[52,2.185]],["content/111",[]],["tags/111",[]],["title/112",[52,1.547,300,2.437,368,2.757]],["content/112",[4,0.601,24,2.652,39,4.062,41,2.745,52,2.755,53,4.831,54,3.272,61,1.947,67,1.427,78,1.803,81,3.752,118,4.852,134,2.063,144,3.895,145,2.903,172,2.567,223,3.092,402,3.515,466,2.745,480,3.627,757,4.062,770,3.415,778,3.163,782,5.363,783,3.752,784,5.363,785,5.363,786,5.363,787,4.515,788,4.263]],["tags/112",[]],["title/113",[52,1.547,300,2.437,431,3.004]],["content/113",[1,0.929,4,0.476,11,1.033,13,1.525,25,1.132,46,1.307,52,1.775,53,2.548,54,1.725,58,1.005,59,1.26,61,2.122,66,0.735,78,1.307,82,1.776,104,1.612,136,1.114,158,1.628,161,1.394,172,1.114,177,1.171,187,0.854,202,1.191,218,1.213,220,1.096,239,1.406,246,1.628,261,0.736,265,2.409,271,1.442,286,1.313,288,2.719,289,1.236,291,1.85,293,2.952,294,2.885,296,1.959,297,1.959,298,1.69,299,1.959,300,2.798,301,1.033,306,1.85,325,1.482,328,1.26,333,1.286,338,1.574,359,3.501,363,1.048,383,1.191,386,1.005,387,1.213,394,2.409,402,2.548,435,1.69,453,1.442,460,1.406,538,1.86,564,1.342,616,1.406,620,2.548,670,2.105,706,2.105,707,1.959,724,2.409,762,1.763,783,1.628,789,1.959,790,1.525,791,1.69,792,4.528,793,3.979,794,3.887,795,2.105,796,2.327,797,2.327,798,1.69,799,2.327,800,1.959,801,3.516,802,2.327,803,2.104,804,1.959,805,1.959,806,2.105,807,1.69,808,2.327,809,2.327,810,1.763,811,2.327,812,1.628,813,2.327,814,2.327,815,1.69,816,3.887,817,3.887,818,2.327,819,1.959,820,2.327,821,2.327,822,2.327,823,4.528,824,2.327,825,2.327,826,2.327,827,2.327]],["tags/113",[]],["title/114",[134,2.294,778,3.517]],["content/114",[4,0.62,52,2.31,61,2.761,130,4.118,134,2.926,154,2.892,303,3.036,309,4.596,778,4.486,828,7.607]],["tags/114",[]],["title/115",[75,1.325,177,1.982,182,1.535,328,2.134,429,2.757]],["content/115",[4,0.506,46,1.418,52,1.28,54,2.756,66,0.797,75,1.418,97,2.851,130,2.282,182,3.532,201,2.328,315,2.158,320,1.48,322,2.361,328,4.403,352,2.084,364,2.613,365,2.084,368,2.282,386,1.82,391,2.949,393,2.763,405,3.193,429,5.157,440,3.842,449,3.351,472,2.949,555,2.378,579,2.378,583,3.549,724,3.849,778,2.486,812,2.949,829,4.216,830,3.814,831,2.547,832,3.193,833,3.062,834,2.851,835,2.486,836,3.549,837,4.216,838,2.851]],["tags/115",[]],["title/116",[62,0.651,75,1.081,184,1.427,202,1.645,592,2.047,631,2.435,839,3.214]],["content/116",[1,1.208,4,0.648,7,1.639,20,1.984,22,1.426,25,1.473,26,1.639,27,2.047,43,1.405,44,1.608,46,2.018,62,1.889,66,1.134,77,1.608,78,1.018,97,3.258,107,0.704,121,1.405,147,1.876,154,1.151,171,4.057,175,1.708,177,1.523,184,1.344,202,1.55,211,1.984,220,1.426,300,2.871,301,1.344,303,1.208,322,1.832,323,1.876,330,1.786,381,2.428,407,2.199,592,4.754,615,1.876,626,1.639,631,4.545,634,1.405,675,2.118,720,1.363,730,2.118,736,1.473,738,1.708,803,1.639,812,3.37,815,4.358,831,1.829,834,3.258,835,3.539,840,4.358,841,6.754,842,2.739,843,3.028,844,3.028,845,2.549,846,3.028]],["tags/116",[]],["title/117",[55,1.751,75,1.494,218,2.316,366,2.561]],["content/117",[4,0.67,12,2.054,31,1.938,46,2.569,55,2.696,56,4.847,62,1.752,66,0.703,75,2.3,112,2.601,137,1.448,143,2.013,177,1.87,181,2.013,184,3.392,202,1.903,211,2.437,245,2.054,270,1.938,300,3.656,303,1.484,322,2.149,328,4.136,366,3.259,381,2.007,500,5.757,515,2.7,548,2.304,555,2.097,626,2.013,631,2.816,633,2.514,720,1.674,724,2.304,812,2.601,834,2.514,840,2.7,845,4.759,847,3.364,848,3.718]],["tags/117",[]],["title/118",[262,4.865]],["content/118",[4,0.606,20,3.555,22,2.556,35,3.795,52,1.648,66,1.026,77,2.881,90,2.087,104,2.249,114,4.312,134,2.087,176,2.881,270,2.827,292,4.109,303,2.165,330,3.2,352,2.682,368,2.937,382,3.454,539,3.454,655,2.728,685,4.312,694,4.312,778,3.2,831,3.278,832,5.627,833,3.94,849,4.312,850,3.668,851,3.795,852,4.567,853,4.567,854,4.907]],["tags/118",[]],["title/131",[534,3.389]],["content/131",[1,2.579,4,0.754,9,4.236,78,2.173,140,3.812,244,3.143,255,5.044,261,2.043,300,3.093,357,3.812,387,3.368,534,4.356,695,3.645,723,4.694,855,4.895,856,5.441]],["tags/131",[]],["title/132",[145,3.228,534,2.809]],["content/132",[4,0.746,30,2.585,47,3.839,67,1.46,78,1.845,195,3.953,245,3.031,431,3.237,534,4.016,857,7.711,858,5.488,859,7.488,860,7.488,861,5.488,862,6.774,863,4.964,864,4.62,865,5.488,866,5.488,867,5.488,868,4.62]],["tags/132",[]],["title/133",[534,2.809,869,4.331]],["content/133",[4,0.732,98,3.418,176,3.853,301,3.221,534,4.596,538,3.473,553,4.907,724,4.497,869,5.27,870,5.768]],["tags/133",[]],["title/134",[244,2.9,534,2.809]],["content/134",[4,0.754,85,3.699,244,3.699,301,3.376,488,3.893,534,4.355,538,3.64,871,6.403]],["tags/134",[]],["title/164",[11,2.647,261,1.885]],["content/164",[11,3.609,52,2.469,104,3.371,323,5.038,466,4.161,803,4.401]],["tags/164",[]],["title/165",[53,3.909,54,2.647]],["content/165",[11,3.549,18,5.003,21,2.101,22,2.292,25,2.367,30,3.245,52,2.092,53,4.515,54,3.058,66,0.92,78,1.636,85,2.367,104,3.605,105,3.971,106,2.448,130,2.635,168,2.536,261,1.538,301,2.16,303,1.942,309,2.94,330,2.87,333,2.688,365,3.406,456,3.016,771,4.097,791,3.534,795,4.402,872,3.19,873,4.866,874,4.866,875,4.866,876,4.402]],["tags/165",[]],["title/166",[803,3.895]],["content/166",[11,2.524,13,3.727,42,4.52,44,3.019,48,3.62,52,1.727,72,4.307,85,2.765,104,2.358,136,2.721,271,3.524,286,4.326,379,5.366,386,2.454,387,2.963,465,3.845,511,3.354,620,3.727,800,4.786,801,5.144,803,3.078,815,4.129,823,5.144,877,5.686,878,7.671,879,5.144,880,3.845,881,5.144]],["tags/166",[]],["title/119",[261,1.885,355,2.854]],["content/119",[1,1.611,4,0.754,66,1.137,78,2.416,85,1.963,110,3.255,115,2.185,121,1.872,138,3.255,168,2.103,176,2.143,223,2.326,261,2.517,265,2.501,270,2.103,301,1.791,330,2.38,355,2.877,357,3.546,359,2.823,361,4.206,362,3.391,372,2.38,381,2.134,542,3.633,544,3.941,567,3.397,709,3.057,871,3.397,882,3.941,883,2.823,884,2.931,885,2.729,886,3.208,887,4.554,888,3.321,889,6.012,890,3.397,891,4.779]],["tags/119",[]],["title/120",[301,2.647,355,2.854]],["content/120",[]],["tags/120",[]],["title/121",[892,6.508]],["content/121",[4,0.527,78,2.173,90,2.486,223,4.812,261,2.043,305,3.499,362,3.645,381,2.294,385,4.37,542,3.905,544,4.236,556,4.115,599,4.37,757,4.895,883,4.521,884,6.063,892,5.847,893,6.463,894,6.463]],["tags/121",[]],["title/122",[885,4.865]],["content/122",[4,0.52,7,3.452,78,2.144,136,3.051,168,3.323,203,5.068,244,3.101,261,2.015,272,4.311,384,5.768,385,4.311,599,4.311,885,6.212,895,6.376,896,5.068,897,6.376,898,6.376,899,5.768,900,5.768,901,5.367]],["tags/122",[]],["title/123",[886,5.719]],["content/123",[4,0.527,24,3.196,51,4.895,78,2.173,136,3.093,168,3.368,178,3.308,261,2.043,271,4.005,466,3.308,542,3.905,690,3.57,733,4.895,883,4.521,886,6.636,902,6.463,903,5.441,904,5.137,905,5.441,906,4.895]],["tags/123",[]],["title/124",[356,5.033]],["content/124",[4,0.62,46,2.558,66,1.438,78,2.558,82,3.476,261,2.404,273,3.893,355,3.64,381,2.7,553,5.143]],["tags/124",[]],["title/125",[187,1.631,301,1.972,385,3.005,599,3.005]],["content/125",[4,0.367,20,1.821,30,2.118,35,3.146,41,1.422,52,1.977,61,2.363,78,2.573,90,1.73,98,1.309,103,3.596,117,4.114,187,1.02,195,1.199,223,2.592,261,1.421,270,4.516,280,1.374,320,1.739,326,2.105,355,1.33,356,1.944,365,1.374,385,5.174,386,1.199,415,5.889,515,2.018,542,1.679,572,3.041,599,3.83,683,4.114,695,3.195,774,5.48,775,5.889,882,1.821,884,3.266,907,2.779,908,2.779,909,2.339,910,2.339,911,2.514,912,2.779,913,6.51,914,6.51,915,4.769,916,4.769,917,2.779]],["tags/125",[]],["title/126",[599,3.443,885,3.443,918,4.048]],["content/126",[7,1.671,30,1.454,46,1.038,52,1.846,55,1.217,59,2.649,62,1.23,67,0.821,74,3.207,78,1.038,85,3.363,104,2.029,106,3.056,111,2.599,115,1.671,134,1.882,184,2.172,198,3.308,261,1.546,270,1.609,275,1.78,280,1.526,290,2.242,300,1.477,301,2.172,305,1.671,316,1.639,318,1.432,320,0.982,381,2.454,385,5.422,386,2.112,391,2.16,444,2.16,446,2.087,592,1.966,599,3.308,695,1.741,733,2.338,791,2.242,872,2.023,883,2.16,885,3.308,915,4.119,916,6.345,918,5.496,919,5.237,920,2.242,921,2.793,922,3.308,923,6.914,924,3.087,925,3.087,926,3.087,927,3.087,928,2.793,929,3.087]],["tags/126",[]],["title/127",[223,2.936,649,2.229,884,3.698]],["content/127",[4,0.592,20,2.211,35,5.078,52,1.593,66,0.638,103,4.37,115,1.826,117,3.809,187,3.527,194,1.99,218,4.339,220,1.589,223,1.945,261,1.066,270,1.758,309,2.038,310,7.498,320,1.579,355,1.614,453,4.873,469,2.84,479,2.36,566,2.091,572,3.547,649,1.476,674,2.555,683,3.809,690,1.863,736,1.641,774,2.84,780,2.682,884,2.45,916,2.84,930,3.373,931,7.863,932,3.373]],["tags/127",[]],["title/128",[649,2.61,885,4.032]],["content/128",[4,0.583,66,1.351,115,3.869,261,2.259,355,3.42,419,5.681,649,3.128,885,4.832,933,7.147,934,7.147,935,7.147,936,7.147,937,7.147,938,7.147]],["tags/128",[]],["title/129",[649,2.61,918,4.741]],["content/129",[4,0.565,20,4.547,78,2.333,168,3.615,261,2.193,649,3.036,885,4.691,918,5.514,939,6.937,940,6.937,941,6.937,942,6.937,943,6.937,944,6.937,945,6.937,946,6.937]],["tags/129",[]],["title/130",[394,3.156,649,2.229,947,4.287]],["content/130",[4,0.214,14,3.118,21,2.351,51,1.988,66,1.487,104,1.088,111,3.614,147,2.66,168,1.368,172,1.256,187,3.862,193,2.74,194,2.532,261,0.83,352,1.298,428,1.988,649,1.149,710,2.086,883,1.836,886,2.086,888,1.45,947,2.209,948,2.209,949,2.624,950,2.624,951,2.624,952,2.624,953,2.624,954,5.447,955,2.624,956,2.624,957,2.624,958,2.624,959,2.624,960,5.447,961,2.624,962,4.293,963,2.624,964,2.624,965,2.374,966,2.209,967,3.683,968,6.293,969,2.374,970,2.624,971,2.624,972,4.293,973,2.624,974,4.293,975,5.447,976,2.624,977,2.624,978,4.293,979,3.884,980,4.293,981,2.624,982,2.624,983,2.624,984,2.624,985,2.624,986,2.624,987,2.624,988,2.374,989,2.624,990,2.624,991,4.293,992,2.624,993,2.624]],["tags/130",[]],["title/135",[175,3.364,261,1.885]],["content/135",[4,0.754,74,4.985,78,2.558,107,1.769,154,2.892,183,4.596,261,2.404,994,4.385,995,5.762]],["tags/135",[]],["title/136",[56,3.004,113,3.077,332,3.562]],["content/136",[4,0.574,24,2.483,54,3.126,55,3.206,66,1.331,78,2.735,95,3.804,103,2.525,107,1.168,158,3.513,183,3.034,220,2.366,261,1.587,264,2.962,273,2.57,322,2.677,325,3.197,365,2.483,374,2.895,446,3.395,462,3.513,555,3.972,631,3.804,655,2.525,688,4.543,805,4.227,845,7.422,876,4.543,994,2.895,996,3.395]],["tags/136",[]],["title/137",[446,4.032,994,3.438]],["content/137",[4,0.625,51,4.307,66,1.075,82,2.598,93,5.571,107,1.322,147,3.524,149,3.727,261,1.797,275,3.278,333,3.141,363,2.56,488,2.91,489,6.939,500,4.786,555,4.326,572,3.845,994,5.593,996,3.845,997,4.307,998,5.686,999,4.786,1000,3.435]],["tags/137",[]],["title/138",[356,4.172,473,3.517]],["content/138",[1,2.07,4,0.587,24,2.565,54,2.302,55,2.044,66,0.981,78,1.744,130,2.808,175,4.063,178,2.655,183,3.134,273,2.655,301,2.302,356,3.628,382,3.303,456,3.214,466,2.655,473,5.274,478,3.767,493,3.929,672,3.767,737,4.123,738,2.925,778,3.059,994,5.416,996,3.507,1001,3.303,1002,4.692,1003,5.187,1004,5.187]],["tags/138",[]],["title/139",[152,5.719]],["content/139",[1,2.116,3,4.017,4,0.682,9,3.476,22,2.498,24,2.622,26,2.871,47,3.71,58,2.289,90,2.04,181,2.871,263,4.017,300,2.538,526,3.204,685,4.215,856,4.464,869,3.851,880,3.586,888,2.929,1000,4.419,1005,5.303,1006,4.797,1007,4.797,1008,4.797,1009,5.303,1010,5.303,1011,3.586,1012,4.464,1013,4.464,1014,4.215,1015,4.797,1016,5.303,1017,4.797,1018,4.797]],["tags/139",[]],["title/140",[22,2.809,98,2.809]],["content/140",[4,0.542,22,3.13,46,2.234,187,3.44,244,3.231,261,2.1,355,3.18,357,3.919,362,3.748,534,3.13,542,4.015,593,5.033,638,5.282,655,3.342,765,6.011,890,5.594,1019,6.645]],["tags/140",[]],["title/141",[1013,6.056]],["content/141",[4,0.641,187,3.462,1000,4.749,1013,6.616,1014,6.248,1020,7.86,1021,7.86]],["tags/141",[]],["title/142",[103,3.618]],["content/142",[4,0.693,22,3.13,56,3.919,78,2.234,90,2.556,107,1.545,113,4.015,140,3.919,154,3.231,187,2.439,261,2.1,805,7.154,851,4.648,869,4.826,871,5.594,1022,6.645]],["tags/142",[]],["title/143",[285,5.02,853,5.02]],["content/143",[]],["tags/143",[]],["title/144",[113,4.347]],["content/144",[4,0.565,85,3.374,113,4.191,148,4.092,245,3.832,538,3.32,628,5.254,675,4.853,888,4.824,1023,6.275,1024,6.275,1025,5.038,1026,5.254,1027,6.937,1028,6.937]],["tags/144",[]],["title/145",[4,0.321,90,1.516,112,2.757,303,1.573,1029,3.565]],["content/145",[4,0.574,14,5.113,48,5.612,49,4.76,66,1.331,90,2.709,112,4.925,115,3.811,140,4.152,556,4.483,888,3.889,1000,4.254,1030,5.927,1031,7.04]],["tags/145",[]],["title/146",[363,2.293,1032,4.287,1033,4.048]],["content/146",[4,0.549,43,3.126,66,1.274,82,3.08,127,3.126,168,3.512,172,3.225,244,3.277,576,5.673,901,5.673,1000,4.072,1032,7.218,1034,7.757,1035,5.357,1036,5.105,1037,6.739]],["tags/146",[]],["title/147",[4,0.321,68,2.757,294,2.272,1000,2.381,1033,3.133]],["content/147",[4,0.531,25,2.187,43,2.086,66,1.447,84,2.863,121,2.086,282,3.785,294,3.752,305,2.434,357,2.652,368,2.434,435,3.265,445,3.785,477,3.04,544,2.947,627,5.479,667,3.145,724,2.787,901,3.785,911,5.888,995,3.406,1000,3.933,1033,6.082,1038,4.496,1039,5.888,1040,7.651,1041,4.496,1042,3.785,1043,4.496,1044,4.496,1045,4.496,1046,4.496,1047,6.509,1048,3.785,1049,5.888,1050,4.496,1051,4.067,1052,4.496,1053,4.496]],["tags/147",[]],["title/148",[4,0.321,22,1.857,325,2.509,526,2.381,538,1.886]],["content/148",[4,0.693,9,4.355,11,2.949,21,2.868,26,3.597,37,6.011,229,4.648,263,5.033,880,4.493,1012,5.594,1054,5.033,1055,5.594,1056,6.645,1057,6.645,1058,5.282,1059,6.645,1060,6.645,1061,6.645]],["tags/148",[]],["title/149",[4,0.362,67,1.182,83,2.454,616,2.685]],["content/149",[4,0.776,22,2.85,25,2.942,26,3.275,27,4.091,47,4.232,62,1.619,66,1.144,83,3.341,134,2.327,140,3.568,341,4.809,357,3.568,519,4.232,600,3.568,633,4.091,724,3.749,738,3.412,851,4.232,1000,3.655,1062,6.049,1063,5.473]],["tags/149",[]],["title/150",[4,0.362,1000,2.685,1064,3.741,1065,3.532]],["content/150",[31,4.096,270,4.096,1000,4.749,1065,6.248,1066,7.86,1067,6.248,1068,5.151,1069,7.11]],["tags/150",[]],["title/151",[4,0.415,66,0.963,473,3.004]],["content/151",[1,2.988,4,0.61,18,3.986,41,2.809,59,2.971,107,1.276,130,4.054,132,4.157,154,2.086,175,3.095,246,3.839,303,2.19,382,3.494,386,2.369,473,4.417,691,3.986,737,5.953,738,4.224,778,3.237,994,3.164,1000,4.524,1070,5.488,1071,5.488,1072,4.62,1073,5.488,1074,5.488,1075,3.711]],["tags/151",[]],["title/152",[4,0.321,67,1.048,181,2.134,1076,3.565,1077,3.133]],["content/152",[26,2.481,43,2.126,44,2.434,45,3.472,46,2.219,54,2.034,58,1.978,62,0.928,66,0.867,67,1.755,77,2.434,82,3.016,88,2.918,106,2.305,113,2.769,148,2.703,208,2.841,264,4.562,315,2.346,339,3.472,349,3.858,383,2.346,493,3.472,538,2.193,614,3.643,810,3.472,872,3.004,1032,5.556,1033,3.643,1034,4.146,1076,6.997,1077,3.643,1078,4.583,1079,3.643,1080,4.583,1081,4.146,1082,4.146,1083,4.146,1084,4.583,1085,4.146,1086,3.858,1087,4.583,1088,4.583]],["tags/152",[]],["title/153",[4,0.289,90,1.362,95,2.682,362,1.997,538,1.694,1026,2.682]],["content/153",[9,4.684,20,4.684,31,3.725,159,5.413,320,1.786,362,4.031,381,2.537,538,3.42,790,4.684,872,4.684,1089,7.147,1090,6.465,1091,7.147]],["tags/153",[]],["title/154",[4,0.289,21,1.528,22,1.668,67,0.942,132,2.682,1092,3.541]],["content/154",[4,0.527,33,6.636,48,4.115,49,4.37,67,1.719,83,3.57,95,4.895,132,4.895,136,3.093,168,3.368,280,3.196,286,3.645,711,7.552,1093,6.463,1094,5.441,1095,4.694,1096,5.847,1097,6.463,1098,6.463]],["tags/154",[]],["title/155",[30,2.093,78,1.494,90,1.709,261,1.404]],["content/155",[4,0.705,22,3.221,30,3.221,39,5.178,52,2.076,53,4.481,54,3.035,66,1.293,78,2.299,261,2.161,300,3.272,301,3.035,431,4.032,674,5.178,1099,6.837,1100,6.185]],["tags/155",[]],["title/156",[4,0.362,301,1.972,994,2.561,1101,3.366]],["content/156",[25,3.101,66,1.205,67,1.696,112,4.46,133,5.367,140,3.76,180,3.76,244,3.101,556,4.06,758,4.179,872,4.179,994,4.77,1000,3.852,1101,4.829,1102,6.966,1103,5.768,1104,5.768,1105,5.768,1106,5.768,1107,5.367]],["tags/156",[]],["title/157",[4,0.415,1014,4.048,1108,5.092]],["content/157",[4,0.469,25,3.761,30,2.711,40,4.18,66,1.088,83,3.179,108,2.799,110,3.116,140,3.394,145,3.116,267,5.206,286,3.246,305,3.116,394,3.567,519,4.026,669,5.206,803,3.116,833,4.18,1014,4.575,1109,5.755,1110,5.206,1111,5.755,1112,5.755,1113,5.755,1114,5.755,1115,5.206,1116,5.755,1117,5.206,1118,5.206]],["tags/157",[]],["title/158",[534,3.389]],["content/158",[1,2.941,4,0.601,9,4.83,140,4.347,244,3.584,255,4.452,534,4.272,695,4.157,723,5.352,855,5.582,856,6.204]],["tags/158",[]],["title/159",[534,2.809,869,4.331]],["content/159",[4,0.469,46,1.935,107,1.338,113,5.642,195,2.484,320,1.155,534,4.399,857,7.901,862,6.996,869,4.18,1119,5.206,1120,6.996,1121,6.996,1122,7.733,1123,5.755,1124,5.755,1125,5.755,1126,5.755]],["tags/159",[]],["title/160",[244,2.9,534,2.809]],["content/160",[4,0.542,7,3.597,14,4.826,47,4.648,58,2.868,67,1.767,83,3.67,93,4.826,136,3.18,244,4.133,246,4.648,255,4.015,357,3.919,534,4.003,1127,6.011,1128,6.645,1129,4.015]],["tags/160",[]],["title/161",[52,1.35,244,2.161,255,2.685,534,2.093]],["content/161",[4,0.63,46,1.935,52,2.349,75,1.935,78,1.935,100,4.359,107,1.338,161,1.603,182,3.011,187,2.113,220,2.711,244,2.799,313,2.946,323,3.567,328,3.116,440,2.999,526,3.477,534,4.726,535,5.206,1130,5.206,1131,5.755,1132,5.206]],["tags/161",[]],["title/162",[137,1.983,244,2.477,534,2.399]],["content/162",[21,2.289,66,1.003,77,2.816,136,2.538,137,2.848,147,3.287,150,2.764,161,2.038,182,2.848,244,2.579,245,2.929,337,3.851,379,3.71,394,3.287,427,4.657,435,3.851,534,4.252,589,3.586,757,4.017,1001,3.377,1129,3.204,1130,4.797,1133,6.656,1134,5.303,1135,5.303,1136,6.617,1137,5.303]],["tags/162",[]],["title/163",[83,2.813,244,2.477,534,2.399]],["content/163",[83,4.202,136,4.424,137,2.962,244,3.699,275,4.385,534,4.355,1129,4.596,1138,6.047]],["tags/163",[]],["title/167",[152,5.719]],["content/167",[]],["tags/167",[]],["title/168",[4,0.586]],["content/168",[4,0.502,52,1.509,54,1.398,58,1.359,62,1.638,66,0.595,67,0.838,77,2.639,78,1.059,121,1.461,140,2.931,143,1.705,144,2.287,145,1.705,147,3.08,161,1.385,171,3.36,182,1.226,184,1.398,185,1.557,261,1.571,290,2.287,301,1.398,305,1.705,320,1.7,322,1.197,352,1.557,357,1.857,381,1.118,386,1.359,406,2.651,431,1.857,456,1.951,474,1.705,477,2.129,481,2.129,482,2.287,485,1.323,537,2.064,538,1.507,542,1.902,554,1.857,608,2.005,675,2.203,736,1.531,738,1.776,790,4.035,800,2.651,803,1.705,815,3.609,838,2.129,841,2.849,851,3.477,921,4.496,1011,2.129,1025,3.609,1035,2.503,1042,2.651,1139,3.149,1140,2.503,1141,4.496,1142,3.149,1143,3.149,1144,2.129,1145,2.849,1146,2.849,1147,2.849,1148,3.149,1149,2.651,1150,2.651,1151,2.849]],["tags/168",[]],["title/169",[4,0.486,851,4.172]],["content/169",[4,0.329,26,3.255,62,0.817,83,2.229,96,2.931,110,2.185,145,2.185,187,3.566,315,2.066,320,1.856,364,2.501,481,2.729,621,2.276,720,1.817,815,2.931,838,2.729,851,2.823,863,3.651,882,2.645,888,2.229,1025,2.931,1140,3.208,1141,3.651,1146,3.651,1152,4.036,1153,4.036,1154,4.036,1155,4.036,1156,7.186,1157,4.036,1158,4.036,1159,4.036,1160,4.036,1161,4.036,1162,4.036,1163,4.036,1164,4.036,1165,3.651,1166,4.036,1167,4.036,1168,4.036,1169,4.036,1170,4.036,1171,3.397,1172,3.651,1173,3.651,1174,3.651,1175,3.651]],["tags/169",[]],["title/170",[4,0.586]],["content/170",[4,0.432,61,1.925,62,1.481,78,3.035,98,2.498,187,1.947,320,1.812,363,2.388,364,4.533,372,4.939,395,4.464,444,5.117,649,2.321,655,2.667,835,3.128,890,4.464,904,4.215,1115,4.797,1145,4.797,1176,5.303,1177,5.303,1178,5.303,1179,4.215,1180,5.303,1181,5.303,1182,4.797]],["tags/170",[]],["title/171",[22,3.389]],["content/171",[4,0.663,99,5.176,326,6.158,330,4.795,338,5.497,650,6.158]],["tags/171",[]],["title/172",[22,2.809,261,1.885]],["content/172",[52,1.493,62,1.628,67,1.846,150,2.563,187,3.683,264,2.9,309,2.971,320,1.972,363,2.214,365,2.431,386,2.122,425,4.448,473,2.9,474,3.756,477,3.325,481,3.325,482,3.571,485,2.066,550,4.448,554,2.9,620,3.223,634,2.281,644,3.724,838,3.325,1183,4.917,1184,4.917,1185,4.917]],["tags/172",[]],["title/173",[22,2.809,62,1.207]],["content/173",[1,1.597,22,1.885,26,2.166,55,1.577,66,0.757,67,1.589,90,2.75,134,1.539,161,1.115,172,1.915,176,2.125,187,3.676,205,2.36,219,2.799,245,2.21,320,1.435,337,2.906,355,2.859,358,2.799,365,2.954,460,2.418,461,2.799,474,2.166,481,2.706,485,1.681,538,1.915,544,2.623,564,2.307,571,2.013,574,3.181,604,2.623,605,3.61,606,3.369,607,2.706,618,3.031,623,3.62,636,2.21,641,2.418,1011,2.706,1186,1.885,1187,3.369,1188,2.706,1189,4.002,1190,4.002,1191,4.002,1192,3.62,1193,2.21,1194,3.62]],["tags/173",[]],["title/174",[90,2.768]],["content/174",[4,0.332,9,2.668,15,3.083,18,2.956,24,2.013,48,3.853,51,3.083,56,2.401,77,2.161,90,3.076,98,1.918,110,2.204,121,1.888,145,2.204,168,2.121,171,2.752,286,2.296,302,2.847,312,3.236,320,0.817,352,2.013,365,2.013,381,1.445,387,2.121,431,2.401,636,3.342,733,3.083,738,2.296,770,2.592,776,3.682,790,3.966,791,2.956,815,2.956,872,2.668,888,2.248,905,3.427,920,2.956,1025,2.956,1173,3.682,1195,3.682,1196,3.427,1197,3.427,1198,7.222,1199,4.07,1200,4.07,1201,6.051,1202,6.051,1203,4.07,1204,4.07,1205,4.07,1206,4.07,1207,4.07,1208,4.07,1209,4.07]],["tags/174",[]],["title/175",[994,4.147]],["content/175",[313,3.832,352,3.702,722,5.437,994,5.278,1210,6.302,1211,6.772,1212,6.772,1213,6.772,1214,6.772,1215,6.302]],["tags/175",[]],["title/176",[1216,4.331,1217,5.395]],["content/176",[4,0.634,54,2.054,66,1.47,67,1.768,83,2.556,90,1.781,145,3.598,157,3.506,159,3.506,161,1.289,164,3.13,229,3.238,271,4.119,303,1.847,320,1.706,363,2.084,435,3.361,791,4.827,920,3.361,1082,4.187,1094,3.896,1140,5.283,1216,5.648,1217,4.187,1218,3.896,1219,4.628,1220,4.187,1221,4.187,1222,4.628,1223,4.628,1224,4.628,1225,4.628,1226,4.628,1227,4.628,1228,4.628,1229,4.628]],["tags/176",[]],["title/188",[994,3.438,1230,4.172]],["content/188",[]],["tags/188",[]],["title/189",[994,4.147]],["content/189",[4,0.587,66,1.362,83,2.865,145,2.808,146,4.123,220,2.443,282,4.366,295,3.303,313,3.687,352,3.562,428,3.929,478,3.767,690,2.865,702,4.123,722,3.767,803,2.808,891,4.123,920,5.231,994,4.771,1101,3.929,1151,4.692,1171,4.366,1193,2.865,1210,4.366,1211,4.692,1212,4.692,1213,4.692,1214,4.692,1215,4.366,1231,4.123,1232,3.929,1233,4.692]],["tags/189",[]],["title/190",[4,0.415,220,2.399,803,2.757]],["content/190",[1,2.026,4,0.414,20,3.326,45,3.844,58,2.191,82,2.319,90,1.953,156,4.591,157,3.844,181,2.748,220,3.342,301,2.253,313,2.598,358,3.55,381,1.802,393,3.326,394,3.145,488,2.598,538,2.429,736,2.468,764,4.591,803,4.428,888,2.803,1026,5.374,1077,4.034,1101,3.844,1118,4.591,1234,5.075,1235,5.075,1236,5.075,1237,5.075,1238,5.075,1239,4.273,1240,5.075,1241,5.075,1242,5.075,1243,5.075]],["tags/190",[]],["title/191",[4,0.486,1230,4.172]],["content/191",[3,1.665,4,0.513,12,1.214,21,0.949,22,2.262,25,1.802,26,1.19,33,1.747,34,1.537,38,1.665,40,1.596,49,1.486,53,1.44,54,0.975,68,1.537,71,2.089,73,1.747,74,1.44,82,1.693,83,1.214,90,0.845,99,1.399,110,1.19,113,1.328,121,1.019,124,1.665,125,1.747,132,1.665,133,3.118,136,1.773,137,1.442,144,1.596,145,1.19,161,0.612,168,1.931,174,1.665,181,1.19,220,1.035,229,1.537,263,1.665,271,1.362,273,1.125,275,2.135,286,2.089,292,1.665,295,1.399,331,1.665,368,1.19,372,1.296,381,0.78,383,1.125,387,1.145,394,2.296,431,1.296,465,1.486,484,2.945,498,1.665,503,1.486,508,1.596,509,1.988,516,1.747,517,1.44,556,1.399,568,1.105,576,1.85,584,1.665,599,1.486,611,1.988,615,1.362,672,1.596,683,1.596,742,3.351,780,1.747,831,1.328,880,2.505,882,1.44,888,2.652,920,1.596,1006,1.988,1012,1.85,1025,1.596,1048,1.85,1063,1.988,1096,1.988,1106,1.988,1129,1.328,1138,1.747,1144,1.486,1174,1.988,1216,1.596,1230,5.079,1244,2.198,1245,2.198,1246,2.198,1247,2.198,1248,2.198,1249,2.198,1250,2.198,1251,2.198,1252,2.198,1253,2.198,1254,1.988,1255,2.198,1256,2.198,1257,2.198,1258,2.198,1259,1.665,1260,2.198,1261,3.351,1262,1.399,1263,2.198,1264,1.747,1265,1.85,1266,2.198,1267,1.988,1268,2.198,1269,2.198,1270,1.988,1271,2.198,1272,2.198,1273,2.198,1274,2.198,1275,2.198,1276,2.198,1277,2.198,1278,1.988,1279,2.198,1280,2.198,1281,2.198,1282,1.85,1283,2.198,1284,1.665,1285,1.85,1286,1.85,1287,2.198]],["tags/191",[]],["title/192",[4,0.415,1231,4.048,1288,4.287]],["content/192",[3,1.914,4,0.501,30,1.19,34,1.767,39,1.914,41,1.293,66,0.478,67,0.672,71,1.425,90,0.972,99,1.609,113,2.514,129,2.008,137,1.62,140,1.49,150,1.317,157,3.151,168,1.317,181,1.368,244,1.229,271,1.566,303,1.008,313,2.13,318,1.172,341,2.008,361,4.302,362,1.425,407,1.835,414,1.425,517,2.727,519,1.767,545,2.127,571,1.271,604,1.656,605,1.526,615,3.287,667,1.767,691,1.835,736,1.229,756,3.151,769,1.835,798,1.835,807,1.835,880,1.708,887,4.018,888,3.397,909,2.127,994,1.456,1017,6.618,1026,3.151,1036,1.914,1048,2.127,1067,2.008,1077,3.307,1079,2.008,1085,2.285,1090,2.285,1094,3.503,1101,4.018,1103,2.285,1120,2.285,1121,4.799,1172,2.285,1210,2.127,1216,1.835,1218,2.127,1221,2.285,1230,1.767,1231,2.008,1233,3.764,1286,2.127,1288,2.127,1289,2.526,1290,2.526,1291,2.526,1292,2.526,1293,2.526,1294,2.526,1295,2.526,1296,2.127,1297,2.127,1298,2.526,1299,2.285,1300,2.526,1301,2.526,1302,2.526,1303,2.526,1304,2.526,1305,2.526,1306,4.161,1307,2.526,1308,2.285,1309,2.526,1310,2.526,1311,2.526,1312,2.526,1313,2.526,1314,2.526,1315,2.526,1316,2.526,1317,1.914,1318,2.526]],["tags/192",[]],["title/193",[136,2.854,1319,5.395]],["content/193",[58,3.84,98,3.367,136,3.42,148,4.215,243,3.795,275,4.12,291,5.681,880,4.832,1138,5.681,1319,8.049,1320,7.147,1321,7.147]],["tags/193",[]],["title/194",[4,0.486,104,2.473]],["content/194",[286,4.749,386,3.634,571,4.234,1129,5.087]],["tags/194",[]],["title/195",[4,0.486,184,2.647]],["content/195",[65,3.959,108,4.023,286,4.666,571,4.16,1129,4.998]],["tags/195",[]],["title/196",[176,3.167,1322,5.964]],["content/196",[98,3.221,144,4.965,145,3.701,211,4.481,286,3.856,835,4.032,1230,4.783,1323,6.185,1324,6.837,1325,6.837,1326,6.837,1327,6.837,1328,6.837,1329,6.837,1330,6.837,1331,6.837,1332,6.837]],["tags/196",[]],["title/201",[4,0.415,320,1.022,526,3.077]],["content/201",[4,0.513,62,1.661,100,4.765,161,2.543,207,3.011,243,4.356,320,1.647,466,3.22,502,4.254,537,4.123,615,3.899,687,4.254,730,4.401,832,4.765,870,5.001,1333,6.291,1334,6.291,1335,6.291]],["tags/201",[]],["title/202",[12,3.294,81,4.172]],["content/202",[8,3.316,25,2.669,46,1.845,62,1.111,72,4.157,75,2.518,161,1.529,174,4.157,182,2.137,222,3.316,273,2.809,320,1.503,333,3.031,465,3.711,466,2.809,526,3.316,538,2.626,648,3.401,831,3.316,832,4.157,835,3.237,1278,4.964,1282,6.304,1336,5.488,1337,5.488,1338,5.488,1339,4.157,1340,5.488,1341,5.488,1342,5.488,1343,5.488]],["tags/202",[]],["title/203",[75,1.712,177,2.561,1344,4.607]],["content/203",[4,0.389,38,3.612,46,1.603,75,1.603,97,3.224,121,2.212,145,2.581,161,2.203,172,2.282,207,2.282,233,2.532,301,2.117,320,0.957,405,3.612,440,2.485,511,2.812,512,3.79,515,3.463,558,3.612,585,6.142,598,4.314,649,2.971,687,4.591,791,3.463,833,3.463,906,3.612,1001,3.036,1140,3.79,1345,4.768,1346,6.142,1347,4.768,1348,4.768,1349,4.768,1350,4.014,1351,4.314,1352,6.789,1353,4.768,1354,4.014,1355,4.314,1356,4.768]],["tags/203",[]],["title/204",[75,1.712,202,2.606,687,3.443]],["content/204",[4,0.447,43,2.546,58,2.369,66,1.038,82,2.508,110,2.971,161,2.375,222,4.524,243,2.914,303,2.19,318,2.546,320,1.503,368,2.971,387,2.86,413,4.157,488,2.809,511,3.237,538,2.626,621,3.095,724,3.401,744,4.908,812,3.839,1150,4.62,1317,4.157,1350,4.62,1357,4.362,1358,4.964,1359,4.964,1360,5.488]],["tags/204",[]],["title/205",[177,2.235,294,2.561,305,2.405,1361,4.02]],["content/205",[24,2.51,46,1.707,66,0.96,99,3.232,107,1.18,161,1.977,162,3.844,182,1.976,223,2.926,243,2.695,300,2.429,305,2.748,320,1.019,621,4.614,687,5.989,736,2.468,967,3.432,1001,3.232,1282,4.273,1362,5.075,1363,5.64,1364,5.075,1365,4.591,1366,4.591,1367,7.095,1368,7.095,1369,4.273,1370,4.273,1371,3.844,1372,3.55,1373,4.273,1374,4.591]],["tags/205",[]],["title/206",[202,2.274,294,2.561,305,2.405,1375,4.443]],["content/206",[12,2.308,24,2.066,46,1.405,66,1.387,99,2.66,107,1.706,161,1.164,162,3.165,178,2.139,223,2.409,230,3.78,243,2.219,300,2,323,2.59,339,3.165,466,2.139,470,4.673,478,3.035,558,4.673,621,4.137,687,4.172,896,3.321,967,2.825,1023,3.78,1068,2.739,1355,3.78,1357,3.321,1361,3.78,1363,3.321,1369,3.517,1370,3.517,1371,3.165,1374,3.78,1376,4.178,1377,4.178,1378,3.276,1379,3.78,1380,4.178,1381,3.517,1382,4.178,1383,6.169,1384,6.169,1385,6.169,1386,6.169,1387,4.178,1388,4.178,1389,4.178]],["tags/206",[]],["title/207",[218,2.316,294,2.561,305,2.405,1239,3.741]],["content/207",[66,1.351,142,5.413,161,1.991,294,4.12,300,3.42,687,4.832,1105,6.465,1239,6.016,1357,5.681,1363,5.681,1369,6.016,1370,6.016,1378,3.795,1390,7.147]],["tags/207",[]],["title/208",[75,1.494,218,2.316,318,2.061,621,2.506]],["content/208",[0,2.668,1,1.847,4,0.377,12,2.556,13,4.356,30,3.131,46,1.556,66,1.257,85,2.251,99,2.947,110,2.506,120,3.896,130,2.506,243,2.458,285,3.896,318,3.943,320,1.706,548,2.868,564,2.668,621,4.386,648,2.868,649,2.026,725,3.679,853,5.595,1001,2.947,1069,4.187,1075,3.13,1346,6.012,1391,4.187,1392,3.896,1393,4.187,1394,4.628,1395,4.628,1396,4.628,1397,4.628,1398,4.628,1399,4.628]],["tags/208",[]],["title/209",[24,1.949,320,0.791,526,2.381,616,2.381,690,2.177]],["content/209",[4,0.241,22,1.391,24,1.46,29,2.485,62,0.598,66,1.116,84,1.88,94,2.236,140,1.741,161,0.822,177,2.375,181,1.598,182,1.15,187,1.733,202,2.417,208,1.83,236,2.671,243,1.568,261,0.933,270,1.539,281,2.671,300,1.413,302,2.065,320,1.821,329,2.144,333,1.631,352,1.46,368,1.598,369,2.144,387,2.461,456,1.83,468,1.996,502,1.996,519,2.065,527,2.065,547,2.671,589,1.996,590,1.996,603,2.065,613,2.671,616,1.784,620,1.935,636,1.631,641,2.853,649,2.066,675,3.303,690,2.608,720,1.329,744,1.935,789,2.485,798,2.144,948,3.975,967,3.193,1100,2.671,1317,2.236,1339,2.236,1400,2.485,1401,2.347,1402,2.671,1403,2.671,1404,2.952,1405,2.671,1406,1.935,1407,2.347,1408,2.347,1409,2.144,1410,2.485,1411,2.952,1412,5.359,1413,2.952,1414,4.722,1415,4.722,1416,6.099,1417,2.952,1418,4.722,1419,2.671,1420,2.952,1421,2.952]],["tags/209",[]],["title/210",[75,1.494,187,1.631,239,2.685,1422,3.227]],["content/210",[4,0.601,62,1.086,100,5.584,121,2.488,130,3.991,161,2.054,171,3.627,172,2.567,182,2.87,195,2.315,243,2.848,318,2.488,320,1.691,334,4.263,365,2.652,427,3.415,466,2.745,485,2.253,498,4.062,526,3.24,621,4.158,641,3.24,695,3.025,849,4.263,850,3.627,1011,3.627,1186,2.527,1423,4.263]],["tags/210",[]],["title/211",[187,1.631,637,3.108,753,3.227,1186,2.093]],["content/211",[4,0.385,59,2.556,66,1.275,71,2.663,174,3.576,205,2.784,264,3.976,295,3.006,298,3.428,299,3.974,349,3.974,368,2.556,466,2.416,519,3.302,626,2.556,637,3.302,667,3.302,681,3.094,734,3.974,753,5.71,758,3.094,769,3.428,783,3.302,835,2.784,1015,4.271,1079,3.753,1165,4.271,1186,3.704,1378,2.507,1424,6.098,1425,4.721,1426,4.721,1427,4.721,1428,4.721,1429,4.721,1430,4.721,1431,4.721,1432,4.721,1433,4.271,1434,4.721,1435,4.721]],["tags/211",[]],["title/212",[753,5.225]],["content/212",[4,0.627,67,1.207,90,1.746,115,2.457,137,2.552,161,1.826,168,2.366,172,3.136,261,1.435,265,2.813,272,3.069,273,2.323,303,1.812,355,2.172,357,2.677,382,2.89,386,1.959,517,2.975,556,2.89,567,3.821,717,3.821,753,6.488,770,2.89,1036,3.438,1064,3.821,1149,3.821,1186,3.968,1232,3.438,1297,3.821,1401,3.608,1436,3.821,1437,4.964,1438,3.96,1439,4.539,1440,4.539,1441,4.539,1442,4.539,1443,4.539]],["tags/212",[]],["title/213",[637,5.033]],["content/213",[4,0.437,12,2.963,20,1.683,30,2.926,38,3.194,43,1.956,44,1.363,54,1.14,55,1.012,59,1.39,62,1.086,66,0.485,70,2.323,71,2.378,115,1.39,123,1.796,137,1,154,0.976,158,2.95,161,1.495,261,0.811,264,1.514,272,1.736,290,1.865,293,1.514,295,3.416,300,1.229,303,1.025,313,1.314,315,1.314,333,1.418,335,2.041,355,1.229,365,1.269,372,1.514,387,2.796,413,1.945,431,1.514,440,1.338,462,1.796,465,1.736,466,1.314,501,1.418,508,1.865,538,1.229,590,1.736,593,3.194,618,1.945,637,6.345,681,1.683,717,2.161,753,6.298,757,1.945,792,3.814,812,1.796,928,2.323,967,1.736,1001,1.635,1051,2.323,1186,1.209,1195,3.814,1265,2.161,1409,1.865,1437,1.945,1438,1.551,1444,2.567,1445,2.323,1446,2.323,1447,2.567,1448,2.161,1449,2.567,1450,2.567,1451,2.567,1452,2.323,1453,2.323,1454,2.567,1455,4.216,1456,2.323,1457,2.041,1458,2.567,1459,2.567,1460,2.567,1461,2.567,1462,2.567,1463,2.161,1464,2.567,1465,2.161,1466,2.567,1467,2.567]],["tags/213",[]],["title/177",[134,2.768]],["content/177",[4,0.463,11,2.524,46,1.912,62,1.151,77,3.019,106,2.86,115,3.078,134,2.187,161,1.584,191,3.73,195,2.454,280,3.793,289,3.019,301,2.524,312,4.52,377,3.858,414,4.326,549,4.786,900,5.144,1378,4.073,1409,4.129,1468,5.686,1469,5.144,1470,4.129,1471,4.52,1472,4.52]],["tags/177",[]],["title/178",[134,2.294,414,3.364]],["content/178",[66,1.372,78,2.44,134,3.456,161,2.022,191,3.529,289,3.853,377,3.649,414,5.066,544,4.756,1470,5.27,1472,5.768]],["tags/178",[]],["title/179",[62,1.457]],["content/179",[7,0.999,12,1.02,17,2.687,21,1.378,31,1.663,55,1.98,56,2.487,61,0.67,62,1.426,66,1.174,67,1.772,82,0.844,85,0.898,98,0.87,107,0.742,115,0.999,134,0.71,145,0.999,149,2.092,161,0.514,176,0.98,178,1.634,185,0.913,187,1.548,192,1.67,193,3.35,194,4.349,195,0.797,207,1.527,208,1.978,211,2.764,244,0.898,250,1.467,275,1.064,280,1.578,293,1.089,303,0.737,316,0.98,355,0.883,366,2.431,369,1.341,376,2.887,378,1.67,381,0.655,386,0.797,389,1.67,407,1.341,414,1.041,453,1.978,473,1.089,484,2.537,524,1.554,533,2.537,538,1.527,554,1.089,558,2.418,560,1.398,571,0.928,572,1.248,590,1.248,608,1.175,617,1.398,626,2.719,628,2.418,634,1.481,636,1.763,681,1.21,712,2.537,736,0.898,882,1.21,922,3.396,979,1.67,996,1.248,1064,1.554,1068,3.719,1107,1.554,1259,1.398,1264,1.467,1270,2.887,1366,3.814,1371,1.398,1378,0.98,1473,1.67,1474,3.192,1475,3.192,1476,1.67,1477,1.846,1478,2.032,1479,1.846,1480,1.846,1481,1.67,1482,1.67,1483,1.846,1484,1.554,1485,1.846,1486,1.67,1487,1.846,1488,1.846,1489,1.846,1490,1.846,1491,1.846,1492,1.554,1493,1.846,1494,1.398,1495,1.846,1496,1.846,1497,1.67,1498,1.291,1499,1.67,1500,2.687,1501,2.687,1502,1.341,1503,1.67,1504,1.554,1505,1.846,1506,1.846,1507,1.67,1508,1.846,1509,1.846,1510,1.67,1511,1.846,1512,1.846,1513,1.846,1514,1.846]],["tags/179",[]],["title/180",[180,4.243]],["content/180",[4,0.31,55,2.269,66,1.652,107,0.886,108,4.248,134,1.465,161,1.604,182,3.907,195,1.644,201,4.825,280,1.883,303,1.52,320,0.764,321,6.344,414,2.148,568,2.895,571,1.915,996,5.907,1186,1.794,1193,3.179,1378,2.022,1438,2.301,1486,3.445,1515,3.808,1516,3.206,1517,3.808,1518,3.808,1519,3.808,1520,3.027,1521,2.301,1522,2.884,1523,3.808]],["tags/180",[]],["title/181",[1522,5.449]],["content/181",[4,0.207,55,1.001,62,0.514,66,1.167,91,2.138,161,2.044,171,2.826,172,1.215,178,1.3,193,3.103,194,4.777,195,2.298,201,4.051,205,1.498,211,2.739,259,2.019,261,0.803,264,1.498,280,1.256,303,2.927,318,2.47,414,1.433,483,2.298,516,2.019,571,1.277,582,2.138,626,2.262,738,3.003,750,2.298,806,5.582,882,1.665,988,2.298,996,4.96,1068,1.665,1186,4.406,1378,1.349,1408,2.019,1438,4.894,1478,2.661,1520,2.019,1521,3.217,1524,2.138,1525,2.54,1526,2.54,1527,2.54,1528,2.138,1529,2.138,1530,2.54,1531,2.54,1532,2.54,1533,2.54,1534,2.54,1535,2.54,1536,2.54,1537,2.54,1538,6.82,1539,2.54,1540,2.54,1541,2.54,1542,2.54,1543,2.54,1544,2.54]],["tags/181",[]],["title/182",[67,1.914]],["content/182",[8,2.94,21,3.753,41,4.45,107,1.132,193,4.792,194,5.902,195,2.101,280,2.406,298,3.534,318,3.195,365,2.406,414,2.745,571,2.448,1030,4.097,1378,2.584,1498,6.082,1545,4.866,1546,4.866,1547,4.866,1548,4.866,1549,3.868,1550,3.534,1551,4.097]],["tags/182",[]],["title/183",[1188,4.865]],["content/183",[193,3.042,194,4.715,195,2.611,245,3.341,280,2.991,414,3.412,571,3.042,696,4.232,882,3.965,1067,6.355,1068,3.965,1102,5.093,1188,5.406,1216,4.393,1284,4.582,1378,3.212,1551,5.093,1552,5.24,1553,6.049,1554,5.473,1555,5.473,1556,4.809]],["tags/183",[]],["title/184",[320,1.444]],["content/184",[4,0.265,12,1.799,62,1.033,66,1.19,90,1.964,98,1.534,106,1.638,107,0.758,121,1.511,127,2.368,161,1.984,193,2.567,194,1.921,195,2.203,207,1.559,272,2.202,277,2.947,280,1.611,300,1.559,316,1.73,320,1.553,323,3.163,352,1.611,397,2.366,414,1.837,449,2.589,456,3.9,493,4.767,517,2.135,564,1.878,571,1.638,617,2.467,621,2.879,622,3.476,626,2.763,641,3.084,681,2.135,690,1.799,712,2.589,714,2.366,736,1.584,788,2.589,847,2.947,891,2.589,966,2.742,1068,2.135,1079,2.589,1095,2.366,1218,2.742,1297,2.742,1372,2.279,1378,1.73,1419,2.947,1457,2.589,1557,3.257,1558,2.742,1559,2.947,1560,6.293,1561,3.257,1562,2.947,1563,2.947,1564,3.257,1565,2.947,1566,3.257,1567,3.257,1568,3.257,1569,3.257]],["tags/184",[]],["title/185",[568,3.618]],["content/185",[58,2.595,62,0.817,90,1.553,98,2.832,107,0.939,178,2.066,193,2.03,194,3.546,195,1.742,207,1.931,250,4.779,254,3.208,280,1.995,369,4.367,372,2.38,414,3.391,470,3.057,485,1.696,488,2.066,501,2.229,558,3.057,568,4.49,571,3.024,593,4.554,600,2.38,617,4.554,622,3.321,788,3.208,838,4.065,882,2.645,1068,2.645,1372,2.823,1378,2.143,1558,3.397,1565,3.651,1570,4.036,1571,6.012,1572,4.036,1573,4.036,1574,4.036,1575,4.036,1576,4.779,1577,3.397,1578,4.779,1579,4.036,1580,3.651]],["tags/185",[]],["title/186",[485,3.023]],["content/186",[11,1.6,12,3.05,41,1.845,66,1.044,80,2.731,86,2.731,88,2.295,177,1.813,178,1.845,193,2.777,194,2.126,195,1.556,205,3.256,255,2.178,261,2.377,273,1.845,275,3.868,280,1.782,295,2.295,301,1.6,355,2.642,362,2.033,381,1.28,391,2.522,414,2.033,446,2.438,453,3.422,485,3.159,571,1.813,600,2.126,616,2.178,793,2.866,798,2.618,803,2.989,903,3.035,1049,3.261,1068,4.928,1262,2.295,1371,2.731,1378,1.914,1558,3.035,1581,3.605,1582,5.521,1583,3.605,1584,3.261,1585,3.261,1586,5.084,1587,3.261,1588,3.605,1589,3.605,1590,3.605,1591,3.605,1592,3.605,1593,3.035,1594,3.035,1595,4.182]],["tags/186",[]],["title/187",[96,5.225]],["content/187",[62,1.426,66,1.587,68,2.73,88,2.485,96,5.687,137,2.283,161,1.634,187,1.433,193,4.732,194,5.55,195,1.684,200,3.285,205,2.302,280,1.93,330,2.302,352,1.93,355,1.868,381,1.385,396,3.53,397,2.834,414,2.201,485,1.64,504,2.834,571,1.963,675,2.73,736,3.425,906,2.956,1179,3.102,1186,2.762,1378,2.072,1438,2.358,1596,3.903,1597,3.903,1598,5.863,1599,2.956,1600,3.903,1601,3.903,1602,3.903,1603,5.863]],["tags/187",[]],["title/197",[320,1.197,622,3.294]],["content/197",[4,0.592,52,1.593,62,1.062,66,1.372,78,1.763,273,2.684,302,3.669,318,2.433,320,1.803,333,2.897,357,3.093,365,2.593,387,3.783,456,3.25,544,3.437,607,5.629,616,3.168,622,5.21,648,3.25,649,2.295,672,3.809,682,4.744,720,3.269,1036,3.972,1604,5.244]],["tags/197",[]],["title/198",[59,2.134,90,1.516,98,1.857,320,0.791,622,2.177]],["content/198",[95,5.254,208,4.299,275,3.999,286,3.913,288,4.853,320,1.753,372,4.092,526,4.191,538,4.179,608,4.417,622,4.824,1605,6.937,1606,6.937]],["tags/198",[]],["title/199",[402,4.715]],["content/199",[12,2.897,67,1.395,161,2.319,168,2.733,175,5.067,320,1.803,325,3.339,372,3.093,402,4.757,403,5.272,463,4.415,466,2.684,512,5.77,548,3.25,554,4.281,648,4.498,649,3.177,695,2.958,1607,4.744,1608,5.244,1609,5.244,1610,4.415,1611,5.244,1612,5.244]],["tags/199",[]],["title/200",[1613,7.194]],["content/200",[52,2.558,62,1.327,67,1.743,161,1.826,182,2.551,195,2.828,315,3.354,320,1.868,333,3.619,365,3.24,459,4.172,622,4.652,648,4.061,649,2.868,696,4.584,1614,6.553]],["tags/200",[]],["title/363",[320,1.197,641,3.603]],["content/363",[0,2.643,1,1.829,11,2.035,13,3.005,30,2.16,46,0.957,59,2.482,62,0.576,74,1.865,75,0.957,82,2.095,85,2.229,106,3.32,115,1.541,127,2.671,137,1.108,160,2.574,161,2.357,181,1.541,195,1.228,201,3.18,245,2.532,272,1.924,273,1.456,276,2.155,316,3.057,320,1.875,355,1.362,362,1.605,459,1.812,462,1.991,465,1.924,470,2.155,501,1.572,511,2.704,515,4.181,622,1.572,637,1.991,641,4.373,690,1.572,710,2.262,879,2.574,922,4.894,1075,3.893,1186,3.409,1350,2.395,1406,3.773,1452,2.574,1453,2.574,1494,3.472,1615,2.574,1616,2.846,1617,2.846,1618,2.846,1619,3.859,1620,3.644]],["tags/363",[]],["title/223",[568,3.618]],["content/223",[11,2.991,58,2.909,65,3.225,78,2.266,174,5.105,183,4.072,184,2.991,207,3.225,289,3.578,318,3.126,383,3.449,568,3.389,573,5.357,1036,5.105,1144,4.557,1471,5.357,1621,6.739,1622,6.739]],["tags/223",[]],["title/224",[90,2.294,207,2.854]],["content/224",[]],["tags/224",[]],["title/225",[65,2.437,90,1.959,207,2.437]],["content/225",[65,4.129,161,1.565,207,4.425,318,2.606,403,4.08,541,6.405,557,3.577,607,3.799,622,3.103,1576,4.466,1623,5.618,1624,5.618,1625,5.618,1626,7.609,1627,5.618,1628,5.618,1629,4.08,1630,5.618,1631,5.618,1632,5.618,1633,5.618,1634,5.618,1635,5.618,1636,5.618,1637,5.618]],["tags/225",[]],["title/226",[90,1.959,207,2.437,1638,4.287]],["content/226",[145,2.662,207,2.353,215,4.139,239,2.971,318,2.281,402,3.223,568,2.473,622,2.716,881,4.448,1187,4.139,1231,3.909,1262,3.131,1576,3.909,1638,8.047,1639,4.917,1640,6.277,1641,4.917,1642,4.917,1643,4.917,1644,4.917,1645,6.939,1646,4.917,1647,4.917,1648,4.917,1649,6.939,1650,4.917,1651,4.917,1652,4.917,1653,4.917,1654,6.939,1655,4.917,1656,4.917,1657,4.917,1658,4.448,1659,4.917]],["tags/226",[]],["title/227",[90,1.959,207,2.437,1144,3.443]],["content/227",[161,1.315,207,2.259,215,3.974,239,2.852,318,2.19,402,3.094,568,2.374,622,2.607,1144,6.565,1576,3.753,1638,3.974,1640,7.113,1658,4.271,1660,4.721,1661,4.721,1662,4.721,1663,8.576,1664,4.721,1665,4.721,1666,4.721,1667,4.721,1668,6.741,1669,6.741,1670,4.721,1671,4.721,1672,6.741,1673,6.741,1674,4.721,1675,4.721,1676,4.721,1677,4.721,1678,4.721,1679,4.721]],["tags/227",[]],["title/228",[568,2.999,1680,5.395]],["content/228",[4,0.583,54,3.172,66,1.351,195,3.085,316,3.795,332,4.999,427,4.551,568,4.873,592,4.551,709,5.413,1599,5.413,1680,6.465]],["tags/228",[]],["title/229",[54,2.26,568,2.561,1599,3.857]],["content/229",[65,4.218,67,2.345,320,1.769,460,4.254,461,4.925,479,6.166,639,5.927,1681,7.04,1682,7.04,1683,7.04,1684,7.04]],["tags/229",[]],["title/230",[54,1.972,568,2.235,709,3.366,896,3.532]],["content/230",[233,4.769,320,1.803,370,6.564,1144,4.907,1685,7.256,1686,6.109,1687,7.256,1688,6.564,1689,7.256,1690,6.564,1691,7.256]],["tags/230",[]],["title/231",[568,2.999,1401,4.741]],["content/231",[4,0.574,54,3.125,273,3.603,488,3.603,517,4.614,568,4.433,720,3.969,896,5.596,1186,3.317,1401,5.596,1692,7.04,1693,6.369,1694,7.04]],["tags/231",[]],["title/232",[568,2.561,838,3.443,1578,4.048]],["content/232",[4,0.423,8,2.01,21,1.436,25,1.618,26,1.801,66,0.629,107,1.206,121,2.407,123,2.327,127,1.543,143,3.9,154,2.425,161,1.777,182,2.483,191,1.618,193,1.673,280,1.645,302,2.327,315,3.264,321,2.416,377,1.673,391,2.327,466,1.702,468,2.249,501,3.523,527,2.327,568,4.347,600,1.962,605,2.01,649,1.456,667,2.327,672,2.416,678,2.519,700,3.009,721,2.644,736,1.618,752,2.8,756,2.519,810,2.519,838,4.313,967,2.249,1147,3.009,1186,3.68,1563,4.693,1577,2.8,1578,5.727,1580,3.009,1599,2.519,1695,4.693,1696,3.326,1697,3.326,1698,3.326,1699,3.326,1700,3.326,1701,3.326,1702,3.326,1703,3.326]],["tags/232",[]],["title/233",[838,3.443,1373,4.287,1578,4.048]],["content/233",[22,3.642,107,1.798,121,3.586,191,3.76,193,3.888,377,3.888,1373,6.508,1577,6.508,1704,7.731]],["tags/233",[]],["title/234",[320,1.022,485,2.14,1011,3.443]],["content/234",[4,0.437,18,3.895,46,1.803,65,2.567,90,2.836,103,2.697,107,1.247,121,2.488,154,2.039,320,1.077,364,3.324,381,2.617,485,3.539,488,2.745,537,3.515,544,3.515,553,3.627,571,2.697,683,3.895,691,3.895,714,3.895,738,3.025,1011,3.627,1193,2.962,1194,4.852,1391,4.852,1705,5.363,1706,5.363,1707,5.363,1708,5.363,1709,5.363,1710,5.363]],["tags/234",[]],["title/235",[107,1.033,154,1.689,381,1.577,485,1.867]],["content/235",[289,4.392,322,3.145,527,5.787,835,4.879,1711,8.272]],["tags/235",[]],["title/236",[381,1.808,485,2.14,793,4.048]],["content/236",[115,4.401,261,3.041,453,5.038,1586,5.497,1595,6.158]],["tags/236",[]],["title/237",[136,2.126,381,1.577,485,1.867,769,3.227]],["content/237",[8,5.087,301,3.737,359,5.89,720,3.791]],["tags/237",[]],["title/238",[4,0.362,352,2.197,485,1.867,1011,3.005]],["content/238",[4,0.464,7,2.029,13,4.504,62,0.759,66,1.075,84,2.386,88,3.621,148,2.211,161,1.044,179,2.456,245,2.07,256,2.534,273,2.911,280,1.853,294,2.161,320,1.656,365,1.853,366,3.278,381,2.723,383,1.918,468,3.845,485,3.648,538,1.794,542,2.264,544,2.456,564,3.278,590,2.534,641,3.436,696,2.622,720,1.688,745,3.155,852,3.155,1075,3.845,1086,3.155,1193,2.07,1196,3.155,1264,2.979,1406,3.727,1407,2.979,1550,2.722,1615,3.39,1712,3.39,1713,5.145,1714,3.39,1715,3.748,1716,3.748,1717,3.748,1718,3.155,1719,3.39]],["tags/238",[]],["title/239",[150,3.108,485,2.506]],["content/239",[7,3.116,66,1.088,67,2.484,76,4.359,88,3.664,127,2.67,150,2.999,303,2.297,315,3.958,320,1.155,333,3.179,381,2.745,485,3.249,589,3.891,590,3.891,636,3.179,681,3.772,690,3.179,714,4.18,720,2.592,745,4.845,1407,4.575,1720,4.575,1721,5.206]],["tags/239",[]],["title/240",[320,1.197,603,4.172]],["content/240",[59,3.99,148,4.347,320,1.479,366,4.248,381,2.616,468,6.132,485,3.096,564,4.248,603,5.155,1378,3.913,1433,6.667]],["tags/240",[]],["title/241",[320,1.197,596,5.02]],["content/241",[179,5.067,320,1.874,381,2.744,485,3.923,596,6.508,1378,4.105,1722,7.731]],["tags/241",[]],["title/242",[4,0.415,485,2.14,1179,4.048]],["content/242",[4,0.512,16,1.391,21,0.713,46,1.302,62,0.587,66,0.548,67,1.237,81,1.156,84,1.052,88,4,97,1.117,103,0.831,121,0.767,127,0.767,129,1.313,137,1.129,142,2.195,150,1.51,154,0.628,177,1.458,187,0.607,202,0.846,246,1.156,255,0.998,272,1.117,305,0.894,315,1.483,320,0.582,329,4.233,338,2.618,352,1.433,372,0.975,381,2.686,387,0.861,391,1.156,393,1.083,406,2.44,462,1.156,466,0.846,485,3.069,488,0.846,504,2.105,538,0.791,554,0.975,571,2.931,601,1.495,603,1.156,608,1.052,650,1.252,655,1.458,656,1.391,675,3.254,681,3.049,697,1.391,710,2.304,714,2.812,720,1.305,734,1.391,778,0.975,840,2.105,967,1.117,1068,3.82,1179,4.207,1262,4,1264,1.313,1365,3.502,1406,3.049,1409,2.105,1448,1.391,1552,4.117,1556,3.077,1586,1.96,1720,1.313,1721,5.272,1723,1.495,1724,1.652,1725,5.828,1726,5.828,1727,6.282,1728,6.282,1729,2.898,1730,2.898,1731,2.898,1732,3.871,1733,3.871,1734,3.259,1735,2.622,1736,3.502,1737,2.898,1738,1.652,1739,1.652,1740,1.652,1741,1.652]],["tags/242",[]],["title/243",[21,1.918,381,1.577,485,1.867,888,2.454]],["content/243",[4,0.523,21,1.905,43,2.979,44,2.343,58,1.905,134,1.697,136,2.112,137,1.718,176,2.343,184,2.85,191,3.123,243,2.343,256,2.984,286,2.489,298,3.204,303,2.562,322,1.677,352,2.182,359,4.492,362,2.489,377,3.229,381,2.279,404,3.714,485,1.854,545,3.714,548,2.735,607,4.341,649,1.931,769,3.204,833,3.204,922,2.984,1095,4.663,1129,2.666,1193,3.546,1259,3.342,1456,3.992,1742,4.412,1743,4.412,1744,4.412,1745,4.412,1746,4.412,1747,4.412,1748,4.412,1749,4.412]],["tags/243",[]],["title/248",[381,2.117,1586,4.032]],["content/248",[]],["tags/248",[]],["title/249",[426,5.719]],["content/249",[4,0.463,25,2.765,61,2.064,67,2.04,82,2.598,85,3.73,154,2.161,315,2.91,320,1.865,362,3.207,381,2.018,720,2.56,737,4.52,872,3.727,1042,4.786,1083,5.144,1144,3.845,1186,3.613,1196,4.786,1339,4.307,1550,4.129,1586,5.87,1750,5.686]],["tags/249",[]],["title/250",[175,4.058]],["content/250",[4,0.329,21,2.595,43,2.789,44,3.193,55,2.37,56,3.546,62,1.217,65,1.931,76,3.057,77,2.143,78,2.022,79,3.208,99,2.57,105,2.326,106,2.03,130,2.185,134,1.553,137,2.341,143,2.185,187,1.482,191,1.963,220,1.901,261,1.9,320,0.81,322,2.732,363,1.817,366,2.326,377,2.03,453,2.501,474,2.185,485,1.696,515,2.931,517,2.645,524,3.397,655,2.03,656,3.397,720,1.817,766,2.931,888,2.229,999,3.397,1001,2.57,1197,3.397,1593,3.397,1594,3.397,1595,4.554,1751,6.012,1752,4.036,1753,5.439,1754,6.012,1755,4.036]],["tags/250",[]],["title/251",[134,2.768]],["content/251",[88,3.664,178,2.946,187,2.113,193,3.889,194,3.394,195,2.484,261,2.952,280,2.846,381,2.745,414,3.246,453,4.793,571,2.894,600,3.394,1378,3.056,1585,5.206,1587,5.206,1593,4.845,1594,4.845,1595,5.858,1756,5.755,1757,5.755,1758,7.733]],["tags/251",[]],["title/252",[179,4.715]],["content/252",[]],["tags/252",[]],["title/253",[840,5.225]],["content/253",[4,0.239,8,1.773,58,1.266,66,1.27,82,1.341,115,3.181,179,3.079,187,1.725,193,2.955,219,3.287,233,1.558,260,3.955,301,2.085,318,1.361,320,0.589,355,1.404,383,2.405,453,1.818,479,2.052,488,1.502,534,1.382,571,1.476,592,1.868,606,3.955,607,1.984,840,2.131,888,1.621,1144,4.543,1261,4.25,1262,1.868,1288,2.47,1378,3.12,1406,3.851,1436,3.955,1586,3.177,1686,2.47,1688,2.654,1690,2.654,1720,4.671,1759,2.934,1760,2.934,1761,2.934,1762,4.698,1763,2.934,1764,2.934,1765,2.934,1766,2.934,1767,2.934,1768,2.934,1769,2.934,1770,2.934,1771,4.698,1772,2.934,1773,2.934,1774,4.698,1775,2.934,1776,2.934,1777,2.934,1778,5.316,1779,5.876,1780,2.934,1781,2.934,1782,2.934,1783,2.934,1784,4.698,1785,4.698,1786,2.934,1787,2.934,1788,2.934,1789,2.934,1790,2.934,1791,2.934,1792,2.934,1793,2.934]],["tags/253",[]],["title/254",[1262,3.797,1552,3.909]],["content/254",[4,0.408,172,1.86,177,1.171,202,1.191,218,2.608,239,1.406,250,3.979,254,1.85,258,3.09,280,1.151,318,1.08,320,0.467,362,1.313,427,1.482,468,1.574,504,1.69,616,1.406,683,1.69,835,1.373,1075,1.574,1262,4.976,1372,4.548,1471,1.85,1552,3.28,1556,6.212,1584,2.105,1586,3.384,1714,2.105,1734,1.959,1736,6.356,1794,2.327,1795,2.105,1796,2.105,1797,2.327,1798,2.327,1799,2.327,1800,2.327,1801,3.887,1802,2.327,1803,2.327,1804,5.846,1805,2.327,1806,2.327,1807,2.327,1808,2.327,1809,3.887,1810,2.327,1811,2.327,1812,3.887,1813,2.327,1814,5.005,1815,2.327,1816,2.327,1817,2.327,1818,2.327,1819,2.327,1820,3.887,1821,2.327,1822,6.501,1823,2.327,1824,2.327,1825,2.327,1826,2.327,1827,2.327,1828,2.327,1829,2.327,1830,2.105,1831,2.327,1832,2.327,1833,2.327,1834,2.327,1835,2.327,1836,2.327,1837,2.327,1838,2.327,1839,2.327,1840,2.327,1841,2.327,1842,2.327,1843,2.327,1844,2.327,1845,2.327,1846,2.327,1847,2.327,1848,2.327,1849,2.327,1850,2.327,1851,2.327,1852,2.327,1853,2.327,1854,2.327,1855,2.327,1856,2.327,1857,2.327,1858,2.327,1859,2.327,1860,2.327,1861,2.327,1862,2.327,1863,2.327,1864,2.327,1865,2.327,1866,2.327]],["tags/254",[]],["title/244",[605,3.603,1188,4.032]],["content/244",[4,0.267,22,1.545,26,1.776,27,2.218,31,1.709,66,1.195,67,2.064,88,2.088,90,1.262,106,2.581,107,1.663,178,2.626,195,1.416,245,1.812,255,1.982,261,1.037,271,2.033,280,1.622,289,1.742,320,1.726,381,2.754,436,2.761,474,2.778,485,2.656,488,2.626,600,1.934,605,3.1,616,1.982,634,1.522,636,1.812,674,3.887,681,2.15,696,3.59,698,2.382,721,2.607,922,2.218,1067,2.607,1188,3.47,1262,5.475,1549,4.079,1550,3.727,1552,5.996,1720,2.607,1796,2.967,1867,3.28,1868,3.28,1869,3.28]],["tags/244",[]],["title/245",[178,2.606,605,3.077,1188,3.443]],["content/245",[21,2.611,26,3.275,27,4.091,41,3.096,67,2.126,107,2.215,178,3.096,191,2.942,193,4.021,377,4.021,605,3.655,922,4.091,997,4.582,1188,4.091,1498,4.232,1549,6.355,1550,5.806,1551,5.093]],["tags/245",[]],["title/246",[127,2.362,1463,4.287,1552,3.338]],["content/246",[41,2.684,67,1.931,107,1.936,134,2.018,178,2.684,191,2.55,195,2.264,280,2.593,377,2.638,436,4.415,605,3.168,634,2.433,696,3.669,854,4.744,1102,4.415,1188,3.546,1216,3.809,1284,3.972,1463,7.007,1549,6.617,1550,6.045,1552,5.888,1554,4.744,1555,4.744,1556,4.169,1870,4.744]],["tags/246",[]],["title/247",[320,0.892,698,3.227,1262,2.829,1552,2.912]],["content/247",[150,3.782,320,1.803,556,4.62,634,3.366,698,5.27,744,4.756,770,4.62,840,5.27,1262,5.719,1552,5.887]],["tags/247",[]],["title/255",[1193,3.974]],["content/255",[25,3.699,59,4.118,66,1.438,233,4.039,352,3.761,474,4.118,752,6.403,1193,4.202,1424,6.881,1871,7.607]],["tags/255",[]],["title/256",[152,5.719]],["content/256",[4,0.583,22,3.367,47,4.999,62,1.447,67,1.901,172,3.42,362,4.031,749,6.465,793,5.681,1192,6.465,1193,4.915,1872,7.147,1873,7.147]],["tags/256",[]],["title/257",[103,2.999,302,4.172]],["content/257",[46,1.867,66,1.05,98,2.616,107,1.291,178,2.842,184,2.465,191,3.671,193,2.792,201,3.067,243,2.948,303,2.216,369,4.032,377,3.796,617,4.205,649,3.303,1193,5.083,1874,5.552,1875,5.552,1876,5.552,1877,5.552,1878,5.552,1879,5.552,1880,5.552,1881,5.552,1882,5.552,1883,5.552,1884,5.552]],["tags/257",[]],["title/258",[148,3.517,1193,3.294]],["content/258",[739,7.349,870,6.94]],["tags/258",[]],["title/259",[4,0.415,1193,2.813,1259,3.857]],["content/259",[]],["tags/259",[]],["title/260",[649,2.61,1193,3.294]],["content/260",[58,3.337,66,1.462,113,4.671,359,5.408,537,5.067,649,3.384,787,6.508,1193,5.157]],["tags/260",[]],["title/261",[22,2.809,301,2.647]],["content/261",[739,7.349,870,6.94]],["tags/261",[]],["title/262",[21,2.574,62,1.207]],["content/262",[11,2.756,21,1.82,26,2.282,43,1.956,66,1.394,67,1.652,79,3.351,83,2.328,85,2.05,90,1.622,110,2.282,150,2.197,161,2.266,180,3.663,181,2.282,182,1.641,185,2.084,187,2.707,207,2.017,229,2.949,233,2.238,261,1.332,320,0.846,332,2.949,337,3.062,379,2.949,440,2.197,488,2.158,526,2.547,557,2.684,573,3.351,582,3.549,589,2.851,648,2.613,770,3.954,905,3.549,995,3.193,1136,3.814,1423,3.351,1885,7.372,1886,4.216,1887,4.216,1888,3.814,1889,4.216,1890,4.216,1891,4.216,1892,4.216]],["tags/262",[]],["title/275",[4,0.362,62,0.9,107,1.033,154,1.689]],["content/275",[4,0.669,35,5.738,48,4.006,62,1.661,107,1.908,143,3.406,146,5.001,154,3.47,269,4.569,305,3.406,616,3.801,720,2.833,724,3.899,835,3.71,1029,5.691,1055,5.296,1197,5.296]],["tags/275",[]],["title/276",[90,2.294,294,3.438]],["content/276",[108,3.699,185,3.761,363,3.425,1893,4.714,1894,5.321,1895,5.143,1896,5.143,1897,5.321,1898,5.143,1899,6.881]],["tags/276",[]],["title/277",[294,3.438,538,2.854]],["content/277",[4,0.363,9,2.919,21,2.79,24,2.202,35,4.522,40,3.235,42,3.54,43,2.066,61,1.617,62,0.902,66,0.842,77,2.365,99,2.836,107,1.503,110,2.411,121,2.066,143,2.411,154,2.458,172,3.642,175,3.646,176,2.365,243,3.433,273,2.28,286,2.512,300,3.995,303,1.777,305,2.411,338,3.012,434,3.374,538,2.131,615,2.76,680,4.029,721,3.54,790,2.919,872,2.919,1055,3.749,1175,4.029,1230,3.116,1296,3.749,1900,4.454,1901,4.029,1902,4.454,1903,4.454]],["tags/277",[]],["title/278",[97,4.865]],["content/278",[1,2.078,4,0.332,8,2.46,9,1.613,18,1.787,21,1.062,41,1.259,43,2.416,45,1.864,46,0.827,52,0.747,56,1.451,61,0.893,62,1.462,66,0.465,67,1.61,75,0.827,78,1.369,82,1.86,84,1.567,85,1.197,103,1.238,107,1.559,108,1.197,121,1.141,130,1.332,134,2.003,137,0.958,138,3.276,154,2.549,161,0.686,169,2.226,173,1.864,185,1.217,187,0.903,203,1.956,207,1.178,235,2.071,243,2.162,244,1.197,263,1.864,265,1.525,270,1.282,300,1.178,301,1.092,303,1.625,320,1.45,363,1.833,368,1.332,444,2.848,485,2.543,511,1.451,537,1.613,539,2.592,604,1.613,633,1.664,634,1.141,648,1.525,655,1.238,667,1.721,694,1.956,712,1.956,728,1.956,738,2.296,803,1.332,812,1.721,831,1.487,832,3.084,834,2.753,849,1.956,851,1.721,852,2.071,855,1.864,1011,1.664,1025,1.787,1081,2.226,1232,1.864,1344,2.226,1392,2.071,1492,2.071,1586,1.664,1629,2.957,1712,2.226,1778,2.226,1904,2.461,1905,2.461,1906,2.461,1907,2.461,1908,3.683,1909,4.384,1910,2.461]],["tags/278",[]],["title/263",[66,1.128,1894,4.172]],["content/263",[4,0.516,39,3.281,52,1.316,62,0.877,67,1.152,78,1.457,104,3.105,107,1.007,137,2.467,138,2.345,139,3.918,154,1.647,168,2.257,173,3.281,220,2.04,322,2.847,361,4.431,362,2.443,363,1.951,381,1.537,383,2.217,404,3.646,499,3.443,537,2.839,542,2.617,594,3.918,720,2.853,738,2.443,790,2.839,803,2.345,855,3.281,887,4.798,888,2.392,1129,4.525,1149,3.646,1232,3.281,1422,3.146,1559,3.918,1718,3.646,1894,6.133,1911,3.646,1912,4.332]],["tags/263",[]],["title/264",[170,4.865]],["content/264",[61,3.111,62,1.736,1894,5.996]],["tags/264",[]],["title/265",[55,1.553,75,1.325,177,1.982,766,2.862,1894,2.757]],["content/265",[55,3.379,766,6.225,1894,5.996]],["tags/265",[]],["title/266",[75,1.191,202,1.812,322,1.346,579,1.997,720,1.594,1913,3.203]],["content/266",[104,3.371,322,3.658,325,5.176,720,3.661,1913,7.355]],["tags/266",[]],["title/267",[75,1.081,218,1.675,361,2.249,738,1.813,887,2.435,1129,1.942,1914,3.214]],["content/267",[21,2.828,46,2.203,104,2.717,313,3.354,322,3.202,332,4.584,360,5.928,361,4.584,555,3.696,642,5.516,720,2.951,738,3.696,762,4.963,1001,4.172,1058,5.209,1129,5.088,1915,5.928,1916,6.553]],["tags/267",[]],["title/268",[4,0.262,52,0.976,75,1.081,104,1.333,239,1.942,322,1.222,720,1.447]],["content/268",[4,0.693,46,2.234,52,2.018,66,1.256,98,3.13,147,4.118,148,3.919,289,3.528,303,2.652,460,4.015,462,4.648,546,5.594,564,5.401,624,6.011,655,3.342,1917,5.033]],["tags/268",[]],["title/269",[75,1.325,90,1.516,178,2.017,254,3.133,1918,3.133]],["content/269",[4,0.61,43,3.473,44,3.975,90,2.88,104,3.797,137,2.915,178,3.832,322,2.846,325,4.767,1918,5.951]],["tags/269",[]],["title/270",[75,1.494,134,1.709,180,2.621,258,3.532]],["content/270",[134,3.298,180,5.056,1423,6.814]],["tags/270",[]],["title/271",[262,4.865]],["content/271",[4,0.61,58,3.231,62,1.516,66,1.415,107,1.741,154,2.846,322,2.846,480,5.062,655,3.765,850,5.062,1894,5.237]],["tags/271",[]],["title/272",[208,3.696,695,3.364]],["content/272",[]],["tags/272",[]],["title/273",[62,1.207,190,3.364]],["content/273",[4,0.591,104,4.045,107,1.688,137,2.826,173,5.496,322,2.759,328,3.928,520,6.564,579,4.093,1372,5.076,1516,6.109]],["tags/273",[]],["title/274",[55,2.351,831,3.603]],["content/274",[4,0.557,8,4.131,55,3.411,104,3.937,137,2.662,303,2.728,322,3.29,488,3.499,566,4.237,579,3.856,655,3.438,724,4.237,1422,4.965]],["tags/274",[]],["title/279",[66,0.963,185,2.518,1893,3.156]],["content/279",[4,0.499,61,2.224,66,1.159,78,2.711,107,1.425,108,3.921,138,3.317,154,2.33,159,4.642,185,4.919,363,2.759,537,4.016,790,4.016,888,3.385,915,5.159,1119,5.544,1187,5.159,1893,4.997]],["tags/279",[]],["title/280",[170,4.865]],["content/280",[52,2.076,75,2.299,138,3.701,172,3.272,185,4.694,338,4.623,352,3.38,387,3.563,586,7.828,690,3.776,1104,6.185,1393,7.828,1919,6.837]],["tags/280",[]],["title/281",[75,1.191,137,1.379,161,0.986,177,1.781,185,1.751,1893,2.194]],["content/281",[4,0.624,21,1.377,46,1.073,54,1.417,61,1.158,63,2.318,65,2.404,105,2.895,121,1.48,127,1.48,131,2.318,137,1.243,143,1.728,161,1.399,180,2.962,182,2.742,184,1.417,185,1.578,186,2.417,187,2.28,188,2.417,189,3.513,190,2.833,191,2.443,198,2.158,201,1.763,233,1.695,256,2.158,269,2.318,293,1.882,295,2.032,316,1.695,318,1.48,320,0.641,352,1.578,368,1.728,377,1.605,394,1.978,568,1.605,608,2.032,626,2.719,643,2.092,678,2.417,736,1.552,919,2.417,1001,2.032,1054,2.417,1186,2.926,1423,4.937,1478,3.198,1521,3.034,1522,3.804,1524,2.687,1528,2.687,1529,2.687,1917,2.417,1920,3.191,1921,5.599,1922,2.887,1923,2.887,1924,2.537,1925,2.887,1926,2.687,1927,2.687,1928,2.687,1929,3.191,1930,3.191,1931,2.537,1932,2.537]],["tags/281",[]],["title/282",[61,1.167,75,1.081,177,1.617,431,1.896,736,1.563,1186,1.514,1521,1.942]],["content/282",[4,0.566,46,1.653,61,1.785,63,3.571,65,2.353,66,0.93,105,2.835,127,2.281,131,3.571,134,1.892,143,2.662,180,2.9,182,1.915,184,2.183,188,3.724,189,3.44,190,2.773,191,2.391,198,3.325,201,2.716,233,2.611,256,3.325,269,3.571,368,2.662,377,2.473,608,3.131,643,3.223,736,2.391,919,3.724,1054,3.724,1186,2.316,1438,2.971,1478,4.418,1520,3.909,1521,2.971,1921,3.909,1922,4.448,1923,4.448,1924,3.909,1931,3.909,1932,3.909,1933,4.917]],["tags/282",[]],["title/283",[75,1.494,103,2.235,202,2.274,256,3.005]],["content/283",[4,0.493,46,2.034,61,2.196,62,1.619,103,3.042,154,2.3,161,1.685,185,3.953,186,4.582,220,2.85,221,5.806,223,3.487,316,3.212,385,4.091,440,3.153,466,3.096,479,4.232,579,3.412,652,7.232,1521,3.655,1723,5.473,1893,3.749]],["tags/283",[]],["title/284",[262,4.865]],["content/284",[1,2.446,4,0.499,46,2.061,47,4.287,58,2.645,62,1.241,66,1.524,107,1.425,154,2.33,163,4.871,164,4.144,185,3.987,322,2.33,480,4.144,511,3.614,644,4.642,649,2.682,655,3.082,849,4.871,850,4.144,1478,3.902,1893,3.798,1934,6.128]],["tags/284",[]],["title/285",[208,3.696,695,3.364]],["content/285",[]],["tags/285",[]],["title/286",[62,1.207,190,3.364]],["content/286",[46,2.403,61,2.594,161,1.991,185,4.399,186,5.413,220,3.367,221,5.19,223,4.12,316,3.795,440,3.725,579,4.031,1058,5.681,1893,4.429]],["tags/286",[]],["title/287",[55,2.351,831,3.603]],["content/287",[4,0.63,46,2.6,55,3.047,61,2.806,184,3.432,185,3.823,220,3.642,221,5.615,223,4.457]],["tags/287",[]],["title/288",[66,0.963,1317,3.857,1899,4.607]],["content/288",[4,0.427,52,2.205,58,2.264,66,1.372,78,1.763,108,3.53,172,2.51,181,2.839,191,2.55,294,3.023,323,3.25,347,4.744,363,2.362,381,1.861,431,3.093,465,3.546,467,4.415,516,4.169,556,3.339,649,2.295,736,2.55,758,3.437,910,4.415,1150,4.415,1182,4.744,1265,4.415,1422,3.809,1445,4.744,1446,4.744,1935,6.566,1936,5.244,1937,5.244,1938,5.244,1939,5.244]],["tags/288",[]],["title/289",[170,4.865]],["content/289",[30,2.647,41,2.876,52,2.62,58,2.425,92,5.082,106,2.826,134,2.161,145,3.041,172,2.689,345,6.883,363,2.53,407,4.08,548,3.482,604,3.682,1129,3.394,1171,4.73,1186,2.647,1438,3.394,1521,3.394,1940,5.618,1941,7.609,1942,5.082,1943,5.618,1944,5.618,1945,5.082,1946,5.618,1947,5.618,1948,4.73]],["tags/289",[]],["title/290",[75,1.325,177,1.982,394,2.442,803,2.134,819,3.318]],["content/290",[4,0.63,184,3.432,187,2.838,819,6.508,1949,8.446,1950,6.994,1951,7.731,1952,7.731]],["tags/290",[]],["title/291",[52,1.35,75,1.494,202,2.274,323,2.754]],["content/291",[52,2.728,62,1.469,161,2.022,182,2.826,303,2.896,323,4.497,548,4.497,655,4.517,1945,6.564,1948,6.109,1953,7.256]],["tags/291",[]],["title/292",[75,1.191,107,0.823,154,1.346,161,0.986,218,1.845,1470,2.572]],["content/292",[4,0.801,8,2.971,55,1.938,66,0.93,107,1.144,134,1.892,137,2.702,161,1.37,182,1.915,187,1.805,316,2.611,320,0.987,548,3.047,556,3.131,568,2.473,649,3.037,720,2.214,836,4.139,922,3.325,1193,2.716,1438,2.971,1470,3.571,1516,4.139,1522,3.724,1949,4.448,1954,4.917,1955,4.917,1956,4.917,1957,4.917,1958,4.917,1959,4.917,1960,4.917,1961,4.917,1962,4.917,1963,4.917,1964,4.917]],["tags/292",[]],["title/293",[62,0.798,75,1.325,103,1.982,239,2.381,359,2.757]],["content/293",[61,3.003,62,1.675,103,4.889,1948,6.964]],["tags/293",[]],["title/294",[262,4.865]],["content/294",[4,0.63,58,3.337,62,1.565,107,1.798,154,2.939,322,2.939,480,5.228,655,3.888,850,5.228]],["tags/294",[]],["title/295",[208,3.696,695,3.364]],["content/295",[4,0.583,110,3.869,143,4.817,161,1.991,182,2.783,184,3.172,321,5.19,428,5.413,433,5.681,434,5.413,1457,5.681,1470,5.19,1965,7.147]],["tags/295",[]],["title/296",[62,1.207,190,3.364]],["content/296",[62,1.646,187,2.985,190,4.585,327,6.462,947,6.844,1966,8.13]],["tags/296",[]],["title/297",[11,2.647,62,1.207]],["content/297",[4,0.493,11,3.975,30,3.766,61,2.196,62,1.225,66,1.144,184,2.685,270,3.153,321,4.393,329,4.393,379,4.232,607,4.091,649,2.648,999,5.093,1129,3.655,1138,4.809,1950,8.618,1967,6.049,1968,6.049,1969,6.049]],["tags/297",[]],["title/319",[66,0.84,108,2.161,363,2.001,1898,3.005]],["content/319",[4,0.496,7,2.223,15,3.11,66,1.373,67,1.62,78,2.048,107,0.955,108,2.962,114,3.264,138,3.297,154,1.561,172,2.914,185,3.011,289,3.234,363,3.269,381,1.457,401,3.714,472,2.872,511,2.422,537,2.691,541,3.456,542,2.481,618,3.11,888,2.268,910,3.456,1026,3.11,1065,3.264,1230,5.078,1323,3.714,1381,3.456,1422,2.982,1629,2.982,1686,3.456,1893,2.545,1898,5.799,1911,3.456,1970,4.106,1971,3.456,1972,4.423,1973,4.106,1974,4.106,1975,4.106,1976,4.106,1977,4.106]],["tags/319",[]],["title/320",[170,4.865]],["content/320",[1,3.036,52,2.31,58,3.283,90,2.926,108,3.699,363,3.425,488,3.893,1065,6.047,1898,5.143,1972,5.524]],["tags/320",[]],["title/321",[75,1.325,137,1.535,177,1.982,182,1.535,548,2.442]],["content/321",[46,2.299,81,4.783,108,3.325,137,3.369,161,1.905,182,2.662,220,3.221,265,4.237,316,3.63,1893,4.237,1978,6.837,1979,6.185,1980,6.837,1981,6.837,1982,6.837,1983,6.837]],["tags/321",[]],["title/322",[75,1.081,107,0.748,108,1.563,154,1.222,202,1.645,363,1.447,880,2.173]],["content/322",[4,0.52,46,2.144,76,4.829,82,2.914,108,3.101,137,3.222,185,3.152,186,4.829,201,3.522,220,3.003,318,2.958,322,2.424,328,3.452,363,2.871,803,3.452,880,5.595,1893,3.951,1898,4.311,1972,4.63,1979,5.768]],["tags/322",[]],["title/323",[75,1.191,137,1.379,161,0.986,185,1.751,218,1.845,1893,2.194]],["content/323",[4,0.628,46,1.27,61,1.371,63,2.744,65,2.738,105,3.298,121,1.753,127,1.753,131,2.744,143,2.045,180,3.375,182,1.471,184,1.677,188,2.861,189,4.002,190,3.227,191,2.782,198,2.554,201,2.087,233,2.006,256,2.554,269,2.744,293,2.228,295,2.405,352,1.868,368,2.045,377,1.9,394,2.341,589,2.554,608,2.405,626,3.097,643,2.476,678,2.861,736,1.837,762,2.861,919,2.861,1001,2.405,1054,2.861,1186,2.695,1478,3.643,1521,2.282,1522,4.334,1524,3.18,1528,3.18,1529,3.18,1917,2.861,1921,6.123,1924,3.003,1925,3.418,1926,3.18,1927,3.18,1928,3.18,1931,3.003,1932,3.003,1984,3.418,1985,3.418,1986,3.778]],["tags/323",[]],["title/324",[61,1.167,75,1.081,218,1.675,431,1.896,736,1.563,1186,1.514,1521,1.942]],["content/324",[4,0.549,46,1.587,61,1.714,63,3.428,65,2.259,66,0.893,105,2.721,121,2.19,127,3.127,131,3.428,134,1.816,143,2.556,180,2.784,182,1.838,184,2.095,188,3.576,189,3.302,190,2.663,191,2.296,198,3.192,201,2.607,233,2.507,256,3.192,269,3.428,368,2.556,377,2.374,608,3.006,643,4.418,720,2.126,736,2.296,919,3.576,1054,3.576,1186,2.224,1438,2.852,1478,4.292,1520,3.753,1521,2.852,1921,3.753,1924,3.753,1931,3.753,1932,3.753,1984,4.271,1985,4.271,1987,4.721]],["tags/324",[]],["title/325",[262,4.865]],["content/325",[1,2.414,4,0.493,25,2.942,33,4.809,46,2.034,62,1.225,66,1.144,71,3.412,107,1.407,108,2.942,115,3.275,154,2.3,163,4.809,164,4.091,363,2.724,433,4.809,499,4.809,508,4.393,542,3.655,655,3.042,679,5.473,850,4.091,1478,3.852,1481,5.473,1898,4.091,1988,6.049]],["tags/325",[]],["title/326",[208,3.696,695,3.364]],["content/326",[]],["tags/326",[]],["title/327",[62,1.207,190,3.364]],["content/327",[4,0.68,46,2.173,61,2.346,62,1.309,75,2.173,98,3.045,108,4.497,190,4.708,322,2.457,328,3.499,363,2.91,579,3.645,783,4.521,1898,4.37,1972,4.694,1989,6.463,1990,5.847]],["tags/327",[]],["title/328",[55,2.351,831,3.603]],["content/328",[4,0.641,24,2.917,46,1.983,55,3.486,62,1.194,82,2.696,85,2.869,98,2.779,108,4.301,322,2.242,328,4.256,363,2.656,374,3.4,551,5.336,566,4.872,579,3.327,906,4.468,1898,3.988,1972,4.284,1990,7.112]],["tags/328",[]],["title/298",[66,0.963,1895,3.443,1896,3.443]],["content/298",[4,0.418,62,1.039,66,0.97,107,1.193,136,2.455,154,1.95,172,2.455,220,2.417,245,2.834,288,3.589,322,1.95,363,2.31,381,1.821,472,5.001,744,3.363,758,3.363,790,3.363,803,2.777,995,3.886,1133,4.078,1494,3.886,1718,4.319,1895,6.017,1896,5.563,1911,4.319,1991,5.131,1992,5.131,1993,5.131,1994,5.131,1995,5.131,1996,4.641,1997,4.319,1998,6.018]],["tags/298",[]],["title/299",[170,4.865]],["content/299",[46,2.403,52,2.171,61,2.594,62,1.447,243,3.795,783,6.224,1895,4.832,1896,4.832,1997,6.016,1999,7.147,2000,7.147,2001,6.465,2002,7.147]],["tags/299",[]],["title/300",[55,1.396,75,1.191,177,1.781,766,2.572,1895,2.394,1896,2.394]],["content/300",[]],["tags/300",[]],["title/301",[75,1.081,202,1.645,289,1.707,579,1.813,1895,2.173,1896,2.173,1998,2.706]],["content/301",[62,1.425,104,2.919,123,4.925,170,4.76,187,3.236,325,4.483,419,5.596,526,4.254,539,4.483,553,4.76,996,4.76,1997,5.927,1998,7.42]],["tags/301",[]],["title/302",[75,1.191,104,1.468,218,1.845,289,1.88,579,1.997,2003,3.541]],["content/302",[4,0.651,104,3.314,184,3.548,187,2.934,325,5.089,419,6.353,564,4.607]],["tags/302",[]],["title/303",[4,0.289,52,1.075,75,1.191,134,1.362,184,1.572,239,2.139]],["content/303",[25,2.391,46,1.653,52,1.493,55,1.938,65,2.353,66,1.312,67,1.308,80,3.724,83,3.833,102,4.139,104,2.877,107,1.614,134,1.892,138,2.662,175,2.773,176,2.611,233,2.611,300,3.321,320,0.987,322,1.869,472,4.854,626,2.662,634,3.219,787,4.139,788,3.909,810,3.724,1058,5.516,1422,3.571,1870,4.448,1915,6.277,2004,4.917,2005,4.917,2006,4.917,2007,4.917,2008,4.917]],["tags/303",[]],["title/304",[262,4.865]],["content/304",[4,0.601,58,3.181,62,1.492,66,1.393,107,1.714,154,2.802,322,2.802,480,4.983,655,3.706,850,4.983,1895,4.983,1896,4.983]],["tags/304",[]],["title/305",[208,3.696,695,3.364]],["content/305",[]],["tags/305",[]],["title/306",[62,1.207,190,3.364]],["content/306",[4,0.479,16,2.47,22,1.382,26,1.588,27,1.984,62,0.594,66,0.888,74,1.923,78,1.58,90,1.807,103,1.476,104,3.048,106,1.476,107,1.093,110,1.588,127,1.361,150,2.448,181,2.543,183,1.773,184,2.608,190,4.827,195,1.266,223,1.691,245,1.621,246,2.052,255,1.773,264,1.73,265,1.818,294,1.691,295,1.868,305,1.588,322,1.115,323,1.818,330,1.73,352,1.451,357,1.73,361,2.052,368,1.588,383,1.502,405,2.222,427,1.868,460,1.773,540,2.47,555,1.655,563,2.654,690,1.621,691,2.131,773,2.47,783,2.052,810,2.222,887,2.222,899,2.654,1072,2.47,1317,2.222,1354,2.47,1372,2.052,1437,2.222,1888,2.654,1895,4.543,1896,4.543,2001,2.654,2009,4.698,2010,2.934,2011,4.698,2012,4.698,2013,7.842,2014,2.934,2015,2.934,2016,2.934,2017,2.934,2018,2.934,2019,2.934,2020,2.934,2021,2.934]],["tags/306",[]],["title/307",[55,2.351,831,3.603]],["content/307",[4,0.427,55,3.541,104,3.452,108,3.53,130,2.839,137,2.042,184,2.328,326,5.498,328,4.506,386,3.133,460,3.168,462,3.669,488,2.684,555,2.958,557,3.339,579,2.958,724,3.25,730,5.078,884,3.809,2022,5.244,2023,5.244,2024,5.244,2025,8.984,2026,5.244]],["tags/307",[]],["title/308",[66,1.128,1897,4.172]],["content/308",[4,0.418,7,2.777,54,2.277,61,1.862,62,1.039,66,0.97,67,1.365,78,1.725,107,1.193,108,2.495,136,2.455,137,1.998,154,1.95,172,2.455,185,2.537,265,3.18,357,3.026,387,2.674,454,4.641,470,3.886,472,5.001,622,2.834,653,4.641,720,2.31,758,3.363,783,3.589,830,4.641,904,4.078,1035,4.078,1127,4.641,1133,4.078,1629,3.726,1897,5.001,1935,4.641,1971,4.319,1972,3.726,1996,4.641,2027,5.131]],["tags/308",[]],["title/309",[170,4.865]],["content/309",[52,2.427,61,2.901,62,1.618,78,2.688,136,3.825,1193,4.415,1897,5.591]],["tags/309",[]],["title/310",[75,1.325,107,0.917,154,1.498,177,1.982,1186,1.857]],["content/310",[55,2.86,78,2.44,104,3.009,136,3.473,553,4.907,564,4.183,579,4.093,766,6.523,1437,5.496,1897,5.076,2028,7.256,2029,7.256]],["tags/310",[]],["title/311",[52,1.35,75,1.494,202,2.274,1437,3.366]],["content/311",[4,0.669,43,3.805,44,4.356,46,2.115,66,1.551,75,2.115,107,1.463,134,2.42,195,2.715,218,3.279,243,3.34,266,5.691,527,4.401,626,3.406,1478,4.006,1926,5.296,1927,5.296,1928,5.296,2030,6.291]],["tags/311",[]],["title/312",[4,0.262,62,0.651,75,1.081,107,0.748,154,1.222,184,1.427,218,1.675]],["content/312",[4,0.574,43,3.266,44,3.738,52,2.138,54,3.125,104,2.919,184,3.125,322,3.351,564,4.059,720,3.17,736,3.424,1406,4.614,1438,4.254,1897,4.925]],["tags/312",[]],["title/313",[61,1.167,75,1.081,218,1.675,431,1.896,736,1.563,1186,1.514,1521,1.942]],["content/313",[4,0.712,61,2.518,66,1.312,75,2.333,113,4.191,143,3.755,184,3.079,202,3.551,368,3.755,703,5.514,736,3.374,1133,5.514,1186,3.268,1438,4.191,1521,4.191]],["tags/313",[]],["title/314",[52,1.35,75,1.494,134,1.709,239,2.685]],["content/314",[4,0.549,41,3.449,66,1.274,76,5.105,77,3.578,85,3.277,127,3.126,255,4.072,301,2.991,322,2.562,626,3.648,642,5.673,655,3.389,1478,5.46,2031,6.739,2032,6.739,2033,6.739]],["tags/314",[]],["title/315",[262,4.865]],["content/315",[4,0.61,58,3.231,62,1.516,66,1.415,107,1.741,154,2.846,322,2.846,480,5.062,655,3.765,850,5.062,1897,5.237]],["tags/315",[]],["title/316",[208,3.696,695,3.364]],["content/316",[]],["tags/316",[]],["title/317",[62,1.207,190,3.364]],["content/317",[4,0.61,104,3.104,137,2.915,185,3.702,190,4.222,322,3.481,374,4.316,557,4.767,579,4.222,643,4.907]],["tags/317",[]],["title/318",[55,2.351,831,3.603]],["content/318",[4,0.549,55,3.38,59,3.648,62,1.365,104,2.794,137,2.624,154,2.562,185,3.332,322,3.26,374,3.885,402,4.417,557,4.291,579,3.801,643,4.417,780,5.357,2034,6.739]],["tags/318",[]],["title/329",[161,1.419,182,1.983,648,3.156]],["content/329",[4,0.606,62,1.098,90,2.087,98,2.556,107,1.262,108,2.638,121,2.517,154,2.062,161,2.361,179,3.555,180,3.2,182,2.112,207,2.596,222,3.278,303,2.165,316,2.881,318,2.517,320,1.491,456,3.362,621,4.19,648,3.362,720,2.443,728,4.312,744,3.555,835,4.382,1039,4.907,1339,4.109,1472,4.312,2035,5.425]],["tags/329",[]],["title/330",[90,1.959,207,2.437,621,2.872]],["content/330",[4,0.389,90,1.834,161,1.328,207,2.282,1357,3.79,1363,3.79,1830,4.314,1942,4.314,2036,4.768,2037,4.768,2038,4.768,2039,4.768,2040,4.314,2041,4.314,2042,4.314,2043,4.768,2044,6.789,2045,4.768,2046,4.768,2047,4.768,2048,4.768,2049,4.768,2050,4.768,2051,4.768,2052,4.768,2053,4.768,2054,4.768,2055,4.768,2056,4.768,2057,4.768,2058,4.768,2059,4.768,2060,4.768,2061,4.768,2062,4.768,2063,4.768,2064,4.768,2065,4.768,2066,4.768,2067,4.768,2068,4.768,2069,4.768,2070,4.768,2071,4.768,2072,4.768,2073,4.768]],["tags/330",[]],["title/331",[161,1.419,222,3.077,744,3.338]],["content/331",[4,0.589,43,2.42,44,2.77,62,0.678,66,0.633,67,0.891,84,2.133,90,1.289,105,1.931,161,2.313,175,2.942,182,1.304,195,1.446,222,5.015,261,1.059,320,1.666,368,1.813,372,1.976,386,2.252,403,3.788,413,3.951,427,2.133,439,3.152,472,2.343,501,1.85,560,2.537,621,2.942,622,3.539,644,2.537,645,2.663,687,2.265,695,1.889,698,2.433,716,2.82,736,2.537,744,5.137,835,1.976,1002,3.03,1110,3.03,1358,3.03,1359,3.03,1400,2.82,1409,3.788,1412,2.663,1472,2.663,1562,3.03,1693,3.03,2042,3.03,2074,3.35,2075,3.03,2076,3.35,2077,3.35,2078,3.35,2079,3.35,2080,3.35]],["tags/331",[]],["title/332",[318,2.362,320,1.022,2081,4.287]],["content/332",[0,1.085,1,0.751,4,0.265,13,1.234,30,2.016,41,0.964,46,1.712,58,0.813,62,0.381,66,1.187,73,2.581,81,1.317,94,1.426,98,0.887,108,0.916,109,1.426,161,1.75,172,0.901,181,1.758,183,1.137,187,3.008,198,1.273,207,0.901,218,0.981,233,1,258,2.581,273,1.662,280,0.931,298,1.367,300,2.048,318,3.45,320,1.261,331,1.426,337,1.367,383,0.964,387,0.981,405,1.426,413,1.426,439,1.137,456,2.012,459,1.199,488,0.964,492,1.703,511,1.915,519,2.994,549,1.585,564,1.085,571,0.947,607,2.195,608,1.199,616,1.137,622,1.04,649,1.421,674,2.459,698,1.367,702,1.496,703,2.581,709,1.426,720,0.848,722,1.367,728,1.496,798,1.367,842,1.703,882,1.234,891,2.581,909,1.585,948,2.733,1075,1.273,1186,0.887,1220,1.703,1339,1.426,1402,1.703,1403,3.872,1405,1.703,1406,2.128,1409,1.367,1471,1.496,1482,2.937,1607,1.703,1610,1.585,1620,2.581,1734,2.733,1735,5.195,1795,2.937,2040,1.703,2041,1.703,2081,4.285,2082,3.247,2083,3.247,2084,3.247,2085,1.883,2086,1.883,2087,3.247,2088,3.247,2089,1.703,2090,1.883,2091,1.883,2092,1.883,2093,1.883,2094,1.883,2095,1.585,2096,1.883,2097,1.883,2098,1.883,2099,1.883,2100,1.883,2101,1.883,2102,4.28,2103,1.883,2104,1.883,2105,1.883,2106,3.247,2107,1.883,2108,1.883,2109,1.883,2110,1.883,2111,1.883,2112,1.883,2113,1.883,2114,1.883,2115,1.883]],["tags/332",[]],["title/333",[649,3.149]],["content/333",[46,1.707,58,2.191,109,5.374,140,2.994,218,2.645,318,3.291,320,1.019,649,2.221,996,3.432,1412,4.034,1610,4.273,2075,4.591,2081,4.273,2089,4.591,2095,4.273,2116,5.075,2117,5.075,2118,5.075,2119,5.075,2120,5.075,2121,5.075,2122,5.075,2123,5.075,2124,5.075,2125,5.075,2126,5.075,2127,5.075,2128,5.075,2129,5.075,2130,5.075,2131,5.075,2132,5.075,2133,5.075,2134,5.075,2135,5.075,2136,5.075,2137,5.075,2138,5.075,2139,5.075]],["tags/333",[]],["title/334",[11,2.647,320,1.197]],["content/334",[]],["tags/334",[]],["title/335",[11,2.26,255,3.077,320,1.022]],["content/335",[0,2.694,1,1.865,11,3.471,13,3.063,21,3.375,30,2.202,85,2.273,161,2.517,195,2.017,198,3.16,201,2.582,241,3.16,303,1.865,316,2.482,320,1.814,468,3.16,474,2.53,478,3.395,498,3.54,501,2.582,637,3.27,641,2.824,690,2.582,720,2.105,756,3.54,770,2.976,864,3.935,868,3.935,922,3.16,1018,4.228,1075,3.16,1284,3.54,1406,3.063,1408,3.715,1494,3.54,1619,3.935,1620,3.715]],["tags/335",[]],["title/336",[649,3.149]],["content/336",[11,2.138,24,2.382,26,2.608,30,3.745,80,3.649,109,5.18,121,3.172,127,2.235,176,2.558,228,4.055,320,1.596,339,3.649,365,2.382,366,2.777,456,2.985,457,4.358,466,2.465,501,2.661,511,2.841,526,2.91,539,3.067,616,4.132,641,2.91,650,3.649,690,3.777,1412,6.88,1416,6.186,2140,6.839,2141,4.817,2142,6.839,2143,6.839]],["tags/336",[]],["title/337",[127,2.362,320,1.022,699,4.287]],["content/337",[11,3.405,13,3.727,21,2.454,85,2.765,127,2.638,161,2.137,201,3.141,320,1.743,468,3.845,474,3.078,478,4.129,498,4.307,641,3.435,690,3.141,699,6.457,756,4.307,864,4.786,868,4.786,1075,3.845,1284,4.307,1400,4.786,1406,3.727,1408,4.52,1494,4.307,1619,4.786,2144,5.686]],["tags/337",[]],["title/338",[67,1.586,363,2.685]],["content/338",[1,2.242,4,0.458,22,2.647,31,2.928,34,3.93,62,1.541,67,2.65,134,2.161,142,4.255,176,2.983,264,3.314,363,3.885,381,1.994,605,3.394,634,2.606,636,3.103,769,4.08,778,3.314,834,3.799,1286,4.73,1498,3.93,2145,5.618,2146,4.73,2147,5.618]],["tags/338",[]],["title/339",[67,1.586,634,2.767]],["content/339",[]],["tags/339",[]],["title/340",[175,3.364,778,3.517]],["content/340",[4,0.674,8,4.999,31,3.323,56,3.76,62,1.291,66,1.205,67,1.696,78,2.144,261,2.015,293,3.76,303,2.544,365,3.152,366,5.296,634,3.839,1392,5.367,1502,4.63,2148,4.46]],["tags/340",[]],["title/341",[634,2.362,636,2.813,1501,4.287]],["content/341",[4,0.458,62,1.138,66,1.062,67,1.494,107,1.307,134,2.161,191,2.732,211,4.987,346,4.73,365,2.778,377,4.339,381,1.994,502,3.799,628,4.255,634,4.002,636,3.103,770,3.577,807,4.08,997,4.255,1500,4.73,1502,4.08,2148,5.323,2149,5.082,2150,5.618,2151,5.618,2152,5.082]],["tags/341",[]],["title/342",[626,2.757,634,2.362,1501,4.287]],["content/342",[1,2.528,4,0.516,7,2.345,8,2.617,11,1.923,56,2.555,62,1.516,67,2.192,77,2.3,97,2.929,107,1.473,191,3.081,211,2.839,302,3.03,305,2.345,377,3.186,381,1.537,502,2.929,626,4.746,628,3.281,634,3.823,649,1.896,740,3.646,743,3.646,789,3.646,807,3.146,836,3.646,995,3.281,997,3.281,1267,3.918,1285,3.646,1500,3.646,1503,3.918,1504,3.646,1695,3.918,2152,3.918,2153,4.332,2154,4.332,2155,4.332,2156,4.332]],["tags/342",[]],["title/343",[67,1.586,1498,4.172]],["content/343",[1,1.962,4,0.401,14,5.84,21,3.471,56,2.9,67,2.323,78,1.653,107,1.144,137,1.915,178,2.517,191,2.391,193,2.473,205,2.9,300,2.353,303,1.962,355,2.353,366,2.835,377,2.473,477,3.325,600,4.093,605,2.971,633,3.325,723,3.571,770,3.131,771,4.139,798,3.571,1035,3.909,1072,4.139,1308,4.448,1497,4.448,1498,6.11,2157,4.917,2158,4.917]],["tags/343",[]],["title/344",[31,3.108,67,1.586]],["content/344",[1,2.64,4,0.442,7,1.908,12,1.947,21,3.207,31,4.873,34,2.465,41,2.777,56,2.079,67,2.424,75,1.825,78,1.825,86,2.669,94,2.669,106,1.773,107,0.82,168,1.837,183,2.129,191,1.714,193,1.773,195,1.521,265,2.184,274,3.188,355,1.687,358,2.465,365,1.743,366,2.032,377,1.773,463,4.568,466,2.777,477,2.383,502,2.383,600,2.079,604,2.31,615,3.363,633,2.383,634,2.517,636,1.947,770,2.244,855,2.669,997,2.669,1117,3.188,1132,3.188,1407,2.802,1498,2.465,1499,3.188,1502,2.56,1719,3.188,2159,3.524,2160,3.524,2161,3.188,2162,3.524,2163,3.524,2164,3.524]],["tags/344",[]],["title/345",[67,1.586,636,3.294]],["content/345",[1,2.203,4,0.45,7,1.952,34,2.522,46,1.212,62,0.73,67,2.274,78,2.256,129,2.866,137,1.404,150,3.497,177,1.813,181,2.989,183,4.054,195,1.556,202,1.845,218,1.879,229,2.522,239,2.178,245,1.991,264,2.126,271,2.234,320,1.108,330,2.126,363,1.623,383,1.845,386,1.556,474,1.952,511,2.126,548,2.234,554,2.126,566,2.234,571,1.813,589,3.733,603,2.522,604,2.363,605,2.178,634,2.561,636,4.916,638,4.389,696,2.522,702,2.866,723,2.618,743,3.035,1095,2.618,1371,4.182,1410,3.035,1502,2.618,2146,3.035,2148,3.862,2161,3.261,2165,3.605,2166,3.605]],["tags/345",[]],["title/346",[1918,5.719]],["content/346",[4,0.381,22,2.202,24,2.311,25,1.418,30,2.202,61,1.058,62,1.484,66,0.884,71,1.645,77,1.548,81,2.04,90,1.122,106,1.466,110,1.579,115,1.579,120,2.455,125,2.318,136,2.237,142,2.209,176,2.482,178,2.393,181,1.579,184,1.294,185,1.442,187,1.07,233,1.548,245,1.611,261,2.316,286,1.645,289,1.548,303,1.164,315,1.492,333,1.611,352,1.442,355,1.395,358,2.04,381,1.035,394,1.807,395,2.455,434,2.209,474,2.531,488,1.492,499,2.318,508,2.118,517,1.911,539,1.857,604,1.911,615,1.807,655,1.466,725,2.318,733,2.209,778,1.72,803,1.579,804,2.455,807,2.118,872,1.911,883,2.04,903,2.455,904,2.318,906,2.209,920,2.118,1086,2.455,1095,4.862,1259,2.209,1296,2.455,1354,2.455,1436,2.455,1465,2.455,1629,2.118,1901,2.638,1908,2.638,1909,2.455,1918,6.216,2167,2.638,2168,2.916,2169,2.916,2170,2.916,2171,2.916,2172,2.638,2173,2.916,2174,2.638,2175,2.916,2176,2.638,2177,2.916,2178,2.916]],["tags/346",[]],["title/347",[31,3.749]],["content/347",[4,0.531,7,2.434,30,2.118,31,4.638,43,2.086,59,2.434,62,1.318,67,2.545,83,2.483,85,2.187,103,2.261,124,4.93,130,2.434,143,2.434,177,2.261,184,1.996,195,1.941,202,2.301,218,2.343,239,2.717,261,2.057,381,1.596,383,2.301,434,3.406,473,3.839,484,3.574,538,2.152,554,2.652,572,3.04,645,3.574,790,2.947,883,3.145,1107,3.785,2167,4.067,2179,4.496,2180,4.496,2181,4.496,2182,4.496]],["tags/347",[]],["title/348",[31,3.108,600,3.517]],["content/348",[24,3.152,25,3.101,31,3.323,40,4.63,62,1.291,74,4.179,107,1.483,191,3.101,193,3.207,206,4.311,261,2.015,323,3.951,377,3.207,435,4.63,473,3.76,502,4.311,517,4.179,600,3.76,967,4.311,1095,4.63,1285,5.367,1510,5.768]],["tags/348",[]],["title/349",[264,4.243]],["content/349",[62,1.327,67,1.743,273,3.354,275,3.777,383,3.354,393,4.295,397,4.759,446,4.431,773,5.516,1595,7.05,2146,5.516,2172,5.928,2176,7.619,2183,6.553,2184,6.553,2185,6.553,2186,6.553]],["tags/349",[]],["title/350",[2187,7.194]],["content/350",[35,2.753,43,1.825,48,2.506,55,2.326,58,1.698,62,0.797,71,3.992,85,1.914,98,1.854,103,1.979,104,1.632,107,0.915,115,2.13,124,2.981,144,2.858,145,2.13,148,2.321,161,1.644,164,2.661,220,1.854,276,2.981,286,2.219,292,2.981,381,1.397,431,2.321,433,4.69,533,3.128,556,2.506,604,2.579,667,2.753,681,3.867,708,3.56,722,2.858,758,3.867,831,2.377,833,2.858,835,2.321,969,3.56,1007,3.56,1008,3.56,1024,3.56,1030,3.313,1254,3.56,1351,3.56,1378,2.089,1379,3.56,1470,2.858,1484,3.313,1917,2.981,1971,3.313,2188,5.958,2189,3.935,2190,3.935,2191,3.935,2192,3.935,2193,3.935,2194,3.935,2195,3.935,2196,3.935]],["tags/350",[]],["title/351",[346,3.741,758,2.912,2188,3.741,2197,4.443]],["content/351",[4,0.453,12,3.067,55,2.189,61,2.015,62,1.863,71,3.132,82,2.537,105,3.201,106,3.796,107,1.291,134,2.136,147,4.678,149,3.639,261,2.71,331,4.205,533,4.413,553,3.754,744,3.639,835,3.275,1457,4.413,1484,4.674,1753,5.023,1917,4.205,2198,5.552,2199,5.552,2200,5.552]],["tags/351",[]],["title/352",[722,3.698,758,3.338,2188,4.287]],["content/352",[]],["tags/352",[]],["title/353",[179,3.338,320,1.022,755,4.607]],["content/353",[320,1.69,539,5.361,603,5.89,834,5.693]],["tags/353",[]],["title/354",[62,0.296,137,0.569,149,0.958,187,1.794,204,1.231,320,0.293,427,0.931,568,0.735,641,0.883,1186,0.689,1438,0.883,2148,1.82,2201,1.462,2202,1.462,2203,1.462]],["content/354",[4,0.62,43,2.606,44,2.983,61,2.762,66,1.062,67,2.295,71,3.169,179,3.682,180,3.314,182,2.188,187,2.063,191,2.732,195,2.425,264,3.314,377,2.826,407,4.08,429,3.93,807,4.08,1232,4.255,1473,5.082,1476,5.082,1713,5.082,2148,6.036,2204,5.618,2205,5.618,2206,5.618]],["tags/354",[]],["title/355",[62,0.954,149,1.929,187,1.08,738,1.66,965,2.662,1215,2.477,2207,2.943]],["content/355",[43,2.703,44,3.093,58,2.515,62,1.579,66,1.102,67,1.55,85,2.833,90,2.241,134,2.241,181,3.154,205,4.599,270,3.036,275,3.358,383,2.982,397,4.231,488,2.982,538,2.788,600,3.436,730,4.075,738,3.286,966,4.904,1465,4.904,1492,6.564,2174,5.27,2208,5.826,2209,5.826]],["tags/355",[]],["title/356",[67,1.182,352,2.197,634,2.061,778,2.621]],["content/356",[8,4.671,31,4.029,67,2.056,303,3.085,365,3.823,366,4.457,634,3.586,1502,5.615,2148,5.408]],["tags/356",[]],["title/357",[52,1.075,62,0.717,98,1.668,187,1.3,206,2.394,320,0.711]],["content/357",[21,2.079,31,2.51,52,2.077,58,2.079,62,1.385,93,3.498,106,2.423,107,1.849,161,1.342,182,2.663,219,3.37,243,2.558,259,6.32,272,3.257,318,2.235,320,1.373,327,3.829,387,2.51,429,3.37,453,4.238,459,4.354,488,2.465,503,4.624,564,2.777,643,3.157,644,3.649,720,2.169,730,4.784,759,4.055,1448,4.055,1599,3.649,2148,3.37,2210,4.817,2211,4.817]],["tags/357",[]],["title/358",[460,3.077,461,3.562,714,3.698]],["content/358",[107,2.109,154,2.802,320,1.479,381,3.219,439,4.452,460,4.452,461,5.155,485,3.096,503,4.983,568,3.706]],["tags/358",[]],["title/359",[320,1.022,485,2.14,804,4.287]],["content/359",[62,1.257,107,1.444,134,2.388,154,2.36,161,1.73,259,7.209,318,2.88,320,1.633,381,3.219,439,3.751,485,3.81,600,3.662,645,4.935,730,4.343,1620,4.935,2095,5.226,2212,6.208]],["tags/359",[]],["title/360",[634,2.362,636,2.813,2149,4.607]],["content/360",[67,2.162,539,5.176,634,3.771,740,6.844,834,5.497,1410,6.844]],["tags/360",[]],["title/361",[626,2.757,634,2.362,1469,4.607]],["content/361",[67,2.162,539,5.176,626,4.401,634,3.771,834,5.497,1504,6.844]],["tags/361",[]],["title/362",[320,1.022,386,2.198,2213,5.092]],["content/362",[1,1.942,43,3.709,44,4.246,62,1.619,78,1.636,86,5.218,105,2.805,106,2.448,107,1.132,143,2.635,187,1.787,191,2.367,261,2.177,313,2.491,377,2.448,386,2.101,560,5.218,584,3.686,1299,4.402,1372,3.404,1381,4.097,1507,4.402,1629,3.534,1909,4.097,2214,7.996,2215,7.996,2216,4.866,2217,4.866,2218,4.866,2219,4.866,2220,4.866,2221,4.866]],["tags/362",[]]],"invertedIndex":[["",{"_index":187,"title":{"91":{},"125":{},"210":{},"211":{},"354":{},"355":{},"357":{}},"content":{"51":{},"52":{},"53":{},"54":{},"63":{},"96":{},"113":{},"125":{},"127":{},"130":{},"140":{},"141":{},"142":{},"161":{},"169":{},"170":{},"172":{},"173":{},"179":{},"187":{},"209":{},"242":{},"250":{},"251":{},"253":{},"262":{},"278":{},"281":{},"290":{},"292":{},"296":{},"301":{},"302":{},"332":{},"346":{},"354":{},"362":{}},"tags":{}}],["0",{"_index":1372,"title":{},"content":{"184":{},"185":{},"205":{},"254":{},"273":{},"306":{},"362":{}},"tags":{}}],["0000",{"_index":210,"title":{},"content":{"52":{}},"tags":{}}],["06",{"_index":2038,"title":{},"content":{"330":{}},"tags":{}}],["1",{"_index":177,"title":{"51":{},"93":{},"115":{},"203":{},"205":{},"265":{},"281":{},"282":{},"290":{},"300":{},"310":{},"321":{}},"content":{"113":{},"116":{},"117":{},"186":{},"209":{},"242":{},"254":{},"345":{},"347":{}},"tags":{}}],["1.0.1",{"_index":1396,"title":{},"content":{"208":{}},"tags":{}}],["1.9.0.0",{"_index":1099,"title":{},"content":{"155":{}},"tags":{}}],["10",{"_index":250,"title":{},"content":{"54":{},"179":{},"185":{},"254":{}},"tags":{}}],["10/11",{"_index":782,"title":{},"content":{"112":{}},"tags":{}}],["1000",{"_index":1475,"title":{},"content":{"179":{}},"tags":{}}],["1000:1000",{"_index":2205,"title":{},"content":{"354":{}},"tags":{}}],["1024",{"_index":979,"title":{},"content":{"130":{},"179":{}},"tags":{}}],["11",{"_index":1815,"title":{},"content":{"254":{}},"tags":{}}],["112",{"_index":216,"title":{},"content":{"52":{}},"tags":{}}],["12",{"_index":1736,"title":{},"content":{"242":{},"254":{}},"tags":{}}],["13",{"_index":1812,"title":{},"content":{"254":{}},"tags":{}}],["14",{"_index":1820,"title":{},"content":{"254":{}},"tags":{}}],["15",{"_index":1822,"title":{},"content":{"254":{}},"tags":{}}],["16",{"_index":1804,"title":{},"content":{"254":{}},"tags":{}}],["16:9",{"_index":1784,"title":{},"content":{"253":{}},"tags":{}}],["17",{"_index":1814,"title":{},"content":{"254":{}},"tags":{}}],["17/aug/2023:20:25:47",{"_index":209,"title":{},"content":{"52":{}},"tags":{}}],["18",{"_index":1556,"title":{},"content":{"183":{},"242":{},"246":{},"254":{}},"tags":{}}],["19",{"_index":1828,"title":{},"content":{"254":{}},"tags":{}}],["2",{"_index":202,"title":{"52":{},"94":{},"116":{},"204":{},"206":{},"266":{},"283":{},"291":{},"301":{},"311":{},"322":{}},"content":{"113":{},"116":{},"117":{},"209":{},"242":{},"254":{},"313":{},"345":{},"347":{}},"tags":{}}],["20",{"_index":1830,"title":{},"content":{"254":{},"330":{}},"tags":{}}],["2011).7z",{"_index":2143,"title":{},"content":{"336":{}},"tags":{}}],["2011).ex",{"_index":2075,"title":{},"content":{"331":{},"333":{}},"tags":{}}],["2011).zip",{"_index":1416,"title":{},"content":{"209":{},"336":{}},"tags":{}}],["2014",{"_index":1397,"title":{},"content":{"208":{}},"tags":{}}],["2014).7z",{"_index":1399,"title":{},"content":{"208":{}},"tags":{}}],["2017",{"_index":818,"title":{},"content":{"113":{}},"tags":{}}],["2018).zip",{"_index":2133,"title":{},"content":{"333":{}},"tags":{}}],["2019",{"_index":2098,"title":{},"content":{"332":{}},"tags":{}}],["2019).zip",{"_index":2121,"title":{},"content":{"333":{}},"tags":{}}],["2021",{"_index":2097,"title":{},"content":{"332":{}},"tags":{}}],["2021).7z",{"_index":2123,"title":{},"content":{"333":{}},"tags":{}}],["2021).zip",{"_index":2100,"title":{},"content":{"332":{}},"tags":{}}],["2022).7z",{"_index":2135,"title":{},"content":{"333":{}},"tags":{}}],["2022).gz",{"_index":2139,"title":{},"content":{"333":{}},"tags":{}}],["2022).iso",{"_index":2127,"title":{},"content":{"333":{}},"tags":{}}],["2022).zip",{"_index":2130,"title":{},"content":{"333":{}},"tags":{}}],["2023",{"_index":2037,"title":{},"content":{"330":{}},"tags":{}}],["2024",{"_index":859,"title":{},"content":{"132":{}},"tags":{}}],["21",{"_index":1832,"title":{},"content":{"254":{}},"tags":{}}],["22",{"_index":1834,"title":{},"content":{"254":{}},"tags":{}}],["23",{"_index":1837,"title":{},"content":{"254":{}},"tags":{}}],["23.01",{"_index":2036,"title":{},"content":{"330":{}},"tags":{}}],["24",{"_index":1839,"title":{},"content":{"254":{}},"tags":{}}],["25",{"_index":1841,"title":{},"content":{"254":{}},"tags":{}}],["250",{"_index":1592,"title":{},"content":{"186":{}},"tags":{}}],["26",{"_index":1843,"title":{},"content":{"254":{}},"tags":{}}],["28",{"_index":1846,"title":{},"content":{"254":{}},"tags":{}}],["28.231",{"_index":214,"title":{},"content":{"52":{}},"tags":{}}],["29",{"_index":1848,"title":{},"content":{"254":{}},"tags":{}}],["3",{"_index":218,"title":{"53":{},"117":{},"207":{},"208":{},"267":{},"292":{},"302":{},"312":{},"313":{},"323":{},"324":{}},"content":{"113":{},"127":{},"254":{},"311":{},"332":{},"333":{},"345":{},"347":{}},"tags":{}}],["30",{"_index":1584,"title":{},"content":{"186":{},"254":{}},"tags":{}}],["300",{"_index":1573,"title":{},"content":{"185":{}},"tags":{}}],["31",{"_index":1851,"title":{},"content":{"254":{}},"tags":{}}],["32",{"_index":1853,"title":{},"content":{"254":{}},"tags":{}}],["32mb",{"_index":1389,"title":{},"content":{"206":{}},"tags":{}}],["33",{"_index":1855,"title":{},"content":{"254":{}},"tags":{}}],["34",{"_index":1858,"title":{},"content":{"254":{}},"tags":{}}],["35",{"_index":1860,"title":{},"content":{"254":{}},"tags":{}}],["36",{"_index":1862,"title":{},"content":{"254":{}},"tags":{}}],["3600",{"_index":252,"title":{},"content":{"54":{}},"tags":{}}],["37",{"_index":1864,"title":{},"content":{"254":{}},"tags":{}}],["38",{"_index":1866,"title":{},"content":{"254":{}},"tags":{}}],["3860686742",{"_index":421,"title":{},"content":{"69":{}},"tags":{}}],["3gp",{"_index":1676,"title":{},"content":{"227":{}},"tags":{}}],["3gpp",{"_index":1677,"title":{},"content":{"227":{}},"tags":{}}],["3rd",{"_index":360,"title":{},"content":{"64":{},"267":{}},"tags":{}}],["4",{"_index":239,"title":{"54":{},"210":{},"268":{},"293":{},"303":{},"314":{}},"content":{"113":{},"226":{},"227":{},"254":{},"345":{},"347":{}},"tags":{}}],["4.0",{"_index":1214,"title":{},"content":{"175":{},"189":{}},"tags":{}}],["4.99/month",{"_index":1020,"title":{},"content":{"141":{}},"tags":{}}],["401",{"_index":213,"title":{},"content":{"52":{},"57":{}},"tags":{}}],["46620",{"_index":1327,"title":{},"content":{"196":{}},"tags":{}}],["49.90/year",{"_index":1021,"title":{},"content":{"141":{}},"tags":{}}],["49151",{"_index":1483,"title":{},"content":{"179":{}},"tags":{}}],["5",{"_index":254,"title":{"55":{},"269":{}},"content":{"185":{},"254":{}},"tags":{}}],["50",{"_index":1756,"title":{},"content":{"251":{}},"tags":{}}],["500",{"_index":965,"title":{"355":{}},"content":{"130":{}},"tags":{}}],["5432",{"_index":1527,"title":{},"content":{"181":{}},"tags":{}}],["6",{"_index":258,"title":{"56":{},"270":{}},"content":{"254":{},"332":{}},"tags":{}}],["60",{"_index":1565,"title":{},"content":{"184":{},"185":{}},"tags":{}}],["64",{"_index":1387,"title":{},"content":{"206":{}},"tags":{}}],["7",{"_index":1801,"title":{},"content":{"254":{}},"tags":{}}],["74",{"_index":664,"title":{},"content":{"92":{}},"tags":{}}],["7z",{"_index":1363,"title":{},"content":{"205":{},"206":{},"207":{},"330":{}},"tags":{}}],["7zip",{"_index":1357,"title":{},"content":{"204":{},"206":{},"207":{},"330":{}},"tags":{}}],["8",{"_index":1809,"title":{},"content":{"254":{}},"tags":{}}],["80",{"_index":559,"title":{},"content":{"73":{}},"tags":{}}],["8080",{"_index":1481,"title":{},"content":{"179":{},"325":{}},"tags":{}}],["8080:8080/tcp",{"_index":1924,"title":{},"content":{"281":{},"282":{},"323":{},"324":{}},"tags":{}}],["9",{"_index":1734,"title":{},"content":{"242":{},"254":{},"332":{}},"tags":{}}],["9.0.0",{"_index":2167,"title":{},"content":{"346":{},"347":{}},"tags":{}}],["9999",{"_index":1603,"title":{},"content":{"187":{}},"tags":{}}],["9s",{"_index":1733,"title":{},"content":{"242":{}},"tags":{}}],["aac",{"_index":1648,"title":{},"content":{"226":{}},"tags":{}}],["abil",{"_index":723,"title":{},"content":{"94":{},"96":{},"131":{},"158":{},"343":{},"345":{}},"tags":{}}],["abort",{"_index":575,"title":{},"content":{"74":{},"78":{},"92":{}},"tags":{}}],["abov",{"_index":674,"title":{},"content":{"92":{},"127":{},"155":{},"244":{},"332":{}},"tags":{}}],["abstract.metadata",{"_index":1743,"title":{},"content":{"243":{}},"tags":{}}],["acb",{"_index":1856,"title":{},"content":{"254":{}},"tags":{}}],["acb_g",{"_index":1857,"title":{},"content":{"254":{}},"tags":{}}],["acb_m",{"_index":1861,"title":{},"content":{"254":{}},"tags":{}}],["acb_ma15",{"_index":1863,"title":{},"content":{"254":{}},"tags":{}}],["acb_pg",{"_index":1859,"title":{},"content":{"254":{}},"tags":{}}],["acb_r18",{"_index":1865,"title":{},"content":{"254":{}},"tags":{}}],["accept",{"_index":68,"title":{"147":{}},"content":{"187":{},"191":{},"216":{},"218":{},"220":{},"222":{}},"tags":{}}],["access",{"_index":1,"title":{"214":{},"219":{},"220":{}},"content":{"48":{},"57":{},"73":{},"113":{},"116":{},"119":{},"131":{},"138":{},"139":{},"151":{},"158":{},"173":{},"190":{},"208":{},"215":{},"216":{},"217":{},"218":{},"220":{},"221":{},"222":{},"278":{},"284":{},"320":{},"325":{},"332":{},"335":{},"338":{},"342":{},"343":{},"344":{},"345":{},"362":{},"363":{}},"tags":{}}],["accid",{"_index":2212,"title":{},"content":{"359":{}},"tags":{}}],["accomplish",{"_index":2010,"title":{},"content":{"306":{}},"tags":{}}],["accordingli",{"_index":151,"title":{},"content":{"47":{}},"tags":{}}],["account",{"_index":56,"title":{"136":{}},"content":{"106":{},"117":{},"142":{},"174":{},"179":{},"216":{},"250":{},"278":{},"340":{},"342":{},"343":{},"344":{}},"tags":{}}],["accur",{"_index":1339,"title":{},"content":{"202":{},"209":{},"249":{},"329":{},"332":{}},"tags":{}}],["accustom",{"_index":867,"title":{},"content":{"132":{}},"tags":{}}],["achiev",{"_index":1376,"title":{},"content":{"206":{}},"tags":{}}],["acknowledg",{"_index":1314,"title":{},"content":{"192":{}},"tags":{}}],["acquir",{"_index":877,"title":{},"content":{"166":{}},"tags":{}}],["act",{"_index":829,"title":{},"content":{"115":{}},"tags":{}}],["action",{"_index":599,"title":{"125":{},"126":{}},"content":{"77":{},"121":{},"122":{},"125":{},"126":{},"191":{}},"tags":{}}],["activ",{"_index":31,"title":{"344":{},"347":{},"348":{}},"content":{"96":{},"99":{},"117":{},"150":{},"153":{},"179":{},"215":{},"216":{},"244":{},"338":{},"340":{},"344":{},"347":{},"348":{},"356":{},"357":{}},"tags":{}}],["activate/deactiv",{"_index":635,"title":{},"content":{"88":{}},"tags":{}}],["actual",{"_index":200,"title":{},"content":{"51":{},"99":{},"187":{}},"tags":{}}],["ad",{"_index":526,"title":{"148":{},"201":{},"209":{}},"content":{"107":{},"139":{},"161":{},"198":{},"202":{},"210":{},"262":{},"301":{},"336":{}},"tags":{}}],["adapt",{"_index":1231,"title":{"192":{}},"content":{"189":{},"192":{},"226":{}},"tags":{}}],["add",{"_index":243,"title":{},"content":{"54":{},"69":{},"74":{},"193":{},"201":{},"204":{},"205":{},"206":{},"208":{},"209":{},"210":{},"243":{},"257":{},"277":{},"278":{},"299":{},"311":{},"357":{}},"tags":{}}],["addit",{"_index":695,"title":{"272":{},"285":{},"295":{},"305":{},"316":{},"326":{}},"content":{"94":{},"96":{},"125":{},"126":{},"131":{},"158":{},"199":{},"210":{},"331":{}},"tags":{}}],["addition",{"_index":349,"title":{},"content":{"63":{},"152":{},"211":{}},"tags":{}}],["address",{"_index":164,"title":{},"content":{"48":{},"52":{},"57":{},"92":{},"176":{},"284":{},"325":{},"350":{}},"tags":{}}],["adept",{"_index":1342,"title":{},"content":{"202":{}},"tags":{}}],["adguard.net",{"_index":825,"title":{},"content":{"113":{}},"tags":{}}],["adjust",{"_index":235,"title":{},"content":{"53":{},"102":{},"278":{}},"tags":{}}],["admin",{"_index":634,"title":{"339":{},"341":{},"342":{},"356":{},"360":{},"361":{}},"content":{"88":{},"92":{},"98":{},"116":{},"172":{},"179":{},"244":{},"246":{},"247":{},"278":{},"303":{},"338":{},"340":{},"341":{},"342":{},"344":{},"345":{},"356":{},"360":{},"361":{}},"tags":{}}],["administ",{"_index":2147,"title":{},"content":{"338":{}},"tags":{}}],["administr",{"_index":633,"title":{"88":{}},"content":{"93":{},"94":{},"117":{},"149":{},"278":{},"343":{},"344":{}},"tags":{}}],["adult",{"_index":1555,"title":{},"content":{"183":{},"246":{}},"tags":{}}],["advanc",{"_index":881,"title":{},"content":{"166":{},"226":{}},"tags":{}}],["advis",{"_index":752,"title":{},"content":{"96":{},"232":{},"255":{}},"tags":{}}],["affect",{"_index":584,"title":{},"content":{"76":{},"77":{},"97":{},"191":{},"362":{}},"tags":{}}],["afford",{"_index":1014,"title":{"157":{}},"content":{"139":{},"141":{},"157":{}},"tags":{}}],["afterward",{"_index":1703,"title":{},"content":{"232":{}},"tags":{}}],["ag",{"_index":1552,"title":{"246":{},"247":{},"254":{}},"content":{"183":{},"242":{},"244":{},"246":{},"247":{},"254":{}},"tags":{}}],["again",{"_index":462,"title":{},"content":{"101":{},"136":{},"213":{},"242":{},"268":{},"307":{},"363":{}},"tags":{}}],["against",{"_index":156,"title":{},"content":{"48":{},"190":{}},"tags":{}}],["age_r",{"_index":1762,"title":{},"content":{"253":{}},"tags":{}}],["agreement",{"_index":1103,"title":{},"content":{"156":{},"192":{}},"tags":{}}],["ahead",{"_index":23,"title":{},"content":{"215":{}},"tags":{}}],["alert",{"_index":671,"title":{},"content":{"92":{}},"tags":{}}],["alfagun74",{"_index":1325,"title":{},"content":{"196":{}},"tags":{}}],["algorithm",{"_index":1615,"title":{},"content":{"238":{},"363":{}},"tags":{}}],["alia",{"_index":912,"title":{},"content":{"125":{}},"tags":{}}],["align",{"_index":1120,"title":{},"content":{"159":{},"192":{}},"tags":{}}],["aliv",{"_index":1012,"title":{},"content":{"139":{},"148":{},"191":{}},"tags":{}}],["allow",{"_index":7,"title":{},"content":{"101":{},"104":{},"116":{},"122":{},"126":{},"160":{},"179":{},"215":{},"218":{},"238":{},"239":{},"308":{},"319":{},"342":{},"344":{},"345":{},"347":{}},"tags":{}}],["alpha",{"_index":1772,"title":{},"content":{"253":{}},"tags":{}}],["alreadi",{"_index":515,"title":{},"content":{"107":{},"117":{},"125":{},"203":{},"250":{},"363":{}},"tags":{}}],["alter",{"_index":436,"title":{},"content":{"100":{},"244":{},"246":{}},"tags":{}}],["altern",{"_index":431,"title":{"113":{},"282":{},"313":{},"324":{}},"content":{"100":{},"132":{},"155":{},"168":{},"174":{},"191":{},"213":{},"288":{},"350":{}},"tags":{}}],["although",{"_index":1182,"title":{},"content":{"170":{},"288":{}},"tags":{}}],["alway",{"_index":681,"title":{},"content":{"93":{},"179":{},"184":{},"211":{},"213":{},"239":{},"242":{},"244":{},"350":{}},"tags":{}}],["ambianc",{"_index":1123,"title":{},"content":{"159":{}},"tags":{}}],["amr",{"_index":1656,"title":{},"content":{"226":{}},"tags":{}}],["and/or",{"_index":1768,"title":{},"content":{"253":{}},"tags":{}}],["andrea",{"_index":1728,"title":{},"content":{"242":{}},"tags":{}}],["android",{"_index":1606,"title":{},"content":{"198":{}},"tags":{}}],["anim",{"_index":1019,"title":{},"content":{"140":{}},"tags":{}}],["annual",{"_index":1073,"title":{},"content":{"151":{}},"tags":{}}],["anoth",{"_index":458,"title":{},"content":{"99":{},"101":{}},"tags":{}}],["answer",{"_index":285,"title":{"143":{}},"content":{"57":{},"208":{}},"tags":{}}],["antiviru",{"_index":670,"title":{},"content":{"92":{},"113":{}},"tags":{}}],["antivirus/smartscreen",{"_index":796,"title":{},"content":{"113":{}},"tags":{}}],["anyon",{"_index":1062,"title":{},"content":{"149":{}},"tags":{}}],["anyth",{"_index":1457,"title":{},"content":{"184":{},"213":{},"295":{},"351":{}},"tags":{}}],["anyway",{"_index":813,"title":{},"content":{"113":{}},"tags":{}}],["anywher",{"_index":1146,"title":{},"content":{"168":{},"169":{}},"tags":{}}],["ao",{"_index":1816,"title":{},"content":{"254":{}},"tags":{}}],["api",{"_index":355,"title":{"64":{},"119":{},"120":{}},"content":{"64":{},"65":{},"66":{},"67":{},"119":{},"124":{},"125":{},"127":{},"128":{},"140":{},"173":{},"179":{},"186":{},"187":{},"212":{},"213":{},"253":{},"343":{},"344":{},"346":{},"363":{}},"tags":{}}],["api/doc",{"_index":376,"title":{},"content":{"66":{},"179":{}},"tags":{}}],["api/docs/async",{"_index":2178,"title":{},"content":{"346":{}},"tags":{}}],["api/docs/yaml",{"_index":1506,"title":{},"content":{"179":{}},"tags":{}}],["api/users/m",{"_index":2184,"title":{},"content":{"349":{}},"tags":{}}],["api/v1/users/m",{"_index":212,"title":{},"content":{"52":{}},"tags":{}}],["app",{"_index":104,"title":{"69":{},"99":{},"194":{},"268":{},"302":{}},"content":{"65":{},"69":{},"99":{},"100":{},"113":{},"118":{},"126":{},"130":{},"164":{},"165":{},"166":{},"220":{},"221":{},"263":{},"266":{},"267":{},"269":{},"273":{},"274":{},"301":{},"302":{},"303":{},"306":{},"307":{},"310":{},"312":{},"317":{},"318":{},"350":{}},"tags":{}}],["appdata%/gamevault",{"_index":432,"title":{},"content":{"100":{}},"tags":{}}],["appdata%/gamevault/them",{"_index":1131,"title":{},"content":{"161":{}},"tags":{}}],["appdata%\\gamevault\\cache\\ignorelist",{"_index":506,"title":{},"content":{"107":{}},"tags":{}}],["appdata%\\gamevault\\cache\\imag",{"_index":442,"title":{},"content":{"101":{}},"tags":{}}],["appdata%\\gamevault\\cache\\loc",{"_index":487,"title":{},"content":{"104":{}},"tags":{}}],["appdata%\\gamevault\\cache\\prg",{"_index":476,"title":{},"content":{"103":{}},"tags":{}}],["appdata%\\gamevault\\config\\us",{"_index":491,"title":{},"content":{"105":{}},"tags":{}}],["appdata%\\gamevault\\config\\web",{"_index":497,"title":{},"content":{"106":{}},"tags":{}}],["appdata%\\gamevault\\errorlog",{"_index":531,"title":{},"content":{"108":{}},"tags":{}}],["appdata%\\gamevault\\them",{"_index":536,"title":{},"content":{"109":{}},"tags":{}}],["appear",{"_index":206,"title":{"357":{}},"content":{"52":{},"65":{},"72":{},"95":{},"97":{},"98":{},"348":{}},"tags":{}}],["append",{"_index":1324,"title":{},"content":{"196":{}},"tags":{}}],["appid",{"_index":410,"title":{},"content":{"69":{}},"tags":{}}],["appli",{"_index":255,"title":{"161":{},"335":{}},"content":{"55":{},"99":{},"131":{},"158":{},"160":{},"186":{},"242":{},"244":{},"306":{},"314":{}},"tags":{}}],["applic",{"_index":78,"title":{"59":{},"84":{},"155":{}},"content":{"48":{},"57":{},"59":{},"69":{},"99":{},"103":{},"104":{},"112":{},"113":{},"116":{},"119":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"129":{},"131":{},"132":{},"135":{},"136":{},"138":{},"142":{},"155":{},"161":{},"165":{},"168":{},"170":{},"178":{},"197":{},"217":{},"218":{},"223":{},"250":{},"263":{},"278":{},"279":{},"288":{},"306":{},"308":{},"309":{},"310":{},"319":{},"340":{},"343":{},"344":{},"345":{},"362":{}},"tags":{}}],["approach",{"_index":1317,"title":{"288":{}},"content":{"192":{},"204":{},"209":{},"306":{}},"tags":{}}],["appropri",{"_index":702,"title":{},"content":{"94":{},"189":{},"332":{},"345":{}},"tags":{}}],["apps/databas",{"_index":1913,"title":{"266":{}},"content":{"266":{}},"tags":{}}],["appxbundl",{"_index":823,"title":{},"content":{"113":{},"166":{}},"tags":{}}],["ar",{"_index":2045,"title":{},"content":{"330":{}},"tags":{}}],["arch",{"_index":343,"title":{},"content":{"63":{}},"tags":{}}],["archiv",{"_index":621,"title":{"208":{},"330":{}},"content":{"78":{},"85":{},"92":{},"93":{},"169":{},"184":{},"204":{},"205":{},"206":{},"208":{},"210":{},"329":{},"331":{}},"tags":{}}],["archive.org",{"_index":422,"title":{},"content":{"69":{}},"tags":{}}],["area",{"_index":1905,"title":{},"content":{"278":{}},"tags":{}}],["aren't",{"_index":1702,"title":{},"content":{"232":{}},"tags":{}}],["argb",{"_index":1135,"title":{},"content":{"162":{}},"tags":{}}],["arj",{"_index":2046,"title":{},"content":{"330":{}},"tags":{}}],["around",{"_index":1113,"title":{},"content":{"157":{}},"tags":{}}],["array",{"_index":2027,"title":{},"content":{"308":{}},"tags":{}}],["arrow",{"_index":580,"title":{},"content":{"74":{}},"tags":{}}],["art",{"_index":461,"title":{"358":{}},"content":{"73":{},"97":{},"101":{},"173":{},"229":{},"358":{}},"tags":{}}],["articl",{"_index":1248,"title":{},"content":{"191":{}},"tags":{}}],["artifact",{"_index":794,"title":{},"content":{"113":{}},"tags":{}}],["artwork",{"_index":1789,"title":{},"content":{"253":{}},"tags":{}}],["artwork/screenshot",{"_index":1783,"title":{},"content":{"253":{}},"tags":{}}],["artworks[0",{"_index":1781,"title":{},"content":{"253":{}},"tags":{}}],["ask",{"_index":120,"title":{},"content":{"208":{},"221":{},"346":{}},"tags":{}}],["assassin'",{"_index":661,"title":{},"content":{"92":{},"94":{}},"tags":{}}],["assign",{"_index":2146,"title":{},"content":{"338":{},"345":{},"349":{}},"tags":{}}],["assist",{"_index":292,"title":{},"content":{"58":{},"68":{},"118":{},"191":{},"350":{}},"tags":{}}],["associ",{"_index":756,"title":{},"content":{"97":{},"192":{},"232":{},"335":{},"337":{}},"tags":{}}],["asterisk",{"_index":908,"title":{},"content":{"125":{}},"tags":{}}],["aswel",{"_index":1932,"title":{},"content":{"281":{},"282":{},"323":{},"324":{}},"tags":{}}],["async",{"_index":957,"title":{},"content":{"130":{}},"tags":{}}],["asyncapi",{"_index":2177,"title":{},"content":{"346":{}},"tags":{}}],["asynchron",{"_index":2169,"title":{},"content":{"346":{}},"tags":{}}],["attach",{"_index":1971,"title":{},"content":{"308":{},"319":{},"350":{}},"tags":{}}],["attempt",{"_index":158,"title":{"52":{}},"content":{"48":{},"52":{},"57":{},"113":{},"136":{},"213":{}},"tags":{}}],["attent",{"_index":2035,"title":{},"content":{"329":{}},"tags":{}}],["attribut",{"_index":1211,"title":{},"content":{"175":{},"189":{}},"tags":{}}],["audio",{"_index":1638,"title":{"226":{}},"content":{"226":{},"227":{}},"tags":{}}],["audio/aac",{"_index":1650,"title":{},"content":{"226":{}},"tags":{}}],["audio/amr",{"_index":1657,"title":{},"content":{"226":{}},"tags":{}}],["audio/flac",{"_index":1653,"title":{},"content":{"226":{}},"tags":{}}],["audio/mp4",{"_index":1659,"title":{},"content":{"226":{}},"tags":{}}],["audio/mpeg",{"_index":1641,"title":{},"content":{"226":{}},"tags":{}}],["audio/ogg",{"_index":1647,"title":{},"content":{"226":{}},"tags":{}}],["audio/wav",{"_index":1644,"title":{},"content":{"226":{}},"tags":{}}],["audio/x",{"_index":1655,"title":{},"content":{"226":{}},"tags":{}}],["aur",{"_index":344,"title":{},"content":{"63":{}},"tags":{}}],["auth",{"_index":396,"title":{},"content":{"67":{},"187":{}},"tags":{}}],["authent",{"_index":205,"title":{"52":{},"67":{}},"content":{"52":{},"65":{},"66":{},"67":{},"173":{},"181":{},"186":{},"187":{},"211":{},"343":{},"355":{}},"tags":{}}],["author",{"_index":2159,"title":{},"content":{"344":{}},"tags":{}}],["auto",{"_index":329,"title":{},"content":{"62":{},"70":{},"85":{},"209":{},"242":{},"297":{}},"tags":{}}],["autodetect",{"_index":2076,"title":{},"content":{"331":{}},"tags":{}}],["autoflush",{"_index":981,"title":{},"content":{"130":{}},"tags":{}}],["autoinstall=[true/fals",{"_index":917,"title":{},"content":{"125":{}},"tags":{}}],["autom",{"_index":717,"title":{},"content":{"94":{},"212":{},"213":{}},"tags":{}}],["automat",{"_index":365,"title":{},"content":{"64":{},"94":{},"95":{},"96":{},"115":{},"125":{},"136":{},"165":{},"172":{},"173":{},"174":{},"182":{},"197":{},"200":{},"210":{},"213":{},"238":{},"336":{},"340":{},"341":{},"344":{},"356":{}},"tags":{}}],["autumn",{"_index":1126,"title":{},"content":{"159":{}},"tags":{}}],["aux",{"_index":2109,"title":{},"content":{"332":{}},"tags":{}}],["avail",{"_index":301,"title":{"120":{},"125":{},"156":{},"261":{}},"content":{"58":{},"62":{},"66":{},"70":{},"73":{},"77":{},"89":{},"113":{},"116":{},"119":{},"126":{},"133":{},"134":{},"138":{},"155":{},"165":{},"168":{},"177":{},"186":{},"190":{},"203":{},"237":{},"253":{},"278":{},"314":{}},"tags":{}}],["avatar",{"_index":639,"title":{},"content":{"88":{},"98":{},"229":{}},"tags":{}}],["avatar/background",{"_index":625,"title":{},"content":{"81":{}},"tags":{}}],["averag",{"_index":1794,"title":{},"content":{"254":{}},"tags":{}}],["avi",{"_index":1661,"title":{},"content":{"227":{}},"tags":{}}],["avoid",{"_index":519,"title":{},"content":{"107":{},"149":{},"157":{},"192":{},"209":{},"211":{},"332":{}},"tags":{}}],["await",{"_index":975,"title":{},"content":{"130":{}},"tags":{}}],["awar",{"_index":435,"title":{},"content":{"100":{},"113":{},"147":{},"162":{},"176":{},"348":{}},"tags":{}}],["away",{"_index":1718,"title":{},"content":{"238":{},"263":{},"298":{}},"tags":{}}],["awesom",{"_index":1057,"title":{},"content":{"148":{}},"tags":{}}],["back",{"_index":123,"title":{},"content":{"61":{},"74":{},"94":{},"213":{},"221":{},"232":{},"301":{}},"tags":{}}],["backend",{"_index":184,"title":{"116":{},"195":{},"303":{},"312":{}},"content":{"51":{},"64":{},"86":{},"116":{},"117":{},"126":{},"168":{},"223":{},"243":{},"257":{},"281":{},"282":{},"287":{},"290":{},"295":{},"297":{},"302":{},"306":{},"307":{},"312":{},"313":{},"323":{},"324":{},"346":{},"347":{}},"tags":{}}],["backend.git",{"_index":1952,"title":{},"content":{"290":{}},"tags":{}}],["backend.log",{"_index":238,"title":{},"content":{"53":{}},"tags":{}}],["backend/.env",{"_index":1958,"title":{},"content":{"292":{}},"tags":{}}],["backend:earli",{"_index":64,"title":{},"content":{"216":{}},"tags":{}}],["backend:latest",{"_index":188,"title":{},"content":{"51":{},"281":{},"282":{},"323":{},"324":{}},"tags":{}}],["background",{"_index":479,"title":{},"content":{"97":{},"98":{},"103":{},"127":{},"229":{},"253":{},"283":{}},"tags":{}}],["backup",{"_index":753,"title":{"211":{},"212":{}},"content":{"96":{},"211":{},"212":{},"213":{}},"tags":{}}],["bad",{"_index":1420,"title":{},"content":{"209":{}},"tags":{}}],["badg",{"_index":647,"title":{},"content":{"89":{}},"tags":{}}],["balanc",{"_index":1239,"title":{"207":{}},"content":{"190":{},"207":{}},"tags":{}}],["bancontact",{"_index":1050,"title":{},"content":{"147":{}},"tags":{}}],["bandwidth",{"_index":560,"title":{},"content":{"73":{},"85":{},"179":{},"331":{},"362":{}},"tags":{}}],["bank",{"_index":1045,"title":{},"content":{"147":{}},"tags":{}}],["bantim",{"_index":253,"title":{},"content":{"54":{}},"tags":{}}],["bar",{"_index":565,"title":{},"content":{"73":{},"93":{}},"tags":{}}],["bare",{"_index":1479,"title":{},"content":{"179":{}},"tags":{}}],["base",{"_index":245,"title":{},"content":{"54":{},"78":{},"94":{},"117":{},"132":{},"144":{},"162":{},"173":{},"183":{},"238":{},"244":{},"298":{},"306":{},"345":{},"346":{},"363":{}},"tags":{}}],["basic",{"_index":395,"title":{},"content":{"67":{},"170":{},"346":{}},"tags":{}}],["be",{"_index":1294,"title":{},"content":{"192":{}},"tags":{}}],["becom",{"_index":72,"title":{},"content":{"57":{},"101":{},"166":{},"202":{},"217":{}},"tags":{}}],["befor",{"_index":12,"title":{"202":{}},"content":{"51":{},"94":{},"96":{},"117":{},"179":{},"184":{},"186":{},"191":{},"199":{},"206":{},"208":{},"213":{},"215":{},"344":{},"351":{}},"tags":{}}],["begin",{"_index":81,"title":{"202":{}},"content":{"112":{},"217":{},"242":{},"321":{},"332":{},"346":{}},"tags":{}}],["behavior",{"_index":167,"title":{},"content":{"48":{}},"tags":{}}],["believ",{"_index":1300,"title":{},"content":{"192":{}},"tags":{}}],["belong",{"_index":660,"title":{},"content":{"91":{}},"tags":{}}],["below",{"_index":835,"title":{},"content":{"115":{},"116":{},"170":{},"196":{},"202":{},"211":{},"235":{},"254":{},"275":{},"329":{},"331":{},"350":{},"351":{}},"tags":{}}],["benefit",{"_index":1063,"title":{},"content":{"149":{},"191":{}},"tags":{}}],["besid",{"_index":611,"title":{},"content":{"77":{},"191":{}},"tags":{}}],["best",{"_index":1196,"title":{},"content":{"174":{},"238":{},"249":{}},"tags":{}}],["beta",{"_index":1773,"title":{},"content":{"253":{}},"tags":{}}],["better",{"_index":1433,"title":{},"content":{"211":{},"240":{}},"tags":{}}],["between",{"_index":903,"title":{},"content":{"123":{},"186":{},"346":{}},"tags":{}}],["beyond",{"_index":1906,"title":{},"content":{"278":{}},"tags":{}}],["bidirect",{"_index":2170,"title":{},"content":{"346":{}},"tags":{}}],["big",{"_index":2196,"title":{},"content":{"350":{}},"tags":{}}],["bill",{"_index":1032,"title":{"146":{}},"content":{"146":{},"152":{}},"tags":{}}],["binari",{"_index":800,"title":{},"content":{"113":{},"166":{},"168":{}},"tags":{}}],["birth",{"_index":1549,"title":{},"content":{"182":{},"244":{},"245":{},"246":{}},"tags":{}}],["bit",{"_index":598,"title":{},"content":{"77":{},"203":{}},"tags":{}}],["bitmap",{"_index":1624,"title":{},"content":{"225":{}},"tags":{}}],["blank",{"_index":1706,"title":{},"content":{"234":{}},"tags":{}}],["blindli",{"_index":1975,"title":{},"content":{"319":{}},"tags":{}}],["block",{"_index":162,"title":{},"content":{"48":{},"54":{},"57":{},"205":{},"206":{}},"tags":{}}],["blog",{"_index":1247,"title":{},"content":{"191":{}},"tags":{}}],["bmp",{"_index":1623,"title":{},"content":{"225":{}},"tags":{}}],["board",{"_index":1254,"title":{},"content":{"191":{},"350":{}},"tags":{}}],["bold",{"_index":907,"title":{},"content":{"125":{}},"tags":{}}],["bookmark",{"_index":578,"title":{},"content":{"74":{}},"tags":{}}],["bool",{"_index":961,"title":{},"content":{"130":{}},"tags":{}}],["bot",{"_index":367,"title":{"65":{}},"content":{"65":{}},"tags":{}}],["both",{"_index":1436,"title":{},"content":{"212":{},"253":{},"346":{}},"tags":{}}],["bothersom",{"_index":278,"title":{},"content":{"57":{}},"tags":{}}],["bottl",{"_index":311,"title":{"61":{}},"content":{"61":{}},"tags":{}}],["bottom",{"_index":642,"title":{},"content":{"89":{},"267":{},"314":{}},"tags":{}}],["box",{"_index":460,"title":{"358":{}},"content":{"73":{},"94":{},"97":{},"101":{},"113":{},"173":{},"229":{},"268":{},"306":{},"307":{},"358":{}},"tags":{}}],["box/background",{"_index":595,"title":{},"content":{"77":{}},"tags":{}}],["bracket",{"_index":1403,"title":{},"content":{"209":{},"332":{}},"tags":{}}],["brand",{"_index":1121,"title":{},"content":{"159":{},"192":{}},"tags":{}}],["break",{"_index":1536,"title":{},"content":{"181":{}},"tags":{}}],["breez",{"_index":2144,"title":{},"content":{"337":{}},"tags":{}}],["bring",{"_index":780,"title":{},"content":{"99":{},"127":{},"191":{},"318":{}},"tags":{}}],["broken",{"_index":340,"title":{},"content":{"63":{}},"tags":{}}],["brows",{"_index":550,"title":{},"content":{"73":{},"172":{}},"tags":{}}],["browser",{"_index":495,"title":{"106":{}},"content":{"106":{}},"tags":{}}],["budget",{"_index":808,"title":{},"content":{"113":{}},"tags":{}}],["bug",{"_index":125,"title":{"222":{}},"content":{"191":{},"222":{},"346":{}},"tags":{}}],["build",{"_index":359,"title":{"293":{}},"content":{"64":{},"113":{},"119":{},"237":{},"243":{},"260":{}},"tags":{}}],["built",{"_index":793,"title":{"236":{}},"content":{"113":{},"186":{},"256":{}},"tags":{}}],["busi",{"_index":1107,"title":{},"content":{"156":{},"179":{},"347":{}},"tags":{}}],["butcher.ex",{"_index":1609,"title":{},"content":{"199":{}},"tags":{}}],["butcher_data",{"_index":1608,"title":{},"content":{"199":{}},"tags":{}}],["button",{"_index":555,"title":{},"content":{"73":{},"74":{},"77":{},"89":{},"93":{},"94":{},"95":{},"99":{},"115":{},"117":{},"136":{},"137":{},"267":{},"306":{},"307":{}},"tags":{}}],["bypass",{"_index":1117,"title":{},"content":{"157":{},"344":{}},"tags":{}}],["byte",{"_index":1355,"title":{},"content":{"203":{},"206":{}},"tags":{}}],["bz2",{"_index":2040,"title":{},"content":{"330":{},"332":{}},"tags":{}}],["c",{"_index":947,"title":{"130":{}},"content":{"130":{},"296":{}},"tags":{}}],["ca",{"_index":1544,"title":{},"content":{"181":{}},"tags":{}}],["cab",{"_index":2047,"title":{},"content":{"330":{}},"tags":{}}],["cach",{"_index":439,"title":{"101":{},"102":{},"103":{},"104":{}},"content":{"87":{},"101":{},"102":{},"104":{},"331":{},"332":{},"358":{},"359":{}},"tags":{}}],["calcul",{"_index":1714,"title":{},"content":{"238":{},"254":{}},"tags":{}}],["call",{"_index":391,"title":{},"content":{"66":{},"93":{},"115":{},"126":{},"186":{},"232":{},"242":{}},"tags":{}}],["can't",{"_index":1917,"title":{},"content":{"268":{},"281":{},"323":{},"350":{},"351":{}},"tags":{}}],["cancellationtoken",{"_index":960,"title":{},"content":{"130":{}},"tags":{}}],["cant",{"_index":1108,"title":{"157":{}},"content":{},"tags":{}}],["capabl",{"_index":749,"title":{},"content":{"96":{},"256":{}},"tags":{}}],["caprov",{"_index":1894,"title":{"263":{},"265":{}},"content":{"263":{},"264":{},"265":{},"271":{},"276":{}},"tags":{}}],["captain",{"_index":2136,"title":{},"content":{"333":{}},"tags":{}}],["captcha",{"_index":1754,"title":{},"content":{"250":{}},"tags":{}}],["card",{"_index":1041,"title":{},"content":{"147":{}},"tags":{}}],["care",{"_index":1440,"title":{},"content":{"212":{}},"tags":{}}],["case",{"_index":1409,"title":{},"content":{"177":{},"209":{},"213":{},"242":{},"331":{},"332":{}},"tags":{}}],["catalog",{"_index":1998,"title":{"301":{}},"content":{"298":{},"301":{}},"tags":{}}],["catastroph",{"_index":1454,"title":{},"content":{"213":{}},"tags":{}}],["catch",{"_index":993,"title":{},"content":{"130":{}},"tags":{}}],["categori",{"_index":1236,"title":{},"content":{"190":{}},"tags":{}}],["caus",{"_index":70,"title":{},"content":{"213":{},"216":{}},"tags":{}}],["cd",{"_index":1949,"title":{},"content":{"290":{},"292":{}},"tags":{}}],["central",{"_index":830,"title":{},"content":{"115":{},"308":{}},"tags":{}}],["cero",{"_index":1817,"title":{},"content":{"254":{}},"tags":{}}],["cero_a",{"_index":1818,"title":{},"content":{"254":{}},"tags":{}}],["cero_b",{"_index":1819,"title":{},"content":{"254":{}},"tags":{}}],["cero_c",{"_index":1821,"title":{},"content":{"254":{}},"tags":{}}],["cero_d",{"_index":1823,"title":{},"content":{"254":{}},"tags":{}}],["cero_z",{"_index":1824,"title":{},"content":{"254":{}},"tags":{}}],["certain",{"_index":341,"title":{},"content":{"63":{},"96":{},"149":{},"192":{}},"tags":{}}],["certainli",{"_index":1093,"title":{},"content":{"154":{}},"tags":{}}],["certif",{"_index":806,"title":{},"content":{"113":{},"181":{}},"tags":{}}],["chain",{"_index":2113,"title":{},"content":{"332":{}},"tags":{}}],["chanc",{"_index":19,"title":{},"content":{"215":{}},"tags":{}}],["chang",{"_index":127,"title":{"222":{},"246":{},"337":{}},"content":{"55":{},"69":{},"77":{},"84":{},"95":{},"96":{},"97":{},"98":{},"146":{},"184":{},"222":{},"232":{},"239":{},"242":{},"281":{},"282":{},"306":{},"314":{},"323":{},"324":{},"336":{},"337":{},"363":{}},"tags":{}}],["channel",{"_index":49,"title":{},"content":{"145":{},"154":{},"191":{},"216":{},"217":{},"220":{},"221":{},"222":{}},"tags":{}}],["chapter",{"_index":832,"title":{},"content":{"115":{},"118":{},"201":{},"202":{},"278":{}},"tags":{}}],["charact",{"_index":2102,"title":{},"content":{"332":{}},"tags":{}}],["check",{"_index":106,"title":{},"content":{"56":{},"66":{},"76":{},"93":{},"126":{},"152":{},"165":{},"177":{},"184":{},"220":{},"221":{},"244":{},"250":{},"289":{},"306":{},"344":{},"346":{},"351":{},"357":{},"362":{},"363":{}},"tags":{}}],["checkbox",{"_index":2021,"title":{},"content":{"306":{}},"tags":{}}],["checkout",{"_index":1968,"title":{},"content":{"297":{}},"tags":{}}],["cherish",{"_index":1159,"title":{},"content":{"169":{}},"tags":{}}],["children",{"_index":1869,"title":{},"content":{"244":{}},"tags":{}}],["chm",{"_index":2048,"title":{},"content":{"330":{}},"tags":{}}],["choic",{"_index":1920,"title":{},"content":{"281":{}},"tags":{}}],["choos",{"_index":724,"title":{},"content":{"94":{},"113":{},"115":{},"117":{},"133":{},"147":{},"149":{},"204":{},"274":{},"275":{},"307":{}},"tags":{}}],["chose",{"_index":665,"title":{},"content":{"92":{}},"tags":{}}],["chosen",{"_index":848,"title":{},"content":{"117":{}},"tags":{}}],["chuck",{"_index":1880,"title":{},"content":{"257":{}},"tags":{}}],["circumst",{"_index":1451,"title":{},"content":{"213":{}},"tags":{}}],["cj",{"_index":1731,"title":{},"content":{"242":{}},"tags":{}}],["clariti",{"_index":1318,"title":{},"content":{"192":{}},"tags":{}}],["class",{"_index":955,"title":{},"content":{"130":{}},"tags":{}}],["class_ind",{"_index":1844,"title":{},"content":{"254":{}},"tags":{}}],["class_ind_eighteen",{"_index":1854,"title":{},"content":{"254":{}},"tags":{}}],["class_ind_fourteen",{"_index":1850,"title":{},"content":{"254":{}},"tags":{}}],["class_ind_l",{"_index":1845,"title":{},"content":{"254":{}},"tags":{}}],["class_ind_sixteen",{"_index":1852,"title":{},"content":{"254":{}},"tags":{}}],["class_ind_ten",{"_index":1847,"title":{},"content":{"254":{}},"tags":{}}],["class_ind_twelv",{"_index":1849,"title":{},"content":{"254":{}},"tags":{}}],["classic",{"_index":863,"title":{},"content":{"132":{},"169":{}},"tags":{}}],["clean",{"_index":1697,"title":{},"content":{"232":{}},"tags":{}}],["cleanup",{"_index":1700,"title":{},"content":{"232":{}},"tags":{}}],["clear",{"_index":503,"title":{},"content":{"71":{},"77":{},"87":{},"94":{},"106":{},"191":{},"357":{},"358":{}},"tags":{}}],["clearli",{"_index":1311,"title":{},"content":{"192":{}},"tags":{}}],["cli",{"_index":892,"title":{"121":{}},"content":{"121":{}},"tags":{}}],["click",{"_index":322,"title":{"266":{},"268":{}},"content":{"61":{},"73":{},"77":{},"88":{},"93":{},"94":{},"95":{},"97":{},"98":{},"99":{},"115":{},"116":{},"117":{},"136":{},"168":{},"235":{},"243":{},"250":{},"263":{},"266":{},"267":{},"269":{},"271":{},"273":{},"274":{},"284":{},"294":{},"298":{},"303":{},"304":{},"306":{},"312":{},"314":{},"315":{},"317":{},"318":{},"322":{},"327":{},"328":{}},"tags":{}}],["client",{"_index":261,"title":{"58":{},"62":{},"68":{},"70":{},"110":{},"119":{},"135":{},"155":{},"164":{},"172":{}},"content":{"56":{},"58":{},"62":{},"64":{},"66":{},"68":{},"70":{},"84":{},"102":{},"103":{},"113":{},"119":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"135":{},"136":{},"137":{},"140":{},"142":{},"155":{},"165":{},"168":{},"181":{},"186":{},"209":{},"212":{},"213":{},"236":{},"244":{},"250":{},"251":{},"262":{},"331":{},"340":{},"346":{},"347":{},"348":{},"351":{},"362":{}},"tags":{}}],["client.connectasync(timeout",{"_index":976,"title":{},"content":{"130":{}},"tags":{}}],["clone",{"_index":819,"title":{"290":{}},"content":{"113":{},"290":{}},"tags":{}}],["close",{"_index":771,"title":{},"content":{"99":{},"165":{},"343":{}},"tags":{}}],["cloudn",{"_index":2001,"title":{},"content":{"299":{},"306":{}},"tags":{}}],["cnpg",{"_index":2011,"title":{},"content":{"306":{}},"tags":{}}],["code",{"_index":394,"title":{"130":{},"290":{}},"content":{"66":{},"113":{},"157":{},"162":{},"190":{},"191":{},"281":{},"323":{},"346":{}},"tags":{}}],["codebas",{"_index":1277,"title":{},"content":{"191":{}},"tags":{}}],["codec",{"_index":1649,"title":{},"content":{"226":{}},"tags":{}}],["collabor",{"_index":1106,"title":{},"content":{"156":{},"191":{}},"tags":{}}],["collaps",{"_index":552,"title":{},"content":{"73":{}},"tags":{}}],["collect",{"_index":838,"title":{"232":{},"233":{}},"content":{"115":{},"168":{},"169":{},"172":{},"185":{},"232":{}},"tags":{}}],["collector",{"_index":1158,"title":{},"content":{"169":{}},"tags":{}}],["collet",{"_index":1699,"title":{},"content":{"232":{}},"tags":{}}],["colon",{"_index":1931,"title":{},"content":{"281":{},"282":{},"323":{},"324":{}},"tags":{}}],["color",{"_index":866,"title":{},"content":{"132":{}},"tags":{}}],["column",{"_index":1622,"title":{},"content":{"223":{}},"tags":{}}],["com(1",{"_index":2111,"title":{},"content":{"332":{}},"tags":{}}],["combin",{"_index":1494,"title":{},"content":{"179":{},"298":{},"335":{},"337":{},"363":{}},"tags":{}}],["come",{"_index":870,"title":{},"content":{"133":{},"201":{},"258":{},"261":{}},"tags":{}}],["comma",{"_index":617,"title":{},"content":{"77":{},"179":{},"184":{},"185":{},"257":{}},"tags":{}}],["command",{"_index":223,"title":{"127":{}},"content":{"53":{},"54":{},"112":{},"119":{},"121":{},"125":{},"127":{},"205":{},"206":{},"283":{},"286":{},"287":{},"306":{}},"tags":{}}],["comment",{"_index":1245,"title":{},"content":{"191":{}},"tags":{}}],["commerci",{"_index":1101,"title":{"156":{}},"content":{"156":{},"189":{},"190":{},"192":{}},"tags":{}}],["commit",{"_index":1061,"title":{},"content":{"148":{}},"tags":{}}],["common",{"_index":722,"title":{"352":{}},"content":{"94":{},"175":{},"189":{},"332":{},"350":{}},"tags":{}}],["commonli",{"_index":507,"title":{},"content":{"107":{}},"tags":{}}],["commun",{"_index":136,"title":{"79":{},"193":{},"237":{}},"content":{"47":{},"58":{},"68":{},"88":{},"96":{},"113":{},"122":{},"123":{},"154":{},"160":{},"162":{},"163":{},"166":{},"191":{},"193":{},"243":{},"298":{},"308":{},"309":{},"310":{},"346":{}},"tags":{}}],["compani",{"_index":1024,"title":{},"content":{"144":{},"350":{}},"tags":{}}],["companion",{"_index":1155,"title":{},"content":{"169":{}},"tags":{}}],["compar",{"_index":1184,"title":{},"content":{"172":{}},"tags":{}}],["compat",{"_index":413,"title":{},"content":{"69":{},"204":{},"213":{},"331":{},"332":{}},"tags":{}}],["compdata",{"_index":409,"title":{},"content":{"69":{}},"tags":{}}],["compil",{"_index":801,"title":{},"content":{"113":{},"166":{}},"tags":{}}],["complet",{"_index":382,"title":{},"content":{"66":{},"74":{},"78":{},"93":{},"94":{},"96":{},"118":{},"138":{},"151":{},"212":{}},"tags":{}}],["compli",{"_index":1223,"title":{},"content":{"176":{}},"tags":{}}],["complianc",{"_index":1085,"title":{},"content":{"152":{},"192":{}},"tags":{}}],["compon",{"_index":1151,"title":{},"content":{"168":{},"189":{}},"tags":{}}],["compos",{"_index":1893,"title":{"279":{},"281":{},"323":{}},"content":{"276":{},"279":{},"283":{},"284":{},"286":{},"319":{},"321":{},"322":{}},"tags":{}}],["compose.yml",{"_index":186,"title":{},"content":{"51":{},"281":{},"283":{},"286":{},"322":{}},"tags":{}}],["comprehens",{"_index":567,"title":{},"content":{"74":{},"119":{},"212":{}},"tags":{}}],["compress",{"_index":687,"title":{"204":{}},"content":{"93":{},"201":{},"203":{},"205":{},"206":{},"207":{},"331":{}},"tags":{}}],["comput",{"_index":583,"title":{"76":{}},"content":{"110":{},"115":{}},"tags":{}}],["con",{"_index":2107,"title":{},"content":{"332":{}},"tags":{}}],["concept",{"_index":693,"title":{},"content":{"94":{}},"tags":{}}],["conclus",{"_index":262,"title":{"57":{},"118":{},"271":{},"284":{},"294":{},"304":{},"315":{},"325":{}},"content":{},"tags":{}}],["condit",{"_index":1290,"title":{},"content":{"192":{}},"tags":{}}],["confer",{"_index":1266,"title":{},"content":{"191":{}},"tags":{}}],["confidenti",{"_index":2190,"title":{},"content":{"350":{}},"tags":{}}],["config",{"_index":1516,"title":{},"content":{"180":{},"273":{},"292":{}},"tags":{}}],["config/news.md",{"_index":1889,"title":{},"content":{"262":{}},"tags":{}}],["configur",{"_index":134,"title":{"47":{},"54":{},"114":{},"177":{},"178":{},"251":{},"270":{},"303":{},"314":{}},"content":{"54":{},"72":{},"84":{},"85":{},"91":{},"112":{},"114":{},"118":{},"126":{},"149":{},"173":{},"177":{},"178":{},"179":{},"180":{},"243":{},"246":{},"250":{},"270":{},"278":{},"282":{},"289":{},"292":{},"303":{},"311":{},"324":{},"338":{},"341":{},"351":{},"355":{},"359":{}},"tags":{}}],["configuration.t",{"_index":1468,"title":{},"content":{"177":{}},"tags":{}}],["confirm",{"_index":627,"title":{},"content":{"82":{},"94":{},"147":{}},"tags":{}}],["conflict",{"_index":1746,"title":{},"content":{"243":{}},"tags":{}}],["confus",{"_index":1234,"title":{},"content":{"190":{}},"tags":{}}],["congratul",{"_index":849,"title":{},"content":{"118":{},"210":{},"278":{},"284":{}},"tags":{}}],["connect",{"_index":738,"title":{"267":{},"355":{}},"content":{"96":{},"116":{},"138":{},"149":{},"151":{},"168":{},"174":{},"181":{},"234":{},"263":{},"267":{},"278":{},"355":{}},"tags":{}}],["consecut",{"_index":1590,"title":{},"content":{"186":{}},"tags":{}}],["consent",{"_index":1292,"title":{},"content":{"192":{}},"tags":{}}],["consequ",{"_index":2016,"title":{},"content":{"306":{}},"tags":{}}],["consid",{"_index":295,"title":{},"content":{"58":{},"68":{},"186":{},"189":{},"191":{},"211":{},"213":{},"281":{},"306":{},"323":{}},"tags":{}}],["consist",{"_index":1150,"title":{},"content":{"168":{},"204":{},"288":{}},"tags":{}}],["constantli",{"_index":1275,"title":{},"content":{"191":{}},"tags":{}}],["constraint",{"_index":809,"title":{},"content":{"113":{}},"tags":{}}],["consum",{"_index":786,"title":{},"content":{"112":{}},"tags":{}}],["contact",{"_index":112,"title":{"145":{}},"content":{"93":{},"94":{},"117":{},"145":{},"156":{},"221":{}},"tags":{}}],["contain",{"_index":108,"title":{"319":{},"322":{}},"content":{"51":{},"157":{},"180":{},"195":{},"220":{},"221":{},"276":{},"278":{},"279":{},"288":{},"307":{},"308":{},"319":{},"320":{},"321":{},"322":{},"325":{},"327":{},"328":{},"329":{},"332":{}},"tags":{}}],["container",{"_index":1911,"title":{},"content":{"263":{},"298":{},"319":{}},"tags":{}}],["container'",{"_index":1990,"title":{},"content":{"327":{},"328":{}},"tags":{}}],["container/serv",{"_index":1462,"title":{},"content":{"213":{}},"tags":{}}],["content",{"_index":229,"title":{},"content":{"53":{},"94":{},"148":{},"176":{},"191":{},"262":{},"345":{}},"tags":{}}],["context",{"_index":741,"title":{},"content":{"96":{},"99":{}},"tags":{}}],["continu",{"_index":480,"title":{},"content":{"96":{},"103":{},"112":{},"271":{},"284":{},"294":{},"304":{},"315":{}},"tags":{}}],["contribut",{"_index":1230,"title":{"188":{},"191":{}},"content":{"191":{},"192":{},"196":{},"277":{},"319":{}},"tags":{}}],["contributing.md",{"_index":1283,"title":{},"content":{"191":{}},"tags":{}}],["contributor",{"_index":1322,"title":{"196":{}},"content":{},"tags":{}}],["control",{"_index":605,"title":{"244":{},"245":{}},"content":{"77":{},"173":{},"192":{},"232":{},"244":{},"245":{},"246":{},"338":{},"343":{},"345":{}},"tags":{}}],["conveni",{"_index":901,"title":{},"content":{"122":{},"146":{},"147":{}},"tags":{}}],["convent",{"_index":2081,"title":{"332":{}},"content":{"332":{},"333":{}},"tags":{}}],["converg",{"_index":1992,"title":{},"content":{"298":{}},"tags":{}}],["convers",{"_index":2175,"title":{},"content":{"346":{}},"tags":{}}],["copi",{"_index":1001,"title":{},"content":{"138":{},"162":{},"203":{},"205":{},"208":{},"213":{},"250":{},"267":{},"281":{},"323":{}},"tags":{}}],["copyright",{"_index":1224,"title":{},"content":{"176":{}},"tags":{}}],["cor",{"_index":1496,"title":{},"content":{"179":{}},"tags":{}}],["core",{"_index":1016,"title":{},"content":{"139":{}},"tags":{}}],["corner",{"_index":759,"title":{},"content":{"97":{},"98":{},"357":{}},"tags":{}}],["correct",{"_index":730,"title":{},"content":{"95":{},"116":{},"201":{},"307":{},"355":{},"357":{},"359":{}},"tags":{}}],["correctli",{"_index":728,"title":{},"content":{"95":{},"278":{},"329":{},"332":{}},"tags":{}}],["correspond",{"_index":708,"title":{},"content":{"94":{},"350":{}},"tags":{}}],["count",{"_index":520,"title":{},"content":{"107":{},"273":{}},"tags":{}}],["cours",{"_index":1054,"title":{},"content":{"148":{},"281":{},"282":{},"323":{},"324":{}},"tags":{}}],["cover",{"_index":1778,"title":{},"content":{"253":{},"278":{}},"tags":{}}],["cpio",{"_index":2049,"title":{},"content":{"330":{}},"tags":{}}],["cramf",{"_index":2050,"title":{},"content":{"330":{}},"tags":{}}],["crash",{"_index":529,"title":{"108":{}},"content":{"108":{}},"tags":{}}],["crawl",{"_index":1346,"title":{},"content":{"203":{},"208":{}},"tags":{}}],["crawl.zip",{"_index":1349,"title":{},"content":{"203":{}},"tags":{}}],["creat",{"_index":137,"title":{"53":{},"162":{},"281":{},"321":{},"323":{},"354":{}},"content":{"47":{},"53":{},"61":{},"74":{},"76":{},"96":{},"117":{},"162":{},"163":{},"187":{},"191":{},"192":{},"212":{},"213":{},"242":{},"243":{},"250":{},"263":{},"269":{},"273":{},"274":{},"278":{},"281":{},"292":{},"307":{},"308":{},"317":{},"318":{},"321":{},"322":{},"343":{},"345":{},"363":{}},"tags":{}}],["creation",{"_index":1172,"title":{},"content":{"169":{},"192":{}},"tags":{}}],["creativ",{"_index":1210,"title":{},"content":{"175":{},"189":{},"192":{}},"tags":{}}],["credenti",{"_index":845,"title":{},"content":{"116":{},"117":{},"136":{}},"tags":{}}],["credit",{"_index":282,"title":{},"content":{"57":{},"147":{},"189":{}},"tags":{}}],["creed",{"_index":662,"title":{},"content":{"92":{},"94":{}},"tags":{}}],["cri",{"_index":2088,"title":{},"content":{"332":{}},"tags":{}}],["criteria",{"_index":1237,"title":{},"content":{"190":{}},"tags":{}}],["critic",{"_index":1444,"title":{},"content":{"213":{}},"tags":{}}],["crucial",{"_index":34,"title":{},"content":{"94":{},"191":{},"192":{},"215":{},"338":{},"344":{},"345":{}},"tags":{}}],["ctrl",{"_index":1966,"title":{},"content":{"296":{}},"tags":{}}],["curren",{"_index":629,"title":{},"content":{"84":{}},"tags":{}}],["current",{"_index":59,"title":{"198":{}},"content":{"62":{},"70":{},"77":{},"86":{},"104":{},"113":{},"126":{},"151":{},"211":{},"213":{},"216":{},"240":{},"255":{},"318":{},"347":{},"363":{}},"tags":{}}],["custom",{"_index":244,"title":{"134":{},"160":{},"161":{},"162":{},"163":{}},"content":{"54":{},"77":{},"97":{},"109":{},"122":{},"131":{},"134":{},"140":{},"146":{},"156":{},"158":{},"160":{},"161":{},"162":{},"163":{},"179":{},"192":{},"278":{}},"tags":{}}],["cut",{"_index":1152,"title":{},"content":{"169":{}},"tags":{}}],["d",{"_index":652,"title":{},"content":{"91":{},"283":{}},"tags":{}}],["d:/gamevault",{"_index":657,"title":{},"content":{"91":{}},"tags":{}}],["d:/gamevault/download",{"_index":658,"title":{},"content":{"91":{}},"tags":{}}],["d:/gamevault/instal",{"_index":659,"title":{},"content":{"91":{}},"tags":{}}],["daemon",{"_index":731,"title":{},"content":{"96":{}},"tags":{}}],["damn",{"_index":1729,"title":{},"content":{"242":{}},"tags":{}}],["danger",{"_index":1421,"title":{},"content":{"209":{}},"tags":{}}],["dark",{"_index":857,"title":{},"content":{"132":{},"159":{}},"tags":{}}],["dashboard",{"_index":766,"title":{"265":{},"300":{}},"content":{"98":{},"250":{},"265":{},"310":{}},"tags":{}}],["data",{"_index":315,"title":{"87":{},"100":{}},"content":{"61":{},"77":{},"92":{},"98":{},"100":{},"103":{},"105":{},"106":{},"115":{},"152":{},"169":{},"200":{},"213":{},"232":{},"239":{},"242":{},"249":{},"346":{}},"tags":{}}],["data.bin",{"_index":1611,"title":{},"content":{"199":{}},"tags":{}}],["data2.bin",{"_index":1612,"title":{},"content":{"199":{}},"tags":{}}],["databas",{"_index":1186,"title":{"211":{},"282":{},"310":{},"313":{},"324":{},"354":{}},"content":{"173":{},"180":{},"181":{},"187":{},"210":{},"211":{},"212":{},"213":{},"231":{},"232":{},"249":{},"281":{},"282":{},"289":{},"313":{},"323":{},"324":{},"332":{},"363":{}},"tags":{}}],["datahoard",{"_index":1353,"title":{},"content":{"203":{}},"tags":{}}],["dataset",{"_index":2008,"title":{},"content":{"303":{}},"tags":{}}],["date",{"_index":1550,"title":{},"content":{"182":{},"238":{},"244":{},"245":{},"246":{},"249":{}},"tags":{}}],["day",{"_index":1582,"title":{},"content":{"186":{}},"tags":{}}],["db",{"_index":1522,"title":{"181":{}},"content":{"180":{},"281":{},"292":{},"323":{}},"tags":{}}],["db_databas",{"_index":1530,"title":{},"content":{"181":{}},"tags":{}}],["db_debug",{"_index":1531,"title":{},"content":{"181":{}},"tags":{}}],["db_host",{"_index":1524,"title":{},"content":{"181":{},"281":{},"323":{}},"tags":{}}],["db_password",{"_index":1529,"title":{},"content":{"181":{},"281":{},"323":{}},"tags":{}}],["db_port",{"_index":1526,"title":{},"content":{"181":{}},"tags":{}}],["db_synchron",{"_index":1534,"title":{},"content":{"181":{}},"tags":{}}],["db_system",{"_index":1520,"title":{},"content":{"180":{},"181":{},"282":{},"324":{}},"tags":{}}],["db_system=sqlit",{"_index":1959,"title":{},"content":{"292":{}},"tags":{}}],["db_tls_ca_certificate_path",{"_index":1543,"title":{},"content":{"181":{}},"tags":{}}],["db_tls_certificate_path",{"_index":1542,"title":{},"content":{"181":{}},"tags":{}}],["db_tls_enabl",{"_index":1537,"title":{},"content":{"181":{}},"tags":{}}],["db_tls_key_path",{"_index":1541,"title":{},"content":{"181":{}},"tags":{}}],["db_tls_reject_unauthorized_en",{"_index":1539,"title":{},"content":{"181":{}},"tags":{}}],["db_usernam",{"_index":1528,"title":{},"content":{"181":{},"281":{},"323":{}},"tags":{}}],["deactiv",{"_index":2158,"title":{},"content":{"343":{}},"tags":{}}],["debian",{"_index":347,"title":{},"content":{"63":{},"288":{}},"tags":{}}],["debit",{"_index":1040,"title":{},"content":{"147":{}},"tags":{}}],["debug",{"_index":533,"title":{},"content":{"108":{},"179":{},"350":{},"351":{}},"tags":{}}],["decid",{"_index":1559,"title":{},"content":{"184":{},"263":{}},"tags":{}}],["decis",{"_index":1238,"title":{},"content":{"190":{}},"tags":{}}],["declin",{"_index":122,"title":{},"content":{"221":{}},"tags":{}}],["dedic",{"_index":1711,"title":{},"content":{"235":{}},"tags":{}}],["default",{"_index":195,"title":{},"content":{"51":{},"76":{},"85":{},"125":{},"132":{},"159":{},"177":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"200":{},"210":{},"228":{},"244":{},"246":{},"251":{},"306":{},"311":{},"331":{},"335":{},"344":{},"345":{},"347":{},"354":{},"363":{}},"tags":{}}],["defin",{"_index":915,"title":{},"content":{"125":{},"126":{},"279":{}},"tags":{}}],["definit",{"_index":230,"title":{},"content":{"53":{},"206":{}},"tags":{}}],["degre",{"_index":1873,"title":{},"content":{"256":{}},"tags":{}}],["delay",{"_index":1049,"title":{},"content":{"147":{},"186":{}},"tags":{}}],["delet",{"_index":501,"title":{},"content":{"78":{},"79":{},"85":{},"88":{},"92":{},"93":{},"94":{},"96":{},"106":{},"185":{},"213":{},"232":{},"331":{},"335":{},"336":{},"363":{}},"tags":{}}],["demand",{"_index":1336,"title":{},"content":{"202":{}},"tags":{}}],["demo",{"_index":841,"title":{},"content":{"116":{},"168":{}},"tags":{}}],["demo.gamevau.lt",{"_index":844,"title":{},"content":{"116":{}},"tags":{}}],["demo.gamevau.lt/api/doc",{"_index":380,"title":{},"content":{"66":{}},"tags":{}}],["demodemo",{"_index":846,"title":{},"content":{"116":{}},"tags":{}}],["demonstr",{"_index":1274,"title":{},"content":{"191":{}},"tags":{}}],["deni",{"_index":2202,"title":{"354":{}},"content":{},"tags":{}}],["depend",{"_index":323,"title":{"291":{}},"content":{"61":{},"116":{},"161":{},"164":{},"184":{},"206":{},"288":{},"291":{},"306":{},"348":{}},"tags":{}}],["deploy",{"_index":1422,"title":{"210":{}},"content":{"263":{},"274":{},"288":{},"303":{},"319":{}},"tags":{}}],["deriv",{"_index":1233,"title":{},"content":{"189":{},"192":{}},"tags":{}}],["describ",{"_index":1472,"title":{},"content":{"177":{},"178":{},"329":{},"331":{}},"tags":{}}],["descript",{"_index":571,"title":{},"content":{"74":{},"77":{},"173":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"192":{},"194":{},"195":{},"234":{},"242":{},"251":{},"253":{},"332":{},"345":{}},"tags":{}}],["design",{"_index":47,"title":{},"content":{"132":{},"139":{},"149":{},"160":{},"216":{},"256":{},"284":{}},"tags":{}}],["desir",{"_index":836,"title":{},"content":{"115":{},"292":{},"342":{}},"tags":{}}],["desktop",{"_index":586,"title":{},"content":{"76":{},"280":{}},"tags":{}}],["destin",{"_index":705,"title":{},"content":{"94":{}},"tags":{}}],["detach",{"_index":1723,"title":{},"content":{"242":{},"283":{}},"tags":{}}],["detail",{"_index":82,"title":{"82":{}},"content":{"72":{},"74":{},"77":{},"79":{},"82":{},"93":{},"97":{},"98":{},"104":{},"113":{},"124":{},"137":{},"146":{},"152":{},"179":{},"190":{},"191":{},"204":{},"217":{},"249":{},"253":{},"278":{},"322":{},"328":{},"351":{},"363":{}},"tags":{}}],["detect",{"_index":456,"title":{},"content":{"94":{},"101":{},"138":{},"165":{},"168":{},"184":{},"197":{},"209":{},"329":{},"332":{},"336":{}},"tags":{}}],["determin",{"_index":696,"title":{},"content":{"94":{},"183":{},"200":{},"238":{},"244":{},"246":{},"345":{}},"tags":{}}],["dev.twitch.tv",{"_index":1752,"title":{},"content":{"250":{}},"tags":{}}],["develop",{"_index":888,"title":{"243":{}},"content":{"119":{},"130":{},"139":{},"144":{},"145":{},"169":{},"174":{},"190":{},"191":{},"192":{},"250":{},"253":{},"263":{},"279":{},"319":{}},"tags":{}}],["developer.twitch.tv",{"_index":1758,"title":{},"content":{"251":{}},"tags":{}}],["devic",{"_index":1065,"title":{"150":{}},"content":{"150":{},"319":{},"320":{}},"tags":{}}],["dice",{"_index":561,"title":{},"content":{"73":{}},"tags":{}}],["dictionari",{"_index":1388,"title":{},"content":{"206":{}},"tags":{}}],["didn't",{"_index":727,"title":{},"content":{"95":{}},"tags":{}}],["diemick",{"_index":1330,"title":{},"content":{"196":{}},"tags":{}}],["differ",{"_index":387,"title":{},"content":{"66":{},"77":{},"94":{},"97":{},"98":{},"113":{},"131":{},"166":{},"174":{},"191":{},"197":{},"204":{},"209":{},"213":{},"242":{},"280":{},"308":{},"332":{},"357":{}},"tags":{}}],["difficulti",{"_index":1464,"title":{},"content":{"213":{}},"tags":{}}],["digit",{"_index":1043,"title":{},"content":{"147":{}},"tags":{}}],["dilig",{"_index":732,"title":{},"content":{"96":{}},"tags":{}}],["direct",{"_index":911,"title":{},"content":{"125":{},"147":{}},"tags":{}}],["directli",{"_index":556,"title":{},"content":{"73":{},"121":{},"145":{},"156":{},"191":{},"212":{},"247":{},"288":{},"292":{},"350":{}},"tags":{}}],["directori",{"_index":316,"title":{},"content":{"61":{},"76":{},"91":{},"93":{},"94":{},"96":{},"126":{},"179":{},"184":{},"228":{},"281":{},"283":{},"286":{},"292":{},"321":{},"329":{},"335":{},"363":{}},"tags":{}}],["disabl",{"_index":600,"title":{"348":{}},"content":{"77":{},"149":{},"185":{},"186":{},"232":{},"244":{},"251":{},"343":{},"344":{},"348":{},"355":{},"359":{}},"tags":{}}],["disableit",{"_index":1704,"title":{},"content":{"233":{}},"tags":{}}],["disclaim",{"_index":1217,"title":{"176":{}},"content":{"176":{}},"tags":{}}],["disconnect",{"_index":1722,"title":{},"content":{"241":{}},"tags":{}}],["discord",{"_index":48,"title":{},"content":{"145":{},"154":{},"166":{},"174":{},"216":{},"217":{},"221":{},"222":{},"275":{},"350":{}},"tags":{}}],["discourag",{"_index":1446,"title":{},"content":{"213":{},"288":{}},"tags":{}}],["discov",{"_index":419,"title":{},"content":{"69":{},"128":{},"301":{},"302":{}},"tags":{}}],["discrimin",{"_index":1404,"title":{},"content":{"209":{}},"tags":{}}],["discuss",{"_index":133,"title":{},"content":{"156":{},"191":{},"222":{}},"tags":{}}],["disk",{"_index":585,"title":{},"content":{"76":{},"203":{}},"tags":{}}],["disov",{"_index":2003,"title":{"302":{}},"content":{},"tags":{}}],["display",{"_index":572,"title":{},"content":{"74":{},"89":{},"93":{},"125":{},"127":{},"137":{},"179":{},"347":{}},"tags":{}}],["dispos",{"_index":991,"title":{},"content":{"130":{}},"tags":{}}],["disposable.dispos",{"_index":992,"title":{},"content":{"130":{}},"tags":{}}],["disregard",{"_index":811,"title":{},"content":{"113":{}},"tags":{}}],["dist",{"_index":1953,"title":{},"content":{"291":{}},"tags":{}}],["dist/src",{"_index":1954,"title":{},"content":{"292":{}},"tags":{}}],["distinct",{"_index":545,"title":{},"content":{"71":{},"192":{},"243":{}},"tags":{}}],["distribut",{"_index":1171,"title":{},"content":{"169":{},"189":{},"289":{}},"tags":{}}],["divers",{"_index":1937,"title":{},"content":{"288":{}},"tags":{}}],["dmg",{"_index":2051,"title":{},"content":{"330":{}},"tags":{}}],["do",{"_index":434,"title":{},"content":{"100":{},"277":{},"295":{},"346":{},"347":{}},"tags":{}}],["doc",{"_index":1323,"title":{},"content":{"196":{},"319":{}},"tags":{}}],["docker",{"_index":185,"title":{"279":{},"281":{},"323":{}},"content":{"51":{},"168":{},"179":{},"262":{},"276":{},"278":{},"279":{},"280":{},"281":{},"283":{},"284":{},"286":{},"287":{},"308":{},"317":{},"318":{},"319":{},"322":{},"346":{}},"tags":{}}],["docker/gamevault",{"_index":1980,"title":{},"content":{"321":{}},"tags":{}}],["docker/gamevault/databas",{"_index":1983,"title":{},"content":{"321":{}},"tags":{}}],["docker/gamevault/fil",{"_index":1981,"title":{},"content":{"321":{}},"tags":{}}],["docker/gamevault/media",{"_index":1982,"title":{},"content":{"321":{}},"tags":{}}],["docker/projects/gamevault",{"_index":1979,"title":{},"content":{"321":{},"322":{}},"tags":{}}],["document",{"_index":176,"title":{"196":{}},"content":{"49":{},"62":{},"64":{},"66":{},"70":{},"71":{},"118":{},"119":{},"133":{},"173":{},"179":{},"243":{},"277":{},"303":{},"336":{},"338":{},"346":{}},"tags":{}}],["doesn't",{"_index":1465,"title":{},"content":{"213":{},"346":{},"355":{}},"tags":{}}],["dollar",{"_index":1200,"title":{},"content":{"174":{}},"tags":{}}],["don't",{"_index":143,"title":{},"content":{"47":{},"94":{},"100":{},"117":{},"168":{},"232":{},"250":{},"275":{},"277":{},"281":{},"282":{},"295":{},"313":{},"323":{},"324":{},"347":{},"362":{}},"tags":{}}],["donat",{"_index":1198,"title":{},"content":{"174":{}},"tags":{}}],["done",{"_index":656,"title":{},"content":{"91":{},"242":{},"250":{}},"tags":{}}],["donwload",{"_index":630,"title":{},"content":{"85":{}},"tags":{}}],["dot",{"_index":2105,"title":{},"content":{"332":{}},"tags":{}}],["dotnetcoredesktop6",{"_index":324,"title":{},"content":{"61":{}},"tags":{}}],["dotnetdesktop6",{"_index":308,"title":{},"content":{"60":{}},"tags":{}}],["down",{"_index":1058,"title":{},"content":{"148":{},"267":{},"286":{},"303":{}},"tags":{}}],["downgrad",{"_index":1447,"title":{},"content":{"213":{}},"tags":{}}],["download",{"_index":386,"title":{"78":{},"92":{},"362":{}},"content":{"66":{},"69":{},"73":{},"74":{},"78":{},"85":{},"91":{},"92":{},"93":{},"94":{},"100":{},"104":{},"110":{},"113":{},"115":{},"125":{},"126":{},"151":{},"166":{},"168":{},"172":{},"179":{},"194":{},"212":{},"307":{},"331":{},"345":{},"362":{}},"tags":{}}],["drive",{"_index":653,"title":{},"content":{"91":{},"308":{}},"tags":{}}],["driven",{"_index":291,"title":{},"content":{"58":{},"68":{},"113":{},"193":{}},"tags":{}}],["drm",{"_index":1140,"title":{},"content":{"168":{},"169":{},"176":{},"203":{}},"tags":{}}],["dropdown",{"_index":706,"title":{},"content":{"94":{},"113":{}},"tags":{}}],["due",{"_index":807,"title":{},"content":{"113":{},"192":{},"341":{},"342":{},"346":{},"354":{}},"tags":{}}],["dump",{"_index":1443,"title":{},"content":{"212":{}},"tags":{}}],["duplic",{"_index":1401,"title":{"231":{}},"content":{"209":{},"212":{},"231":{}},"tags":{}}],["dure",{"_index":672,"title":{},"content":{"92":{},"94":{},"138":{},"191":{},"197":{},"232":{}},"tags":{}}],["e",{"_index":1808,"title":{},"content":{"254":{}},"tags":{}}],["e.g",{"_index":372,"title":{},"content":{"65":{},"74":{},"94":{},"101":{},"119":{},"170":{},"185":{},"191":{},"198":{},"199":{},"213":{},"242":{},"331":{}},"tags":{}}],["e10",{"_index":1810,"title":{},"content":{"254":{}},"tags":{}}],["ea",{"_index":109,"title":{},"content":{"220":{},"221":{},"332":{},"333":{},"336":{}},"tags":{}}],["eacc",{"_index":2203,"title":{"354":{}},"content":{},"tags":{}}],["each",{"_index":273,"title":{},"content":{"57":{},"67":{},"71":{},"91":{},"96":{},"97":{},"124":{},"136":{},"138":{},"186":{},"191":{},"197":{},"202":{},"212":{},"231":{},"238":{},"277":{},"332":{},"349":{},"363":{}},"tags":{}}],["earli",{"_index":0,"title":{"214":{},"219":{},"220":{}},"content":{"208":{},"215":{},"216":{},"217":{},"218":{},"220":{},"221":{},"222":{},"332":{},"335":{},"363":{}},"tags":{}}],["early_access",{"_index":1771,"title":{},"content":{"253":{}},"tags":{}}],["earlyaccess",{"_index":2082,"title":{},"content":{"332":{}},"tags":{}}],["eas",{"_index":1343,"title":{},"content":{"202":{}},"tags":{}}],["easi",{"_index":995,"title":{},"content":{"135":{},"147":{},"262":{},"298":{},"342":{}},"tags":{}}],["easier",{"_index":680,"title":{},"content":{"92":{},"277":{}},"tags":{}}],["easiest",{"_index":417,"title":{},"content":{"69":{}},"tags":{}}],["easili",{"_index":1035,"title":{},"content":{"146":{},"168":{},"308":{},"343":{}},"tags":{}}],["ec",{"_index":1807,"title":{},"content":{"254":{}},"tags":{}}],["ecosystem",{"_index":889,"title":{},"content":{"119":{}},"tags":{}}],["edg",{"_index":1153,"title":{},"content":{"169":{}},"tags":{}}],["edit",{"_index":150,"title":{"81":{},"82":{},"239":{}},"content":{"47":{},"77":{},"79":{},"88":{},"97":{},"98":{},"107":{},"162":{},"172":{},"192":{},"239":{},"242":{},"247":{},"262":{},"306":{},"345":{}},"tags":{}}],["editor",{"_index":589,"title":{},"content":{"77":{},"97":{},"162":{},"209":{},"239":{},"262":{},"323":{},"345":{}},"tags":{}}],["effect",{"_index":142,"title":{},"content":{"47":{},"207":{},"242":{},"338":{},"346":{}},"tags":{}}],["effici",{"_index":467,"title":{},"content":{"73":{},"102":{},"288":{}},"tags":{}}],["effort",{"_index":1282,"title":{},"content":{"191":{},"202":{},"205":{}},"tags":{}}],["eighteen",{"_index":1805,"title":{},"content":{"254":{}},"tags":{}}],["elev",{"_index":2151,"title":{},"content":{"341":{}},"tags":{}}],["email",{"_index":1030,"title":{},"content":{"145":{},"182":{},"350":{}},"tags":{}}],["embed",{"_index":494,"title":{"106":{}},"content":{"106":{}},"tags":{}}],["employ",{"_index":563,"title":{},"content":{"73":{},"306":{}},"tags":{}}],["empti",{"_index":678,"title":{},"content":{"92":{},"94":{},"232":{},"281":{},"323":{}},"tags":{}}],["enabl",{"_index":178,"title":{"51":{},"245":{},"269":{}},"content":{"51":{},"54":{},"123":{},"138":{},"179":{},"181":{},"185":{},"186":{},"206":{},"244":{},"245":{},"246":{},"251":{},"257":{},"269":{},"343":{},"346":{}},"tags":{}}],["enabling/dis",{"_index":2145,"title":{},"content":{"338":{}},"tags":{}}],["encapsul",{"_index":1936,"title":{},"content":{"288":{}},"tags":{}}],["encoding.utf8",{"_index":978,"title":{},"content":{"130":{}},"tags":{}}],["encompass",{"_index":543,"title":{},"content":{"71":{}},"tags":{}}],["encount",{"_index":508,"title":{},"content":{"93":{},"107":{},"191":{},"213":{},"325":{},"346":{}},"tags":{}}],["encourag",{"_index":1094,"title":{},"content":{"154":{},"176":{},"192":{}},"tags":{}}],["encrypt",{"_index":493,"title":{},"content":{"85":{},"105":{},"138":{},"152":{},"184":{}},"tags":{}}],["end",{"_index":2104,"title":{},"content":{"332":{}},"tags":{}}],["endors",{"_index":1221,"title":{},"content":{"176":{},"192":{}},"tags":{}}],["endpoint",{"_index":384,"title":{},"content":{"66":{},"122":{}},"tags":{}}],["enforc",{"_index":1553,"title":{},"content":{"183":{}},"tags":{}}],["engag",{"_index":1255,"title":{},"content":{"191":{}},"tags":{}}],["engin",{"_index":1393,"title":{},"content":{"208":{},"280":{}},"tags":{}}],["enhanc",{"_index":263,"title":{},"content":{"57":{},"139":{},"148":{},"191":{},"278":{}},"tags":{}}],["enjoy",{"_index":851,"title":{"169":{}},"content":{"118":{},"142":{},"149":{},"168":{},"169":{},"278":{}},"tags":{}}],["enough",{"_index":404,"title":{},"content":{"69":{},"243":{},"263":{}},"tags":{}}],["enrich",{"_index":1011,"title":{"234":{},"238":{}},"content":{"139":{},"168":{},"173":{},"210":{},"234":{},"278":{}},"tags":{}}],["ensur",{"_index":181,"title":{"152":{}},"content":{"51":{},"107":{},"117":{},"139":{},"190":{},"191":{},"192":{},"209":{},"262":{},"288":{},"306":{},"332":{},"345":{},"346":{},"355":{},"363":{}},"tags":{}}],["enter",{"_index":631,"title":{"116":{}},"content":{"86":{},"116":{},"117":{},"136":{}},"tags":{}}],["enthusiast",{"_index":1006,"title":{},"content":{"139":{},"191":{}},"tags":{}}],["entir",{"_index":1015,"title":{},"content":{"139":{},"211":{}},"tags":{}}],["entiti",{"_index":1408,"title":{},"content":{"181":{},"209":{},"335":{},"337":{}},"tags":{}}],["entri",{"_index":527,"title":{},"content":{"77":{},"96":{},"107":{},"209":{},"232":{},"235":{},"311":{}},"tags":{}}],["enum",{"_index":1797,"title":{},"content":{"254":{}},"tags":{}}],["env",{"_index":1470,"title":{"292":{}},"content":{"177":{},"178":{},"292":{},"295":{},"350":{}},"tags":{}}],["environ",{"_index":191,"title":{},"content":{"51":{},"66":{},"177":{},"178":{},"232":{},"233":{},"243":{},"245":{},"246":{},"250":{},"257":{},"281":{},"282":{},"288":{},"323":{},"324":{},"341":{},"342":{},"343":{},"344":{},"348":{},"354":{},"362":{}},"tags":{}}],["equival",{"_index":1943,"title":{},"content":{"289":{}},"tags":{}}],["era",{"_index":1170,"title":{},"content":{"169":{}},"tags":{}}],["error",{"_index":149,"title":{"354":{},"355":{}},"content":{"47":{},"93":{},"94":{},"108":{},"137":{},"179":{},"351":{}},"tags":{}}],["esc",{"_index":581,"title":{},"content":{"74":{}},"tags":{}}],["esrb",{"_index":1806,"title":{},"content":{"254":{}},"tags":{}}],["essenti",{"_index":1297,"title":{},"content":{"184":{},"192":{},"212":{}},"tags":{}}],["estim",{"_index":684,"title":{},"content":{"93":{}},"tags":{}}],["etc",{"_index":608,"title":{},"content":{"77":{},"168":{},"179":{},"198":{},"242":{},"281":{},"282":{},"323":{},"324":{},"332":{}},"tags":{}}],["etc/fail2ban/filter.d/gamevault",{"_index":226,"title":{},"content":{"53":{}},"tags":{}}],["etc/fail2ban/jail.loc",{"_index":242,"title":{},"content":{"54":{}},"tags":{}}],["even",{"_index":477,"title":{},"content":{"96":{},"103":{},"104":{},"147":{},"168":{},"172":{},"343":{},"344":{}},"tags":{}}],["event",{"_index":1267,"title":{},"content":{"191":{},"342":{}},"tags":{}}],["everybodi",{"_index":1244,"title":{},"content":{"191":{}},"tags":{}}],["everyon",{"_index":40,"title":{},"content":{"64":{},"157":{},"191":{},"215":{},"277":{},"348":{}},"tags":{}}],["everyth",{"_index":38,"title":{},"content":{"91":{},"191":{},"203":{},"213":{},"215":{}},"tags":{}}],["ex",{"_index":716,"title":{},"content":{"94":{},"96":{},"331":{}},"tags":{}}],["exact",{"_index":1617,"title":{},"content":{"363":{}},"tags":{}}],["examin",{"_index":2200,"title":{},"content":{"351":{}},"tags":{}}],["exampl",{"_index":649,"title":{"127":{},"128":{},"129":{},"130":{},"260":{},"333":{},"336":{}},"content":{"91":{},"127":{},"128":{},"129":{},"130":{},"170":{},"197":{},"199":{},"200":{},"203":{},"208":{},"209":{},"232":{},"243":{},"257":{},"260":{},"284":{},"288":{},"292":{},"297":{},"332":{},"333":{},"342":{}},"tags":{}}],["example.com/api/doc",{"_index":388,"title":{},"content":{"66":{}},"tags":{}}],["exceed",{"_index":1591,"title":{},"content":{"186":{}},"tags":{}}],["except",{"_index":428,"title":{},"content":{"96":{},"100":{},"130":{},"189":{},"295":{}},"tags":{}}],["excit",{"_index":1901,"title":{},"content":{"277":{},"346":{}},"tags":{}}],["exclud",{"_index":528,"title":{},"content":{"107":{}},"tags":{}}],["exclus",{"_index":5,"title":{},"content":{"215":{},"217":{}},"tags":{}}],["execut",{"_index":222,"title":{"331":{}},"content":{"53":{},"54":{},"61":{},"76":{},"94":{},"95":{},"107":{},"202":{},"204":{},"329":{},"331":{}},"tags":{}}],["exempt",{"_index":2162,"title":{},"content":{"344":{}},"tags":{}}],["exhibit",{"_index":165,"title":{},"content":{"48":{}},"tags":{}}],["exist",{"_index":922,"title":{},"content":{"126":{},"179":{},"243":{},"244":{},"245":{},"292":{},"335":{},"363":{}},"tags":{}}],["exit",{"_index":116,"title":{"99":{}},"content":{"72":{},"99":{},"221":{}},"tags":{}}],["expand",{"_index":551,"title":{},"content":{"73":{},"328":{}},"tags":{}}],["expect",{"_index":1056,"title":{},"content":{"148":{}},"tags":{}}],["expectsresult",{"_index":962,"title":{},"content":{"130":{}},"tags":{}}],["experi",{"_index":9,"title":{},"content":{"131":{},"139":{},"148":{},"153":{},"158":{},"174":{},"215":{},"277":{},"278":{}},"tags":{}}],["experienc",{"_index":784,"title":{},"content":{"112":{}},"tags":{}}],["experiment",{"_index":1424,"title":{},"content":{"211":{},"255":{}},"tags":{}}],["expertis",{"_index":1278,"title":{},"content":{"191":{},"202":{}},"tags":{}}],["expir",{"_index":1003,"title":{},"content":{"138":{}},"tags":{}}],["explain",{"_index":153,"title":{},"content":{"48":{},"59":{},"69":{}},"tags":{}}],["explan",{"_index":549,"title":{},"content":{"72":{},"177":{},"332":{}},"tags":{}}],["exploit",{"_index":1241,"title":{},"content":{"190":{}},"tags":{}}],["explor",{"_index":20,"title":{},"content":{"116":{},"118":{},"125":{},"127":{},"129":{},"153":{},"190":{},"213":{},"215":{}},"tags":{}}],["express",{"_index":234,"title":{},"content":{"53":{}},"tags":{}}],["exquisit",{"_index":1009,"title":{},"content":{"139":{}},"tags":{}}],["ext",{"_index":2052,"title":{},"content":{"330":{}},"tags":{}}],["extens",{"_index":891,"title":{},"content":{"119":{},"184":{},"189":{},"332":{}},"tags":{}}],["extern",{"_index":709,"title":{"230":{}},"content":{"94":{},"119":{},"228":{},"332":{}},"tags":{}}],["extract",{"_index":620,"title":{"93":{}},"content":{"78":{},"85":{},"93":{},"94":{},"113":{},"166":{},"172":{},"209":{}},"tags":{}}],["extrem",{"_index":686,"title":{},"content":{"93":{}},"tags":{}}],["f5",{"_index":2211,"title":{},"content":{"357":{}},"tags":{}}],["facebook",{"_index":1252,"title":{},"content":{"191":{}},"tags":{}}],["facilit",{"_index":902,"title":{},"content":{"123":{}},"tags":{}}],["fact",{"_index":2204,"title":{},"content":{"354":{}},"tags":{}}],["fail",{"_index":204,"title":{"52":{},"354":{}},"content":{"52":{}},"tags":{}}],["fail2ban",{"_index":135,"title":{"47":{},"53":{},"54":{},"55":{}},"content":{"47":{},"48":{},"49":{},"53":{},"54":{},"55":{},"56":{},"57":{}},"tags":{}}],["failregex",{"_index":231,"title":{},"content":{"53":{}},"tags":{}}],["failur",{"_index":1455,"title":{},"content":{"213":{}},"tags":{}}],["fall",{"_index":1235,"title":{},"content":{"190":{}},"tags":{}}],["fallen",{"_index":2119,"title":{},"content":{"333":{}},"tags":{}}],["fals",{"_index":194,"title":{},"content":{"51":{},"107":{},"127":{},"130":{},"179":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"251":{}},"tags":{}}],["famili",{"_index":1173,"title":{},"content":{"169":{},"174":{}},"tags":{}}],["faq",{"_index":101,"title":{"219":{}},"content":{},"tags":{}}],["far",{"_index":2087,"title":{},"content":{"332":{}},"tags":{}}],["fast",{"_index":1361,"title":{"205":{}},"content":{"206":{}},"tags":{}}],["faster",{"_index":445,"title":{},"content":{"101":{},"102":{},"147":{}},"tags":{}}],["fastest",{"_index":1362,"title":{},"content":{"205":{}},"tags":{}}],["fat",{"_index":2053,"title":{},"content":{"330":{}},"tags":{}}],["fatal",{"_index":1485,"title":{},"content":{"179":{}},"tags":{}}],["featur",{"_index":22,"title":{"140":{},"148":{},"154":{},"171":{},"172":{},"173":{},"261":{}},"content":{"116":{},"118":{},"139":{},"140":{},"142":{},"149":{},"155":{},"165":{},"173":{},"191":{},"209":{},"215":{},"233":{},"244":{},"256":{},"306":{},"338":{},"346":{}},"tags":{}}],["feedback",{"_index":33,"title":{},"content":{"154":{},"191":{},"215":{},"325":{}},"tags":{}}],["feel",{"_index":144,"title":{},"content":{"47":{},"112":{},"168":{},"191":{},"196":{},"350":{}},"tags":{}}],["fellow",{"_index":1268,"title":{},"content":{"191":{}},"tags":{}}],["fetch",{"_index":999,"title":{},"content":{"137":{},"250":{},"297":{}},"tags":{}}],["fetcher",{"_index":1883,"title":{},"content":{"257":{}},"tags":{}}],["few",{"_index":787,"title":{},"content":{"112":{},"260":{},"303":{}},"tags":{}}],["fi",{"_index":1202,"title":{},"content":{"174":{}},"tags":{}}],["fictiti",{"_index":1395,"title":{},"content":{"208":{}},"tags":{}}],["field",{"_index":840,"title":{"253":{}},"content":{"116":{},"117":{},"242":{},"247":{},"253":{}},"tags":{}}],["field(",{"_index":1759,"title":{},"content":{"253":{}},"tags":{}}],["file",{"_index":161,"title":{"51":{},"91":{},"281":{},"292":{},"323":{},"329":{},"331":{}},"content":{"48":{},"51":{},"52":{},"53":{},"59":{},"69":{},"78":{},"85":{},"91":{},"92":{},"94":{},"96":{},"105":{},"107":{},"113":{},"161":{},"162":{},"168":{},"173":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"184":{},"187":{},"191":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"205":{},"206":{},"207":{},"209":{},"210":{},"212":{},"213":{},"225":{},"227":{},"232":{},"238":{},"262":{},"278":{},"281":{},"283":{},"286":{},"291":{},"292":{},"295":{},"321":{},"329":{},"330":{},"331":{},"332":{},"335":{},"337":{},"350":{},"357":{},"359":{},"363":{}},"tags":{}}],["file'",{"_index":1619,"title":{},"content":{"335":{},"337":{},"363":{}},"tags":{}}],["filenam",{"_index":2101,"title":{},"content":{"332":{}},"tags":{}}],["filesystem",{"_index":1599,"title":{"229":{}},"content":{"187":{},"228":{},"232":{},"357":{}},"tags":{}}],["filewatch",{"_index":1560,"title":{},"content":{"184":{}},"tags":{}}],["fill",{"_index":76,"title":{},"content":{"217":{},"239":{},"250":{},"314":{},"322":{}},"tags":{}}],["filter",{"_index":219,"title":{"53":{}},"content":{"53":{},"54":{},"73":{},"173":{},"253":{},"357":{}},"tags":{}}],["filter.conf",{"_index":227,"title":{},"content":{"53":{}},"tags":{}}],["final",{"_index":710,"title":{},"content":{"94":{},"130":{},"242":{},"363":{}},"tags":{}}],["find",{"_index":148,"title":{"258":{}},"content":{"47":{},"69":{},"73":{},"94":{},"100":{},"144":{},"152":{},"193":{},"238":{},"240":{},"268":{},"350":{}},"tags":{}}],["findabl",{"_index":1749,"title":{},"content":{"243":{}},"tags":{}}],["findtim",{"_index":251,"title":{},"content":{"54":{}},"tags":{}}],["fine",{"_index":267,"title":{},"content":{"57":{},"157":{}},"tags":{}}],["firewal",{"_index":169,"title":{},"content":{"48":{},"278":{}},"tags":{}}],["first",{"_index":8,"title":{},"content":{"182":{},"202":{},"215":{},"232":{},"237":{},"253":{},"274":{},"278":{},"292":{},"340":{},"342":{},"356":{}},"tags":{}}],["first_release_d",{"_index":1766,"title":{},"content":{"253":{}},"tags":{}}],["fit",{"_index":1745,"title":{},"content":{"243":{}},"tags":{}}],["fix",{"_index":346,"title":{"351":{}},"content":{"63":{},"341":{}},"tags":{}}],["flac",{"_index":1651,"title":{},"content":{"226":{}},"tags":{}}],["flag",{"_index":1620,"title":{},"content":{"332":{},"335":{},"359":{},"363":{}},"tags":{}}],["flash",{"_index":1670,"title":{},"content":{"227":{}},"tags":{}}],["flatpak",{"_index":314,"title":{},"content":{"61":{}},"tags":{}}],["fletcherau",{"_index":1331,"title":{},"content":{"196":{}},"tags":{}}],["flexibl",{"_index":1127,"title":{},"content":{"160":{},"308":{}},"tags":{}}],["fli",{"_index":2080,"title":{},"content":{"331":{}},"tags":{}}],["flv",{"_index":1669,"title":{},"content":{"227":{}},"tags":{}}],["focu",{"_index":692,"title":{},"content":{"94":{}},"tags":{}}],["folder",{"_index":182,"title":{"91":{},"115":{},"321":{},"329":{}},"content":{"51":{},"63":{},"69":{},"78":{},"84":{},"91":{},"92":{},"94":{},"96":{},"100":{},"106":{},"115":{},"161":{},"162":{},"168":{},"180":{},"200":{},"202":{},"205":{},"209":{},"210":{},"232":{},"262":{},"281":{},"282":{},"291":{},"292":{},"295":{},"321":{},"323":{},"324":{},"329":{},"331":{},"354":{},"357":{}},"tags":{}}],["follow",{"_index":46,"title":{},"content":{"52":{},"53":{},"54":{},"57":{},"61":{},"92":{},"97":{},"110":{},"113":{},"115":{},"116":{},"117":{},"124":{},"126":{},"140":{},"152":{},"159":{},"161":{},"177":{},"202":{},"203":{},"205":{},"206":{},"208":{},"216":{},"217":{},"234":{},"242":{},"257":{},"267":{},"268":{},"278":{},"281":{},"282":{},"283":{},"284":{},"286":{},"287":{},"299":{},"303":{},"311":{},"321":{},"322":{},"323":{},"324":{},"325":{},"327":{},"328":{},"332":{},"333":{},"345":{},"363":{}},"tags":{}}],["font",{"_index":342,"title":{},"content":{"63":{},"69":{}},"tags":{}}],["forc",{"_index":1535,"title":{},"content":{"181":{}},"tags":{}}],["forefront",{"_index":781,"title":{},"content":{"99":{}},"tags":{}}],["forget",{"_index":1868,"title":{},"content":{"244":{}},"tags":{}}],["forgot",{"_index":1469,"title":{"361":{}},"content":{"177":{}},"tags":{}}],["fork",{"_index":1319,"title":{"193":{}},"content":{"193":{}},"tags":{}}],["form",{"_index":79,"title":{},"content":{"65":{},"217":{},"250":{},"262":{}},"tags":{}}],["formal",{"_index":1316,"title":{},"content":{"192":{}},"tags":{}}],["format",{"_index":207,"title":{"224":{},"225":{},"226":{},"227":{},"330":{}},"content":{"52":{},"66":{},"77":{},"93":{},"101":{},"179":{},"184":{},"185":{},"201":{},"203":{},"223":{},"225":{},"226":{},"227":{},"262":{},"278":{},"329":{},"330":{},"332":{}},"tags":{}}],["forum",{"_index":1249,"title":{},"content":{"191":{}},"tags":{}}],["found",{"_index":93,"title":{},"content":{"92":{},"100":{},"137":{},"160":{},"218":{},"357":{}},"tags":{}}],["fragil",{"_index":1429,"title":{},"content":{"211":{}},"tags":{}}],["frame",{"_index":1513,"title":{},"content":{"179":{}},"tags":{}}],["framework",{"_index":1194,"title":{},"content":{"173":{},"234":{}},"tags":{}}],["free",{"_index":145,"title":{"132":{}},"content":{"47":{},"94":{},"112":{},"157":{},"168":{},"169":{},"174":{},"176":{},"179":{},"189":{},"191":{},"196":{},"203":{},"226":{},"289":{},"350":{}},"tags":{}}],["freedom",{"_index":2182,"title":{},"content":{"347":{}},"tags":{}}],["freeli",{"_index":1018,"title":{},"content":{"139":{},"335":{}},"tags":{}}],["frequent",{"_index":277,"title":{},"content":{"57":{},"184":{}},"tags":{}}],["fresh",{"_index":1583,"title":{},"content":{"186":{}},"tags":{}}],["freshli",{"_index":651,"title":{},"content":{"91":{}},"tags":{}}],["friend",{"_index":1025,"title":{},"content":{"144":{},"168":{},"169":{},"174":{},"191":{},"278":{}},"tags":{}}],["friendli",{"_index":1149,"title":{},"content":{"168":{},"212":{},"263":{}},"tags":{}}],["full",{"_index":604,"title":{},"content":{"77":{},"173":{},"192":{},"278":{},"289":{},"344":{},"345":{},"346":{},"350":{}},"tags":{}}],["fulli",{"_index":358,"title":{},"content":{"64":{},"92":{},"94":{},"173":{},"190":{},"344":{},"346":{}},"tags":{}}],["function",{"_index":330,"title":{},"content":{"62":{},"70":{},"71":{},"99":{},"106":{},"116":{},"118":{},"119":{},"165":{},"171":{},"187":{},"306":{},"345":{}},"tags":{}}],["further",{"_index":852,"title":{},"content":{"118":{},"238":{},"278":{}},"tags":{}}],["furthermor",{"_index":521,"title":{},"content":{"107":{}},"tags":{}}],["futur",{"_index":95,"title":{"153":{}},"content":{"136":{},"154":{},"198":{},"218":{}},"tags":{}}],["g",{"_index":1947,"title":{},"content":{"289":{}},"tags":{}}],["gain",{"_index":855,"title":{},"content":{"131":{},"158":{},"263":{},"278":{},"344":{}},"tags":{}}],["game",{"_index":320,"title":{"74":{},"75":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"104":{},"184":{},"197":{},"198":{},"201":{},"209":{},"234":{},"240":{},"241":{},"247":{},"332":{},"334":{},"335":{},"337":{},"353":{},"354":{},"357":{},"359":{},"362":{},"363":{}},"content":{"61":{},"69":{},"73":{},"74":{},"76":{},"77":{},"78":{},"79":{},"85":{},"88":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"101":{},"104":{},"107":{},"110":{},"115":{},"125":{},"126":{},"127":{},"153":{},"159":{},"168":{},"169":{},"170":{},"172":{},"173":{},"174":{},"176":{},"180":{},"184":{},"197":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"205":{},"208":{},"209":{},"210":{},"229":{},"230":{},"234":{},"238":{},"239":{},"240":{},"241":{},"242":{},"244":{},"247":{},"249":{},"250":{},"253":{},"254":{},"262":{},"278":{},"281":{},"292":{},"303":{},"329":{},"331":{},"332":{},"333":{},"335":{},"336":{},"337":{},"345":{},"353":{},"357":{},"358":{},"359":{},"363":{}},"tags":{}}],["game'",{"_index":459,"title":{},"content":{"93":{},"94":{},"95":{},"97":{},"101":{},"104":{},"200":{},"332":{},"357":{},"363":{}},"tags":{}}],["game.7z",{"_index":1369,"title":{},"content":{"205":{},"206":{},"207":{}},"tags":{}}],["game.metadata",{"_index":1724,"title":{},"content":{"242":{}},"tags":{}}],["game.storylin",{"_index":1769,"title":{},"content":{"253":{}},"tags":{}}],["game.summari",{"_index":1767,"title":{},"content":{"253":{}},"tags":{}}],["game_metadata.background",{"_index":1682,"title":{},"content":{"229":{}},"tags":{}}],["game_metadata.cov",{"_index":1681,"title":{},"content":{"229":{}},"tags":{}}],["game_metadata.url_gameplay",{"_index":1689,"title":{},"content":{"230":{}},"tags":{}}],["game_metadata.url_screenshot",{"_index":1685,"title":{},"content":{"230":{}},"tags":{}}],["game_metadata.url_trail",{"_index":1687,"title":{},"content":{"230":{}},"tags":{}}],["gameid",{"_index":916,"title":{},"content":{"125":{},"126":{},"127":{}},"tags":{}}],["gameid=3",{"_index":931,"title":{},"content":{"127":{}},"tags":{}}],["gameid=[id",{"_index":913,"title":{},"content":{"125":{}},"tags":{}}],["gameplay",{"_index":1690,"title":{},"content":{"230":{},"253":{}},"tags":{}}],["gamer",{"_index":1156,"title":{},"content":{"169":{}},"tags":{}}],["games_default_archive_password",{"_index":1569,"title":{},"content":{"184":{}},"tags":{}}],["games_index_interval_in_minut",{"_index":1557,"title":{},"content":{"184":{}},"tags":{}}],["games_search_recurs",{"_index":1568,"title":{},"content":{"184":{}},"tags":{}}],["games_supported_file_format",{"_index":1566,"title":{},"content":{"184":{}},"tags":{}}],["gametyp",{"_index":2083,"title":{},"content":{"332":{}},"tags":{}}],["gamevault",{"_index":4,"title":{"47":{},"110":{},"145":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"156":{},"157":{},"168":{},"169":{},"170":{},"190":{},"191":{},"192":{},"194":{},"195":{},"201":{},"238":{},"242":{},"259":{},"268":{},"275":{},"303":{},"312":{}},"content":{"48":{},"49":{},"51":{},"54":{},"56":{},"57":{},"58":{},"62":{},"64":{},"65":{},"68":{},"69":{},"70":{},"71":{},"72":{},"79":{},"86":{},"87":{},"89":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"108":{},"110":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"121":{},"122":{},"123":{},"124":{},"125":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"151":{},"154":{},"155":{},"157":{},"158":{},"159":{},"160":{},"161":{},"168":{},"169":{},"170":{},"171":{},"174":{},"176":{},"177":{},"180":{},"181":{},"184":{},"189":{},"190":{},"191":{},"192":{},"197":{},"201":{},"203":{},"204":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"215":{},"216":{},"221":{},"228":{},"231":{},"232":{},"234":{},"238":{},"242":{},"243":{},"244":{},"249":{},"250":{},"253":{},"254":{},"256":{},"263":{},"268":{},"269":{},"271":{},"273":{},"274":{},"275":{},"277":{},"278":{},"279":{},"281":{},"282":{},"283":{},"284":{},"287":{},"288":{},"290":{},"292":{},"294":{},"295":{},"297":{},"298":{},"302":{},"304":{},"306":{},"307":{},"308":{},"311":{},"312":{},"313":{},"314":{},"315":{},"317":{},"318":{},"319":{},"322":{},"323":{},"324":{},"325":{},"327":{},"328":{},"329":{},"330":{},"331":{},"332":{},"338":{},"340":{},"341":{},"342":{},"343":{},"344":{},"345":{},"346":{},"347":{},"351":{},"354":{}},"tags":{}}],["gamevault'",{"_index":498,"title":{},"content":{"106":{},"191":{},"210":{},"335":{},"337":{}},"tags":{}}],["gamevault.ex",{"_index":310,"title":{},"content":{"60":{},"61":{},"69":{},"127":{}},"tags":{}}],["gamevault/1.3.0",{"_index":217,"title":{},"content":{"52":{}},"tags":{}}],["gamevault://install?gameid=3",{"_index":935,"title":{},"content":{"128":{}},"tags":{}}],["gamevault://query?query=downloaded&gameid=3",{"_index":941,"title":{},"content":{"129":{}},"tags":{}}],["gamevault://query?query=exists&gameid=3",{"_index":939,"title":{},"content":{"129":{}},"tags":{}}],["gamevault://query?query=getappvers",{"_index":944,"title":{},"content":{"129":{}},"tags":{}}],["gamevault://query?query=getinstalldirectory&gameid=3",{"_index":943,"title":{},"content":{"129":{}},"tags":{}}],["gamevault://query?query=getname&gameid=3",{"_index":942,"title":{},"content":{"129":{}},"tags":{}}],["gamevault://query?query=getserverurl",{"_index":945,"title":{},"content":{"129":{}},"tags":{}}],["gamevault://query?query=installed&gameid=3",{"_index":940,"title":{},"content":{"129":{}},"tags":{}}],["gamevault://query?query=isloggedin",{"_index":946,"title":{},"content":{"129":{}},"tags":{}}],["gamevault://show",{"_index":933,"title":{},"content":{"128":{}},"tags":{}}],["gamevault://show?minimized=tru",{"_index":934,"title":{},"content":{"128":{}},"tags":{}}],["gamevault://start?gameid=3",{"_index":937,"title":{},"content":{"128":{}},"tags":{}}],["gamevault://start?gameid=3&minimized=fals",{"_index":938,"title":{},"content":{"128":{}},"tags":{}}],["gamevault://uninstall?gameid=3",{"_index":936,"title":{},"content":{"128":{}},"tags":{}}],["gamevault_user.avatar",{"_index":1683,"title":{},"content":{"229":{}},"tags":{}}],["gamevault_user.background",{"_index":1684,"title":{},"content":{"229":{}},"tags":{}}],["gamevaultinteract",{"_index":956,"title":{},"content":{"130":{}},"tags":{}}],["gamevaultux",{"_index":1309,"title":{},"content":{"192":{}},"tags":{}}],["garbag",{"_index":1578,"title":{"232":{},"233":{}},"content":{"185":{},"232":{}},"tags":{}}],["gateway",{"_index":2171,"title":{},"content":{"346":{}},"tags":{}}],["gather",{"_index":1394,"title":{},"content":{"208":{}},"tags":{}}],["gb",{"_index":1572,"title":{},"content":{"185":{}},"tags":{}}],["gbr",{"_index":1304,"title":{},"content":{"192":{}},"tags":{}}],["gdpr",{"_index":1080,"title":{},"content":{"152":{}},"tags":{}}],["geforc",{"_index":1176,"title":{},"content":{"170":{}},"tags":{}}],["gem",{"_index":1166,"title":{},"content":{"169":{}},"tags":{}}],["gener",{"_index":393,"title":{},"content":{"66":{},"91":{},"92":{},"94":{},"108":{},"115":{},"190":{},"242":{},"349":{}},"tags":{}}],["genr",{"_index":606,"title":{},"content":{"77":{},"173":{},"253":{}},"tags":{}}],["german",{"_index":1303,"title":{},"content":{"192":{}},"tags":{}}],["germani",{"_index":1027,"title":{},"content":{"144":{}},"tags":{}}],["get",{"_index":302,"title":{"59":{},"257":{}},"content":{"174":{},"197":{},"209":{},"232":{},"342":{}},"tags":{}}],["get.*401",{"_index":232,"title":{},"content":{"53":{}},"tags":{}}],["getappvers",{"_index":926,"title":{},"content":{"126":{}},"tags":{}}],["getinstalldirectori",{"_index":925,"title":{},"content":{"126":{}},"tags":{}}],["getnam",{"_index":924,"title":{},"content":{"126":{}},"tags":{}}],["getserverurl",{"_index":927,"title":{},"content":{"126":{}},"tags":{}}],["gif",{"_index":1633,"title":{},"content":{"225":{}},"tags":{}}],["gigabyt",{"_index":1162,"title":{},"content":{"169":{}},"tags":{}}],["gist",{"_index":1919,"title":{},"content":{"280":{}},"tags":{}}],["git",{"_index":1950,"title":{},"content":{"290":{},"297":{}},"tags":{}}],["github",{"_index":286,"title":{},"content":{"57":{},"113":{},"154":{},"157":{},"166":{},"174":{},"191":{},"194":{},"195":{},"196":{},"198":{},"243":{},"277":{},"346":{},"350":{}},"tags":{}}],["give",{"_index":146,"title":{},"content":{"47":{},"100":{},"189":{},"275":{}},"tags":{}}],["given",{"_index":89,"title":{},"content":{"218":{}},"tags":{}}],["go",{"_index":325,"title":{"148":{}},"content":{"61":{},"95":{},"113":{},"136":{},"199":{},"266":{},"269":{},"301":{},"302":{}},"tags":{}}],["goe",{"_index":283,"title":{},"content":{"57":{}},"tags":{}}],["golden",{"_index":1169,"title":{},"content":{"169":{}},"tags":{}}],["good",{"_index":1411,"title":{},"content":{"209":{}},"tags":{}}],["goti",{"_index":2106,"title":{},"content":{"332":{}},"tags":{}}],["gpt",{"_index":2054,"title":{},"content":{"330":{}},"tags":{}}],["grac",{"_index":1835,"title":{},"content":{"254":{}},"tags":{}}],["grac_al",{"_index":1836,"title":{},"content":{"254":{}},"tags":{}}],["grac_eighteen",{"_index":1842,"title":{},"content":{"254":{}},"tags":{}}],["grac_fifteen",{"_index":1840,"title":{},"content":{"254":{}},"tags":{}}],["grac_twelv",{"_index":1838,"title":{},"content":{"254":{}},"tags":{}}],["grace",{"_index":2014,"title":{},"content":{"306":{}},"tags":{}}],["gradual",{"_index":1008,"title":{},"content":{"139":{},"350":{}},"tags":{}}],["grand",{"_index":1725,"title":{},"content":{"242":{}},"tags":{}}],["grant",{"_index":1502,"title":{},"content":{"179":{},"340":{},"341":{},"344":{},"345":{},"356":{}},"tags":{}}],["graphic",{"_index":541,"title":{},"content":{"71":{},"225":{},"319":{}},"tags":{}}],["gray",{"_index":597,"title":{},"content":{"77":{}},"tags":{}}],["greatli",{"_index":1280,"title":{},"content":{"191":{}},"tags":{}}],["greet",{"_index":1887,"title":{},"content":{"262":{}},"tags":{}}],["group",{"_index":17,"title":{},"content":{"179":{},"215":{},"222":{}},"tags":{}}],["grow",{"_index":1160,"title":{},"content":{"169":{}},"tags":{}}],["guarante",{"_index":141,"title":{},"content":{"47":{}},"tags":{}}],["guess",{"_index":1431,"title":{},"content":{"211":{}},"tags":{}}],["guest",{"_index":2161,"title":{},"content":{"344":{},"345":{}},"tags":{}}],["gui",{"_index":540,"title":{"71":{}},"content":{"71":{},"306":{}},"tags":{}}],["guid",{"_index":138,"title":{"69":{}},"content":{"47":{},"48":{},"57":{},"58":{},"66":{},"68":{},"72":{},"94":{},"109":{},"119":{},"263":{},"278":{},"279":{},"280":{},"303":{},"319":{}},"tags":{}}],["gvbot_",{"_index":371,"title":{},"content":{"65":{}},"tags":{}}],["gvbot_image_download",{"_index":373,"title":{},"content":{"65":{}},"tags":{}}],["gz",{"_index":2041,"title":{},"content":{"330":{},"332":{}},"tags":{}}],["hack",{"_index":2019,"title":{},"content":{"306":{}},"tags":{}}],["halloween",{"_index":1122,"title":{},"content":{"159":{}},"tags":{}}],["halt",{"_index":1989,"title":{},"content":{"327":{}},"tags":{}}],["handl",{"_index":1036,"title":{},"content":{"146":{},"192":{},"197":{},"212":{},"223":{}},"tags":{}}],["handler",{"_index":897,"title":{},"content":{"122":{}},"tags":{}}],["handshak",{"_index":2186,"title":{},"content":{"349":{}},"tags":{}}],["happen",{"_index":700,"title":{},"content":{"94":{},"232":{}},"tags":{}}],["happi",{"_index":1105,"title":{},"content":{"156":{},"207":{}},"tags":{}}],["hard",{"_index":1195,"title":{},"content":{"174":{},"213":{}},"tags":{}}],["hardcod",{"_index":1761,"title":{},"content":{"253":{}},"tags":{}}],["hardcor",{"_index":1375,"title":{"206":{}},"content":{},"tags":{}}],["harder",{"_index":2193,"title":{},"content":{"350":{}},"tags":{}}],["hardwar",{"_index":1381,"title":{},"content":{"206":{},"319":{},"362":{}},"tags":{}}],["harmless",{"_index":1459,"title":{},"content":{"213":{}},"tags":{}}],["hasn't",{"_index":139,"title":{},"content":{"47":{},"263":{}},"tags":{}}],["have",{"_index":1738,"title":{},"content":{"242":{}},"tags":{}}],["haven't",{"_index":57,"title":{},"content":{"216":{}},"tags":{}}],["head",{"_index":128,"title":{},"content":{"222":{}},"tags":{}}],["header",{"_index":397,"title":{},"content":{"67":{},"77":{},"184":{},"187":{},"349":{},"355":{}},"tags":{}}],["health",{"_index":1189,"title":{},"content":{"173":{}},"tags":{}}],["healthi",{"_index":2198,"title":{},"content":{"351":{}},"tags":{}}],["heavyscript",{"_index":2013,"title":{},"content":{"306":{}},"tags":{}}],["help",{"_index":35,"title":{},"content":{"118":{},"125":{},"127":{},"215":{},"275":{},"277":{},"350":{}},"tags":{}}],["here",{"_index":58,"title":{},"content":{"59":{},"69":{},"94":{},"109":{},"113":{},"139":{},"152":{},"160":{},"168":{},"185":{},"190":{},"193":{},"204":{},"216":{},"223":{},"243":{},"253":{},"260":{},"271":{},"284":{},"288":{},"289":{},"294":{},"304":{},"315":{},"320":{},"332":{},"333":{},"350":{},"355":{},"357":{}},"tags":{}}],["here'",{"_index":948,"title":{},"content":{"130":{},"209":{},"332":{}},"tags":{}}],["heroic",{"_index":1180,"title":{},"content":{"170":{}},"tags":{}}],["hex",{"_index":1134,"title":{},"content":{"162":{}},"tags":{}}],["hexxit",{"_index":1417,"title":{},"content":{"209":{}},"tags":{}}],["hf",{"_index":2055,"title":{},"content":{"330":{}},"tags":{}}],["hidden",{"_index":522,"title":{},"content":{"107":{}},"tags":{}}],["hide",{"_index":1867,"title":{},"content":{"244":{}},"tags":{}}],["high",{"_index":1872,"title":{},"content":{"256":{}},"tags":{}}],["higher",{"_index":590,"title":{},"content":{"77":{},"97":{},"98":{},"179":{},"209":{},"213":{},"238":{},"239":{}},"tags":{}}],["highest",{"_index":1720,"title":{},"content":{"239":{},"242":{},"244":{},"253":{}},"tags":{}}],["highli",{"_index":1191,"title":{},"content":{"173":{}},"tags":{}}],["highlight",{"_index":1260,"title":{},"content":{"191":{}},"tags":{}}],["histori",{"_index":1163,"title":{},"content":{"169":{}},"tags":{}}],["hitman",{"_index":2089,"title":{},"content":{"332":{},"333":{}},"tags":{}}],["hoarder",{"_index":1161,"title":{},"content":{"169":{}},"tags":{}}],["hold",{"_index":1305,"title":{},"content":{"192":{}},"tags":{}}],["holder",{"_index":1315,"title":{},"content":{"192":{}},"tags":{}}],["home/deck/.local/share/steam/steamapps/compatdata/gameappidnumb",{"_index":416,"title":{},"content":{"69":{}},"tags":{}}],["home/deck/.local/share/steam/steamapps/compatdata/gameappidnumber/pfx/drive_c/windows/font",{"_index":423,"title":{},"content":{"69":{}},"tags":{}}],["hope",{"_index":1089,"title":{},"content":{"153":{}},"tags":{}}],["horror",{"_index":1125,"title":{},"content":{"159":{}},"tags":{}}],["host",{"_index":171,"title":{},"content":{"49":{},"53":{},"66":{},"116":{},"168":{},"174":{},"181":{},"210":{}},"tags":{}}],["hoster",{"_index":1157,"title":{},"content":{"169":{}},"tags":{}}],["hostnam",{"_index":2033,"title":{},"content":{"314":{}},"tags":{}}],["hostname:port",{"_index":2032,"title":{},"content":{"314":{}},"tags":{}}],["hostpath",{"_index":2006,"title":{},"content":{"303":{}},"tags":{}}],["http",{"_index":1492,"title":{},"content":{"179":{},"278":{},"355":{}},"tags":{}}],["http://192.168.0.15:8080",{"_index":1934,"title":{},"content":{"284":{}},"tags":{}}],["http://tower.local:8080",{"_index":2031,"title":{},"content":{"314":{}},"tags":{}}],["https://github.com/phalcode/gamevault",{"_index":1951,"title":{},"content":{"290":{}},"tags":{}}],["https://phalcode.github.io/caprov",{"_index":1916,"title":{},"content":{"267":{}},"tags":{}}],["https://store.rg",{"_index":824,"title":{},"content":{"113":{}},"tags":{}}],["https://www.microsoft.com/store/apps/9pckdv76gl75",{"_index":826,"title":{},"content":{"113":{}},"tags":{}}],["hyper",{"_index":1991,"title":{},"content":{"298":{}},"tags":{}}],["i'll",{"_index":1732,"title":{},"content":{"242":{}},"tags":{}}],["i'v",{"_index":411,"title":{},"content":{"69":{}},"tags":{}}],["ico",{"_index":1636,"title":{},"content":{"225":{}},"tags":{}}],["icon",{"_index":557,"title":{},"content":{"73":{},"77":{},"94":{},"97":{},"98":{},"225":{},"262":{},"307":{},"317":{},"318":{}},"tags":{}}],["id",{"_index":453,"title":{},"content":{"92":{},"101":{},"113":{},"127":{},"179":{},"186":{},"236":{},"250":{},"251":{},"253":{},"357":{}},"tags":{}}],["idea",{"_index":711,"title":{},"content":{"94":{},"154":{}},"tags":{}}],["ideal",{"_index":1051,"title":{},"content":{"147":{},"213":{}},"tags":{}}],["identif",{"_index":1474,"title":{},"content":{"179":{}},"tags":{}}],["identifi",{"_index":203,"title":{"52":{}},"content":{"92":{},"122":{},"278":{}},"tags":{}}],["igdb",{"_index":1586,"title":{"248":{}},"content":{"186":{},"236":{},"242":{},"249":{},"253":{},"254":{},"278":{}},"tags":{}}],["ignor",{"_index":504,"title":{"107":{}},"content":{"96":{},"107":{},"187":{},"242":{},"254":{}},"tags":{}}],["ignorelist",{"_index":525,"title":{},"content":{"107":{}},"tags":{}}],["ihex",{"_index":2056,"title":{},"content":{"330":{}},"tags":{}}],["illeg",{"_index":1220,"title":{},"content":{"176":{},"332":{}},"tags":{}}],["imag",{"_index":65,"title":{"81":{},"101":{},"102":{},"225":{}},"content":{"51":{},"77":{},"81":{},"87":{},"97":{},"98":{},"101":{},"102":{},"195":{},"216":{},"223":{},"225":{},"229":{},"234":{},"250":{},"281":{},"282":{},"303":{},"323":{},"324":{}},"tags":{}}],["image/bmp",{"_index":1625,"title":{},"content":{"225":{}},"tags":{}}],["image/gif",{"_index":1635,"title":{},"content":{"225":{}},"tags":{}}],["image/jpeg",{"_index":1627,"title":{},"content":{"225":{}},"tags":{}}],["image/offlin",{"_index":632,"title":{},"content":{"87":{}},"tags":{}}],["image/png",{"_index":1630,"title":{},"content":{"225":{}},"tags":{}}],["image/tiff",{"_index":1632,"title":{},"content":{"225":{}},"tags":{}}],["image/vnd.microsoft.icon",{"_index":1637,"title":{},"content":{"225":{}},"tags":{}}],["imageid",{"_index":455,"title":{},"content":{"101":{}},"tags":{}}],["immedi",{"_index":463,"title":{},"content":{"101":{},"199":{},"344":{}},"tags":{}}],["implement",{"_index":1095,"title":{},"content":{"154":{},"184":{},"243":{},"345":{},"346":{},"348":{}},"tags":{}}],["import",{"_index":84,"title":{"218":{}},"content":{"66":{},"69":{},"109":{},"147":{},"209":{},"238":{},"242":{},"278":{},"331":{}},"tags":{}}],["imposs",{"_index":719,"title":{},"content":{"94":{}},"tags":{}}],["improp",{"_index":1229,"title":{},"content":{"176":{}},"tags":{}}],["improv",{"_index":37,"title":{},"content":{"148":{},"215":{}},"tags":{}}],["inc",{"_index":1970,"title":{},"content":{"319":{}},"tags":{}}],["includ",{"_index":383,"title":{},"content":{"66":{},"67":{},"74":{},"77":{},"94":{},"96":{},"107":{},"113":{},"152":{},"191":{},"223":{},"238":{},"253":{},"263":{},"306":{},"332":{},"345":{},"347":{},"349":{},"355":{}},"tags":{}}],["incom",{"_index":1491,"title":{},"content":{"179":{}},"tags":{}}],["incomplet",{"_index":1320,"title":{},"content":{"193":{}},"tags":{}}],["incorpor",{"_index":1128,"title":{},"content":{"160":{}},"tags":{}}],["incorrect",{"_index":755,"title":{"353":{}},"content":{"97":{}},"tags":{}}],["incorrectli",{"_index":704,"title":{},"content":{"94":{},"97":{}},"tags":{}}],["increas",{"_index":279,"title":{},"content":{"57":{}},"tags":{}}],["increment",{"_index":1467,"title":{},"content":{"213":{}},"tags":{}}],["independ",{"_index":1165,"title":{},"content":{"169":{},"211":{}},"tags":{}}],["index",{"_index":641,"title":{"354":{},"363":{}},"content":{"88":{},"173":{},"184":{},"209":{},"210":{},"238":{},"335":{},"336":{},"337":{},"363":{}},"tags":{}}],["indi",{"_index":1164,"title":{},"content":{"169":{}},"tags":{}}],["indic",{"_index":909,"title":{},"content":{"125":{},"192":{},"332":{}},"tags":{}}],["indiegam",{"_index":2131,"title":{},"content":{"333":{}},"tags":{}}],["individu",{"_index":1102,"title":{},"content":{"156":{},"183":{},"246":{}},"tags":{}}],["industri",{"_index":2137,"title":{},"content":{"333":{}},"tags":{}}],["info",{"_index":208,"title":{"272":{},"285":{},"295":{},"305":{},"316":{},"326":{}},"content":{"52":{},"152":{},"179":{},"198":{},"209":{}},"tags":{}}],["inform",{"_index":85,"title":{"218":{}},"content":{"79":{},"94":{},"96":{},"119":{},"126":{},"134":{},"144":{},"165":{},"166":{},"179":{},"208":{},"249":{},"262":{},"278":{},"314":{},"328":{},"335":{},"337":{},"347":{},"350":{},"355":{},"363":{}},"tags":{}}],["initi",{"_index":778,"title":{"114":{},"340":{},"356":{}},"content":{"99":{},"112":{},"114":{},"115":{},"118":{},"138":{},"151":{},"242":{},"338":{},"346":{}},"tags":{}}],["innov",{"_index":1139,"title":{},"content":{"168":{}},"tags":{}}],["input",{"_index":1096,"title":{},"content":{"154":{},"191":{}},"tags":{}}],["insert",{"_index":228,"title":{},"content":{"53":{},"84":{},"336":{}},"tags":{}}],["insid",{"_index":321,"title":{},"content":{"61":{},"94":{},"180":{},"232":{},"295":{},"297":{}},"tags":{}}],["insight",{"_index":1279,"title":{},"content":{"191":{}},"tags":{}}],["inspir",{"_index":287,"title":{},"content":{"57":{}},"tags":{}}],["instagram",{"_index":1253,"title":{},"content":{"191":{}},"tags":{}}],["instal",{"_index":52,"title":{"85":{},"94":{},"111":{},"112":{},"113":{},"161":{},"268":{},"291":{},"303":{},"311":{},"314":{},"357":{}},"content":{"49":{},"60":{},"61":{},"63":{},"69":{},"73":{},"74":{},"76":{},"78":{},"85":{},"91":{},"92":{},"94":{},"95":{},"96":{},"100":{},"107":{},"110":{},"112":{},"113":{},"114":{},"115":{},"118":{},"125":{},"126":{},"127":{},"155":{},"161":{},"164":{},"165":{},"166":{},"168":{},"172":{},"197":{},"200":{},"216":{},"221":{},"263":{},"268":{},"278":{},"280":{},"288":{},"289":{},"291":{},"299":{},"303":{},"309":{},"312":{},"320":{},"357":{}},"tags":{}}],["instanc",{"_index":173,"title":{},"content":{"49":{},"107":{},"263":{},"273":{},"278":{}},"tags":{}}],["instantli",{"_index":701,"title":{},"content":{"94":{}},"tags":{}}],["instead",{"_index":703,"title":{},"content":{"94":{},"99":{},"313":{},"332":{}},"tags":{}}],["instruct",{"_index":834,"title":{},"content":{"115":{},"116":{},"117":{},"278":{},"338":{},"353":{},"360":{},"361":{}},"tags":{}}],["int",{"_index":963,"title":{},"content":{"130":{}},"tags":{}}],["integ",{"_index":1757,"title":{},"content":{"251":{}},"tags":{}}],["integr",{"_index":362,"title":{"153":{}},"content":{"64":{},"93":{},"119":{},"121":{},"140":{},"153":{},"186":{},"192":{},"243":{},"249":{},"254":{},"256":{},"263":{},"363":{}},"tags":{}}],["intellectu",{"_index":1293,"title":{},"content":{"192":{}},"tags":{}}],["intend",{"_index":1313,"title":{},"content":{"192":{}},"tags":{}}],["intens",{"_index":1382,"title":{},"content":{"206":{}},"tags":{}}],["interact",{"_index":883,"title":{},"content":{"119":{},"121":{},"123":{},"126":{},"130":{},"346":{},"347":{}},"tags":{}}],["interchang",{"_index":1634,"title":{},"content":{"225":{}},"tags":{}}],["interconnect",{"_index":1091,"title":{},"content":{"153":{}},"tags":{}}],["interest",{"_index":1296,"title":{},"content":{"192":{},"277":{},"346":{}},"tags":{}}],["interfac",{"_index":542,"title":{},"content":{"71":{},"93":{},"119":{},"121":{},"123":{},"125":{},"140":{},"168":{},"238":{},"263":{},"319":{},"325":{}},"tags":{}}],["interleav",{"_index":1662,"title":{},"content":{"227":{}},"tags":{}}],["intern",{"_index":1215,"title":{"355":{}},"content":{"175":{},"189":{}},"tags":{}}],["internet",{"_index":737,"title":{},"content":{"96":{},"138":{},"151":{},"249":{}},"tags":{}}],["interv",{"_index":1558,"title":{},"content":{"184":{},"185":{},"186":{}},"tags":{}}],["intro",{"_index":1792,"title":{},"content":{"253":{}},"tags":{}}],["introduc",{"_index":2168,"title":{},"content":{"346":{}},"tags":{}}],["introduct",{"_index":152,"title":{"48":{},"139":{},"167":{},"256":{}},"content":{},"tags":{}}],["involv",{"_index":1286,"title":{},"content":{"191":{},"192":{},"338":{}},"tags":{}}],["involved_compani",{"_index":1774,"title":{},"content":{"253":{}},"tags":{}}],["involved_company.develop",{"_index":1775,"title":{},"content":{"253":{}},"tags":{}}],["involved_company.publish",{"_index":1776,"title":{},"content":{"253":{}},"tags":{}}],["ip",{"_index":163,"title":{},"content":{"48":{},"57":{},"284":{},"325":{}},"tags":{}}],["isloggedin",{"_index":929,"title":{},"content":{"126":{}},"tags":{}}],["isn't",{"_index":1066,"title":{},"content":{"150":{}},"tags":{}}],["iso",{"_index":2057,"title":{},"content":{"330":{}},"tags":{}}],["issu",{"_index":71,"title":{"63":{}},"content":{"57":{},"63":{},"100":{},"108":{},"191":{},"192":{},"211":{},"213":{},"216":{},"325":{},"346":{},"350":{},"351":{},"354":{}},"tags":{}}],["it'",{"_index":517,"title":{},"content":{"107":{},"184":{},"191":{},"192":{},"212":{},"231":{},"250":{},"346":{},"348":{}},"tags":{}}],["itself",{"_index":2173,"title":{},"content":{"346":{}},"tags":{}}],["ix",{"_index":2017,"title":{},"content":{"306":{}},"tags":{}}],["ixsystem",{"_index":2018,"title":{},"content":{"306":{}},"tags":{}}],["jail",{"_index":240,"title":{"54":{},"56":{}},"content":{"54":{},"56":{}},"tags":{}}],["jedi",{"_index":2118,"title":{},"content":{"333":{}},"tags":{}}],["join",{"_index":42,"title":{"217":{}},"content":{"166":{},"216":{},"277":{}},"tags":{}}],["joke",{"_index":1882,"title":{},"content":{"257":{}},"tags":{}}],["joy",{"_index":1174,"title":{},"content":{"169":{},"191":{}},"tags":{}}],["jpeg",{"_index":1626,"title":{},"content":{"225":{}},"tags":{}}],["json",{"_index":389,"title":{},"content":{"66":{},"179":{}},"tags":{}}],["juici",{"_index":1708,"title":{},"content":{"234":{}},"tags":{}}],["jurisdict",{"_index":1226,"title":{},"content":{"176":{}},"tags":{}}],["kb",{"_index":1574,"title":{},"content":{"185":{}},"tags":{}}],["kb/",{"_index":1508,"title":{},"content":{"179":{}},"tags":{}}],["keep",{"_index":26,"title":{},"content":{"57":{},"61":{},"116":{},"139":{},"148":{},"149":{},"152":{},"169":{},"173":{},"191":{},"215":{},"232":{},"244":{},"245":{},"262":{},"306":{},"336":{}},"tags":{}}],["kept",{"_index":448,"title":{},"content":{"101":{}},"tags":{}}],["key",{"_index":582,"title":{},"content":{"74":{},"181":{},"262":{}},"tags":{}}],["keyword",{"_index":1777,"title":{},"content":{"253":{}},"tags":{}}],["kid",{"_index":1740,"title":{},"content":{"242":{}},"tags":{}}],["kind",{"_index":682,"title":{},"content":{"93":{},"197":{}},"tags":{}}],["kindli",{"_index":1976,"title":{},"content":{"319":{}},"tags":{}}],["know",{"_index":433,"title":{},"content":{"100":{},"295":{},"325":{},"350":{}},"tags":{}}],["known",{"_index":336,"title":{"63":{}},"content":{},"tags":{}}],["ko",{"_index":1201,"title":{},"content":{"174":{}},"tags":{}}],["kubernet",{"_index":2020,"title":{},"content":{"306":{}},"tags":{}}],["lack",{"_index":804,"title":{"359":{}},"content":{"113":{},"346":{}},"tags":{}}],["lan",{"_index":2216,"title":{},"content":{"362":{}},"tags":{}}],["land",{"_index":1929,"title":{},"content":{"281":{}},"tags":{}}],["larg",{"_index":1365,"title":{},"content":{"205":{},"242":{}},"tags":{}}],["larger",{"_index":654,"title":{},"content":{"91":{},"93":{}},"tags":{}}],["last",{"_index":298,"title":{},"content":{"58":{},"113":{},"182":{},"211":{},"243":{},"332":{}},"tags":{}}],["later",{"_index":92,"title":{},"content":{"218":{},"289":{}},"tags":{}}],["latest",{"_index":379,"title":{},"content":{"66":{},"69":{},"89":{},"162":{},"166":{},"262":{},"297":{}},"tags":{}}],["launch",{"_index":309,"title":{},"content":{"60":{},"73":{},"74":{},"76":{},"94":{},"95":{},"96":{},"102":{},"114":{},"127":{},"165":{},"172":{}},"tags":{}}],["launchbox",{"_index":1181,"title":{},"content":{"170":{}},"tags":{}}],["launcher",{"_index":772,"title":{},"content":{"99":{}},"tags":{}}],["law",{"_index":1082,"title":{},"content":{"152":{},"176":{}},"tags":{}}],["lead",{"_index":437,"title":{},"content":{"100":{},"102":{}},"tags":{}}],["learn",{"_index":537,"title":{},"content":{"109":{},"168":{},"201":{},"234":{},"260":{},"263":{},"278":{},"279":{},"319":{}},"tags":{}}],["leav",{"_index":2004,"title":{},"content":{"303":{}},"tags":{}}],["leaveopen",{"_index":980,"title":{},"content":{"130":{}},"tags":{}}],["left",{"_index":643,"title":{},"content":{"89":{},"98":{},"281":{},"282":{},"317":{},"318":{},"323":{},"324":{},"357":{}},"tags":{}}],["legal",{"_index":1216,"title":{"176":{}},"content":{"176":{},"183":{},"191":{},"192":{},"246":{}},"tags":{}}],["length",{"_index":1505,"title":{},"content":{"179":{}},"tags":{}}],["less",{"_index":1719,"title":{},"content":{"238":{},"344":{}},"tags":{}}],["let",{"_index":921,"title":{},"content":{"126":{},"168":{}},"tags":{}}],["let'",{"_index":650,"title":{},"content":{"91":{},"92":{},"171":{},"242":{},"336":{}},"tags":{}}],["level",{"_index":1371,"title":{},"content":{"179":{},"186":{},"205":{},"206":{},"345":{}},"tags":{}}],["levenshtein",{"_index":1716,"title":{},"content":{"238":{}},"tags":{}}],["leverag",{"_index":899,"title":{},"content":{"122":{},"306":{}},"tags":{}}],["liabil",{"_index":1306,"title":{},"content":{"192":{}},"tags":{}}],["liberapay",{"_index":1203,"title":{},"content":{"174":{}},"tags":{}}],["librari",{"_index":364,"title":{"73":{}},"content":{"64":{},"69":{},"73":{},"74":{},"92":{},"94":{},"115":{},"169":{},"170":{},"234":{}},"tags":{}}],["licens",{"_index":994,"title":{"137":{},"156":{},"175":{},"188":{},"189":{}},"content":{"135":{},"136":{},"137":{},"138":{},"151":{},"156":{},"175":{},"189":{},"192":{}},"tags":{}}],["life",{"_index":1258,"title":{},"content":{"191":{}},"tags":{}}],["light",{"_index":862,"title":{},"content":{"132":{},"159":{}},"tags":{}}],["limit",{"_index":86,"title":{},"content":{"85":{},"186":{},"218":{},"344":{},"362":{}},"tags":{}}],["line",{"_index":884,"title":{"127":{}},"content":{"119":{},"121":{},"125":{},"127":{},"307":{}},"tags":{}}],["lineup",{"_index":1900,"title":{},"content":{"277":{}},"tags":{}}],["link",{"_index":332,"title":{"136":{}},"content":{"62":{},"70":{},"74":{},"228":{},"262":{},"267":{}},"tags":{}}],["linux",{"_index":288,"title":{"58":{}},"content":{"58":{},"63":{},"68":{},"113":{},"198":{},"298":{}},"tags":{}}],["list",{"_index":98,"title":{"107":{},"140":{},"198":{},"357":{}},"content":{"65":{},"96":{},"107":{},"125":{},"133":{},"170":{},"174":{},"179":{},"184":{},"185":{},"193":{},"196":{},"218":{},"221":{},"257":{},"268":{},"327":{},"328":{},"329":{},"332":{},"350":{}},"tags":{}}],["listen",{"_index":1511,"title":{},"content":{"179":{}},"tags":{}}],["littl",{"_index":1364,"title":{},"content":{"205":{}},"tags":{}}],["live",{"_index":401,"title":{},"content":{"69":{},"319":{}},"tags":{}}],["load",{"_index":443,"title":{},"content":{"73":{},"77":{},"101":{},"102":{}},"tags":{}}],["loader",{"_index":1871,"title":{},"content":{"255":{}},"tags":{}}],["local",{"_index":444,"title":{},"content":{"76":{},"101":{},"104":{},"107":{},"126":{},"170":{},"278":{}},"tags":{}}],["localhost",{"_index":1525,"title":{},"content":{"181":{}},"tags":{}}],["locat",{"_index":440,"title":{},"content":{"93":{},"94":{},"96":{},"98":{},"101":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"115":{},"161":{},"203":{},"213":{},"262":{},"283":{},"286":{}},"tags":{}}],["lock",{"_index":2153,"title":{},"content":{"342":{}},"tags":{}}],["log",{"_index":55,"title":{"51":{},"108":{},"117":{},"265":{},"274":{},"287":{},"300":{},"307":{},"318":{},"328":{}},"content":{"48":{},"51":{},"52":{},"86":{},"106":{},"108":{},"117":{},"126":{},"136":{},"138":{},"173":{},"179":{},"180":{},"181":{},"213":{},"216":{},"250":{},"265":{},"274":{},"287":{},"292":{},"303":{},"307":{},"310":{},"318":{},"328":{},"350":{},"351":{}},"tags":{}}],["logger",{"_index":1488,"title":{},"content":{"179":{}},"tags":{}}],["login",{"_index":500,"title":{},"content":{"106":{},"117":{},"137":{}},"tags":{}}],["logo",{"_index":875,"title":{},"content":{"165":{}},"tags":{}}],["logpath",{"_index":247,"title":{},"content":{"54":{}},"tags":{}}],["long",{"_index":478,"title":{},"content":{"103":{},"138":{},"189":{},"206":{},"335":{},"337":{}},"tags":{}}],["longer",{"_index":688,"title":{},"content":{"93":{},"136":{}},"tags":{}}],["look",{"_index":338,"title":{},"content":{"63":{},"91":{},"94":{},"113":{},"171":{},"242":{},"277":{},"280":{}},"tags":{}}],["lose",{"_index":1696,"title":{},"content":{"232":{}},"tags":{}}],["loss",{"_index":1695,"title":{},"content":{"232":{},"342":{}},"tags":{}}],["lossless",{"_index":1652,"title":{},"content":{"226":{}},"tags":{}}],["lost",{"_index":2149,"title":{"360":{}},"content":{"341":{}},"tags":{}}],["lot",{"_index":1197,"title":{},"content":{"174":{},"250":{},"275":{}},"tags":{}}],["love",{"_index":1175,"title":{},"content":{"169":{},"277":{}},"tags":{}}],["lower",{"_index":1448,"title":{},"content":{"213":{},"242":{},"357":{}},"tags":{}}],["lowercas",{"_index":2091,"title":{},"content":{"332":{}},"tags":{}}],["lowest",{"_index":1737,"title":{},"content":{"242":{}},"tags":{}}],["lpt(1",{"_index":2112,"title":{},"content":{"332":{}},"tags":{}}],["lzh",{"_index":2058,"title":{},"content":{"330":{}},"tags":{}}],["lzma",{"_index":2059,"title":{},"content":{"330":{}},"tags":{}}],["m",{"_index":1813,"title":{},"content":{"254":{}},"tags":{}}],["machin",{"_index":904,"title":{},"content":{"123":{},"170":{},"308":{},"346":{}},"tags":{}}],["made",{"_index":764,"title":{},"content":{"97":{},"190":{}},"tags":{}}],["magic",{"_index":1755,"title":{},"content":{"250":{}},"tags":{}}],["main",{"_index":326,"title":{},"content":{"61":{},"92":{},"125":{},"171":{},"307":{}},"tags":{}}],["maintain",{"_index":769,"title":{"237":{}},"content":{"99":{},"192":{},"211":{},"243":{},"338":{}},"tags":{}}],["major",{"_index":1463,"title":{"246":{}},"content":{"213":{},"246":{}},"tags":{}}],["make",{"_index":43,"title":{},"content":{"51":{},"66":{},"69":{},"92":{},"94":{},"116":{},"146":{},"147":{},"152":{},"204":{},"213":{},"216":{},"243":{},"250":{},"262":{},"269":{},"277":{},"278":{},"311":{},"312":{},"331":{},"347":{},"350":{},"354":{},"355":{},"362":{}},"tags":{}}],["malici",{"_index":166,"title":{},"content":{"48":{}},"tags":{}}],["malwar",{"_index":669,"title":{},"content":{"92":{},"157":{}},"tags":{}}],["man",{"_index":2219,"title":{},"content":{"362":{}},"tags":{}}],["manag",{"_index":363,"title":{"100":{},"146":{},"319":{},"322":{},"338":{}},"content":{"64":{},"100":{},"113":{},"137":{},"170":{},"172":{},"176":{},"250":{},"263":{},"276":{},"278":{},"279":{},"288":{},"289":{},"298":{},"319":{},"320":{},"322":{},"325":{},"327":{},"328":{},"338":{},"345":{}},"tags":{}}],["mandatori",{"_index":2164,"title":{},"content":{"344":{}},"tags":{}}],["mani",{"_index":1064,"title":{"150":{}},"content":{"179":{},"212":{}},"tags":{}}],["manual",{"_index":333,"title":{},"content":{"62":{},"70":{},"93":{},"94":{},"97":{},"100":{},"113":{},"137":{},"165":{},"197":{},"200":{},"202":{},"209":{},"213":{},"239":{},"346":{}},"tags":{}}],["map",{"_index":179,"title":{"51":{},"252":{},"353":{}},"content":{"51":{},"238":{},"241":{},"253":{},"329":{},"354":{}},"tags":{}}],["mark",{"_index":645,"title":{},"content":{"89":{},"331":{},"347":{},"359":{}},"tags":{}}],["markdown",{"_index":573,"title":{},"content":{"74":{},"89":{},"223":{},"262":{}},"tags":{}}],["match",{"_index":468,"title":{},"content":{"102":{},"209":{},"232":{},"238":{},"240":{},"254":{},"335":{},"337":{}},"tags":{}}],["matroska",{"_index":1672,"title":{},"content":{"227":{}},"tags":{}}],["matter",{"_index":1100,"title":{},"content":{"155":{},"209":{}},"tags":{}}],["maxim",{"_index":1351,"title":{},"content":{"203":{},"350":{}},"tags":{}}],["maximum",{"_index":558,"title":{},"content":{"73":{},"179":{},"185":{},"203":{},"206":{}},"tags":{}}],["maxretri",{"_index":249,"title":{},"content":{"54":{},"57":{}},"tags":{}}],["mb",{"_index":1571,"title":{},"content":{"185":{}},"tags":{}}],["mbr",{"_index":2060,"title":{},"content":{"330":{}},"tags":{}}],["md=32m",{"_index":1385,"title":{},"content":{"206":{}},"tags":{}}],["mean",{"_index":920,"title":{},"content":{"126":{},"174":{},"176":{},"189":{},"191":{},"346":{}},"tags":{}}],["measur",{"_index":1079,"title":{},"content":{"152":{},"184":{},"192":{},"211":{}},"tags":{}}],["mechan",{"_index":1425,"title":{},"content":{"211":{}},"tags":{}}],["media",{"_index":568,"title":{"185":{},"223":{},"228":{},"229":{},"230":{},"231":{},"232":{},"354":{}},"content":{"74":{},"180":{},"185":{},"191":{},"223":{},"226":{},"227":{},"228":{},"231":{},"232":{},"281":{},"292":{},"358":{}},"tags":{}}],["media_gc_dis",{"_index":1577,"title":{},"content":{"185":{},"232":{},"233":{}},"tags":{}}],["media_gc_interval_in_minut",{"_index":1580,"title":{},"content":{"185":{},"232":{}},"tags":{}}],["media_max_s",{"_index":1570,"title":{},"content":{"185":{}},"tags":{}}],["media_supported_format",{"_index":1575,"title":{},"content":{"185":{}},"tags":{}}],["meet",{"_index":45,"title":{},"content":{"152":{},"190":{},"216":{},"218":{},"278":{}},"tags":{}}],["member",{"_index":15,"title":{},"content":{"47":{},"174":{},"215":{},"218":{},"319":{}},"tags":{}}],["memori",{"_index":1601,"title":{},"content":{"187":{}},"tags":{}}],["mention",{"_index":331,"title":{},"content":{"62":{},"70":{},"191":{},"332":{},"351":{}},"tags":{}}],["menu",{"_index":707,"title":{},"content":{"94":{},"99":{},"113":{}},"tags":{}}],["mere",{"_index":779,"title":{},"content":{"99":{}},"tags":{}}],["merg",{"_index":1179,"title":{"242":{}},"content":{"170":{},"187":{},"242":{}},"tags":{}}],["messag",{"_index":51,"title":{},"content":{"123":{},"130":{},"137":{},"174":{},"216":{}},"tags":{}}],["metadata",{"_index":485,"title":{"104":{},"186":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"242":{},"243":{},"359":{}},"content":{"77":{},"97":{},"104":{},"168":{},"172":{},"173":{},"185":{},"186":{},"187":{},"210":{},"234":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"250":{},"278":{},"358":{},"359":{}},"tags":{}}],["metadata_igdb_client_id",{"_index":1593,"title":{},"content":{"186":{},"250":{},"251":{}},"tags":{}}],["metadata_igdb_client_secret",{"_index":1594,"title":{},"content":{"186":{},"250":{},"251":{}},"tags":{}}],["metadata_igdb_en",{"_index":1585,"title":{},"content":{"186":{},"251":{}},"tags":{}}],["metadata_igdb_prior",{"_index":1587,"title":{},"content":{"186":{},"251":{}},"tags":{}}],["metadata_igdb_request_interval_m",{"_index":1588,"title":{},"content":{"186":{}},"tags":{}}],["metadata_ttl_in_day",{"_index":1581,"title":{},"content":{"186":{}},"tags":{}}],["metal",{"_index":1480,"title":{},"content":{"179":{}},"tags":{}}],["method",{"_index":294,"title":{"147":{},"205":{},"206":{},"207":{},"276":{},"277":{}},"content":{"58":{},"68":{},"113":{},"147":{},"207":{},"238":{},"288":{},"306":{}},"tags":{}}],["mfb=64",{"_index":1384,"title":{},"content":{"206":{}},"tags":{}}],["microsoft",{"_index":53,"title":{"165":{}},"content":{"100":{},"112":{},"113":{},"155":{},"165":{},"191":{},"216":{},"221":{}},"tags":{}}],["middl",{"_index":2218,"title":{},"content":{"362":{}},"tags":{}}],["millisecond",{"_index":1589,"title":{},"content":{"186":{}},"tags":{}}],["mime",{"_index":1576,"title":{},"content":{"185":{},"225":{},"226":{},"227":{}},"tags":{}}],["mind",{"_index":27,"title":{},"content":{"57":{},"61":{},"116":{},"149":{},"215":{},"244":{},"245":{},"306":{}},"tags":{}}],["mindustri",{"_index":2180,"title":{},"content":{"347":{}},"tags":{}}],["mine",{"_index":420,"title":{},"content":{"69":{}},"tags":{}}],["minecraft",{"_index":1412,"title":{},"content":{"209":{},"331":{},"333":{},"336":{}},"tags":{}}],["minim",{"_index":774,"title":{},"content":{"99":{},"125":{},"127":{}},"tags":{}}],["minimized=[true/fals",{"_index":914,"title":{},"content":{"125":{}},"tags":{}}],["minimized=fals",{"_index":932,"title":{},"content":{"127":{}},"tags":{}}],["minimized=tru",{"_index":930,"title":{},"content":{"127":{}},"tags":{}}],["minimum",{"_index":1796,"title":{},"content":{"244":{},"254":{}},"tags":{}}],["minut",{"_index":788,"title":{},"content":{"112":{},"184":{},"185":{},"303":{}},"tags":{}}],["misconfigur",{"_index":2150,"title":{},"content":{"341":{}},"tags":{}}],["mislead",{"_index":1298,"title":{},"content":{"192":{}},"tags":{}}],["miss",{"_index":714,"title":{"358":{}},"content":{"94":{},"184":{},"234":{},"239":{},"242":{}},"tags":{}}],["mistakenli",{"_index":1299,"title":{},"content":{"192":{},"362":{}},"tags":{}}],["mkdir",{"_index":1956,"title":{},"content":{"292":{}},"tags":{}}],["mkv",{"_index":1671,"title":{},"content":{"227":{}},"tags":{}}],["mock",{"_index":1598,"title":{},"content":{"187":{}},"tags":{}}],["modif",{"_index":1118,"title":{},"content":{"157":{},"190":{}},"tags":{}}],["modifi",{"_index":241,"title":{"97":{},"98":{}},"content":{"54":{},"96":{},"97":{},"100":{},"101":{},"335":{}},"tags":{}}],["modpack",{"_index":1414,"title":{},"content":{"209":{}},"tags":{}}],["modular",{"_index":1192,"title":{},"content":{"173":{},"256":{}},"tags":{}}],["moment",{"_index":1069,"title":{},"content":{"150":{},"208":{}},"tags":{}}],["monet",{"_index":1287,"title":{},"content":{"191":{}},"tags":{}}],["monitor",{"_index":618,"title":{},"content":{"78":{},"96":{},"173":{},"213":{},"319":{}},"tags":{}}],["mood",{"_index":1124,"title":{},"content":{"159":{}},"tags":{}}],["more",{"_index":538,"title":{"148":{},"153":{},"277":{}},"content":{"94":{},"109":{},"113":{},"133":{},"134":{},"144":{},"152":{},"153":{},"168":{},"173":{},"179":{},"190":{},"198":{},"202":{},"204":{},"213":{},"238":{},"242":{},"277":{},"347":{},"355":{}},"tags":{}}],["morgan",{"_index":1490,"title":{},"content":{"179":{}},"tags":{}}],["mostli",{"_index":843,"title":{},"content":{"116":{}},"tags":{}}],["mount",{"_index":1423,"title":{},"content":{"210":{},"262":{},"270":{},"281":{}},"tags":{}}],["mov",{"_index":1665,"title":{},"content":{"227":{}},"tags":{}}],["move",{"_index":699,"title":{"337":{}},"content":{"94":{},"337":{}},"tags":{}}],["mp3",{"_index":1639,"title":{},"content":{"226":{}},"tags":{}}],["mp4",{"_index":1658,"title":{},"content":{"226":{},"227":{}},"tags":{}}],["mpeg",{"_index":1640,"title":{},"content":{"226":{},"227":{}},"tags":{}}],["ms",{"_index":215,"title":{},"content":{"52":{},"226":{},"227":{}},"tags":{}}],["ms=off",{"_index":1368,"title":{},"content":{"205":{}},"tags":{}}],["ms=on",{"_index":1386,"title":{},"content":{"206":{}},"tags":{}}],["msi",{"_index":2061,"title":{},"content":{"330":{}},"tags":{}}],["msvideo",{"_index":1664,"title":{},"content":{"227":{}},"tags":{}}],["much",{"_index":1379,"title":{},"content":{"206":{},"350":{}},"tags":{}}],["multi",{"_index":1187,"title":{},"content":{"173":{},"226":{},"279":{}},"tags":{}}],["multimedia",{"_index":1678,"title":{},"content":{"227":{}},"tags":{}}],["multipl",{"_index":616,"title":{"149":{},"209":{}},"content":{"77":{},"113":{},"186":{},"197":{},"209":{},"244":{},"254":{},"275":{},"332":{},"336":{}},"tags":{}}],["mx=0",{"_index":1367,"title":{},"content":{"205":{}},"tags":{}}],["mx=9",{"_index":1383,"title":{},"content":{"206":{}},"tags":{}}],["n/a",{"_index":1735,"title":{},"content":{"242":{},"332":{}},"tags":{}}],["na",{"_index":1972,"title":{},"content":{"308":{},"319":{},"320":{},"322":{},"327":{},"328":{}},"tags":{}}],["name",{"_index":318,"title":{"208":{},"332":{}},"content":{"61":{},"92":{},"94":{},"126":{},"181":{},"182":{},"192":{},"197":{},"204":{},"208":{},"210":{},"223":{},"225":{},"226":{},"227":{},"253":{},"254":{},"281":{},"322":{},"329":{},"332":{},"333":{},"357":{},"359":{}},"tags":{}}],["namedpip",{"_index":886,"title":{"123":{}},"content":{"119":{},"123":{},"130":{}},"tags":{}}],["namedpipeclientstream(\"gamevault",{"_index":970,"title":{},"content":{"130":{}},"tags":{}}],["nano",{"_index":225,"title":{},"content":{"53":{},"54":{}},"tags":{}}],["nas'",{"_index":1988,"title":{},"content":{"325":{}},"tags":{}}],["nativ",{"_index":1899,"title":{"288":{}},"content":{"276":{}},"tags":{}}],["navig",{"_index":579,"title":{"266":{},"301":{},"302":{}},"content":{"74":{},"115":{},"273":{},"274":{},"283":{},"286":{},"307":{},"310":{},"317":{},"318":{},"327":{},"328":{}},"tags":{}}],["nc",{"_index":2095,"title":{},"content":{"332":{},"333":{},"359":{}},"tags":{}}],["nearli",{"_index":718,"title":{},"content":{"94":{}},"tags":{}}],["necessari",{"_index":548,"title":{"321":{}},"content":{"72":{},"94":{},"117":{},"199":{},"208":{},"243":{},"289":{},"291":{},"292":{},"345":{}},"tags":{}}],["need",{"_index":303,"title":{"145":{}},"content":{"59":{},"62":{},"67":{},"69":{},"70":{},"93":{},"94":{},"110":{},"114":{},"116":{},"117":{},"118":{},"151":{},"165":{},"176":{},"179":{},"180":{},"181":{},"192":{},"204":{},"212":{},"213":{},"239":{},"243":{},"257":{},"268":{},"274":{},"277":{},"278":{},"291":{},"329":{},"335":{},"340":{},"343":{},"346":{},"356":{}},"tags":{}}],["nestj",{"_index":1742,"title":{},"content":{"243":{}},"tags":{}}],["net",{"_index":399,"title":{},"content":{"69":{}},"tags":{}}],["network",{"_index":1629,"title":{},"content":{"225":{},"278":{},"308":{},"319":{},"346":{},"362":{}},"tags":{}}],["never",{"_index":1450,"title":{},"content":{"213":{}},"tags":{}}],["new",{"_index":21,"title":{"89":{},"154":{},"243":{},"262":{}},"content":{"61":{},"86":{},"89":{},"91":{},"130":{},"148":{},"162":{},"165":{},"179":{},"182":{},"191":{},"215":{},"232":{},"242":{},"243":{},"245":{},"250":{},"262":{},"267":{},"277":{},"278":{},"281":{},"335":{},"337":{},"343":{},"344":{},"357":{}},"tags":{}}],["newest",{"_index":2141,"title":{},"content":{"336":{}},"tags":{}}],["newli",{"_index":1132,"title":{},"content":{"161":{},"344":{}},"tags":{}}],["news.md",{"_index":1885,"title":{},"content":{"262":{}},"tags":{}}],["next",{"_index":97,"title":{"278":{}},"content":{"103":{},"115":{},"116":{},"203":{},"218":{},"242":{},"342":{}},"tags":{}}],["nf",{"_index":2007,"title":{},"content":{"303":{}},"tags":{}}],["nginx",{"_index":1910,"title":{},"content":{"278":{}},"tags":{}}],["nice",{"_index":1010,"title":{},"content":{"139":{}},"tags":{}}],["nlp",{"_index":1715,"title":{},"content":{"238":{}},"tags":{}}],["nobodi",{"_index":1705,"title":{},"content":{"234":{}},"tags":{}}],["nocach",{"_index":2084,"title":{},"content":{"332":{}},"tags":{}}],["node",{"_index":1945,"title":{},"content":{"289":{},"291":{}},"tags":{}}],["node.j",{"_index":1940,"title":{},"content":{"289":{}},"tags":{}}],["non",{"_index":407,"title":{},"content":{"69":{},"116":{},"179":{},"192":{},"289":{},"354":{}},"tags":{}}],["noncommerci",{"_index":1212,"title":{},"content":{"175":{},"189":{}},"tags":{}}],["none",{"_index":910,"title":{},"content":{"125":{},"288":{},"319":{}},"tags":{}}],["normal",{"_index":1694,"title":{},"content":{"231":{}},"tags":{}}],["norri",{"_index":1881,"title":{},"content":{"257":{}},"tags":{}}],["note",{"_index":233,"title":{},"content":{"53":{},"58":{},"68":{},"74":{},"96":{},"97":{},"203":{},"230":{},"253":{},"255":{},"262":{},"281":{},"282":{},"303":{},"323":{},"324":{},"332":{},"346":{}},"tags":{}}],["noth",{"_index":1434,"title":{},"content":{"211":{}},"tags":{}}],["notic",{"_index":1456,"title":{},"content":{"213":{},"243":{}},"tags":{}}],["notif",{"_index":1890,"title":{},"content":{"262":{}},"tags":{}}],["now",{"_index":655,"title":{},"content":{"91":{},"92":{},"94":{},"118":{},"136":{},"140":{},"170":{},"242":{},"250":{},"268":{},"271":{},"274":{},"278":{},"284":{},"291":{},"294":{},"304":{},"314":{},"315":{},"325":{},"346":{}},"tags":{}}],["nowaday",{"_index":1561,"title":{},"content":{"184":{}},"tags":{}}],["npm",{"_index":1946,"title":{},"content":{"289":{}},"tags":{}}],["nsi",{"_index":2062,"title":{},"content":{"330":{}},"tags":{}}],["ntf",{"_index":2063,"title":{},"content":{"330":{}},"tags":{}}],["nul",{"_index":2110,"title":{},"content":{"332":{}},"tags":{}}],["null",{"_index":968,"title":{},"content":{"130":{}},"tags":{}}],["number",{"_index":1068,"title":{},"content":{"150":{},"179":{},"181":{},"183":{},"184":{},"185":{},"186":{},"206":{},"242":{}},"tags":{}}],["numer",{"_index":1712,"title":{},"content":{"238":{},"278":{}},"tags":{}}],["object",{"_index":1721,"title":{},"content":{"239":{},"242":{}},"tags":{}}],["observ",{"_index":873,"title":{},"content":{"165":{}},"tags":{}}],["obtain",{"_index":791,"title":{},"content":{"113":{},"126":{},"165":{},"174":{},"176":{},"203":{}},"tags":{}}],["occur",{"_index":276,"title":{},"content":{"57":{},"94":{},"108":{},"350":{},"363":{}},"tags":{}}],["offer",{"_index":357,"title":{},"content":{"64":{},"71":{},"119":{},"131":{},"140":{},"147":{},"149":{},"160":{},"168":{},"197":{},"212":{},"306":{},"308":{}},"tags":{}}],["offic",{"_index":2028,"title":{},"content":{"310":{}},"tags":{}}],["offici",{"_index":39,"title":{},"content":{"112":{},"155":{},"192":{},"215":{},"263":{}},"tags":{}}],["offlin",{"_index":473,"title":{"103":{},"104":{},"138":{},"151":{}},"content":{"87":{},"103":{},"104":{},"138":{},"151":{},"172":{},"179":{},"347":{},"348":{}},"tags":{}}],["offset",{"_index":1717,"title":{},"content":{"238":{}},"tags":{}}],["ogg",{"_index":1645,"title":{},"content":{"226":{}},"tags":{}}],["old",{"_index":868,"title":{},"content":{"132":{},"335":{},"337":{}},"tags":{}}],["older",{"_index":2221,"title":{},"content":{"362":{}},"tags":{}}],["on",{"_index":720,"title":{"266":{},"268":{}},"content":{"94":{},"99":{},"116":{},"117":{},"169":{},"197":{},"209":{},"231":{},"237":{},"238":{},"239":{},"242":{},"249":{},"250":{},"263":{},"266":{},"267":{},"275":{},"292":{},"308":{},"312":{},"324":{},"329":{},"332":{},"335":{},"357":{}},"tags":{}}],["onc",{"_index":130,"title":{},"content":{"73":{},"94":{},"95":{},"96":{},"104":{},"114":{},"115":{},"138":{},"151":{},"165":{},"208":{},"210":{},"222":{},"250":{},"278":{},"307":{},"347":{}},"tags":{}}],["ongo",{"_index":1281,"title":{},"content":{"191":{}},"tags":{}}],["onlin",{"_index":484,"title":{},"content":{"103":{},"179":{},"191":{},"347":{}},"tags":{}}],["open",{"_index":220,"title":{"190":{}},"content":{"53":{},"73":{},"78":{},"84":{},"88":{},"97":{},"107":{},"113":{},"116":{},"127":{},"136":{},"161":{},"189":{},"190":{},"191":{},"250":{},"263":{},"283":{},"286":{},"287":{},"298":{},"321":{},"322":{},"350":{}},"tags":{}}],["openapi",{"_index":375,"title":{"66":{}},"content":{"66":{}},"tags":{}}],["oper",{"_index":783,"title":{},"content":{"112":{},"113":{},"211":{},"299":{},"306":{},"308":{},"327":{}},"tags":{}}],["opportun",{"_index":6,"title":{},"content":{"215":{}},"tags":{}}],["opt",{"_index":1072,"title":{},"content":{"151":{},"306":{},"343":{}},"tags":{}}],["optim",{"_index":464,"title":{"102":{}},"content":{"102":{}},"tags":{}}],["option",{"_index":300,"title":{"112":{},"113":{}},"content":{"58":{},"72":{},"76":{},"84":{},"113":{},"116":{},"117":{},"126":{},"131":{},"139":{},"155":{},"184":{},"205":{},"206":{},"207":{},"209":{},"213":{},"277":{},"278":{},"303":{},"332":{},"343":{}},"tags":{}}],["order",{"_index":768,"title":{},"content":{"99":{}},"tags":{}}],["order(v1.0.10.0",{"_index":2120,"title":{},"content":{"333":{}},"tags":{}}],["organ",{"_index":1141,"title":{},"content":{"168":{},"169":{}},"tags":{}}],["origin",{"_index":1366,"title":{},"content":{"179":{},"205":{}},"tags":{}}],["other",{"_index":1256,"title":{},"content":{"191":{}},"tags":{}}],["otherwis",{"_index":1870,"title":{},"content":{"246":{},"303":{}},"tags":{}}],["out",{"_index":77,"title":{},"content":{"66":{},"77":{},"86":{},"94":{},"106":{},"116":{},"118":{},"152":{},"162":{},"168":{},"174":{},"177":{},"217":{},"250":{},"277":{},"314":{},"342":{},"346":{}},"tags":{}}],["outdat",{"_index":457,"title":{},"content":{"101":{},"336":{}},"tags":{}}],["outlin",{"_index":174,"title":{},"content":{"49":{},"191":{},"202":{},"211":{},"223":{}},"tags":{}}],["output",{"_index":822,"title":{},"content":{"113":{}},"tags":{}}],["outsid",{"_index":1904,"title":{},"content":{"278":{}},"tags":{}}],["over",{"_index":129,"title":{},"content":{"192":{},"222":{},"242":{},"345":{}},"tags":{}}],["overflow",{"_index":1271,"title":{},"content":{"191":{}},"tags":{}}],["overrid",{"_index":698,"title":{"247":{}},"content":{"94":{},"244":{},"247":{},"331":{},"332":{}},"tags":{}}],["overridden",{"_index":1604,"title":{},"content":{"197":{}},"tags":{}}],["overview",{"_index":426,"title":{"71":{},"249":{}},"content":{"71":{},"100":{}},"tags":{}}],["overwrit",{"_index":697,"title":{},"content":{"94":{},"97":{},"242":{}},"tags":{}}],["overwritten",{"_index":613,"title":{},"content":{"77":{},"209":{}},"tags":{}}],["overwrot",{"_index":1741,"title":{},"content":{"242":{}},"tags":{}}],["owner",{"_index":1285,"title":{},"content":{"191":{},"342":{},"348":{}},"tags":{}}],["p",{"_index":1957,"title":{},"content":{"292":{}},"tags":{}}],["p7zip",{"_index":1941,"title":{},"content":{"289":{}},"tags":{}}],["pack",{"_index":2078,"title":{},"content":{"331":{}},"tags":{}}],["packag",{"_index":345,"title":{},"content":{"63":{},"289":{}},"tags":{}}],["page",{"_index":289,"title":{"301":{},"302":{}},"content":{"58":{},"61":{},"68":{},"72":{},"73":{},"97":{},"100":{},"113":{},"177":{},"178":{},"223":{},"235":{},"244":{},"268":{},"319":{},"346":{}},"tags":{}}],["pagin",{"_index":1190,"title":{},"content":{"173":{}},"tags":{}}],["panel",{"_index":2163,"title":{},"content":{"344":{}},"tags":{}}],["parallel",{"_index":1944,"title":{},"content":{"289":{}},"tags":{}}],["paramet",{"_index":385,"title":{"125":{}},"content":{"66":{},"76":{},"121":{},"122":{},"125":{},"126":{},"283":{}},"tags":{}}],["parent",{"_index":1188,"title":{"183":{},"244":{},"245":{}},"content":{"173":{},"183":{},"244":{},"245":{},"246":{}},"tags":{}}],["parental_age_of_major",{"_index":1554,"title":{},"content":{"183":{},"246":{}},"tags":{}}],["parental_age_restriction_en",{"_index":1551,"title":{},"content":{"182":{},"183":{},"245":{}},"tags":{}}],["parenthes",{"_index":1405,"title":{},"content":{"209":{},"332":{}},"tags":{}}],["parentid",{"_index":451,"title":{},"content":{"101":{}},"tags":{}}],["parentid.imageid",{"_index":450,"title":{},"content":{"101":{}},"tags":{}}],["part",{"_index":73,"title":{},"content":{"92":{},"191":{},"217":{},"332":{}},"tags":{}}],["parti",{"_index":361,"title":{"267":{}},"content":{"64":{},"119":{},"192":{},"263":{},"267":{},"306":{}},"tags":{}}],["particip",{"_index":32,"title":{"216":{}},"content":{"215":{},"216":{}},"tags":{}}],["particularli",{"_index":2208,"title":{},"content":{"355":{}},"tags":{}}],["partner",{"_index":1083,"title":{},"content":{"152":{},"249":{}},"tags":{}}],["partnership",{"_index":1090,"title":{},"content":{"153":{},"192":{}},"tags":{}}],["pass",{"_index":900,"title":{},"content":{"122":{},"177":{}},"tags":{}}],["password",{"_index":626,"title":{"342":{},"361":{}},"content":{"82":{},"85":{},"116":{},"117":{},"179":{},"181":{},"184":{},"211":{},"281":{},"303":{},"311":{},"314":{},"323":{},"342":{},"361":{}},"tags":{}}],["past",{"_index":762,"title":{},"content":{"97":{},"98":{},"113":{},"267":{},"323":{}},"tags":{}}],["path",{"_index":201,"title":{},"content":{"51":{},"87":{},"91":{},"94":{},"115":{},"180":{},"181":{},"257":{},"281":{},"282":{},"322":{},"323":{},"324":{},"335":{},"337":{},"363":{}},"tags":{}}],["path/to/game/folder/crawl",{"_index":1370,"title":{},"content":{"205":{},"206":{},"207":{}},"tags":{}}],["pay",{"_index":1039,"title":{},"content":{"147":{},"329":{}},"tags":{}}],["payment",{"_index":1033,"title":{"146":{},"147":{}},"content":{"147":{},"152":{}},"tags":{}}],["paypal",{"_index":1205,"title":{},"content":{"174":{}},"tags":{}}],["paywal",{"_index":1114,"title":{},"content":{"157":{}},"tags":{}}],["pc",{"_index":1183,"title":{},"content":{"172":{}},"tags":{}}],["pci",{"_index":1084,"title":{},"content":{"152":{}},"tags":{}}],["pegi",{"_index":1798,"title":{},"content":{"254":{}},"tags":{}}],["peopl",{"_index":1055,"title":{},"content":{"148":{},"275":{},"277":{}},"tags":{}}],["per",{"_index":745,"title":{},"content":{"96":{},"238":{},"239":{}},"tags":{}}],["perfect",{"_index":1154,"title":{},"content":{"169":{}},"tags":{}}],["perform",{"_index":465,"title":{},"content":{"78":{},"102":{},"166":{},"191":{},"202":{},"213":{},"288":{},"363":{}},"tags":{}}],["period",{"_index":1071,"title":{},"content":{"151":{}},"tags":{}}],["perman",{"_index":1206,"title":{},"content":{"174":{}},"tags":{}}],["permiss",{"_index":2148,"title":{"354":{}},"content":{"340":{},"341":{},"345":{},"354":{},"356":{},"357":{}},"tags":{}}],["permit",{"_index":1289,"title":{},"content":{"192":{}},"tags":{}}],["persist",{"_index":1680,"title":{"228":{}},"content":{"228":{}},"tags":{}}],["person",{"_index":140,"title":{},"content":{"47":{},"74":{},"131":{},"142":{},"145":{},"149":{},"156":{},"157":{},"158":{},"168":{},"192":{},"209":{},"333":{}},"tags":{}}],["perspect",{"_index":1111,"title":{},"content":{"157":{}},"tags":{}}],["pg",{"_index":2002,"title":{},"content":{"299":{}},"tags":{}}],["pgdump",{"_index":1442,"title":{},"content":{"212":{}},"tags":{}}],["pgid",{"_index":1476,"title":{},"content":{"179":{},"354":{}},"tags":{}}],["phalcod",{"_index":113,"title":{"136":{},"144":{}},"content":{"106":{},"142":{},"144":{},"152":{},"159":{},"191":{},"192":{},"221":{},"260":{},"313":{}},"tags":{}}],["phalcode'",{"_index":1914,"title":{"267":{}},"content":{},"tags":{}}],["phalcode/gamevault",{"_index":63,"title":{},"content":{"51":{},"216":{},"281":{},"282":{},"323":{},"324":{}},"tags":{}}],["phase",{"_index":60,"title":{},"content":{"216":{},"217":{},"220":{}},"tags":{}}],["pick",{"_index":821,"title":{},"content":{"113":{}},"tags":{}}],["pictur",{"_index":765,"title":{},"content":{"98":{},"140":{}},"tags":{}}],["pin",{"_index":50,"title":{},"content":{"216":{}},"tags":{}}],["ping",{"_index":1891,"title":{},"content":{"262":{}},"tags":{}}],["piraci",{"_index":1222,"title":{},"content":{"176":{}},"tags":{}}],["pirat",{"_index":1115,"title":{},"content":{"157":{},"170":{}},"tags":{}}],["place",{"_index":100,"title":{},"content":{"69":{},"161":{},"201":{},"210":{},"218":{}},"tags":{}}],["placehold",{"_index":1707,"title":{},"content":{"234":{}},"tags":{}}],["plan",{"_index":1022,"title":{},"content":{"142":{}},"tags":{}}],["platform",{"_index":790,"title":{},"content":{"113":{},"153":{},"168":{},"174":{},"263":{},"277":{},"279":{},"298":{},"347":{}},"tags":{}}],["play",{"_index":554,"title":{"95":{}},"content":{"73":{},"92":{},"94":{},"95":{},"96":{},"168":{},"172":{},"179":{},"199":{},"242":{},"345":{},"347":{}},"tags":{}}],["playabl",{"_index":713,"title":{},"content":{"94":{}},"tags":{}}],["player",{"_index":569,"title":{},"content":{"74":{}},"tags":{}}],["playnit",{"_index":890,"title":{},"content":{"119":{},"140":{},"170":{}},"tags":{}}],["playtim",{"_index":482,"title":{},"content":{"96":{},"99":{},"103":{},"107":{},"168":{},"172":{}},"tags":{}}],["pleas",{"_index":25,"title":{},"content":{"58":{},"68":{},"96":{},"97":{},"100":{},"113":{},"116":{},"147":{},"149":{},"156":{},"157":{},"165":{},"191":{},"202":{},"215":{},"216":{},"232":{},"249":{},"255":{},"303":{},"325":{},"346":{},"348":{}},"tags":{}}],["plex",{"_index":1143,"title":{},"content":{"168":{}},"tags":{}}],["plugin",{"_index":1193,"title":{"255":{},"258":{},"259":{},"260":{}},"content":{"173":{},"180":{},"189":{},"234":{},"238":{},"243":{},"255":{},"256":{},"257":{},"260":{},"292":{},"309":{}},"tags":{}}],["plugin.j",{"_index":1884,"title":{},"content":{"257":{}},"tags":{}}],["plugin_alfagun74_igdb_en",{"_index":1748,"title":{},"content":{"243":{}},"tags":{}}],["plugin_authorname_pluginname_set",{"_index":1747,"title":{},"content":{"243":{}},"tags":{}}],["plugin_en",{"_index":1874,"title":{},"content":{"257":{}},"tags":{}}],["plugin_enabled=tru",{"_index":1877,"title":{},"content":{"257":{}},"tags":{}}],["plugin_sourc",{"_index":1876,"title":{},"content":{"257":{}},"tags":{}}],["plugin_sources=\"https://raw.githubusercontent.com/phalcode/gamevault",{"_index":1878,"title":{},"content":{"257":{}},"tags":{}}],["plugins/master/plugins/gamevault",{"_index":1879,"title":{},"content":{"257":{}},"tags":{}}],["png",{"_index":1628,"title":{},"content":{"225":{}},"tags":{}}],["pnpm",{"_index":1948,"title":{},"content":{"289":{},"291":{},"293":{}},"tags":{}}],["pod",{"_index":2025,"title":{},"content":{"307":{}},"tags":{}}],["podcast",{"_index":1257,"title":{},"content":{"191":{}},"tags":{}}],["point",{"_index":928,"title":{},"content":{"126":{},"213":{}},"tags":{}}],["polici",{"_index":1088,"title":{},"content":{"152":{}},"tags":{}}],["pop",{"_index":2034,"title":{},"content":{"318":{}},"tags":{}}],["popular",{"_index":1042,"title":{},"content":{"147":{},"168":{},"249":{}},"tags":{}}],["popup",{"_index":760,"title":{},"content":{"97":{},"98":{}},"tags":{}}],["port",{"_index":1478,"title":{},"content":{"179":{},"181":{},"281":{},"282":{},"284":{},"311":{},"314":{},"323":{},"324":{},"325":{}},"tags":{}}],["portabl",{"_index":403,"title":{},"content":{"69":{},"85":{},"94":{},"199":{},"225":{},"331":{}},"tags":{}}],["portal",{"_index":1037,"title":{},"content":{"146":{}},"tags":{}}],["pose",{"_index":1301,"title":{},"content":{"192":{}},"tags":{}}],["posit",{"_index":509,"title":{},"content":{"107":{},"191":{}},"tags":{}}],["possess",{"_index":2166,"title":{},"content":{"345":{}},"tags":{}}],["possibl",{"_index":1378,"title":{},"content":{"177":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"206":{},"207":{},"211":{},"240":{},"241":{},"251":{},"253":{},"350":{}},"tags":{}}],["postgr",{"_index":1437,"title":{"311":{}},"content":{"212":{},"213":{},"306":{},"310":{}},"tags":{}}],["postgres:16",{"_index":1925,"title":{},"content":{"281":{},"323":{}},"tags":{}}],["postgres_db",{"_index":1928,"title":{},"content":{"281":{},"311":{},"323":{}},"tags":{}}],["postgres_password",{"_index":1927,"title":{},"content":{"281":{},"311":{},"323":{}},"tags":{}}],["postgres_us",{"_index":1926,"title":{},"content":{"281":{},"311":{},"323":{}},"tags":{}}],["postgresql",{"_index":1521,"title":{"282":{},"313":{},"324":{}},"content":{"180":{},"181":{},"281":{},"282":{},"283":{},"289":{},"313":{},"323":{},"324":{}},"tags":{}}],["postgresql15",{"_index":2029,"title":{},"content":{"310":{}},"tags":{}}],["postman",{"_index":392,"title":{},"content":{"66":{}},"tags":{}}],["potenti",{"_index":667,"title":{},"content":{"92":{},"147":{},"192":{},"211":{},"232":{},"278":{},"350":{}},"tags":{}}],["power",{"_index":1185,"title":{},"content":{"172":{}},"tags":{}}],["powershel",{"_index":785,"title":{},"content":{"112":{}},"tags":{}}],["practic",{"_index":1340,"title":{},"content":{"202":{}},"tags":{}}],["pre",{"_index":792,"title":{},"content":{"113":{},"213":{}},"tags":{}}],["predict",{"_index":729,"title":{},"content":{"95":{}},"tags":{}}],["prefer",{"_index":246,"title":{},"content":{"54":{},"69":{},"113":{},"151":{},"160":{},"242":{},"306":{}},"tags":{}}],["prefix",{"_index":370,"title":{},"content":{"65":{},"230":{}},"tags":{}}],["prefix'",{"_index":350,"title":{},"content":{"63":{}},"tags":{}}],["premium",{"_index":869,"title":{"133":{},"159":{}},"content":{"133":{},"139":{},"142":{},"159":{}},"tags":{}}],["prepar",{"_index":1344,"title":{"203":{}},"content":{"278":{}},"tags":{}}],["prerequisit",{"_index":170,"title":{"49":{},"264":{},"280":{},"289":{},"299":{},"309":{},"320":{}},"content":{"301":{}},"tags":{}}],["preselect",{"_index":1390,"title":{},"content":{"207":{}},"tags":{}}],["present",{"_index":516,"title":{},"content":{"107":{},"181":{},"191":{},"288":{}},"tags":{}}],["preserv",{"_index":864,"title":{},"content":{"132":{},"335":{},"337":{}},"tags":{}}],["press",{"_index":327,"title":{},"content":{"61":{},"94":{},"296":{},"357":{}},"tags":{}}],["prevent",{"_index":798,"title":{},"content":{"113":{},"186":{},"192":{},"209":{},"332":{},"343":{}},"tags":{}}],["preview",{"_index":609,"title":{},"content":{"77":{}},"tags":{}}],["previous",{"_index":1618,"title":{},"content":{"363":{}},"tags":{}}],["price",{"_index":1013,"title":{"141":{}},"content":{"139":{},"141":{}},"tags":{}}],["primari",{"_index":1426,"title":{},"content":{"211":{}},"tags":{}}],["primarili",{"_index":1098,"title":{},"content":{"154":{}},"tags":{}}],["principl",{"_index":777,"title":{},"content":{"99":{}},"tags":{}}],["prioriti",{"_index":88,"title":{},"content":{"77":{},"152":{},"186":{},"187":{},"218":{},"238":{},"239":{},"242":{},"244":{},"251":{}},"tags":{}}],["privaci",{"_index":1076,"title":{"152":{}},"content":{"152":{}},"tags":{}}],["privat",{"_index":988,"title":{},"content":{"130":{},"181":{}},"tags":{}}],["privileg",{"_index":1410,"title":{},"content":{"209":{},"345":{},"360":{}},"tags":{}}],["prn",{"_index":2108,"title":{},"content":{"332":{}},"tags":{}}],["probabl",{"_index":1713,"title":{},"content":{"238":{},"354":{}},"tags":{}}],["problem",{"_index":2188,"title":{"351":{},"352":{}},"content":{"350":{}},"tags":{}}],["problemat",{"_index":2103,"title":{},"content":{"332":{}},"tags":{}}],["proce",{"_index":812,"title":{},"content":{"113":{},"115":{},"116":{},"117":{},"204":{},"213":{},"278":{}},"tags":{}}],["procedur",{"_index":335,"title":{},"content":{"62":{},"70":{},"94":{},"213":{}},"tags":{}}],["proceed",{"_index":1449,"title":{},"content":{"213":{}},"tags":{}}],["process",{"_index":466,"title":{},"content":{"92":{},"94":{},"99":{},"102":{},"112":{},"123":{},"138":{},"164":{},"199":{},"201":{},"202":{},"206":{},"210":{},"211":{},"213":{},"232":{},"242":{},"283":{},"336":{},"344":{}},"tags":{}}],["product",{"_index":1017,"title":{},"content":{"139":{},"192":{}},"tags":{}}],["profici",{"_index":1341,"title":{},"content":{"202":{}},"tags":{}}],["profil",{"_index":638,"title":{},"content":{"88":{},"98":{},"140":{},"345":{}},"tags":{}}],["program",{"_index":2,"title":{"214":{}},"content":{"215":{},"216":{},"217":{},"218":{}},"tags":{}}],["progress",{"_index":474,"title":{"96":{},"103":{}},"content":{"74":{},"78":{},"79":{},"93":{},"96":{},"168":{},"172":{},"173":{},"244":{},"250":{},"255":{},"335":{},"337":{},"345":{},"346":{}},"tags":{}}],["project",{"_index":880,"title":{"322":{}},"content":{"139":{},"148":{},"166":{},"191":{},"192":{},"193":{},"322":{}},"tags":{}}],["prometheu",{"_index":2000,"title":{},"content":{"299":{}},"tags":{}}],["promin",{"_index":1912,"title":{},"content":{"263":{}},"tags":{}}],["promot",{"_index":1273,"title":{},"content":{"191":{}},"tags":{}}],["prompt",{"_index":876,"title":{},"content":{"136":{},"165":{}},"tags":{}}],["promptli",{"_index":673,"title":{},"content":{"92":{},"96":{}},"tags":{}}],["prone",{"_index":1430,"title":{},"content":{"211":{}},"tags":{}}],["proof",{"_index":1209,"title":{},"content":{"174":{}},"tags":{}}],["propag",{"_index":2181,"title":{},"content":{"347":{}},"tags":{}}],["proper",{"_index":2165,"title":{},"content":{"345":{}},"tags":{}}],["properli",{"_index":828,"title":{},"content":{"114":{}},"tags":{}}],["properti",{"_index":414,"title":{"178":{}},"content":{"69":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"192":{},"251":{}},"tags":{}}],["protect",{"_index":1077,"title":{"152":{}},"content":{"152":{},"190":{},"192":{}},"tags":{}}],["protocol",{"_index":2174,"title":{},"content":{"346":{},"355":{}},"tags":{}}],["proton",{"_index":408,"title":{},"content":{"69":{}},"tags":{}}],["protontrick",{"_index":418,"title":{},"content":{"69":{}},"tags":{}}],["provid",{"_index":381,"title":{"235":{},"236":{},"237":{},"243":{},"248":{}},"content":{"66":{},"71":{},"77":{},"94":{},"97":{},"108":{},"116":{},"117":{},"119":{},"121":{},"124":{},"126":{},"153":{},"168":{},"174":{},"179":{},"186":{},"187":{},"190":{},"191":{},"234":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"249":{},"251":{},"263":{},"288":{},"298":{},"319":{},"338":{},"341":{},"342":{},"346":{},"347":{},"350":{},"358":{},"359":{}},"tags":{}}],["provider.interface.t",{"_index":1744,"title":{},"content":{"243":{}},"tags":{}}],["provider_data_id",{"_index":1763,"title":{},"content":{"253":{}},"tags":{}}],["provider_data_url",{"_index":1764,"title":{},"content":{"253":{}},"tags":{}}],["provider_slug",{"_index":1760,"title":{},"content":{"253":{}},"tags":{}}],["proxi",{"_index":1909,"title":{},"content":{"278":{},"346":{},"362":{}},"tags":{}}],["prune",{"_index":1967,"title":{},"content":{"297":{}},"tags":{}}],["pterodactyl",{"_index":1178,"title":{},"content":{"170":{}},"tags":{}}],["public",{"_index":14,"title":{},"content":{"65":{},"130":{},"145":{},"160":{},"215":{},"343":{}},"tags":{}}],["publish",{"_index":1288,"title":{"192":{}},"content":{"192":{},"253":{}},"tags":{}}],["puid",{"_index":1473,"title":{},"content":{"179":{},"354":{}},"tags":{}}],["pull",{"_index":1138,"title":{},"content":{"163":{},"191":{},"193":{},"297":{}},"tags":{}}],["purpos",{"_index":1232,"title":{},"content":{"189":{},"212":{},"263":{},"278":{},"354":{}},"tags":{}}],["put",{"_index":1147,"title":{},"content":{"168":{},"232":{}},"tags":{}}],["put/chang",{"_index":1965,"title":{},"content":{"295":{}},"tags":{}}],["pvc",{"_index":2005,"title":{},"content":{"303":{}},"tags":{}}],["qcow2",{"_index":2064,"title":{},"content":{"330":{}},"tags":{}}],["queri",{"_index":918,"title":{"126":{},"129":{}},"content":{"126":{},"129":{}},"tags":{}}],["question",{"_index":853,"title":{"143":{}},"content":{"118":{},"208":{}},"tags":{}}],["queue",{"_index":577,"title":{},"content":{"74":{}},"tags":{}}],["quickli",{"_index":1053,"title":{},"content":{"147":{}},"tags":{}}],["quicktim",{"_index":1666,"title":{},"content":{"227":{}},"tags":{}}],["quit",{"_index":1428,"title":{},"content":{"211":{}},"tags":{}}],["random",{"_index":562,"title":{},"content":{"73":{}},"tags":{}}],["randomli",{"_index":2183,"title":{},"content":{"349":{}},"tags":{}}],["randompassword",{"_index":2030,"title":{},"content":{"311":{}},"tags":{}}],["rar",{"_index":1942,"title":{},"content":{"289":{},"330":{}},"tags":{}}],["rare",{"_index":1562,"title":{},"content":{"184":{},"331":{}},"tags":{}}],["rate",{"_index":1262,"title":{"247":{},"254":{}},"content":{"186":{},"191":{},"226":{},"242":{},"244":{},"247":{},"253":{},"254":{}},"tags":{}}],["raw",{"_index":1875,"title":{},"content":{"257":{}},"tags":{}}],["re",{"_index":640,"title":{},"content":{"88":{}},"tags":{}}],["reach",{"_index":854,"title":{},"content":{"118":{},"246":{}},"tags":{}}],["reachabl",{"_index":2199,"title":{},"content":{"351":{}},"tags":{}}],["read",{"_index":831,"title":{"274":{},"287":{},"307":{},"318":{},"328":{}},"content":{"115":{},"116":{},"118":{},"191":{},"202":{},"278":{},"350":{}},"tags":{}}],["read/writ",{"_index":2206,"title":{},"content":{"354":{}},"tags":{}}],["reader",{"_index":974,"title":{},"content":{"130":{}},"tags":{}}],["reader.readlineasync",{"_index":984,"title":{},"content":{"130":{}},"tags":{}}],["readi",{"_index":694,"title":{},"content":{"94":{},"95":{},"118":{},"278":{}},"tags":{}}],["real",{"_index":906,"title":{},"content":{"123":{},"187":{},"203":{},"328":{},"346":{}},"tags":{}}],["reason",{"_index":789,"title":{},"content":{"113":{},"209":{},"342":{}},"tags":{}}],["rebrand",{"_index":860,"title":{},"content":{"132":{}},"tags":{}}],["recach",{"_index":601,"title":{},"content":{"77":{},"242":{}},"tags":{}}],["receipt",{"_index":1208,"title":{},"content":{"174":{}},"tags":{}}],["receiv",{"_index":905,"title":{},"content":{"123":{},"174":{},"262":{}},"tags":{}}],["recent",{"_index":795,"title":{},"content":{"113":{},"165":{}},"tags":{}}],["recogn",{"_index":1284,"title":{},"content":{"183":{},"191":{},"246":{},"335":{},"337":{}},"tags":{}}],["recommend",{"_index":368,"title":{"112":{}},"content":{"65":{},"115":{},"118":{},"147":{},"191":{},"204":{},"209":{},"211":{},"278":{},"281":{},"282":{},"306":{},"313":{},"323":{},"324":{},"331":{}},"tags":{}}],["recov",{"_index":2154,"title":{},"content":{"342":{}},"tags":{}}],["recoveri",{"_index":1501,"title":{"341":{},"342":{}},"content":{"179":{}},"tags":{}}],["recurs",{"_index":1616,"title":{},"content":{"363":{}},"tags":{}}],["red",{"_index":646,"title":{},"content":{"89":{}},"tags":{}}],["reddit",{"_index":1272,"title":{},"content":{"191":{}},"tags":{}}],["redirect",{"_index":1046,"title":{},"content":{"147":{}},"tags":{}}],["reduc",{"_index":471,"title":{},"content":{"102":{}},"tags":{}}],["refer",{"_index":539,"title":{},"content":{"96":{},"109":{},"118":{},"278":{},"301":{},"336":{},"346":{},"353":{},"360":{},"361":{}},"tags":{}}],["referenc",{"_index":1692,"title":{},"content":{"231":{}},"tags":{}}],["refin",{"_index":36,"title":{},"content":{"215":{}},"tags":{}}],["reflect",{"_index":858,"title":{},"content":{"132":{}},"tags":{}}],["refrain",{"_index":1116,"title":{},"content":{"157":{}},"tags":{}}],["refresh",{"_index":489,"title":{},"content":{"104":{},"137":{}},"tags":{}}],["regain",{"_index":740,"title":{},"content":{"96":{},"342":{},"360":{}},"tags":{}}],["regard",{"_index":1031,"title":{},"content":{"145":{}},"tags":{}}],["regex",{"_index":236,"title":{},"content":{"53":{},"209":{}},"tags":{}}],["regist",{"_index":366,"title":{"65":{},"117":{}},"content":{"65":{},"86":{},"117":{},"179":{},"238":{},"240":{},"250":{},"336":{},"340":{},"343":{},"344":{},"356":{}},"tags":{}}],["registr",{"_index":1498,"title":{"343":{}},"content":{"179":{},"182":{},"245":{},"338":{},"343":{},"344":{}},"tags":{}}],["regular",{"_index":29,"title":{},"content":{"53":{},"209":{},"215":{}},"tags":{}}],["regularli",{"_index":1563,"title":{},"content":{"184":{},"232":{}},"tags":{}}],["reindex",{"_index":1564,"title":{},"content":{"184":{}},"tags":{}}],["reinstal",{"_index":119,"title":{},"content":{"221":{}},"tags":{}}],["reject",{"_index":1540,"title":{},"content":{"181":{}},"tags":{}}],["relat",{"_index":523,"title":{},"content":{"77":{},"107":{}},"tags":{}}],["relaunch",{"_index":767,"title":{"99":{}},"content":{},"tags":{}}],["relead",{"_index":610,"title":{},"content":{"77":{}},"tags":{}}],["releas",{"_index":13,"title":{},"content":{"113":{},"166":{},"208":{},"215":{},"238":{},"332":{},"335":{},"337":{},"363":{}},"tags":{}}],["release_d",{"_index":1765,"title":{},"content":{"253":{}},"tags":{}}],["releasepackage_[version]_x64.appx",{"_index":827,"title":{},"content":{"113":{}},"tags":{}}],["releaseyear",{"_index":2096,"title":{},"content":{"332":{}},"tags":{}}],["releaseyear).zip",{"_index":2085,"title":{},"content":{"332":{}},"tags":{}}],["relev",{"_index":1264,"title":{},"content":{"179":{},"191":{},"238":{},"242":{}},"tags":{}}],["reli",{"_index":1354,"title":{},"content":{"203":{},"306":{},"346":{}},"tags":{}}],["reliabl",{"_index":1993,"title":{},"content":{"298":{}},"tags":{}}],["reliv",{"_index":1168,"title":{},"content":{"169":{}},"tags":{}}],["reload",{"_index":624,"title":{},"content":{"79":{},"268":{}},"tags":{}}],["remain",{"_index":685,"title":{},"content":{"93":{},"94":{},"118":{},"139":{}},"tags":{}}],["remap",{"_index":603,"title":{"240":{}},"content":{"77":{},"209":{},"240":{},"242":{},"345":{},"353":{}},"tags":{}}],["remap/unmap",{"_index":763,"title":{},"content":{"97":{}},"tags":{}}],["rememb",{"_index":266,"title":{},"content":{"57":{},"311":{}},"tags":{}}],["remot",{"_index":1907,"title":{},"content":{"278":{}},"tags":{}}],["remov",{"_index":94,"title":{},"content":{"209":{},"218":{},"221":{},"332":{},"344":{}},"tags":{}}],["renam",{"_index":1400,"title":{},"content":{"209":{},"331":{},"337":{}},"tags":{}}],["renew",{"_index":1004,"title":{},"content":{"138":{}},"tags":{}}],["repack",{"_index":1352,"title":{},"content":{"203":{}},"tags":{}}],["repeat",{"_index":334,"title":{},"content":{"62":{},"70":{},"93":{},"210":{}},"tags":{}}],["replac",{"_index":198,"title":{},"content":{"51":{},"126":{},"281":{},"282":{},"323":{},"324":{},"332":{},"335":{}},"tags":{}}],["replica",{"_index":2009,"title":{},"content":{"306":{}},"tags":{}}],["report",{"_index":124,"title":{"222":{}},"content":{"191":{},"222":{},"347":{},"350":{}},"tags":{}}],["repositori",{"_index":1129,"title":{"267":{}},"content":{"160":{},"162":{},"163":{},"191":{},"194":{},"195":{},"243":{},"263":{},"267":{},"289":{},"297":{}},"tags":{}}],["repres",{"_index":452,"title":{},"content":{"101":{}},"tags":{}}],["reproduc",{"_index":2191,"title":{},"content":{"350":{}},"tags":{}}],["reput",{"_index":1295,"title":{},"content":{"192":{}},"tags":{}}],["request",{"_index":275,"title":{},"content":{"57":{},"65":{},"67":{},"101":{},"126":{},"137":{},"163":{},"179":{},"186":{},"191":{},"193":{},"198":{},"349":{},"355":{}},"tags":{}}],["requir",{"_index":41,"title":{"216":{}},"content":{"53":{},"57":{},"67":{},"94":{},"112":{},"125":{},"151":{},"182":{},"186":{},"192":{},"216":{},"218":{},"245":{},"246":{},"278":{},"289":{},"314":{},"332":{},"344":{}},"tags":{}}],["research",{"_index":1391,"title":{},"content":{"208":{},"234":{}},"tags":{}}],["reselect",{"_index":2026,"title":{},"content":{"307":{}},"tags":{}}],["reserv",{"_index":1482,"title":{},"content":{"179":{},"332":{}},"tags":{}}],["reset",{"_index":1504,"title":{},"content":{"179":{},"342":{},"361":{}},"tags":{}}],["resolut",{"_index":1779,"title":{},"content":{"253":{}},"tags":{}}],["resolv",{"_index":1466,"title":{},"content":{"213":{}},"tags":{}}],["reson",{"_index":1435,"title":{},"content":{"211":{}},"tags":{}}],["resort",{"_index":299,"title":{},"content":{"58":{},"113":{},"211":{}},"tags":{}}],["resourc",{"_index":896,"title":{"230":{}},"content":{"122":{},"206":{},"231":{}},"tags":{}}],["respect",{"_index":1225,"title":{},"content":{"176":{}},"tags":{}}],["respons",{"_index":271,"title":{},"content":{"57":{},"62":{},"70":{},"113":{},"123":{},"166":{},"176":{},"191":{},"192":{},"244":{},"345":{}},"tags":{}}],["rest",{"_index":354,"title":{"64":{}},"content":{"64":{}},"tags":{}}],["restart",{"_index":105,"title":{"55":{}},"content":{"51":{},"55":{},"99":{},"165":{},"220":{},"250":{},"281":{},"282":{},"323":{},"324":{},"331":{},"351":{},"362":{}},"tags":{}}],["restor",{"_index":637,"title":{"211":{},"213":{}},"content":{"88":{},"211":{},"213":{},"335":{},"363":{}},"tags":{}}],["restore.db",{"_index":1461,"title":{},"content":{"213":{}},"tags":{}}],["restrict",{"_index":1067,"title":{},"content":{"150":{},"183":{},"192":{},"244":{}},"tags":{}}],["result",{"_index":967,"title":{},"content":{"130":{},"205":{},"206":{},"209":{},"213":{},"232":{},"242":{},"348":{}},"tags":{}}],["retain",{"_index":1308,"title":{},"content":{"192":{},"343":{}},"tags":{}}],["retri",{"_index":689,"title":{},"content":{"93":{},"94":{}},"tags":{}}],["retriev",{"_index":446,"title":{"137":{}},"content":{"101":{},"105":{},"107":{},"126":{},"136":{},"186":{},"349":{}},"tags":{}}],["retro",{"_index":1167,"title":{},"content":{"169":{}},"tags":{}}],["return",{"_index":111,"title":{"221":{}},"content":{"126":{},"130":{}},"tags":{}}],["reus",{"_index":1693,"title":{},"content":{"231":{},"331":{}},"tags":{}}],["revenu",{"_index":1243,"title":{},"content":{"190":{}},"tags":{}}],["revers",{"_index":1908,"title":{},"content":{"278":{},"346":{}},"tags":{}}],["review",{"_index":576,"title":{},"content":{"74":{},"146":{},"191":{}},"tags":{}}],["rgb",{"_index":1137,"title":{},"content":{"162":{}},"tags":{}}],["rid",{"_index":1701,"title":{},"content":{"232":{}},"tags":{}}],["right",{"_index":615,"title":{},"content":{"77":{},"97":{},"98":{},"99":{},"116":{},"191":{},"192":{},"201":{},"277":{},"344":{},"346":{}},"tags":{}}],["risk",{"_index":668,"title":{},"content":{"92":{}},"tags":{}}],["road",{"_index":1060,"title":{},"content":{"148":{}},"tags":{}}],["role",{"_index":636,"title":{"341":{},"345":{},"360":{}},"content":{"88":{},"97":{},"98":{},"173":{},"174":{},"179":{},"209":{},"239":{},"244":{},"338":{},"341":{},"344":{},"345":{}},"tags":{}}],["roll",{"_index":1487,"title":{},"content":{"179":{}},"tags":{}}],["rom",{"_index":1605,"title":{},"content":{"198":{}},"tags":{}}],["ronald",{"_index":1329,"title":{},"content":{"196":{}},"tags":{}}],["root",{"_index":429,"title":{"115":{}},"content":{"87":{},"91":{},"100":{},"115":{},"354":{},"357":{}},"tags":{}}],["root>/gamevault/downloads/(74",{"_index":676,"title":{},"content":{"92":{}},"tags":{}}],["root>/gamevault/installations/(74",{"_index":677,"title":{},"content":{"92":{},"94":{}},"tags":{}}],["root>/instal",{"_index":735,"title":{},"content":{"96":{}},"tags":{}}],["round",{"_index":1795,"title":{},"content":{"254":{},"332":{}},"tags":{}}],["rounder",{"_index":2197,"title":{"351":{}},"content":{},"tags":{}}],["row",{"_index":2129,"title":{},"content":{"333":{}},"tags":{}}],["rpm",{"_index":2065,"title":{},"content":{"330":{}},"tags":{}}],["rule",{"_index":1081,"title":{},"content":{"152":{},"278":{}},"tags":{}}],["run",{"_index":61,"title":{"58":{},"68":{},"282":{},"313":{},"324":{}},"content":{"49":{},"58":{},"60":{},"61":{},"68":{},"69":{},"78":{},"94":{},"96":{},"103":{},"112":{},"113":{},"114":{},"125":{},"170":{},"179":{},"216":{},"221":{},"249":{},"264":{},"277":{},"278":{},"279":{},"281":{},"282":{},"283":{},"286":{},"287":{},"293":{},"297":{},"299":{},"308":{},"309":{},"313":{},"323":{},"324":{},"327":{},"346":{},"351":{},"354":{}},"tags":{}}],["s",{"_index":2015,"title":{},"content":{"306":{}},"tags":{}}],["safe",{"_index":810,"title":{},"content":{"113":{},"152":{},"232":{},"303":{},"306":{}},"tags":{}}],["safedispose(cli",{"_index":987,"title":{},"content":{"130":{}},"tags":{}}],["safedispose(idispos",{"_index":990,"title":{},"content":{"130":{}},"tags":{}}],["safedispose(read",{"_index":986,"title":{},"content":{"130":{}},"tags":{}}],["safedispose(writ",{"_index":985,"title":{},"content":{"130":{}},"tags":{}}],["safeguard",{"_index":155,"title":{},"content":{"48":{}},"tags":{}}],["safeti",{"_index":1302,"title":{},"content":{"192":{}},"tags":{}}],["saint",{"_index":2128,"title":{},"content":{"333":{}},"tags":{}}],["same",{"_index":690,"title":{"209":{}},"content":{"93":{},"98":{},"99":{},"123":{},"127":{},"184":{},"189":{},"209":{},"239":{},"280":{},"306":{},"335":{},"336":{},"337":{},"363":{}},"tags":{}}],["san",{"_index":1727,"title":{},"content":{"242":{}},"tags":{}}],["save",{"_index":427,"title":{"354":{}},"content":{"91":{},"92":{},"100":{},"162":{},"210":{},"228":{},"254":{},"306":{},"331":{}},"tags":{}}],["savegam",{"_index":748,"title":{},"content":{"96":{}},"tags":{}}],["scalabl",{"_index":1935,"title":{},"content":{"288":{},"308":{}},"tags":{}}],["scale",{"_index":1896,"title":{"298":{},"300":{},"301":{}},"content":{"276":{},"298":{},"299":{},"304":{},"306":{}},"tags":{}}],["scan",{"_index":160,"title":{},"content":{"48":{},"363":{}},"tags":{}}],["scheme",{"_index":898,"title":{},"content":{"122":{}},"tags":{}}],["screen",{"_index":469,"title":{},"content":{"89":{},"102":{},"127":{}},"tags":{}}],["screenshot",{"_index":1686,"title":{},"content":{"230":{},"253":{},"319":{}},"tags":{}}],["screenshots[0",{"_index":1782,"title":{},"content":{"253":{}},"tags":{}}],["script",{"_index":1888,"title":{},"content":{"262":{},"306":{}},"tags":{}}],["scroll",{"_index":1915,"title":{},"content":{"267":{},"303":{}},"tags":{}}],["seamless",{"_index":893,"title":{},"content":{"121":{}},"tags":{}}],["search",{"_index":564,"title":{},"content":{"73":{},"77":{},"113":{},"173":{},"184":{},"208":{},"238":{},"240":{},"268":{},"302":{},"310":{},"312":{},"332":{},"357":{}},"tags":{}}],["searchbox",{"_index":2210,"title":{},"content":{"357":{}},"tags":{}}],["second",{"_index":1621,"title":{},"content":{"223":{}},"tags":{}}],["secret",{"_index":1595,"title":{},"content":{"186":{},"236":{},"250":{},"251":{},"349":{}},"tags":{}}],["section",{"_index":553,"title":{},"content":{"73":{},"77":{},"124":{},"133":{},"234":{},"301":{},"310":{},"351":{}},"tags":{}}],["secur",{"_index":264,"title":{"349":{}},"content":{"57":{},"105":{},"136":{},"152":{},"172":{},"181":{},"211":{},"213":{},"306":{},"338":{},"345":{},"354":{}},"tags":{}}],["see",{"_index":488,"title":{},"content":{"94":{},"104":{},"134":{},"137":{},"185":{},"190":{},"204":{},"231":{},"234":{},"242":{},"244":{},"253":{},"262":{},"274":{},"307":{},"320":{},"332":{},"346":{},"355":{},"357":{}},"tags":{}}],["seek",{"_index":1007,"title":{},"content":{"139":{},"350":{}},"tags":{}}],["sego",{"_index":424,"title":{},"content":{"69":{}},"tags":{}}],["select",{"_index":328,"title":{"115":{}},"content":{"61":{},"77":{},"79":{},"87":{},"94":{},"99":{},"107":{},"113":{},"115":{},"117":{},"161":{},"273":{},"307":{},"322":{},"327":{},"328":{}},"tags":{}}],["select/paste/drop",{"_index":761,"title":{},"content":{"97":{},"98":{}},"tags":{}}],["selectd",{"_index":602,"title":{},"content":{"77":{}},"tags":{}}],["self",{"_index":815,"title":{},"content":{"113":{},"116":{},"166":{},"168":{},"169":{},"174":{}},"tags":{}}],["selfhost",{"_index":839,"title":{"116":{}},"content":{},"tags":{}}],["send",{"_index":733,"title":{},"content":{"96":{},"123":{},"126":{},"174":{},"346":{}},"tags":{}}],["sendpipemessage(str",{"_index":959,"title":{},"content":{"130":{}},"tags":{}}],["sensit",{"_index":492,"title":{},"content":{"105":{},"332":{}},"tags":{}}],["sent",{"_index":483,"title":{},"content":{"103":{},"181":{}},"tags":{}}],["sepa",{"_index":1047,"title":{},"content":{"147":{}},"tags":{}}],["separ",{"_index":369,"title":{},"content":{"65":{},"77":{},"179":{},"185":{},"209":{},"257":{}},"tags":{}}],["seper",{"_index":1419,"title":{},"content":{"184":{},"209":{}},"tags":{}}],["serv",{"_index":290,"title":{},"content":{"58":{},"68":{},"93":{},"126":{},"168":{},"213":{}},"tags":{}}],["server",{"_index":62,"title":{"77":{},"116":{},"173":{},"179":{},"262":{},"273":{},"275":{},"286":{},"293":{},"296":{},"297":{},"306":{},"312":{},"317":{},"327":{},"354":{},"355":{},"357":{}},"content":{"49":{},"64":{},"66":{},"73":{},"77":{},"79":{},"84":{},"86":{},"88":{},"92":{},"93":{},"94":{},"96":{},"97":{},"98":{},"103":{},"104":{},"107":{},"116":{},"117":{},"126":{},"149":{},"152":{},"168":{},"169":{},"170":{},"172":{},"177":{},"179":{},"181":{},"184":{},"185":{},"187":{},"197":{},"200":{},"201":{},"202":{},"209":{},"210":{},"213":{},"216":{},"238":{},"242":{},"250":{},"256":{},"263":{},"264":{},"271":{},"275":{},"277":{},"278":{},"283":{},"284":{},"291":{},"293":{},"294":{},"296":{},"297":{},"298":{},"299":{},"301":{},"304":{},"306":{},"308":{},"309":{},"315":{},"318":{},"325":{},"327":{},"328":{},"329":{},"331":{},"332":{},"338":{},"340":{},"341":{},"342":{},"345":{},"346":{},"347":{},"348":{},"349":{},"350":{},"351":{},"355":{},"357":{},"359":{},"362":{},"363":{}},"tags":{}}],["server'",{"_index":644,"title":{},"content":{"89":{},"172":{},"284":{},"331":{},"357":{}},"tags":{}}],["server_account_activation_dis",{"_index":1499,"title":{},"content":{"179":{},"344":{}},"tags":{}}],["server_admin_password",{"_index":1503,"title":{},"content":{"179":{},"342":{}},"tags":{}}],["server_admin_password=hunter2",{"_index":2156,"title":{},"content":{"342":{}},"tags":{}}],["server_admin_usernam",{"_index":1500,"title":{},"content":{"179":{},"341":{},"342":{}},"tags":{}}],["server_admin_username=gamevaultfan1",{"_index":2155,"title":{},"content":{"342":{}},"tags":{}}],["server_api_docs_en",{"_index":378,"title":{},"content":{"66":{},"179":{}},"tags":{}}],["server_cors_allowed_origin",{"_index":1495,"title":{},"content":{"179":{}},"tags":{}}],["server_log_files_en",{"_index":192,"title":{},"content":{"51":{},"179":{}},"tags":{}}],["server_log_level",{"_index":1484,"title":{},"content":{"179":{},"350":{},"351":{}},"tags":{}}],["server_max_download_bandwidth_in_kbp",{"_index":1507,"title":{},"content":{"179":{},"362":{}},"tags":{}}],["server_online_activities_dis",{"_index":1510,"title":{},"content":{"179":{},"348":{}},"tags":{}}],["server_port",{"_index":1477,"title":{},"content":{"179":{}},"tags":{}}],["server_registration_dis",{"_index":1497,"title":{},"content":{"179":{},"343":{}},"tags":{}}],["server_request_log_format",{"_index":1489,"title":{},"content":{"179":{}},"tags":{}}],["server_stack_trace_limit",{"_index":1512,"title":{},"content":{"179":{}},"tags":{}}],["servic",{"_index":256,"title":{"283":{}},"content":{"55":{},"238":{},"243":{},"281":{},"282":{},"323":{},"324":{}},"tags":{}}],["set",{"_index":107,"title":{"60":{},"61":{},"75":{},"80":{},"83":{},"105":{},"106":{},"110":{},"235":{},"275":{},"292":{},"310":{},"312":{},"322":{}},"content":{"48":{},"51":{},"54":{},"57":{},"58":{},"65":{},"66":{},"68":{},"72":{},"73":{},"74":{},"76":{},"77":{},"81":{},"85":{},"86":{},"94":{},"95":{},"97":{},"98":{},"105":{},"106":{},"116":{},"135":{},"136":{},"137":{},"142":{},"151":{},"159":{},"161":{},"179":{},"180":{},"182":{},"184":{},"185":{},"205":{},"206":{},"220":{},"221":{},"232":{},"233":{},"234":{},"244":{},"245":{},"246":{},"257":{},"263":{},"271":{},"273":{},"275":{},"277":{},"278":{},"279":{},"284":{},"292":{},"294":{},"298":{},"303":{},"304":{},"306":{},"308":{},"311":{},"315":{},"319":{},"325":{},"329":{},"341":{},"342":{},"343":{},"344":{},"348":{},"350":{},"351":{},"357":{},"358":{},"359":{},"362":{}},"tags":{}}],["setup",{"_index":175,"title":{"69":{},"72":{},"135":{},"250":{},"340":{}},"content":{"49":{},"72":{},"94":{},"116":{},"138":{},"151":{},"199":{},"277":{},"303":{},"331":{}},"tags":{}}],["setup.bin",{"_index":1347,"title":{},"content":{"203":{}},"tags":{}}],["setup.ex",{"_index":512,"title":{},"content":{"94":{},"107":{},"199":{},"203":{}},"tags":{}}],["setup.sh",{"_index":1614,"title":{},"content":{"200":{}},"tags":{}}],["setup_game.ex",{"_index":1358,"title":{},"content":{"204":{},"331":{}},"tags":{}}],["setup_game.sh",{"_index":1359,"title":{},"content":{"204":{},"331":{}},"tags":{}}],["seven",{"_index":1800,"title":{},"content":{"254":{}},"tags":{}}],["sever",{"_index":1038,"title":{},"content":{"147":{}},"tags":{}}],["sh",{"_index":2077,"title":{},"content":{"331":{}},"tags":{}}],["shape",{"_index":1097,"title":{},"content":{"154":{}},"tags":{}}],["share",{"_index":83,"title":{"149":{},"163":{}},"content":{"74":{},"149":{},"154":{},"157":{},"160":{},"163":{},"169":{},"176":{},"189":{},"191":{},"217":{},"262":{},"303":{},"347":{}},"tags":{}}],["sharealik",{"_index":1213,"title":{},"content":{"175":{},"189":{}},"tags":{}}],["ship",{"_index":1119,"title":{},"content":{"159":{},"279":{}},"tags":{}}],["short",{"_index":1493,"title":{},"content":{"179":{}},"tags":{}}],["shortcut",{"_index":587,"title":{},"content":{"76":{}},"tags":{}}],["shorten",{"_index":2192,"title":{},"content":{"350":{}},"tags":{}}],["show",{"_index":683,"title":{},"content":{"93":{},"125":{},"127":{},"191":{},"234":{},"254":{}},"tags":{}}],["shown",{"_index":524,"title":{},"content":{"107":{},"179":{},"250":{}},"tags":{}}],["shutdown",{"_index":2012,"title":{},"content":{"306":{}},"tags":{}}],["side",{"_index":919,"title":{},"content":{"126":{},"281":{},"282":{},"323":{},"324":{}},"tags":{}}],["sidecar",{"_index":510,"title":{},"content":{"107":{}},"tags":{}}],["sign",{"_index":805,"title":{},"content":{"113":{},"136":{},"142":{}},"tags":{}}],["simpl",{"_index":74,"title":{},"content":{"94":{},"95":{},"126":{},"135":{},"191":{},"217":{},"306":{},"348":{},"363":{}},"tags":{}}],["simplest",{"_index":304,"title":{},"content":{"59":{},"69":{}},"tags":{}}],["simpli",{"_index":770,"title":{},"content":{"99":{},"112":{},"174":{},"212":{},"247":{},"262":{},"335":{},"341":{},"343":{},"344":{}},"tags":{}}],["simplifi",{"_index":594,"title":{},"content":{"77":{},"263":{}},"tags":{}}],["simultan",{"_index":1710,"title":{},"content":{"234":{}},"tags":{}}],["singl",{"_index":744,"title":{"331":{}},"content":{"96":{},"204":{},"209":{},"247":{},"298":{},"329":{},"331":{},"351":{}},"tags":{}}],["situat",{"_index":847,"title":{},"content":{"117":{},"184":{}},"tags":{}}],["sixteen",{"_index":1803,"title":{},"content":{"254":{}},"tags":{}}],["size",{"_index":470,"title":{},"content":{"102":{},"185":{},"206":{},"308":{},"363":{}},"tags":{}}],["skip",{"_index":1350,"title":{},"content":{"203":{},"204":{},"363":{}},"tags":{}}],["slightli",{"_index":281,"title":{},"content":{"57":{},"209":{}},"tags":{}}],["sln",{"_index":820,"title":{},"content":{"113":{}},"tags":{}}],["slot",{"_index":87,"title":{},"content":{"218":{}},"tags":{}}],["slow",{"_index":2213,"title":{"362":{}},"content":{},"tags":{}}],["small",{"_index":1023,"title":{},"content":{"144":{},"206":{}},"tags":{}}],["smaller",{"_index":1380,"title":{},"content":{"206":{}},"tags":{}}],["smallest",{"_index":1377,"title":{},"content":{"206":{}},"tags":{}}],["smartscreen",{"_index":797,"title":{},"content":{"113":{}},"tags":{}}],["snake",{"_index":1310,"title":{},"content":{"192":{}},"tags":{}}],["snapshot",{"_index":1439,"title":{},"content":{"212":{}},"tags":{}}],["social",{"_index":1250,"title":{},"content":{"191":{}},"tags":{}}],["socket",{"_index":2176,"title":{},"content":{"346":{},"349":{}},"tags":{}}],["socket.io",{"_index":2172,"title":{},"content":{"346":{},"349":{}},"tags":{}}],["sofort",{"_index":1052,"title":{},"content":{"147":{}},"tags":{}}],["softwar",{"_index":1026,"title":{"153":{}},"content":{"144":{},"190":{},"192":{},"319":{}},"tags":{}}],["sole",{"_index":1218,"title":{},"content":{"176":{},"184":{},"192":{}},"tags":{}}],["solid",{"_index":1374,"title":{},"content":{"205":{},"206":{}},"tags":{}}],["solut",{"_index":758,"title":{"351":{},"352":{}},"content":{"97":{},"156":{},"211":{},"288":{},"298":{},"308":{},"350":{}},"tags":{}}],["solv",{"_index":1753,"title":{},"content":{"250":{},"351":{}},"tags":{}}],["someth",{"_index":1432,"title":{},"content":{"211":{}},"tags":{}}],["soon",{"_index":739,"title":{},"content":{"96":{},"258":{},"261":{}},"tags":{}}],["sort",{"_index":623,"title":{},"content":{"79":{},"173":{}},"tags":{}}],["sourc",{"_index":803,"title":{"166":{},"190":{},"290":{}},"content":{"113":{},"116":{},"157":{},"164":{},"166":{},"168":{},"186":{},"189":{},"190":{},"263":{},"278":{},"298":{},"322":{},"346":{}},"tags":{}}],["space",{"_index":405,"title":{},"content":{"69":{},"115":{},"203":{},"306":{},"332":{}},"tags":{}}],["spare",{"_index":1199,"title":{},"content":{"174":{}},"tags":{}}],["special",{"_index":16,"title":{},"content":{"215":{},"242":{},"306":{}},"tags":{}}],["specif",{"_index":270,"title":{"66":{}},"content":{"57":{},"66":{},"69":{},"73":{},"77":{},"96":{},"101":{},"117":{},"118":{},"119":{},"125":{},"126":{},"127":{},"150":{},"209":{},"278":{},"297":{},"355":{}},"tags":{}}],["specifi",{"_index":2152,"title":{},"content":{"341":{},"342":{}},"tags":{}}],["speed",{"_index":2214,"title":{},"content":{"362":{}},"tags":{}}],["spin",{"_index":874,"title":{},"content":{"165":{}},"tags":{}}],["sponsor",{"_index":1204,"title":{},"content":{"174":{}},"tags":{}}],["spread",{"_index":1263,"title":{},"content":{"191":{}},"tags":{}}],["sql",{"_index":1532,"title":{},"content":{"181":{}},"tags":{}}],["sqlite",{"_index":1438,"title":{"354":{}},"content":{"180":{},"181":{},"187":{},"212":{},"213":{},"282":{},"289":{},"292":{},"312":{},"313":{},"324":{}},"tags":{}}],["squar",{"_index":1402,"title":{},"content":{"209":{},"332":{}},"tags":{}}],["squashf",{"_index":2066,"title":{},"content":{"330":{}},"tags":{}}],["ssl",{"_index":2209,"title":{},"content":{"355":{}},"tags":{}}],["stabl",{"_index":28,"title":{"221":{}},"content":{"215":{},"221":{}},"tags":{}}],["stack",{"_index":1270,"title":{},"content":{"179":{},"191":{}},"tags":{}}],["stackoverflow",{"_index":284,"title":{},"content":{"57":{}},"tags":{}}],["stage",{"_index":1360,"title":{},"content":{"204":{}},"tags":{}}],["stand",{"_index":1207,"title":{},"content":{"174":{}},"tags":{}}],["standard",{"_index":1086,"title":{},"content":{"152":{},"238":{},"346":{}},"tags":{}}],["star",{"_index":2116,"title":{},"content":{"333":{}},"tags":{}}],["start",{"_index":103,"title":{"142":{},"257":{},"283":{},"293":{}},"content":{"59":{},"69":{},"92":{},"95":{},"125":{},"127":{},"136":{},"220":{},"221":{},"234":{},"242":{},"278":{},"283":{},"293":{},"306":{},"347":{},"350":{}},"tags":{}}],["startup",{"_index":628,"title":{},"content":{"84":{},"144":{},"179":{},"341":{},"342":{}},"tags":{}}],["state",{"_index":574,"title":{},"content":{"74":{},"92":{},"96":{},"173":{}},"tags":{}}],["statement",{"_index":1533,"title":{},"content":{"181":{}},"tags":{}}],["static",{"_index":954,"title":{},"content":{"130":{}},"tags":{}}],["station",{"_index":1978,"title":{},"content":{"321":{}},"tags":{}}],["statist",{"_index":619,"title":{},"content":{"78":{}},"tags":{}}],["statu",{"_index":260,"title":{"56":{}},"content":{"56":{},"253":{}},"tags":{}}],["stay",{"_index":878,"title":{},"content":{"166":{}},"tags":{}}],["steam",{"_index":406,"title":{},"content":{"69":{},"168":{},"242":{}},"tags":{}}],["steamdeck",{"_index":353,"title":{"68":{}},"content":{"63":{}},"tags":{}}],["steamo",{"_index":398,"title":{},"content":{"68":{}},"tags":{}}],["step",{"_index":75,"title":{"50":{},"115":{},"116":{},"117":{},"203":{},"204":{},"208":{},"210":{},"265":{},"266":{},"267":{},"268":{},"269":{},"270":{},"281":{},"282":{},"283":{},"290":{},"291":{},"292":{},"293":{},"300":{},"301":{},"302":{},"303":{},"310":{},"311":{},"312":{},"313":{},"314":{},"321":{},"322":{},"323":{},"324":{}},"content":{"57":{},"92":{},"94":{},"97":{},"110":{},"115":{},"117":{},"161":{},"202":{},"203":{},"217":{},"278":{},"280":{},"311":{},"313":{},"327":{},"344":{},"363":{}},"tags":{}}],["still",{"_index":725,"title":{},"content":{"94":{},"96":{},"208":{},"346":{}},"tags":{}}],["stop",{"_index":190,"title":{"273":{},"286":{},"296":{},"306":{},"317":{},"327":{}},"content":{"51":{},"281":{},"282":{},"296":{},"306":{},"317":{},"323":{},"324":{},"327":{}},"tags":{}}],["storag",{"_index":472,"title":{},"content":{"102":{},"115":{},"298":{},"303":{},"308":{},"319":{},"331":{}},"tags":{}}],["store",{"_index":54,"title":{"165":{},"229":{},"230":{}},"content":{"69":{},"92":{},"96":{},"100":{},"104":{},"105":{},"106":{},"112":{},"113":{},"115":{},"136":{},"138":{},"152":{},"155":{},"165":{},"168":{},"176":{},"191":{},"213":{},"216":{},"221":{},"228":{},"231":{},"281":{},"308":{},"312":{}},"tags":{}}],["straightforward",{"_index":757,"title":{},"content":{"97":{},"112":{},"121":{},"162":{},"213":{}},"tags":{}}],["stray",{"_index":2134,"title":{},"content":{"333":{}},"tags":{}}],["stream",{"_index":1145,"title":{},"content":{"168":{},"170":{}},"tags":{}}],["streamlin",{"_index":1938,"title":{},"content":{"288":{}},"tags":{}}],["streamread",{"_index":973,"title":{},"content":{"130":{}},"tags":{}}],["streamreader(cli",{"_index":983,"title":{},"content":{"130":{}},"tags":{}}],["streamwrit",{"_index":971,"title":{},"content":{"130":{}},"tags":{}}],["streamwriter(cli",{"_index":977,"title":{},"content":{"130":{}},"tags":{}}],["strictli",{"_index":1228,"title":{},"content":{"176":{}},"tags":{}}],["string",{"_index":966,"title":{},"content":{"130":{},"184":{},"355":{}},"tags":{}}],["stripe",{"_index":1034,"title":{},"content":{"146":{},"152":{}},"tags":{}}],["stripe'",{"_index":1087,"title":{},"content":{"152":{}},"tags":{}}],["strive",{"_index":1276,"title":{},"content":{"191":{}},"tags":{}}],["strong",{"_index":1078,"title":{},"content":{"152":{}},"tags":{}}],["strongli",{"_index":1445,"title":{},"content":{"213":{},"288":{}},"tags":{}}],["structur",{"_index":648,"title":{"91":{},"329":{}},"content":{"91":{},"197":{},"199":{},"200":{},"202":{},"208":{},"262":{},"278":{},"329":{}},"tags":{}}],["struggl",{"_index":1333,"title":{},"content":{"201":{}},"tags":{}}],["studio",{"_index":817,"title":{},"content":{"113":{}},"tags":{}}],["sub",{"_index":547,"title":{},"content":{"72":{},"209":{}},"tags":{}}],["subfold",{"_index":449,"title":{},"content":{"93":{},"101":{},"115":{},"184":{}},"tags":{}}],["submit",{"_index":1321,"title":{},"content":{"193":{}},"tags":{}}],["subscrib",{"_index":871,"title":{},"content":{"119":{},"134":{},"142":{}},"tags":{}}],["subscript",{"_index":1000,"title":{"147":{},"150":{}},"content":{"137":{},"139":{},"141":{},"145":{},"146":{},"147":{},"149":{},"150":{},"151":{},"156":{}},"tags":{}}],["subsequ",{"_index":2185,"title":{},"content":{"349":{}},"tags":{}}],["success",{"_index":998,"title":{},"content":{"137":{}},"tags":{}}],["successfulli",{"_index":850,"title":{},"content":{"118":{},"210":{},"271":{},"284":{},"294":{},"304":{},"315":{},"325":{}},"tags":{}}],["such",{"_index":511,"title":{},"content":{"77":{},"96":{},"107":{},"166":{},"203":{},"204":{},"278":{},"284":{},"319":{},"332":{},"336":{},"345":{},"363":{}},"tags":{}}],["sudo",{"_index":224,"title":{},"content":{"53":{},"54":{},"55":{},"56":{}},"tags":{}}],["suffici",{"_index":837,"title":{},"content":{"115":{}},"tags":{}}],["suggest",{"_index":132,"title":{"154":{}},"content":{"151":{},"154":{},"191":{},"222":{}},"tags":{}}],["suggest/discuss",{"_index":126,"title":{"222":{}},"content":{},"tags":{}}],["suit",{"_index":269,"title":{},"content":{"57":{},"275":{},"281":{},"282":{},"323":{},"324":{}},"tags":{}}],["suitabl",{"_index":1939,"title":{},"content":{"288":{}},"tags":{}}],["summari",{"_index":1427,"title":{},"content":{"211":{}},"tags":{}}],["sunshin",{"_index":1177,"title":{},"content":{"170":{}},"tags":{}}],["support",{"_index":90,"title":{"145":{},"153":{},"155":{},"174":{},"198":{},"224":{},"225":{},"226":{},"227":{},"269":{},"276":{},"330":{}},"content":{"108":{},"118":{},"121":{},"125":{},"139":{},"142":{},"145":{},"173":{},"174":{},"176":{},"184":{},"185":{},"190":{},"191":{},"192":{},"212":{},"218":{},"234":{},"244":{},"262":{},"269":{},"306":{},"320":{},"329":{},"330":{},"331":{},"346":{},"355":{}},"tags":{}}],["suppos",{"_index":1345,"title":{},"content":{"203":{}},"tags":{}}],["sure",{"_index":44,"title":{},"content":{"51":{},"66":{},"69":{},"99":{},"116":{},"152":{},"166":{},"213":{},"216":{},"243":{},"250":{},"269":{},"311":{},"312":{},"331":{},"354":{},"355":{},"362":{}},"tags":{}}],["suspici",{"_index":799,"title":{},"content":{"113":{}},"tags":{}}],["sustain",{"_index":1242,"title":{},"content":{"190":{}},"tags":{}}],["switch",{"_index":102,"title":{"220":{}},"content":{"77":{},"303":{}},"tags":{}}],["synchron",{"_index":750,"title":{},"content":{"96":{},"181":{}},"tags":{}}],["synolog",{"_index":1898,"title":{"319":{}},"content":{"276":{},"319":{},"320":{},"322":{},"325":{},"327":{},"328":{}},"tags":{}}],["syntax",{"_index":1136,"title":{},"content":{"162":{},"262":{}},"tags":{}}],["system",{"_index":172,"title":{},"content":{"49":{},"63":{},"91":{},"94":{},"99":{},"112":{},"113":{},"130":{},"146":{},"173":{},"181":{},"203":{},"210":{},"212":{},"254":{},"256":{},"277":{},"280":{},"288":{},"289":{},"298":{},"308":{},"319":{},"332":{}},"tags":{}}],["system.io",{"_index":949,"title":{},"content":{"130":{}},"tags":{}}],["system.io.pip",{"_index":950,"title":{},"content":{"130":{}},"tags":{}}],["system.text",{"_index":951,"title":{},"content":{"130":{}},"tags":{}}],["system.thread",{"_index":952,"title":{},"content":{"130":{}},"tags":{}}],["system.threading.task",{"_index":953,"title":{},"content":{"130":{}},"tags":{}}],["system/vm",{"_index":1955,"title":{},"content":{"292":{}},"tags":{}}],["systemctl",{"_index":257,"title":{},"content":{"55":{}},"tags":{}}],["t",{"_index":1811,"title":{},"content":{"254":{}},"tags":{}}],["t_1080p_2x",{"_index":1785,"title":{},"content":{"253":{}},"tags":{}}],["t_cover_big_2x",{"_index":1780,"title":{},"content":{"253":{}},"tags":{}}],["tab",{"_index":374,"title":{},"content":{"65":{},"71":{},"72":{},"74":{},"88":{},"92":{},"94":{},"95":{},"96":{},"107":{},"136":{},"317":{},"318":{},"328":{}},"tags":{}}],["tabl",{"_index":1471,"title":{},"content":{"177":{},"223":{},"254":{},"332":{}},"tags":{}}],["tag",{"_index":607,"title":{},"content":{"77":{},"173":{},"197":{},"225":{},"243":{},"253":{},"297":{},"332":{}},"tags":{}}],["tags/9.0.0",{"_index":1969,"title":{},"content":{"297":{}},"tags":{}}],["tailor",{"_index":1104,"title":{},"content":{"156":{},"280":{}},"tags":{}}],["take",{"_index":99,"title":{},"content":{"93":{},"171":{},"191":{},"192":{},"205":{},"206":{},"208":{},"218":{},"250":{},"277":{}},"tags":{}}],["tar",{"_index":2042,"title":{},"content":{"330":{},"331":{}},"tags":{}}],["tar.bz2",{"_index":2115,"title":{},"content":{"332":{}},"tags":{}}],["tar.gz",{"_index":2114,"title":{},"content":{"332":{}},"tags":{}}],["target",{"_index":415,"title":{},"content":{"69":{},"125":{}},"tags":{}}],["task",{"_index":1338,"title":{},"content":{"202":{}},"tags":{}}],["task/gamevault/downloads/(74",{"_index":676,"title":{},"content":{"118":{}},"tags":{}}],["root>/gamevault/installations/(74",{"_index":677,"title":{},"content":{"118":{},"120":{}},"tags":{}}],["root>/instal",{"_index":735,"title":{},"content":{"122":{}},"tags":{}}],["round",{"_index":1795,"title":{},"content":{"244":{},"312":{}},"tags":{}}],["rounder",{"_index":2197,"title":{"331":{}},"content":{},"tags":{}}],["row",{"_index":2129,"title":{},"content":{"313":{}},"tags":{}}],["rpm",{"_index":2065,"title":{},"content":{"310":{}},"tags":{}}],["rule",{"_index":1081,"title":{},"content":{"164":{},"256":{}},"tags":{}}],["run",{"_index":61,"title":{"56":{},"73":{},"283":{},"304":{},"348":{}},"content":{"49":{},"54":{},"56":{},"58":{},"59":{},"64":{},"73":{},"74":{},"83":{},"97":{},"120":{},"122":{},"132":{},"133":{},"134":{},"145":{},"179":{},"239":{},"255":{},"256":{},"258":{},"271":{},"280":{},"282":{},"283":{},"284":{},"287":{},"288":{},"294":{},"298":{},"303":{},"304":{},"307":{},"326":{},"331":{},"334":{},"343":{},"344":{},"348":{},"355":{}},"tags":{}}],["s",{"_index":2015,"title":{},"content":{"362":{}},"tags":{}}],["safe",{"_index":810,"title":{},"content":{"133":{},"164":{},"222":{},"359":{},"362":{}},"tags":{}}],["safedispose(cli",{"_index":987,"title":{},"content":{"150":{}},"tags":{}}],["safedispose(idispos",{"_index":990,"title":{},"content":{"150":{}},"tags":{}}],["safedispose(read",{"_index":986,"title":{},"content":{"150":{}},"tags":{}}],["safedispose(writ",{"_index":985,"title":{},"content":{"150":{}},"tags":{}}],["safeguard",{"_index":155,"title":{},"content":{"63":{}},"tags":{}}],["safeti",{"_index":1302,"title":{},"content":{"190":{}},"tags":{}}],["saint",{"_index":2128,"title":{},"content":{"313":{}},"tags":{}}],["same",{"_index":690,"title":{"206":{}},"content":{"119":{},"124":{},"125":{},"143":{},"147":{},"187":{},"206":{},"212":{},"233":{},"276":{},"281":{},"315":{},"316":{},"317":{},"362":{}},"tags":{}}],["san",{"_index":1727,"title":{},"content":{"236":{}},"tags":{}}],["save",{"_index":427,"title":{"334":{}},"content":{"80":{},"117":{},"118":{},"174":{},"207":{},"218":{},"244":{},"311":{},"362":{}},"tags":{}}],["savegam",{"_index":748,"title":{},"content":{"122":{}},"tags":{}}],["scalabl",{"_index":1935,"title":{},"content":{"289":{},"343":{}},"tags":{}}],["scale",{"_index":1896,"title":{"354":{},"356":{},"357":{}},"content":{"254":{},"354":{},"355":{},"360":{},"362":{}},"tags":{}}],["scan",{"_index":160,"title":{},"content":{"63":{},"212":{}},"tags":{}}],["scheme",{"_index":898,"title":{},"content":{"142":{}},"tags":{}}],["screen",{"_index":469,"title":{},"content":{"82":{},"108":{},"147":{}},"tags":{}}],["screenshot",{"_index":1686,"title":{},"content":{"220":{},"243":{},"299":{}},"tags":{}}],["screenshots[0",{"_index":1782,"title":{},"content":{"243":{}},"tags":{}}],["script",{"_index":1888,"title":{},"content":{"252":{},"362":{}},"tags":{}}],["scroll",{"_index":1915,"title":{},"content":{"261":{},"359":{}},"tags":{}}],["seamless",{"_index":893,"title":{},"content":{"141":{}},"tags":{}}],["search",{"_index":564,"title":{},"content":{"92":{},"96":{},"133":{},"182":{},"205":{},"232":{},"234":{},"262":{},"276":{},"312":{},"337":{},"345":{},"347":{},"358":{}},"tags":{}}],["searchbox",{"_index":2210,"title":{},"content":{"337":{}},"tags":{}}],["second",{"_index":1621,"title":{},"content":{"213":{}},"tags":{}}],["secret",{"_index":1595,"title":{},"content":{"230":{},"240":{},"241":{},"278":{},"329":{}},"tags":{}}],["section",{"_index":553,"title":{},"content":{"92":{},"96":{},"114":{},"144":{},"228":{},"331":{},"345":{},"357":{}},"tags":{}}],["secur",{"_index":264,"title":{"329":{}},"content":{"72":{},"85":{},"127":{},"164":{},"181":{},"195":{},"197":{},"273":{},"318":{},"325":{},"334":{},"362":{}},"tags":{}}],["see",{"_index":488,"title":{},"content":{"84":{},"115":{},"120":{},"128":{},"188":{},"201":{},"221":{},"224":{},"228":{},"236":{},"243":{},"252":{},"268":{},"277":{},"300":{},"312":{},"326":{},"335":{},"337":{},"363":{}},"tags":{}}],["seek",{"_index":1007,"title":{},"content":{"151":{},"330":{}},"tags":{}}],["sego",{"_index":424,"title":{},"content":{"74":{}},"tags":{}}],["select",{"_index":328,"title":{"135":{}},"content":{"59":{},"87":{},"96":{},"98":{},"106":{},"120":{},"125":{},"133":{},"135":{},"137":{},"173":{},"267":{},"302":{},"307":{},"308":{},"363":{}},"tags":{}}],["select/paste/drop",{"_index":761,"title":{},"content":{"123":{},"124":{}},"tags":{}}],["selectd",{"_index":602,"title":{},"content":{"96":{}},"tags":{}}],["self",{"_index":815,"title":{},"content":{"111":{},"133":{},"136":{},"177":{},"178":{},"183":{}},"tags":{}}],["selfhost",{"_index":839,"title":{"136":{}},"content":{},"tags":{}}],["send",{"_index":733,"title":{},"content":{"122":{},"143":{},"146":{},"183":{},"326":{}},"tags":{}}],["sendpipemessage(str",{"_index":959,"title":{},"content":{"150":{}},"tags":{}}],["sensit",{"_index":492,"title":{},"content":{"85":{},"312":{}},"tags":{}}],["sent",{"_index":483,"title":{},"content":{"83":{},"273":{}},"tags":{}}],["sepa",{"_index":1047,"title":{},"content":{"159":{}},"tags":{}}],["separ",{"_index":369,"title":{},"content":{"77":{},"96":{},"206":{},"247":{},"271":{},"277":{}},"tags":{}}],["seper",{"_index":1419,"title":{},"content":{"206":{},"276":{}},"tags":{}}],["serv",{"_index":290,"title":{},"content":{"56":{},"73":{},"119":{},"146":{},"177":{},"197":{}},"tags":{}}],["server",{"_index":62,"title":{"96":{},"136":{},"182":{},"252":{},"253":{},"267":{},"271":{},"287":{},"294":{},"297":{},"298":{},"307":{},"334":{},"335":{},"337":{},"347":{},"352":{},"362":{}},"content":{"49":{},"64":{},"76":{},"78":{},"83":{},"84":{},"87":{},"92":{},"96":{},"98":{},"103":{},"105":{},"107":{},"118":{},"119":{},"120":{},"122":{},"123":{},"124":{},"136":{},"137":{},"146":{},"161":{},"164":{},"177":{},"178":{},"179":{},"181":{},"197":{},"198":{},"199":{},"206":{},"207":{},"208":{},"211":{},"212":{},"232":{},"236":{},"240":{},"246":{},"253":{},"255":{},"256":{},"257":{},"258":{},"265":{},"269":{},"271":{},"273":{},"276":{},"277":{},"279":{},"284":{},"285":{},"292":{},"294":{},"295":{},"297":{},"298":{},"305":{},"307":{},"308":{},"309":{},"311":{},"312":{},"318":{},"320":{},"321":{},"322":{},"325":{},"326":{},"327":{},"328":{},"329":{},"330":{},"331":{},"335":{},"337":{},"339":{},"342":{},"343":{},"344":{},"350":{},"353":{},"354":{},"355":{},"357":{},"360":{},"362":{}},"tags":{}}],["server'",{"_index":644,"title":{},"content":{"108":{},"181":{},"285":{},"311":{},"337":{}},"tags":{}}],["server_account_activation_dis",{"_index":1499,"title":{},"content":{"271":{},"324":{}},"tags":{}}],["server_admin_password",{"_index":1503,"title":{},"content":{"271":{},"322":{}},"tags":{}}],["server_admin_password=hunter2",{"_index":2156,"title":{},"content":{"322":{}},"tags":{}}],["server_admin_usernam",{"_index":1500,"title":{},"content":{"271":{},"321":{},"322":{}},"tags":{}}],["server_admin_username=gamevaultfan1",{"_index":2155,"title":{},"content":{"322":{}},"tags":{}}],["server_api_docs_en",{"_index":378,"title":{},"content":{"78":{},"271":{}},"tags":{}}],["server_cors_allowed_origin",{"_index":1495,"title":{},"content":{"271":{}},"tags":{}}],["server_log_files_en",{"_index":192,"title":{},"content":{"66":{},"271":{}},"tags":{}}],["server_log_level",{"_index":1484,"title":{},"content":{"271":{},"330":{},"331":{}},"tags":{}}],["server_max_download_bandwidth_in_kbp",{"_index":1507,"title":{},"content":{"271":{},"342":{}},"tags":{}}],["server_online_activities_dis",{"_index":1510,"title":{},"content":{"271":{},"328":{}},"tags":{}}],["server_port",{"_index":1477,"title":{},"content":{"271":{}},"tags":{}}],["server_registration_dis",{"_index":1497,"title":{},"content":{"271":{},"323":{}},"tags":{}}],["server_request_log_format",{"_index":1489,"title":{},"content":{"271":{}},"tags":{}}],["server_stack_trace_limit",{"_index":1512,"title":{},"content":{"271":{}},"tags":{}}],["servic",{"_index":256,"title":{"284":{}},"content":{"70":{},"232":{},"237":{},"282":{},"283":{},"303":{},"304":{}},"tags":{}}],["set",{"_index":107,"title":{"58":{},"59":{},"85":{},"86":{},"94":{},"99":{},"102":{},"130":{},"229":{},"253":{},"293":{},"302":{},"345":{},"347":{}},"content":{"53":{},"54":{},"56":{},"63":{},"66":{},"69":{},"72":{},"73":{},"77":{},"78":{},"85":{},"86":{},"91":{},"92":{},"93":{},"95":{},"96":{},"100":{},"104":{},"105":{},"120":{},"121":{},"123":{},"124":{},"126":{},"127":{},"128":{},"136":{},"154":{},"163":{},"171":{},"173":{},"202":{},"203":{},"222":{},"223":{},"224":{},"225":{},"226":{},"228":{},"247":{},"253":{},"255":{},"256":{},"257":{},"265":{},"267":{},"271":{},"272":{},"274":{},"276":{},"277":{},"280":{},"285":{},"293":{},"295":{},"299":{},"305":{},"309":{},"321":{},"322":{},"323":{},"324":{},"328":{},"330":{},"331":{},"337":{},"338":{},"339":{},"342":{},"343":{},"346":{},"350":{},"354":{},"359":{},"360":{},"362":{}},"tags":{}}],["setup",{"_index":175,"title":{"74":{},"91":{},"126":{},"240":{},"320":{}},"content":{"64":{},"91":{},"120":{},"129":{},"136":{},"163":{},"210":{},"255":{},"311":{},"359":{}},"tags":{}}],["setup.bin",{"_index":1347,"title":{},"content":{"200":{}},"tags":{}}],["setup.ex",{"_index":512,"title":{},"content":{"87":{},"120":{},"200":{},"210":{}},"tags":{}}],["setup.sh",{"_index":1614,"title":{},"content":{"211":{}},"tags":{}}],["setup_game.ex",{"_index":1358,"title":{},"content":{"201":{},"311":{}},"tags":{}}],["setup_game.sh",{"_index":1359,"title":{},"content":{"201":{},"311":{}},"tags":{}}],["seven",{"_index":1800,"title":{},"content":{"244":{}},"tags":{}}],["sever",{"_index":1038,"title":{},"content":{"159":{}},"tags":{}}],["sh",{"_index":2077,"title":{},"content":{"311":{}},"tags":{}}],["shape",{"_index":1097,"title":{},"content":{"166":{}},"tags":{}}],["share",{"_index":83,"title":{"161":{},"175":{}},"content":{"50":{},"93":{},"161":{},"166":{},"169":{},"172":{},"175":{},"178":{},"185":{},"187":{},"189":{},"252":{},"327":{},"359":{}},"tags":{}}],["sharealik",{"_index":1213,"title":{},"content":{"184":{},"187":{}},"tags":{}}],["ship",{"_index":1119,"title":{},"content":{"171":{},"280":{}},"tags":{}}],["short",{"_index":1493,"title":{},"content":{"271":{}},"tags":{}}],["shortcut",{"_index":587,"title":{},"content":{"95":{}},"tags":{}}],["shorten",{"_index":2192,"title":{},"content":{"330":{}},"tags":{}}],["show",{"_index":683,"title":{},"content":{"119":{},"145":{},"147":{},"189":{},"228":{},"244":{}},"tags":{}}],["shown",{"_index":524,"title":{},"content":{"87":{},"240":{},"271":{}},"tags":{}}],["shutdown",{"_index":2012,"title":{},"content":{"362":{}},"tags":{}}],["side",{"_index":919,"title":{},"content":{"146":{},"282":{},"283":{},"303":{},"304":{}},"tags":{}}],["sidecar",{"_index":510,"title":{},"content":{"87":{}},"tags":{}}],["sign",{"_index":805,"title":{},"content":{"127":{},"133":{},"154":{}},"tags":{}}],["simpl",{"_index":74,"title":{},"content":{"50":{},"120":{},"121":{},"126":{},"146":{},"189":{},"212":{},"328":{},"362":{}},"tags":{}}],["simplest",{"_index":304,"title":{},"content":{"57":{},"74":{}},"tags":{}}],["simpli",{"_index":770,"title":{},"content":{"125":{},"132":{},"183":{},"196":{},"227":{},"252":{},"315":{},"321":{},"323":{},"324":{}},"tags":{}}],["simplifi",{"_index":594,"title":{},"content":{"96":{},"257":{}},"tags":{}}],["simultan",{"_index":1710,"title":{},"content":{"228":{}},"tags":{}}],["singl",{"_index":744,"title":{"311":{}},"content":{"122":{},"201":{},"206":{},"227":{},"309":{},"311":{},"331":{},"354":{}},"tags":{}}],["situat",{"_index":847,"title":{},"content":{"137":{},"276":{}},"tags":{}}],["sixteen",{"_index":1803,"title":{},"content":{"244":{}},"tags":{}}],["size",{"_index":470,"title":{},"content":{"82":{},"203":{},"212":{},"277":{},"343":{}},"tags":{}}],["skip",{"_index":1350,"title":{},"content":{"200":{},"201":{},"212":{}},"tags":{}}],["slightli",{"_index":281,"title":{},"content":{"72":{},"206":{}},"tags":{}}],["sln",{"_index":820,"title":{},"content":{"133":{}},"tags":{}}],["slot",{"_index":87,"title":{},"content":{"51":{}},"tags":{}}],["slow",{"_index":2213,"title":{"342":{}},"content":{},"tags":{}}],["small",{"_index":1023,"title":{},"content":{"156":{},"203":{}},"tags":{}}],["smaller",{"_index":1380,"title":{},"content":{"203":{}},"tags":{}}],["smallest",{"_index":1377,"title":{},"content":{"203":{}},"tags":{}}],["smartscreen",{"_index":797,"title":{},"content":{"133":{}},"tags":{}}],["snake",{"_index":1310,"title":{},"content":{"190":{}},"tags":{}}],["snapshot",{"_index":1439,"title":{},"content":{"196":{}},"tags":{}}],["social",{"_index":1250,"title":{},"content":{"189":{}},"tags":{}}],["socket",{"_index":2176,"title":{},"content":{"326":{},"329":{}},"tags":{}}],["socket.io",{"_index":2172,"title":{},"content":{"326":{},"329":{}},"tags":{}}],["sofort",{"_index":1052,"title":{},"content":{"159":{}},"tags":{}}],["softwar",{"_index":1026,"title":{"165":{}},"content":{"156":{},"188":{},"190":{},"299":{}},"tags":{}}],["sole",{"_index":1218,"title":{},"content":{"185":{},"190":{},"276":{}},"tags":{}}],["solid",{"_index":1374,"title":{},"content":{"202":{},"203":{}},"tags":{}}],["solut",{"_index":758,"title":{"331":{},"332":{}},"content":{"123":{},"168":{},"195":{},"289":{},"330":{},"343":{},"354":{}},"tags":{}}],["solv",{"_index":1753,"title":{},"content":{"240":{},"331":{}},"tags":{}}],["someth",{"_index":1432,"title":{},"content":{"195":{}},"tags":{}}],["soon",{"_index":739,"title":{},"content":{"122":{},"248":{},"251":{}},"tags":{}}],["sort",{"_index":623,"title":{},"content":{"98":{},"182":{}},"tags":{}}],["sourc",{"_index":803,"title":{"111":{},"188":{},"291":{}},"content":{"109":{},"111":{},"133":{},"136":{},"169":{},"177":{},"187":{},"188":{},"256":{},"257":{},"278":{},"302":{},"326":{},"354":{}},"tags":{}}],["space",{"_index":405,"title":{},"content":{"74":{},"135":{},"200":{},"312":{},"362":{}},"tags":{}}],["spare",{"_index":1199,"title":{},"content":{"183":{}},"tags":{}}],["special",{"_index":16,"title":{},"content":{"48":{},"236":{},"362":{}},"tags":{}}],["specif",{"_index":270,"title":{"78":{}},"content":{"72":{},"74":{},"78":{},"81":{},"92":{},"96":{},"122":{},"137":{},"138":{},"139":{},"145":{},"146":{},"147":{},"162":{},"206":{},"256":{},"298":{},"335":{}},"tags":{}}],["specifi",{"_index":2152,"title":{},"content":{"321":{},"322":{}},"tags":{}}],["speed",{"_index":2214,"title":{},"content":{"342":{}},"tags":{}}],["spin",{"_index":874,"title":{},"content":{"110":{}},"tags":{}}],["sponsor",{"_index":1204,"title":{},"content":{"183":{}},"tags":{}}],["spread",{"_index":1263,"title":{},"content":{"189":{}},"tags":{}}],["sql",{"_index":1532,"title":{},"content":{"273":{}},"tags":{}}],["sqlite",{"_index":1438,"title":{"334":{}},"content":{"196":{},"197":{},"272":{},"273":{},"279":{},"283":{},"290":{},"293":{},"304":{},"347":{},"348":{}},"tags":{}}],["squar",{"_index":1402,"title":{},"content":{"206":{},"312":{}},"tags":{}}],["squashf",{"_index":2066,"title":{},"content":{"310":{}},"tags":{}}],["ssl",{"_index":2209,"title":{},"content":{"335":{}},"tags":{}}],["stabl",{"_index":28,"title":{"54":{}},"content":{"48":{},"54":{}},"tags":{}}],["stack",{"_index":1270,"title":{},"content":{"189":{},"271":{}},"tags":{}}],["stackoverflow",{"_index":284,"title":{},"content":{"72":{}},"tags":{}}],["stage",{"_index":1360,"title":{},"content":{"201":{}},"tags":{}}],["stand",{"_index":1207,"title":{},"content":{"183":{}},"tags":{}}],["standard",{"_index":1086,"title":{},"content":{"164":{},"232":{},"326":{}},"tags":{}}],["star",{"_index":2116,"title":{},"content":{"313":{}},"tags":{}}],["start",{"_index":103,"title":{"154":{},"247":{},"284":{},"294":{}},"content":{"53":{},"54":{},"57":{},"74":{},"118":{},"121":{},"127":{},"145":{},"147":{},"228":{},"236":{},"256":{},"284":{},"294":{},"327":{},"330":{},"362":{}},"tags":{}}],["startup",{"_index":628,"title":{},"content":{"103":{},"156":{},"271":{},"321":{},"322":{}},"tags":{}}],["state",{"_index":574,"title":{},"content":{"93":{},"118":{},"122":{},"182":{}},"tags":{}}],["statement",{"_index":1533,"title":{},"content":{"273":{}},"tags":{}}],["static",{"_index":954,"title":{},"content":{"150":{}},"tags":{}}],["station",{"_index":1978,"title":{},"content":{"301":{}},"tags":{}}],["statist",{"_index":619,"title":{},"content":{"97":{}},"tags":{}}],["statu",{"_index":260,"title":{"71":{}},"content":{"71":{},"243":{}},"tags":{}}],["stay",{"_index":878,"title":{},"content":{"111":{}},"tags":{}}],["steam",{"_index":406,"title":{},"content":{"74":{},"177":{},"236":{}},"tags":{}}],["steamdeck",{"_index":353,"title":{"73":{}},"content":{"61":{}},"tags":{}}],["steamo",{"_index":398,"title":{},"content":{"73":{}},"tags":{}}],["step",{"_index":75,"title":{"65":{},"135":{},"136":{},"137":{},"200":{},"201":{},"205":{},"207":{},"259":{},"260":{},"261":{},"262":{},"263":{},"264":{},"282":{},"283":{},"284":{},"291":{},"292":{},"293":{},"294":{},"301":{},"302":{},"303":{},"304":{},"345":{},"346":{},"347":{},"348":{},"349":{},"356":{},"357":{},"358":{},"359":{}},"content":{"50":{},"72":{},"118":{},"120":{},"123":{},"130":{},"135":{},"137":{},"173":{},"199":{},"200":{},"212":{},"256":{},"281":{},"307":{},"324":{},"346":{},"348":{}},"tags":{}}],["still",{"_index":725,"title":{},"content":{"120":{},"122":{},"205":{},"326":{}},"tags":{}}],["stop",{"_index":190,"title":{"267":{},"287":{},"297":{},"307":{},"352":{},"362":{}},"content":{"66":{},"282":{},"283":{},"297":{},"303":{},"304":{},"307":{},"352":{},"362":{}},"tags":{}}],["storag",{"_index":472,"title":{},"content":{"82":{},"135":{},"299":{},"311":{},"343":{},"354":{},"359":{}},"tags":{}}],["store",{"_index":54,"title":{"110":{},"219":{},"220":{}},"content":{"49":{},"54":{},"74":{},"80":{},"84":{},"85":{},"86":{},"110":{},"118":{},"122":{},"127":{},"129":{},"132":{},"133":{},"135":{},"164":{},"167":{},"177":{},"185":{},"189":{},"197":{},"218":{},"221":{},"282":{},"343":{},"347":{}},"tags":{}}],["straightforward",{"_index":757,"title":{},"content":{"123":{},"132":{},"141":{},"174":{},"197":{}},"tags":{}}],["stray",{"_index":2134,"title":{},"content":{"313":{}},"tags":{}}],["stream",{"_index":1145,"title":{},"content":{"177":{},"179":{}},"tags":{}}],["streamlin",{"_index":1938,"title":{},"content":{"289":{}},"tags":{}}],["streamread",{"_index":973,"title":{},"content":{"150":{}},"tags":{}}],["streamreader(cli",{"_index":983,"title":{},"content":{"150":{}},"tags":{}}],["streamwrit",{"_index":971,"title":{},"content":{"150":{}},"tags":{}}],["streamwriter(cli",{"_index":977,"title":{},"content":{"150":{}},"tags":{}}],["strictli",{"_index":1228,"title":{},"content":{"185":{}},"tags":{}}],["string",{"_index":966,"title":{},"content":{"150":{},"276":{},"335":{}},"tags":{}}],["stripe",{"_index":1034,"title":{},"content":{"158":{},"164":{}},"tags":{}}],["stripe'",{"_index":1087,"title":{},"content":{"164":{}},"tags":{}}],["strive",{"_index":1276,"title":{},"content":{"189":{}},"tags":{}}],["strong",{"_index":1078,"title":{},"content":{"164":{}},"tags":{}}],["strongli",{"_index":1445,"title":{},"content":{"197":{},"289":{}},"tags":{}}],["structur",{"_index":648,"title":{"117":{},"309":{}},"content":{"117":{},"199":{},"205":{},"208":{},"210":{},"211":{},"252":{},"256":{},"309":{}},"tags":{}}],["struggl",{"_index":1333,"title":{},"content":{"198":{}},"tags":{}}],["studio",{"_index":817,"title":{},"content":{"133":{}},"tags":{}}],["sub",{"_index":547,"title":{},"content":{"91":{},"206":{}},"tags":{}}],["subfold",{"_index":449,"title":{},"content":{"81":{},"119":{},"135":{},"276":{}},"tags":{}}],["submit",{"_index":1321,"title":{},"content":{"191":{}},"tags":{}}],["subscrib",{"_index":871,"title":{},"content":{"115":{},"139":{},"154":{}},"tags":{}}],["subscript",{"_index":1000,"title":{"159":{},"162":{}},"content":{"128":{},"151":{},"153":{},"157":{},"158":{},"159":{},"161":{},"162":{},"163":{},"168":{}},"tags":{}}],["subsequ",{"_index":2185,"title":{},"content":{"329":{}},"tags":{}}],["success",{"_index":998,"title":{},"content":{"128":{}},"tags":{}}],["successfulli",{"_index":850,"title":{},"content":{"138":{},"207":{},"265":{},"285":{},"295":{},"305":{},"350":{},"360":{}},"tags":{}}],["such",{"_index":511,"title":{},"content":{"87":{},"96":{},"111":{},"122":{},"200":{},"201":{},"212":{},"256":{},"285":{},"299":{},"312":{},"316":{},"325":{}},"tags":{}}],["sudo",{"_index":224,"title":{},"content":{"68":{},"69":{},"70":{},"71":{}},"tags":{}}],["suffici",{"_index":837,"title":{},"content":{"135":{}},"tags":{}}],["suggest",{"_index":132,"title":{"166":{}},"content":{"55":{},"163":{},"166":{},"189":{}},"tags":{}}],["suggest/discuss",{"_index":126,"title":{"55":{}},"content":{},"tags":{}}],["suit",{"_index":269,"title":{},"content":{"72":{},"253":{},"282":{},"283":{},"303":{},"304":{}},"tags":{}}],["suitabl",{"_index":1939,"title":{},"content":{"289":{}},"tags":{}}],["summari",{"_index":1427,"title":{},"content":{"195":{}},"tags":{}}],["sunshin",{"_index":1177,"title":{},"content":{"179":{}},"tags":{}}],["support",{"_index":90,"title":{"157":{},"165":{},"167":{},"183":{},"209":{},"214":{},"215":{},"216":{},"217":{},"254":{},"263":{},"310":{}},"content":{"51":{},"88":{},"138":{},"141":{},"145":{},"151":{},"154":{},"157":{},"182":{},"183":{},"185":{},"188":{},"189":{},"190":{},"196":{},"224":{},"228":{},"252":{},"263":{},"276":{},"277":{},"300":{},"309":{},"310":{},"311":{},"326":{},"335":{},"362":{}},"tags":{}}],["suppos",{"_index":1345,"title":{},"content":{"200":{}},"tags":{}}],["sure",{"_index":44,"title":{},"content":{"49":{},"66":{},"74":{},"78":{},"111":{},"125":{},"136":{},"164":{},"197":{},"237":{},"240":{},"263":{},"311":{},"334":{},"335":{},"342":{},"346":{},"347":{}},"tags":{}}],["suspici",{"_index":799,"title":{},"content":{"133":{}},"tags":{}}],["sustain",{"_index":1242,"title":{},"content":{"188":{}},"tags":{}}],["switch",{"_index":102,"title":{"53":{}},"content":{"96":{},"359":{}},"tags":{}}],["synchron",{"_index":750,"title":{},"content":{"122":{},"273":{}},"tags":{}}],["synolog",{"_index":1898,"title":{"299":{}},"content":{"254":{},"299":{},"300":{},"302":{},"305":{},"307":{},"308":{}},"tags":{}}],["syntax",{"_index":1136,"title":{},"content":{"174":{},"252":{}},"tags":{}}],["system",{"_index":172,"title":{},"content":{"61":{},"64":{},"117":{},"120":{},"125":{},"132":{},"133":{},"150":{},"158":{},"182":{},"196":{},"200":{},"207":{},"244":{},"246":{},"255":{},"273":{},"281":{},"289":{},"290":{},"299":{},"312":{},"343":{},"354":{}},"tags":{}}],["system.io",{"_index":949,"title":{},"content":{"150":{}},"tags":{}}],["system.io.pip",{"_index":950,"title":{},"content":{"150":{}},"tags":{}}],["system.text",{"_index":951,"title":{},"content":{"150":{}},"tags":{}}],["system.thread",{"_index":952,"title":{},"content":{"150":{}},"tags":{}}],["system.threading.task",{"_index":953,"title":{},"content":{"150":{}},"tags":{}}],["system/vm",{"_index":1955,"title":{},"content":{"293":{}},"tags":{}}],["systemctl",{"_index":257,"title":{},"content":{"70":{}},"tags":{}}],["t",{"_index":1811,"title":{},"content":{"244":{}},"tags":{}}],["t_1080p_2x",{"_index":1785,"title":{},"content":{"243":{}},"tags":{}}],["t_cover_big_2x",{"_index":1780,"title":{},"content":{"243":{}},"tags":{}}],["tab",{"_index":374,"title":{},"content":{"77":{},"87":{},"90":{},"91":{},"93":{},"107":{},"118":{},"120":{},"121":{},"122":{},"127":{},"308":{},"352":{},"353":{}},"tags":{}}],["tabl",{"_index":1471,"title":{},"content":{"213":{},"244":{},"269":{},"312":{}},"tags":{}}],["tag",{"_index":607,"title":{},"content":{"96":{},"182":{},"208":{},"215":{},"237":{},"243":{},"298":{},"312":{}},"tags":{}}],["tags/9.0.0",{"_index":1969,"title":{},"content":{"298":{}},"tags":{}}],["tailor",{"_index":1104,"title":{},"content":{"168":{},"281":{}},"tags":{}}],["take",{"_index":99,"title":{},"content":{"51":{},"119":{},"180":{},"189":{},"190":{},"202":{},"203":{},"205":{},"240":{},"255":{}},"tags":{}}],["tar",{"_index":2042,"title":{},"content":{"310":{},"311":{}},"tags":{}}],["tar.bz2",{"_index":2115,"title":{},"content":{"312":{}},"tags":{}}],["tar.gz",{"_index":2114,"title":{},"content":{"312":{}},"tags":{}}],["target",{"_index":415,"title":{},"content":{"74":{},"145":{}},"tags":{}}],["task",{"_index":1338,"title":{},"content":{"199":{}},"tags":{}}],["task