diff --git a/ArchiSteamFarm/Localization/Strings.be-BY.resx b/ArchiSteamFarm/Localization/Strings.be-BY.resx index 21ed858895b2d..3d648991aa702 100644 --- a/ArchiSteamFarm/Localization/Strings.be-BY.resx +++ b/ArchiSteamFarm/Localization/Strings.be-BY.resx @@ -500,8 +500,6 @@ StackTrace: - - diff --git a/ArchiSteamFarm/Localization/Strings.bg-BG.resx b/ArchiSteamFarm/Localization/Strings.bg-BG.resx index 32504daf8de9a..c59369ab59e1c 100644 --- a/ArchiSteamFarm/Localization/Strings.bg-BG.resx +++ b/ArchiSteamFarm/Localization/Strings.bg-BG.resx @@ -545,14 +545,6 @@ Работно време на процеса: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Изчистване на предложенията на Steam #{0}... - {0} will be replaced by queue number - - - Завърши изчистването на предложенията на Steam #{0}. - {0} will be replaced by queue number - {0}/{1} ботовете вече притежават игра {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.bs-Latn.resx b/ArchiSteamFarm/Localization/Strings.bs-Latn.resx index b57e202783dec..a03e8fb1832d7 100644 --- a/ArchiSteamFarm/Localization/Strings.bs-Latn.resx +++ b/ArchiSteamFarm/Localization/Strings.bs-Latn.resx @@ -374,8 +374,6 @@ - - Bot je nivo {0}. {0} will be replaced by bot's level diff --git a/ArchiSteamFarm/Localization/Strings.ca-ES.resx b/ArchiSteamFarm/Localization/Strings.ca-ES.resx index c5de4df7621ac..fbea76b9273f9 100644 --- a/ArchiSteamFarm/Localization/Strings.ca-ES.resx +++ b/ArchiSteamFarm/Localization/Strings.ca-ES.resx @@ -337,8 +337,6 @@ - - diff --git a/ArchiSteamFarm/Localization/Strings.cs-CZ.resx b/ArchiSteamFarm/Localization/Strings.cs-CZ.resx index 079eb794c269c..df8e2b46d16c7 100644 --- a/ArchiSteamFarm/Localization/Strings.cs-CZ.resx +++ b/ArchiSteamFarm/Localization/Strings.cs-CZ.resx @@ -551,14 +551,6 @@ StackTrace: Čas běhu procesu: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Procházení fronty doporučení #{0}... - {0} will be replaced by queue number - - - Procházení fronty doporučení #{0} dokončeno. - {0} will be replaced by queue number - {0}/{1} botů již vlastní hru {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.da-DK.resx b/ArchiSteamFarm/Localization/Strings.da-DK.resx index 61af540a2f56a..70f007994704b 100644 --- a/ArchiSteamFarm/Localization/Strings.da-DK.resx +++ b/ArchiSteamFarm/Localization/Strings.da-DK.resx @@ -551,14 +551,6 @@ StackTrace: Processens oppetid: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Renser Steam opdagelses kø #{0}... - {0} will be replaced by queue number - - - Færdig med rensning af Steam opdagelses kø #{0}. - {0} will be replaced by queue number - {0}/{1} bots ejer allerede spillet {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.de-DE.resx b/ArchiSteamFarm/Localization/Strings.de-DE.resx index b417bed665404..712d696798380 100644 --- a/ArchiSteamFarm/Localization/Strings.de-DE.resx +++ b/ArchiSteamFarm/Localization/Strings.de-DE.resx @@ -552,14 +552,6 @@ StackTrace: Prozesslaufzeit: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Lösche Steam-Entdeckungsliste #{0}... - {0} will be replaced by queue number - - - Steam-Entdeckungsliste #{0} wurde erfolgreich geleert. - {0} will be replaced by queue number - {0}/{1} Bot(s) besitzen bereits das Spiel {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.el-GR.resx b/ArchiSteamFarm/Localization/Strings.el-GR.resx index ff30fe57bfeaa..2cc312664ddec 100644 --- a/ArchiSteamFarm/Localization/Strings.el-GR.resx +++ b/ArchiSteamFarm/Localization/Strings.el-GR.resx @@ -551,14 +551,6 @@ StackTrace: Χρόνος διεργασίας: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Εκκαθάριση σειράς ανακαλύψεων Steam #{0}... - {0} will be replaced by queue number - - - Ολοκληρώθηκε η εκκαθάριση σειράς ανακαλύψεων Steam #{0}. - {0} will be replaced by queue number - {0}/{1} bot κατέχουν ήδη το παιχνίδι {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.es-ES.resx b/ArchiSteamFarm/Localization/Strings.es-ES.resx index d43f8876406f7..6120f25b0579c 100644 --- a/ArchiSteamFarm/Localization/Strings.es-ES.resx +++ b/ArchiSteamFarm/Localization/Strings.es-ES.resx @@ -550,14 +550,6 @@ StackTrace: Tiempo de actividad del proceso: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Explorando la lista de descubrimientos de Steam #{0}... - {0} will be replaced by queue number - - - Lista de descubrimientos de Steam #{0} completada. - {0} will be replaced by queue number - {0}/{1} bots ya poseen el juego {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.fa-IR.resx b/ArchiSteamFarm/Localization/Strings.fa-IR.resx index 40f7dcbebf6c0..1f3537dc91cba 100644 --- a/ArchiSteamFarm/Localization/Strings.fa-IR.resx +++ b/ArchiSteamFarm/Localization/Strings.fa-IR.resx @@ -528,8 +528,6 @@ StackTrace: - - موجودی والت: {0} {1} {0} will be replaced by wallet balance value, {1} will be replaced by currency name diff --git a/ArchiSteamFarm/Localization/Strings.fi-FI.resx b/ArchiSteamFarm/Localization/Strings.fi-FI.resx index 090183c2f9784..15f062e0e21bd 100644 --- a/ArchiSteamFarm/Localization/Strings.fi-FI.resx +++ b/ArchiSteamFarm/Localization/Strings.fi-FI.resx @@ -548,14 +548,6 @@ StackTrace: Prosessin käyttöaika: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Tyhjennetään Steamin discovery-jonoa #{0}... - {0} will be replaced by queue number - - - Steamin discovery-jono #{0} tyhjennetty. - {0} will be replaced by queue number - {0}/{1} bottia omistaa jo pelin {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.fr-FR.resx b/ArchiSteamFarm/Localization/Strings.fr-FR.resx index ab7e03136b549..21e79441f0bbf 100644 --- a/ArchiSteamFarm/Localization/Strings.fr-FR.resx +++ b/ArchiSteamFarm/Localization/Strings.fr-FR.resx @@ -551,14 +551,6 @@ StackTrace : Durée de fonctionnement : {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Consultation de la liste de découvertes en cours #{0}... - {0} will be replaced by queue number - - - Fin de l’exploration de la liste de découvertes #{0}. - {0} will be replaced by queue number - {0}/{1} Les bots possèdent déjà ce jeu {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.he-IL.resx b/ArchiSteamFarm/Localization/Strings.he-IL.resx index abd02011bda64..364f2eb3ee7bf 100644 --- a/ArchiSteamFarm/Localization/Strings.he-IL.resx +++ b/ArchiSteamFarm/Localization/Strings.he-IL.resx @@ -548,14 +548,6 @@ StackTrace: זמן פעילות התהליך: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - ניקוי תור גילוי סטים #{0}... - {0} will be replaced by queue number - - - סיים לנקות את רשימת הגילוי.#{0}. - {0} will be replaced by queue number - {0} / {1} הבוטים כבר בעלים של משחק זה {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.hr-HR.resx b/ArchiSteamFarm/Localization/Strings.hr-HR.resx index 55fde1cd59bb5..fb81a7bf2ee7c 100644 --- a/ArchiSteamFarm/Localization/Strings.hr-HR.resx +++ b/ArchiSteamFarm/Localization/Strings.hr-HR.resx @@ -352,8 +352,6 @@ Automatsko ažuriranje na tu verziju nije moguće. - - diff --git a/ArchiSteamFarm/Localization/Strings.hu-HU.resx b/ArchiSteamFarm/Localization/Strings.hu-HU.resx index 96f12a534eeda..30b125e4f5c51 100644 --- a/ArchiSteamFarm/Localization/Strings.hu-HU.resx +++ b/ArchiSteamFarm/Localization/Strings.hu-HU.resx @@ -549,14 +549,6 @@ StackTrace: {2} Ennyi ideje fut: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - {0}-s számú Steam Felfedezési Várólista tisztítása... - {0} will be replaced by queue number - - - {0}-s számú Steam Felfedezési Várólista kitsztítva. - {0} will be replaced by queue number - {0}/{1} bot már birtokolja a(z) {2} játékot. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.id-ID.resx b/ArchiSteamFarm/Localization/Strings.id-ID.resx index 5ca553c2accd9..7307cbf36d097 100644 --- a/ArchiSteamFarm/Localization/Strings.id-ID.resx +++ b/ArchiSteamFarm/Localization/Strings.id-ID.resx @@ -547,14 +547,6 @@ Penggunaan memori saat ini: {0} MB. Waktu aktif proses: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Membersihkan antrian penemuan Steam #{0}... - {0} will be replaced by queue number - - - Selesai membersihkan antrian penemuan Steam #{0}. - {0} will be replaced by queue number - {0}/{1} bot sudah mempunyai gamenya {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.it-IT.resx b/ArchiSteamFarm/Localization/Strings.it-IT.resx index f37d777898914..57eaf5fd0a498 100644 --- a/ArchiSteamFarm/Localization/Strings.it-IT.resx +++ b/ArchiSteamFarm/Localization/Strings.it-IT.resx @@ -549,14 +549,6 @@ Tempo di attività: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Inizio coda #{0} dell'elenco scoperte Steam... - {0} will be replaced by queue number - - - Fine coda #{0} dell'elenco scoperte Steam. - {0} will be replaced by queue number - {0}/{1} bot possiedono già il gioco {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.ja-JP.resx b/ArchiSteamFarm/Localization/Strings.ja-JP.resx index 7fabadc4073f2..c381159c1d212 100644 --- a/ArchiSteamFarm/Localization/Strings.ja-JP.resx +++ b/ArchiSteamFarm/Localization/Strings.ja-JP.resx @@ -548,14 +548,6 @@ Process uptime: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Steam ディスカバリーキューをクリア中 #{0}... - {0} will be replaced by queue number - - - Steam ディスカバリーキューをクリア完了 #{0}. - {0} will be replaced by queue number - {0}/{1} bot は既に {2} を所有しています。 {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.ka-GE.resx b/ArchiSteamFarm/Localization/Strings.ka-GE.resx index b598a46f69cfc..f28a5939404b9 100644 --- a/ArchiSteamFarm/Localization/Strings.ka-GE.resx +++ b/ArchiSteamFarm/Localization/Strings.ka-GE.resx @@ -278,8 +278,6 @@ - - diff --git a/ArchiSteamFarm/Localization/Strings.ko-KR.resx b/ArchiSteamFarm/Localization/Strings.ko-KR.resx index 0d9ae6d28fff9..a38377df0fc7e 100644 --- a/ArchiSteamFarm/Localization/Strings.ko-KR.resx +++ b/ArchiSteamFarm/Localization/Strings.ko-KR.resx @@ -551,14 +551,6 @@ StackTrace: 프로세스 수행시간: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - 스팀 맞춤 대기열 #{0}을 지우는 중... - {0} will be replaced by queue number - - - 스팀 맞춤 대기열 #{0}을 지웠습니다. - {0} will be replaced by queue number - {0}/{1} 봇이 이미 {2} 를 소유하고 있습니다. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.lt-LT.resx b/ArchiSteamFarm/Localization/Strings.lt-LT.resx index df515e0d18b39..846e304c51b95 100644 --- a/ArchiSteamFarm/Localization/Strings.lt-LT.resx +++ b/ArchiSteamFarm/Localization/Strings.lt-LT.resx @@ -548,14 +548,6 @@ StackTrace: Proceso veikimo laikas: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Peržiūrima Steam "Discovery queue" #{0}... - {0} will be replaced by queue number - - - Baigta peržiūrėti Steam „Discovery queue“ #{0}. - {0} will be replaced by queue number - {0}/{1} botai jau turi šį žaidimą {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.lv-LV.resx b/ArchiSteamFarm/Localization/Strings.lv-LV.resx index 5f7e6812644d1..c60f898ad28b5 100644 --- a/ArchiSteamFarm/Localization/Strings.lv-LV.resx +++ b/ArchiSteamFarm/Localization/Strings.lv-LV.resx @@ -551,14 +551,6 @@ StackTrace: Darbspējas laiks: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Tiek iets cauri Steam Discovery sarakstam #{0}... - {0} will be replaced by queue number - - - Iziets cauri Steam Discovery sarakstam #{0}. - {0} will be replaced by queue number - {0}/{1} botiem jau ir šī spēle {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.nl-NL.resx b/ArchiSteamFarm/Localization/Strings.nl-NL.resx index 3a9bc80cf43b9..58c20d11a3acc 100644 --- a/ArchiSteamFarm/Localization/Strings.nl-NL.resx +++ b/ArchiSteamFarm/Localization/Strings.nl-NL.resx @@ -544,14 +544,6 @@ StackTrace: Proces uptime: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Steam-ontdekkingswachtrij afwerken #{0}... - {0} will be replaced by queue number - - - Steam-ontdekkingswachtrij voltooid #{0}. - {0} will be replaced by queue number - {0}/{1} bots hebben het spel in bezit {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.no-NO.resx b/ArchiSteamFarm/Localization/Strings.no-NO.resx index 1095a64484582..273524c6d92ca 100644 --- a/ArchiSteamFarm/Localization/Strings.no-NO.resx +++ b/ArchiSteamFarm/Localization/Strings.no-NO.resx @@ -391,8 +391,6 @@ StackTrace: - - diff --git a/ArchiSteamFarm/Localization/Strings.pl-PL.resx b/ArchiSteamFarm/Localization/Strings.pl-PL.resx index 9fb1748d75d6f..0cdc07856cf42 100644 --- a/ArchiSteamFarm/Localization/Strings.pl-PL.resx +++ b/ArchiSteamFarm/Localization/Strings.pl-PL.resx @@ -551,14 +551,6 @@ StackTrace: Czas procesu: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Czyszczenie #{0} kolejki odkryć Steam... - {0} will be replaced by queue number - - - Ukończono czyszczenie #{0} kolejki odkryć Steam. - {0} will be replaced by queue number - {0}/{1} botów posiada już grę {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.pt-BR.resx b/ArchiSteamFarm/Localization/Strings.pt-BR.resx index f505c8ecc4d05..76656bfe69f8c 100644 --- a/ArchiSteamFarm/Localization/Strings.pt-BR.resx +++ b/ArchiSteamFarm/Localization/Strings.pt-BR.resx @@ -551,14 +551,6 @@ StackTrace: Tempo de execução: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Limpando lista de descobrimento nº #{0}... - {0} will be replaced by queue number - - - Limpeza da lista de descobrimento nº #{0} concluída. - {0} will be replaced by queue number - {0} de {1} bots já possuem o jogo {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.pt-PT.resx b/ArchiSteamFarm/Localization/Strings.pt-PT.resx index fdfaf1bda2a3d..bc641a68ee1b2 100644 --- a/ArchiSteamFarm/Localization/Strings.pt-PT.resx +++ b/ArchiSteamFarm/Localization/Strings.pt-PT.resx @@ -551,14 +551,6 @@ StackTrace: Tempo de execução: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - A limpar a fila de descoberta da Steam #{0}... - {0} will be replaced by queue number - - - Limpeza da lista de descoberta da Steam #{0} completada. - {0} will be replaced by queue number - {0}/{1} bots já possuem o jogo {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.qps-Ploc.resx b/ArchiSteamFarm/Localization/Strings.qps-Ploc.resx index 2ffd3daf1d882..9b24bdf0a96a8 100644 --- a/ArchiSteamFarm/Localization/Strings.qps-Ploc.resx +++ b/ArchiSteamFarm/Localization/Strings.qps-Ploc.resx @@ -551,14 +551,6 @@ STACKTRACE: PROCES UPTIME: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - CLEARIN STEAM DISCOVERY KEW #{0}... - {0} will be replaced by queue number - - - DUN CLEARIN STEAM DISCOVERY KEW #{0}. - {0} will be replaced by queue number - {0}/{1} BOTS ALREADY OWN GAME {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.resx b/ArchiSteamFarm/Localization/Strings.resx index bfc68354ac8de..08cfbf99c58da 100644 --- a/ArchiSteamFarm/Localization/Strings.resx +++ b/ArchiSteamFarm/Localization/Strings.resx @@ -551,14 +551,6 @@ StackTrace: Process uptime: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Clearing Steam discovery queue #{0}... - {0} will be replaced by queue number - - - Done clearing Steam discovery queue #{0}. - {0} will be replaced by queue number - {0}/{1} bots already own game {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.ro-RO.resx b/ArchiSteamFarm/Localization/Strings.ro-RO.resx index 8a5816f392baf..35fd1a506fffb 100644 --- a/ArchiSteamFarm/Localization/Strings.ro-RO.resx +++ b/ArchiSteamFarm/Localization/Strings.ro-RO.resx @@ -551,14 +551,6 @@ StackTrace: Proces: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Se șterge lista de descoperiri Steam #{0}... - {0} will be replaced by queue number - - - S-a terminat ștergerea cozii pentru lista de descoperiri Steam #{0}. - {0} will be replaced by queue number - {0}/{1} boți dețin deja jocul {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.ru-RU.resx b/ArchiSteamFarm/Localization/Strings.ru-RU.resx index 7e16a49b9048a..cf17da9f3a49d 100644 --- a/ArchiSteamFarm/Localization/Strings.ru-RU.resx +++ b/ArchiSteamFarm/Localization/Strings.ru-RU.resx @@ -551,14 +551,6 @@ Время работы: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Очистка списка рекомендаций #{0}... - {0} will be replaced by queue number - - - Очищен список рекомендаций #{0}. - {0} will be replaced by queue number - {0}/{1} ботов уже имеют игру {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.sk-SK.resx b/ArchiSteamFarm/Localization/Strings.sk-SK.resx index c0cc288629e51..9166c180d36e3 100644 --- a/ArchiSteamFarm/Localization/Strings.sk-SK.resx +++ b/ArchiSteamFarm/Localization/Strings.sk-SK.resx @@ -551,14 +551,6 @@ StackTrace: Doba prevádzky procesu: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Prechádzanie {0}. fronty doporučenia... - {0} will be replaced by queue number - - - Fronta doporučenia #{0} dokončená. - {0} will be replaced by queue number - {0} z {1} botov už vlastní hru {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.sr-Latn.resx b/ArchiSteamFarm/Localization/Strings.sr-Latn.resx index 362e930b610c1..6436d361a3079 100644 --- a/ArchiSteamFarm/Localization/Strings.sr-Latn.resx +++ b/ArchiSteamFarm/Localization/Strings.sr-Latn.resx @@ -533,14 +533,6 @@ StackTrace: Vrijeme rada procesa: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Čišćenje Steam reda otkrivanja #{0}... - {0} will be replaced by queue number - - - Završeno Čišćenje Steam reda otkrivanja #{0}. - {0} will be replaced by queue number - {0}/{1} botovi već poseduju igricu {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.sv-SE.resx b/ArchiSteamFarm/Localization/Strings.sv-SE.resx index be989383c86e5..b3a63d4c928a8 100644 --- a/ArchiSteamFarm/Localization/Strings.sv-SE.resx +++ b/ArchiSteamFarm/Localization/Strings.sv-SE.resx @@ -479,14 +479,6 @@ StackTrace: - - Genomgår Steam discovery-kön #{0}... - {0} will be replaced by queue number - - - Genomgått Steam discovery-kön #{0}. - {0} will be replaced by queue number - diff --git a/ArchiSteamFarm/Localization/Strings.th-TH.resx b/ArchiSteamFarm/Localization/Strings.th-TH.resx index 17bb2588c9f57..e98b2439232d4 100644 --- a/ArchiSteamFarm/Localization/Strings.th-TH.resx +++ b/ArchiSteamFarm/Localization/Strings.th-TH.resx @@ -476,8 +476,6 @@ StackTrace: {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - กำลังรีเฟรชข้อมูลแพ็กเกจ… diff --git a/ArchiSteamFarm/Localization/Strings.tr-TR.resx b/ArchiSteamFarm/Localization/Strings.tr-TR.resx index 14771898060f2..a39a396500034 100644 --- a/ArchiSteamFarm/Localization/Strings.tr-TR.resx +++ b/ArchiSteamFarm/Localization/Strings.tr-TR.resx @@ -551,14 +551,6 @@ Yığın Kaydı: Süreç çalışma zamanı: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Steam keşif kuyruğu #{0} temizleniyor... - {0} will be replaced by queue number - - - Steam keşif kuyruğu #{0} temizlendi. - {0} will be replaced by queue number - {0}/{1} bot zaten {2} oyununa sahip. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.uk-UA.resx b/ArchiSteamFarm/Localization/Strings.uk-UA.resx index ff0f8ee722403..71e994339be52 100644 --- a/ArchiSteamFarm/Localization/Strings.uk-UA.resx +++ b/ArchiSteamFarm/Localization/Strings.uk-UA.resx @@ -551,14 +551,6 @@ Час роботи: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Очищення черги знахідок Steam №{0}... - {0} will be replaced by queue number - - - Черга знахідок Steam №{0} очищена. - {0} will be replaced by queue number - {0}/{1} вже мають гру {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.vi-VN.resx b/ArchiSteamFarm/Localization/Strings.vi-VN.resx index 391fcb21e1090..e46ef14e6716b 100644 --- a/ArchiSteamFarm/Localization/Strings.vi-VN.resx +++ b/ArchiSteamFarm/Localization/Strings.vi-VN.resx @@ -551,14 +551,6 @@ StackTrace: Thời gian hoạt động: {1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - Đã quét hàng đợi khám phá Steam số #{0}... - {0} will be replaced by queue number - - - Đã hoàn thành hàng khám phá Steam #{0}. - {0} will be replaced by queue number - {0}/{1} bot đã sở hữu trò chơi {2}. {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.zh-Hans.resx b/ArchiSteamFarm/Localization/Strings.zh-Hans.resx index 6a7fba401d712..7f022c64a31e7 100644 --- a/ArchiSteamFarm/Localization/Strings.zh-Hans.resx +++ b/ArchiSteamFarm/Localization/Strings.zh-Hans.resx @@ -551,14 +551,6 @@ 进程运行时间:{1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - 正在浏览 Steam 探索队列 #{0}…… - {0} will be replaced by queue number - - - 已完成 Steam 探索队列 #{0}。 - {0} will be replaced by queue number - {0}/{1} 个机器人已拥有游戏 {2}。 {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.zh-Hant-HK.resx b/ArchiSteamFarm/Localization/Strings.zh-Hant-HK.resx index 764ec792d2dac..155de2780fb13 100644 --- a/ArchiSteamFarm/Localization/Strings.zh-Hant-HK.resx +++ b/ArchiSteamFarm/Localization/Strings.zh-Hant-HK.resx @@ -545,14 +545,6 @@ 进程正常运行时间:{1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - 正在瀏覽 Steam 探索佇列 #{0}... - {0} will be replaced by queue number - - - 已完成 Steam 探索佇列 #{0}。 - {0} will be replaced by queue number - {0}/{1} 個機械人已經擁有遊戲 {2}。 {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Localization/Strings.zh-Hant.resx b/ArchiSteamFarm/Localization/Strings.zh-Hant.resx index 6a78263e0755e..5ebe466601dfc 100644 --- a/ArchiSteamFarm/Localization/Strings.zh-Hant.resx +++ b/ArchiSteamFarm/Localization/Strings.zh-Hant.resx @@ -551,14 +551,6 @@ 已執行時間:{1} {0} will be replaced by number (in megabytes) of memory being used, {1} will be replaced by translated TimeSpan string (such as "25 minutes"). Please note that this string should include newlines for formatting. - - 正在瀏覽 Steam 探索佇列 #{0}… - {0} will be replaced by queue number - - - 已完成 Steam 探索佇列 #{0}。 - {0} will be replaced by queue number - {0}/{1} 個 Bot 已擁有遊戲 {2}。 {0} will be replaced by number of bots that already own particular game being checked, {1} will be replaced by total number of bots that were checked during the process, {2} will be replaced by game's ID (number) diff --git a/ArchiSteamFarm/Steam/Bot.cs b/ArchiSteamFarm/Steam/Bot.cs index cd1c8be2434d8..934cbaab1906b 100644 --- a/ArchiSteamFarm/Steam/Bot.cs +++ b/ArchiSteamFarm/Steam/Bot.cs @@ -314,7 +314,6 @@ private set { private bool SendCompleteTypesScheduled; private Timer? SendItemsTimer; private bool SteamParentalActive; - private SteamSaleEvent? SteamSaleEvent; private Timer? TradeCheckTimer; private string? TwoFactorCode; private bool UnpackBoosterPacksScheduled; @@ -427,7 +426,6 @@ public void Dispose() { PlayingWasBlockedTimer?.Dispose(); RefreshTokensTimer?.Dispose(); SendItemsTimer?.Dispose(); - SteamSaleEvent?.Dispose(); TradeCheckTimer?.Dispose(); } @@ -465,10 +463,6 @@ public async ValueTask DisposeAsync() { await SendItemsTimer.DisposeAsync().ConfigureAwait(false); } - if (SteamSaleEvent != null) { - await SteamSaleEvent.DisposeAsync().ConfigureAwait(false); - } - if (TradeCheckTimer != null) { await TradeCheckTimer.DisposeAsync().ConfigureAwait(false); } @@ -2505,12 +2499,6 @@ private async Task InitModules() { SendItemsTimer = null; } - if (SteamSaleEvent != null) { - await SteamSaleEvent.DisposeAsync().ConfigureAwait(false); - - SteamSaleEvent = null; - } - if (TradeCheckTimer != null) { await TradeCheckTimer.DisposeAsync().ConfigureAwait(false); @@ -2526,10 +2514,6 @@ private async Task InitModules() { ); } - if (BotConfig.FarmingPreferences.HasFlag(BotConfig.EFarmingPreferences.AutoSteamSaleEvent)) { - SteamSaleEvent = new SteamSaleEvent(this); - } - if (BotConfig.TradeCheckPeriod > 0) { TradeCheckTimer = new Timer( OnTradeCheckTimer, diff --git a/ArchiSteamFarm/Steam/Data/NewDiscoveryQueueResponse.cs b/ArchiSteamFarm/Steam/Data/NewDiscoveryQueueResponse.cs deleted file mode 100644 index 99b9cdbb915d7..0000000000000 --- a/ArchiSteamFarm/Steam/Data/NewDiscoveryQueueResponse.cs +++ /dev/null @@ -1,39 +0,0 @@ -// ---------------------------------------------------------------------------------------------- -// _ _ _ ____ _ _____ -// / \ _ __ ___ | |__ (_)/ ___| | |_ ___ __ _ _ __ ___ | ___|__ _ _ __ _ __ ___ -// / _ \ | '__|/ __|| '_ \ | |\___ \ | __|/ _ \ / _` || '_ ` _ \ | |_ / _` || '__|| '_ ` _ \ -// / ___ \ | | | (__ | | | || | ___) || |_| __/| (_| || | | | | || _|| (_| || | | | | | | | -// /_/ \_\|_| \___||_| |_||_||____/ \__|\___| \__,_||_| |_| |_||_| \__,_||_| |_| |_| |_| -// ---------------------------------------------------------------------------------------------- -// | -// Copyright 2015-2024 Łukasz "JustArchi" Domeradzki -// Contact: JustArchi@JustArchi.net -// | -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// | -// http://www.apache.org/licenses/LICENSE-2.0 -// | -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System.Collections.Immutable; -using System.Diagnostics.CodeAnalysis; -using System.Text.Json.Serialization; - -namespace ArchiSteamFarm.Steam.Data; - -[SuppressMessage("ReSharper", "ClassCannotBeInstantiated")] -internal sealed class NewDiscoveryQueueResponse { - [JsonInclude] - [JsonPropertyName("queue")] - [JsonRequired] - internal ImmutableHashSet Queue { get; private init; } = []; - - [JsonConstructor] - private NewDiscoveryQueueResponse() { } -} diff --git a/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs b/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs index 329d6e1514439..e6c1c18968f24 100644 --- a/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs +++ b/ArchiSteamFarm/Steam/Integration/ArchiWebHandler.cs @@ -1531,17 +1531,6 @@ internal async Task ChangePrivacySettings(UserPrivacy userPrivacy) { return true; } - internal async Task ClearFromDiscoveryQueue(uint appID) { - ArgumentOutOfRangeException.ThrowIfZero(appID); - - Uri request = new(SteamStoreURL, $"/app/{appID}"); - - // Extra entry for sessionID - Dictionary data = new(2, StringComparer.Ordinal) { { "appid_to_clear_from_queue", appID.ToString(CultureInfo.InvariantCulture) } }; - - return await UrlPostWithSession(request, data: data).ConfigureAwait(false); - } - internal async Task DeclineTradeOffer(ulong tradeID) { ArgumentOutOfRangeException.ThrowIfZero(tradeID); @@ -1552,17 +1541,6 @@ internal async Task DeclineTradeOffer(ulong tradeID) { internal HttpClient GenerateDisposableHttpClient() => WebBrowser.GenerateDisposableHttpClient(); - internal async Task?> GenerateNewDiscoveryQueue() { - Uri request = new(SteamStoreURL, "/explore/generatenewdiscoveryqueue"); - - // Extra entry for sessionID - Dictionary data = new(2, StringComparer.Ordinal) { { "queuetype", "0" } }; - - ObjectResponse? response = await UrlPostToJsonObjectWithSession(request, data: data).ConfigureAwait(false); - - return response?.Content?.Queue; - } - internal async Task?> GetAppList() { KeyValue? response = null; @@ -1794,14 +1772,6 @@ internal async Task GetCardCountForGame(uint appID) { return results; } - internal async Task GetDiscoveryQueuePage() { - Uri request = new(SteamStoreURL, "/explore?l=english"); - - HtmlDocumentResponse? response = await UrlGetToHtmlDocumentWithSession(request, checkSessionPreemptively: false).ConfigureAwait(false); - - return response?.Content; - } - internal async Task?> GetFamilySharingSteamIDs() { Uri request = new(SteamStoreURL, "/account/managedevices?l=english"); diff --git a/ArchiSteamFarm/Steam/Integration/SteamSaleEvent.cs b/ArchiSteamFarm/Steam/Integration/SteamSaleEvent.cs deleted file mode 100644 index 69ad69da8b23f..0000000000000 --- a/ArchiSteamFarm/Steam/Integration/SteamSaleEvent.cs +++ /dev/null @@ -1,121 +0,0 @@ -// ---------------------------------------------------------------------------------------------- -// _ _ _ ____ _ _____ -// / \ _ __ ___ | |__ (_)/ ___| | |_ ___ __ _ _ __ ___ | ___|__ _ _ __ _ __ ___ -// / _ \ | '__|/ __|| '_ \ | |\___ \ | __|/ _ \ / _` || '_ ` _ \ | |_ / _` || '__|| '_ ` _ \ -// / ___ \ | | | (__ | | | || | ___) || |_| __/| (_| || | | | | || _|| (_| || | | | | | | | -// /_/ \_\|_| \___||_| |_||_||____/ \__|\___| \__,_||_| |_| |_||_| \__,_||_| |_| |_| |_| -// ---------------------------------------------------------------------------------------------- -// | -// Copyright 2015-2024 Łukasz "JustArchi" Domeradzki -// Contact: JustArchi@JustArchi.net -// | -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// | -// http://www.apache.org/licenses/LICENSE-2.0 -// | -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -using System; -using System.Collections.Immutable; -using System.Threading; -using System.Threading.Tasks; -using AngleSharp.Dom; -using ArchiSteamFarm.Core; -using ArchiSteamFarm.Localization; - -namespace ArchiSteamFarm.Steam.Integration; - -internal sealed class SteamSaleEvent : IAsyncDisposable, IDisposable { - private const byte MaxSingleQueuesDaily = 3; // This is only a failsafe for infinite queue clearing (in case IsDiscoveryQueueAvailable() would fail us) - - private readonly Bot Bot; - private readonly Timer SaleEventTimer; - - internal SteamSaleEvent(Bot bot) { - ArgumentNullException.ThrowIfNull(bot); - - Bot = bot; - - SaleEventTimer = new Timer( - ExploreDiscoveryQueue, - null, - TimeSpan.FromHours(1.1) + TimeSpan.FromSeconds(ASF.LoadBalancingDelay * Bot.Bots?.Count ?? 0), // Delay - TimeSpan.FromHours(8.1) // Period - ); - } - - public void Dispose() => SaleEventTimer.Dispose(); - - public ValueTask DisposeAsync() => SaleEventTimer.DisposeAsync(); - - private async void ExploreDiscoveryQueue(object? state = null) { - if (!Bot.IsConnectedAndLoggedOn) { - return; - } - - Bot.ArchiLogger.LogGenericTrace(Strings.Starting); - - for (byte i = 0; (i < MaxSingleQueuesDaily) && Bot.IsConnectedAndLoggedOn && (await IsDiscoveryQueueAvailable().ConfigureAwait(false)).GetValueOrDefault(); i++) { - ImmutableHashSet? queue = await Bot.ArchiWebHandler.GenerateNewDiscoveryQueue().ConfigureAwait(false); - - if ((queue == null) || (queue.Count == 0)) { - Bot.ArchiLogger.LogGenericWarning(Strings.FormatErrorIsEmpty(nameof(queue))); - - break; - } - - Bot.ArchiLogger.LogGenericInfo(Strings.FormatClearingDiscoveryQueue(i)); - - // We could in theory do this in parallel, but who knows what would happen... - foreach (uint queuedAppID in queue) { - if (await Bot.ArchiWebHandler.ClearFromDiscoveryQueue(queuedAppID).ConfigureAwait(false)) { - continue; - } - - Bot.ArchiLogger.LogGenericWarning(Strings.WarningFailed); - - return; - } - - Bot.ArchiLogger.LogGenericInfo(Strings.FormatDoneClearingDiscoveryQueue(i)); - } - - Bot.ArchiLogger.LogGenericTrace(Strings.Done); - } - - private async Task IsDiscoveryQueueAvailable() { - using IDocument? htmlDocument = await Bot.ArchiWebHandler.GetDiscoveryQueuePage().ConfigureAwait(false); - - if (htmlDocument == null) { - return null; - } - - INode? htmlNode = htmlDocument.SelectSingleNode("//div[@class='subtext']"); - - if (htmlNode == null) { - // Valid, no cards for exploring the queue available - return false; - } - - string text = htmlNode.TextContent; - - if (string.IsNullOrEmpty(text)) { - Bot.ArchiLogger.LogNullError(text); - - return null; - } - - if (Debugging.IsUserDebugging) { - Bot.ArchiLogger.LogGenericDebug(Strings.FormatContent(text)); - } - - // It'd make more sense to check against "Come back tomorrow", but it might not cover out-of-the-event queue - return text.StartsWith("You can get ", StringComparison.Ordinal); - } -} diff --git a/ArchiSteamFarm/Steam/Storage/BotConfig.cs b/ArchiSteamFarm/Steam/Storage/BotConfig.cs index 8018d7b8cd58f..03ff26d71a33c 100644 --- a/ArchiSteamFarm/Steam/Storage/BotConfig.cs +++ b/ArchiSteamFarm/Steam/Storage/BotConfig.cs @@ -650,9 +650,8 @@ public enum EFarmingPreferences : ushort { SkipRefundableGames = 16, SkipUnplayedGames = 32, EnableRiskyCardsDiscovery = 64, - AutoSteamSaleEvent = 128, AutoUnpackBoosterPacks = 256, - All = FarmingPausedByDefault | ShutdownOnFarmingFinished | SendOnFarmingFinished | FarmPriorityQueueOnly | SkipRefundableGames | SkipUnplayedGames | EnableRiskyCardsDiscovery | AutoSteamSaleEvent | AutoUnpackBoosterPacks + All = FarmingPausedByDefault | ShutdownOnFarmingFinished | SendOnFarmingFinished | FarmPriorityQueueOnly | SkipRefundableGames | SkipUnplayedGames | EnableRiskyCardsDiscovery | AutoUnpackBoosterPacks } [Flags] diff --git a/wiki b/wiki index 4ed45e9e67c66..a429efeb0cdd2 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 4ed45e9e67c66063b725c9fd7798a07ac94015f7 +Subproject commit a429efeb0cdd2ab0f41e8d701fc255282302448d