bugfixes
This commit is contained in:
parent
0ddb9f19c8
commit
2c4da79dac
@ -17,7 +17,6 @@ using System.Threading;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using Microsoft.VisualBasic.FileIO;
|
using Microsoft.VisualBasic.FileIO;
|
||||||
using Microsoft.Toolkit.Uwp.Notifications;
|
using Microsoft.Toolkit.Uwp.Notifications;
|
||||||
using System.Net.Http;
|
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
@ -27,37 +26,7 @@ using Microsoft.Data.Sqlite;
|
|||||||
using FlyleafLib;
|
using FlyleafLib;
|
||||||
using FlyleafLib.MediaPlayer;
|
using FlyleafLib.MediaPlayer;
|
||||||
using System.Runtime.Versioning;
|
using System.Runtime.Versioning;
|
||||||
using System.Collections.ObjectModel;
|
|
||||||
using FlyleafLib.MediaFramework.MediaStream;
|
|
||||||
using System.Security.Policy;
|
|
||||||
using System.Diagnostics.Metrics;
|
|
||||||
using Google.Protobuf;
|
|
||||||
using System.Windows.Controls;
|
|
||||||
using static Microsoft.ML.Data.SchemaDefinition;
|
|
||||||
using System.Windows.Media;
|
|
||||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
|
||||||
using ABI.System;
|
|
||||||
using Microsoft.ML.Data;
|
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock;
|
|
||||||
using System.Windows.Documents;
|
|
||||||
using Vortice.Win32;
|
|
||||||
using Windows.Media.AppBroadcasting;
|
|
||||||
using System.Windows.Controls.Primitives;
|
|
||||||
using static System.Net.Mime.MediaTypeNames;
|
|
||||||
using static Tensorflow.ApiDef.Types;
|
|
||||||
using Windows.UI.StartScreen;
|
|
||||||
using FlyleafLib.Controls.WinForms;
|
|
||||||
using FlyleafLib.Controls.WPF;
|
|
||||||
using System.Windows.Media.Media3D;
|
|
||||||
using CefSharp.DevTools.Network;
|
|
||||||
using System.Windows.Shapes;
|
|
||||||
using CefSharp;
|
|
||||||
using Tensorflow.Keras.Engine;
|
|
||||||
using System.Windows.Media.TextFormatting;
|
|
||||||
using System.Diagnostics.Eventing.Reader;
|
|
||||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TrackBar;
|
|
||||||
using Tensorflow;
|
|
||||||
using System.Windows.Forms.VisualStyles;
|
using System.Windows.Forms.VisualStyles;
|
||||||
|
|
||||||
|
|
||||||
@ -4720,13 +4689,15 @@ namespace WinFormsApp1
|
|||||||
|
|
||||||
if (!isDuplicateURL(url, listView_Favorites) && IsValidURL(url).Result)
|
if (!isDuplicateURL(url, listView_Favorites) && IsValidURL(url).Result)
|
||||||
{
|
{
|
||||||
|
string watchSymbol = watch ? "☑" : "☐";
|
||||||
|
|
||||||
System.Windows.Forms.ListViewItem lvi = listView_Favorites.Items.Add(new System.Windows.Forms.ListViewItem("★"));
|
System.Windows.Forms.ListViewItem lvi = listView_Favorites.Items.Add(new System.Windows.Forms.ListViewItem("★"));
|
||||||
lvi.SubItems.Add(url);
|
lvi.SubItems.Add(url);
|
||||||
lvi.SubItems.Add(modelname);
|
lvi.SubItems.Add(modelname);
|
||||||
lvi.SubItems.Add(provider);
|
lvi.SubItems.Add(provider);
|
||||||
lvi.SubItems.Add(lastStream);
|
lvi.SubItems.Add(lastStream);
|
||||||
lvi.SubItems.Add(id);
|
lvi.SubItems.Add(id);
|
||||||
lvi.SubItems.Add("☐");
|
lvi.SubItems.Add(watchSymbol);
|
||||||
lvi.UseItemStyleForSubItems = false;
|
lvi.UseItemStyleForSubItems = false;
|
||||||
lvi.SubItems[0].ForeColor = System.Drawing.Color.Gold;
|
lvi.SubItems[0].ForeColor = System.Drawing.Color.Gold;
|
||||||
}
|
}
|
||||||
@ -7962,85 +7933,86 @@ namespace WinFormsApp1
|
|||||||
|
|
||||||
private async Task GetCBOnlineModels()
|
private async Task GetCBOnlineModels()
|
||||||
{
|
{
|
||||||
await modelAccessLock.WaitAsync(); // ⛔ Eintritt blockieren, wenn anderer Zugriff läuft
|
await modelAccessLock.WaitAsync();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
CbApiCheckIsRunning = true;
|
CbApiCheckIsRunning = true;
|
||||||
|
UpdateStatusLabel("Lade API...");
|
||||||
|
|
||||||
using HttpClient client = new HttpClient
|
using HttpClient client = new HttpClient
|
||||||
{
|
{
|
||||||
Timeout = System.TimeSpan.FromSeconds(ReloadOnlineroomsTime)
|
Timeout = System.TimeSpan.FromSeconds(ReloadOnlineroomsTime)
|
||||||
};
|
};
|
||||||
|
|
||||||
UpdateStatusLabel("Lade API...");
|
|
||||||
HttpResponseMessage response = await client.GetAsync("https://chaturbate.com/affiliates/api/onlinerooms/?format=json&wm=827SM");
|
HttpResponseMessage response = await client.GetAsync("https://chaturbate.com/affiliates/api/onlinerooms/?format=json&wm=827SM");
|
||||||
|
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
{
|
{
|
||||||
UpdateStatusLabel("Fehler " + response.StatusCode + " beim Abfragen der API");
|
UpdateStatusLabel("Fehler " + response.StatusCode + " beim Abfragen der API");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
loadedOnlineroomsAPI = DateTime.Now;
|
|
||||||
string responseBody = await response.Content.ReadAsStringAsync();
|
string responseBody = await response.Content.ReadAsStringAsync();
|
||||||
JArray? jArray = JsonConvert.DeserializeObject<JArray>(responseBody);
|
JArray? jArray = JsonConvert.DeserializeObject<JArray>(responseBody);
|
||||||
|
|
||||||
if (jArray == null)
|
if (jArray == null)
|
||||||
{
|
{
|
||||||
UpdateStatusLabel("Fehler beim Verarbeiten der API-Daten");
|
UpdateStatusLabel("Fehler beim Verarbeiten der API-Daten");
|
||||||
CbApiCheckIsRunning = false;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
HashSet<string> favoritedNames = GetModelNamesFromListView(listView_Favorites);
|
HashSet<string> favoritedNames = await Task.Run(() => GetModelNamesFromListViewSafe(listView_Favorites));
|
||||||
HashSet<string> likedNames = GetModelNamesFromListView(listView_Likes);
|
HashSet<string> likedNames = await Task.Run(() => GetModelNamesFromListViewSafe(listView_Likes));
|
||||||
HashSet<string> onlineModels = new HashSet<string>();
|
|
||||||
|
|
||||||
|
var newModelDetails = new ConcurrentDictionary<string, ModelDetails>();
|
||||||
|
ConcurrentBag<string> onlineModels = new();
|
||||||
int total = jArray.Count;
|
int total = jArray.Count;
|
||||||
modelProgressCounter = 0;
|
modelProgressCounter = 0;
|
||||||
modelProgressTotal = jArray.Count;
|
modelProgressTotal = total;
|
||||||
labelUpdateTimer.Start();
|
labelUpdateTimer.Start();
|
||||||
|
|
||||||
for (int i = 0; i < total; i++)
|
// Parallele Verarbeitung jedes Models
|
||||||
|
await Parallel.ForEachAsync(jArray.ToArray(), async (itemToken, _) =>
|
||||||
{
|
{
|
||||||
JToken item = jArray[i];
|
string modelname = itemToken["username"]?.ToString() ?? "";
|
||||||
string modelname = item["username"]!.ToString();
|
if (string.IsNullOrWhiteSpace(modelname))
|
||||||
|
return;
|
||||||
|
|
||||||
onlineModels.Add(modelname);
|
onlineModels.Add(modelname);
|
||||||
|
|
||||||
modelProgressCounter++;
|
// nur für Favoriten oder Likes
|
||||||
|
|
||||||
// 🟡 Statuslabel bei jedem Model
|
|
||||||
double progress = 100.0 * i / total;
|
|
||||||
UpdateStatusLabel($"Lade Models... ({Math.Round(progress)}%)");
|
|
||||||
|
|
||||||
if (!favoritedNames.Contains(modelname) && !likedNames.Contains(modelname))
|
if (!favoritedNames.Contains(modelname) && !likedNames.Contains(modelname))
|
||||||
continue;
|
return;
|
||||||
|
|
||||||
if (!modelDetails.TryGetValue(modelname, out var details))
|
var details = new ModelDetails
|
||||||
{
|
{
|
||||||
details = new ModelDetails();
|
room_status = FirstCharSubstring(itemToken["current_show"]?.ToString() ?? ""),
|
||||||
modelDetails[modelname] = details;
|
room_subject = itemToken["room_subject"]?.ToString() ?? "",
|
||||||
}
|
real_name = itemToken["display_name"]?.ToString() ?? "",
|
||||||
|
location = itemToken["location"]?.ToString() ?? "",
|
||||||
|
display_age = itemToken["age"]?.ToString() ?? "",
|
||||||
|
sex = itemToken["gender"]?.ToString() ?? "",
|
||||||
|
languages = itemToken["spoken_languages"]?.ToString() ?? "",
|
||||||
|
seconds_online = itemToken["seconds_online"]?.ToString() ?? "",
|
||||||
|
last_update = DateTime.Now.ToString(),
|
||||||
|
tags = (itemToken["tags"] as JArray)?.Select(t => t.ToString()).ToList() ?? new List<string>()
|
||||||
|
};
|
||||||
|
|
||||||
|
newModelDetails[modelname] = details;
|
||||||
|
|
||||||
|
Interlocked.Increment(ref modelProgressCounter);
|
||||||
|
double progress = 100.0 * modelProgressCounter / total;
|
||||||
|
this.BeginInvoke(() => UpdateStatusLabel($"Lade Models... ({Math.Round(progress)}%)"));
|
||||||
|
});
|
||||||
|
|
||||||
details.room_status = FirstCharSubstring(item["current_show"]!.ToString());
|
|
||||||
details.room_subject = item["room_subject"]?.ToString() ?? "";
|
|
||||||
details.real_name = item["display_name"]?.ToString() ?? "";
|
|
||||||
details.location = item["location"]?.ToString() ?? "";
|
|
||||||
details.display_age = item["age"]?.ToString() ?? "";
|
|
||||||
details.sex = item["gender"]?.ToString() ?? "";
|
|
||||||
details.languages = item["spoken_languages"]?.ToString() ?? "";
|
|
||||||
details.seconds_online = item["seconds_online"]?.ToString() ?? "";
|
|
||||||
details.last_update = DateTime.Now.ToString();
|
|
||||||
var tagArray = item["tags"] as JArray;
|
|
||||||
if (tagArray != null)
|
|
||||||
{
|
|
||||||
details.tags = tagArray.Select(t => t.ToString()).ToList();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
labelUpdateTimer.Stop();
|
labelUpdateTimer.Stop();
|
||||||
this.BeginInvoke(() => toolStripStatusLabel1.Text = ""); // fertig
|
|
||||||
|
|
||||||
// Alle restlichen Models auf Offline setzen
|
// Merge der neuen Modeldaten
|
||||||
|
foreach (var kvp in newModelDetails)
|
||||||
|
{
|
||||||
|
modelDetails[kvp.Key] = kvp.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Modelle, die nicht mehr online sind, als offline markieren
|
||||||
foreach (var kvp in modelDetails)
|
foreach (var kvp in modelDetails)
|
||||||
{
|
{
|
||||||
if (!onlineModels.Contains(kvp.Key))
|
if (!onlineModels.Contains(kvp.Key))
|
||||||
@ -8049,11 +8021,8 @@ namespace WinFormsApp1
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
likedModelsOnline = 0;
|
// GUI-Updates für Likes
|
||||||
favoritedModelsOnline = 0;
|
listView_Likes.BeginInvoke(() =>
|
||||||
|
|
||||||
// Likes aktualisieren
|
|
||||||
listView_Likes.Invoke(new MethodInvoker(() =>
|
|
||||||
{
|
{
|
||||||
listView_Likes.BeginUpdate();
|
listView_Likes.BeginUpdate();
|
||||||
likedModelsOnline = 0;
|
likedModelsOnline = 0;
|
||||||
@ -8061,26 +8030,21 @@ namespace WinFormsApp1
|
|||||||
foreach (System.Windows.Forms.ListViewItem item in listView_Likes.Items)
|
foreach (System.Windows.Forms.ListViewItem item in listView_Likes.Items)
|
||||||
{
|
{
|
||||||
string modelname = item.SubItems[2].Text;
|
string modelname = item.SubItems[2].Text;
|
||||||
|
if (modelDetails.TryGetValue(modelname, out var details))
|
||||||
if (!modelDetails.TryGetValue(modelname, out var details))
|
|
||||||
{
|
{
|
||||||
details = new ModelDetails { room_status = "Offline" };
|
|
||||||
modelDetails[modelname] = details;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isOnlineStatus.Any(details.room_status!.Contains) || isHiddenStatus.Any(details.room_status!.Contains))
|
if (isOnlineStatus.Any(details.room_status!.Contains) || isHiddenStatus.Any(details.room_status!.Contains))
|
||||||
{
|
{
|
||||||
item.SubItems[4].Text = details.last_broadcast;
|
item.SubItems[4].Text = details.last_broadcast;
|
||||||
likedModelsOnline++;
|
likedModelsOnline++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
listView_Likes.EndUpdate();
|
listView_Likes.EndUpdate();
|
||||||
}));
|
});
|
||||||
|
|
||||||
|
// GUI-Updates für Favoriten
|
||||||
// Favorites aktualisieren
|
listView_Favorites.BeginInvoke(() =>
|
||||||
listView_Favorites.Invoke(new MethodInvoker(() =>
|
|
||||||
{
|
{
|
||||||
listView_Favorites.BeginUpdate();
|
listView_Favorites.BeginUpdate();
|
||||||
favoritedModelsOnline = 0;
|
favoritedModelsOnline = 0;
|
||||||
@ -8088,29 +8052,27 @@ namespace WinFormsApp1
|
|||||||
foreach (System.Windows.Forms.ListViewItem item in listView_Favorites.Items)
|
foreach (System.Windows.Forms.ListViewItem item in listView_Favorites.Items)
|
||||||
{
|
{
|
||||||
string modelname = item.SubItems[2].Text;
|
string modelname = item.SubItems[2].Text;
|
||||||
|
if (modelDetails.TryGetValue(modelname, out var details))
|
||||||
if (!modelDetails.TryGetValue(modelname, out var details))
|
|
||||||
{
|
{
|
||||||
details = new ModelDetails { room_status = "Offline" };
|
|
||||||
modelDetails[modelname] = details;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isOnlineStatus.Any(details.room_status!.Contains) || isHiddenStatus.Any(details.room_status!.Contains))
|
if (isOnlineStatus.Any(details.room_status!.Contains) || isHiddenStatus.Any(details.room_status!.Contains))
|
||||||
{
|
{
|
||||||
item.SubItems[4].Text = details.last_broadcast;
|
item.SubItems[4].Text = details.last_broadcast;
|
||||||
favoritedModelsOnline++;
|
favoritedModelsOnline++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
listView_Favorites.EndUpdate();
|
listView_Favorites.EndUpdate();
|
||||||
}));
|
});
|
||||||
|
|
||||||
|
|
||||||
// Label-Zähler aktualisieren
|
// Label-Zähler aktualisieren
|
||||||
this.BeginInvoke(() => label_LikesOnline_Value.Text = likedModelsOnline.ToString());
|
this.BeginInvoke(() =>
|
||||||
this.BeginInvoke(() => label_FavoritesOnline_Value.Text = favoritedModelsOnline.ToString());
|
{
|
||||||
|
label_LikesOnline_Value.Text = likedModelsOnline.ToString();
|
||||||
|
label_FavoritesOnline_Value.Text = favoritedModelsOnline.ToString();
|
||||||
|
});
|
||||||
|
|
||||||
// API-Modus auswerten
|
// API-Modus prüfen
|
||||||
if (!checkBox_useCBApi.Checked)
|
if (!checkBox_useCBApi.Checked)
|
||||||
{
|
{
|
||||||
timer_getRoomlist.Enabled = false;
|
timer_getRoomlist.Enabled = false;
|
||||||
@ -8118,18 +8080,20 @@ namespace WinFormsApp1
|
|||||||
modelDetails.Clear();
|
modelDetails.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.BeginInvoke((MethodInvoker)(() => LoadTagsFromModelDetails()));// Nach LoadTagsFromModelDetails
|
// Tags aktualisieren
|
||||||
var allModelTags = modelDetails
|
this.BeginInvoke(() =>
|
||||||
.Where(kvp => kvp.Value.tags != null)
|
{
|
||||||
.SelectMany(kvp => kvp.Value.tags!)
|
LoadTagsFromModelDetails();
|
||||||
|
var allTags = modelDetails.Values
|
||||||
|
.Where(v => v.tags != null)
|
||||||
|
.SelectMany(v => v.tags!)
|
||||||
.Distinct()
|
.Distinct()
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
UpdateTagFilterCheckedListBox(allModelTags, checkedListBox_CompletedDownloads_Tags);
|
UpdateTagFilterCheckedListBox(allTags, checkedListBox_CompletedDownloads_Tags);
|
||||||
UpdateTagFilterCheckedListBox(allModelTags, checkedListBox_Archive_Tags);
|
UpdateTagFilterCheckedListBox(allTags, checkedListBox_Archive_Tags);
|
||||||
|
|
||||||
toolStripStatusLabel1.Text = "";
|
toolStripStatusLabel1.Text = "";
|
||||||
CbApiCheckIsRunning = false;
|
});
|
||||||
}
|
}
|
||||||
catch (System.Exception ex)
|
catch (System.Exception ex)
|
||||||
{
|
{
|
||||||
@ -8137,11 +8101,39 @@ namespace WinFormsApp1
|
|||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
modelAccessLock.Release(); // ✅ Freigeben
|
modelAccessLock.Release();
|
||||||
CbApiCheckIsRunning = false;
|
CbApiCheckIsRunning = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private HashSet<string> GetModelNamesFromListViewSafe(System.Windows.Forms.ListView listView)
|
||||||
|
{
|
||||||
|
HashSet<string> names = new();
|
||||||
|
|
||||||
|
if (listView.InvokeRequired)
|
||||||
|
{
|
||||||
|
listView.Invoke(new MethodInvoker(() =>
|
||||||
|
{
|
||||||
|
foreach (System.Windows.Forms.ListViewItem item in listView.Items)
|
||||||
|
{
|
||||||
|
names.Add(item.SubItems[2].Text);
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
foreach (System.Windows.Forms.ListViewItem item in listView.Items)
|
||||||
|
{
|
||||||
|
names.Add(item.SubItems[2].Text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return names;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private HashSet<string> GetModelNamesFromListView(System.Windows.Forms.ListView listView)
|
private HashSet<string> GetModelNamesFromListView(System.Windows.Forms.ListView listView)
|
||||||
{
|
{
|
||||||
if (listView.InvokeRequired)
|
if (listView.InvokeRequired)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. -->
|
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. -->
|
||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<History>True|2025-06-02T16:27:48.1629252Z||;True|2025-06-02T18:12:01.0339452+02:00||;True|2025-04-25T14:02:07.8958669+02:00||;True|2025-04-24T07:32:32.3215936+02:00||;True|2025-04-23T14:24:27.8051379+02:00||;True|2025-04-22T07:23:33.4961515+02:00||;True|2025-04-22T07:16:30.0019927+02:00||;True|2025-04-17T07:35:19.5003910+02:00||;True|2025-04-16T07:51:44.2105982+02:00||;True|2025-04-15T17:39:22.9354819+02:00||;True|2025-04-15T13:59:38.1491035+02:00||;True|2025-04-15T13:26:09.1911007+02:00||;False|2025-04-15T13:24:05.8283613+02:00||;True|2025-04-15T12:05:53.7928484+02:00||;True|2025-04-14T11:46:19.0213400+02:00||;True|2025-04-14T11:19:57.9110025+02:00||;False|2025-04-14T11:18:49.2970157+02:00||;True|2025-04-14T10:56:19.4313583+02:00||;True|2025-04-14T10:09:57.0472222+02:00||;True|2025-04-11T09:36:58.9281719+02:00||;True|2025-04-11T07:56:15.1143584+02:00||;True|2025-04-10T08:08:20.7849097+02:00||;True|2025-04-09T12:56:06.8510589+02:00||;True|2025-04-09T12:39:21.5101756+02:00||;True|2025-04-09T12:35:02.6306664+02:00||;True|2025-04-09T07:53:00.7307516+02:00||;True|2025-04-07T15:17:24.3233000+02:00||;True|2025-04-04T18:09:18.8844877+02:00||;True|2025-04-03T12:27:18.9922316+02:00||;True|2025-04-03T09:48:50.2518754+02:00||;True|2025-03-31T13:53:07.3910797+02:00||;True|2025-03-31T12:46:18.3638787+02:00||;True|2025-03-31T11:01:06.0182900+02:00||;True|2025-03-31T10:55:30.7399322+02:00||;True|2025-03-31T10:41:08.8975919+02:00||;True|2025-03-31T10:15:29.6315309+02:00||;True|2025-03-31T08:53:20.4511304+02:00||;True|2025-03-29T14:23:34.4407251+01:00||;True|2025-03-29T13:42:06.7348581+01:00||;True|2025-03-28T18:06:37.5932036+01:00||;True|2025-03-27T13:26:13.4721799+01:00||;True|2025-03-27T11:19:53.3525657+01:00||;True|2025-03-27T10:09:53.9177515+01:00||;True|2025-03-27T07:56:40.2542279+01:00||;True|2025-03-26T16:58:27.4112741+01:00||;True|2025-03-26T15:03:46.9772542+01:00||;True|2025-03-25T11:14:58.7342381+01:00||;True|2025-03-25T09:57:45.7084482+01:00||;True|2025-03-25T07:43:59.3237279+01:00||;True|2025-03-24T14:10:05.5099691+01:00||;True|2025-03-24T13:48:18.7826715+01:00||;True|2025-03-24T08:45:04.4414362+01:00||;True|2025-03-24T08:09:16.9512603+01:00||;True|2025-03-20T14:13:12.1535010+01:00||;True|2025-03-20T14:00:29.9824607+01:00||;True|2025-03-20T13:45:43.1699125+01:00||;True|2025-03-19T14:19:58.3321359+01:00||;True|2025-03-19T13:26:31.1028654+01:00||;True|2025-03-19T12:59:58.9858416+01:00||;True|2025-03-18T13:00:20.7436962+01:00||;False|2025-03-18T12:57:53.3072280+01:00||;True|2025-03-18T08:57:30.7588196+01:00||;True|2025-03-18T07:49:25.6452787+01:00||;True|2025-03-18T07:46:17.7880179+01:00||;True|2025-03-18T07:42:09.9713048+01:00||;True|2025-03-18T07:30:40.5054792+01:00||;True|2025-03-17T07:40:01.3963968+01:00||;True|2025-03-15T16:30:37.2550083+01:00||;True|2025-03-14T12:50:40.6294394+01:00||;True|2025-03-14T08:56:18.8558814+01:00||;True|2025-03-12T14:14:57.3112151+01:00||;True|2025-03-12T14:12:46.9828168+01:00||;True|2025-03-12T08:06:06.3356665+01:00||;True|2025-03-12T08:00:21.3196260+01:00||;True|2025-03-06T12:49:08.4467123+01:00||;True|2025-03-06T09:09:15.5505203+01:00||;True|2025-03-05T09:40:51.0533773+01:00||;True|2025-03-05T09:39:08.8868293+01:00||;True|2025-03-04T13:43:20.9123421+01:00||;True|2025-03-04T13:02:15.0567004+01:00||;True|2025-03-04T12:32:17.7192408+01:00||;True|2025-03-04T10:56:18.5434503+01:00||;True|2025-03-01T12:55:46.6837041+01:00||;True|2025-03-01T10:58:41.7750720+01:00||;True|2025-02-28T14:01:01.5897048+01:00||;True|2025-02-28T12:29:13.0165879+01:00||;True|2025-02-28T12:27:57.4595440+01:00||;True|2025-02-28T12:27:08.6098557+01:00||;</History>
|
<History>True|2025-06-03T11:26:58.4834917Z||;True|2025-06-02T19:01:22.1305699+02:00||;True|2025-06-02T18:27:48.1629252+02:00||;True|2025-06-02T18:12:01.0339452+02:00||;True|2025-04-25T14:02:07.8958669+02:00||;True|2025-04-24T07:32:32.3215936+02:00||;True|2025-04-23T14:24:27.8051379+02:00||;True|2025-04-22T07:23:33.4961515+02:00||;True|2025-04-22T07:16:30.0019927+02:00||;True|2025-04-17T07:35:19.5003910+02:00||;True|2025-04-16T07:51:44.2105982+02:00||;True|2025-04-15T17:39:22.9354819+02:00||;True|2025-04-15T13:59:38.1491035+02:00||;True|2025-04-15T13:26:09.1911007+02:00||;False|2025-04-15T13:24:05.8283613+02:00||;True|2025-04-15T12:05:53.7928484+02:00||;True|2025-04-14T11:46:19.0213400+02:00||;True|2025-04-14T11:19:57.9110025+02:00||;False|2025-04-14T11:18:49.2970157+02:00||;True|2025-04-14T10:56:19.4313583+02:00||;True|2025-04-14T10:09:57.0472222+02:00||;True|2025-04-11T09:36:58.9281719+02:00||;True|2025-04-11T07:56:15.1143584+02:00||;True|2025-04-10T08:08:20.7849097+02:00||;True|2025-04-09T12:56:06.8510589+02:00||;True|2025-04-09T12:39:21.5101756+02:00||;True|2025-04-09T12:35:02.6306664+02:00||;True|2025-04-09T07:53:00.7307516+02:00||;True|2025-04-07T15:17:24.3233000+02:00||;True|2025-04-04T18:09:18.8844877+02:00||;True|2025-04-03T12:27:18.9922316+02:00||;True|2025-04-03T09:48:50.2518754+02:00||;True|2025-03-31T13:53:07.3910797+02:00||;True|2025-03-31T12:46:18.3638787+02:00||;True|2025-03-31T11:01:06.0182900+02:00||;True|2025-03-31T10:55:30.7399322+02:00||;True|2025-03-31T10:41:08.8975919+02:00||;True|2025-03-31T10:15:29.6315309+02:00||;True|2025-03-31T08:53:20.4511304+02:00||;True|2025-03-29T14:23:34.4407251+01:00||;True|2025-03-29T13:42:06.7348581+01:00||;True|2025-03-28T18:06:37.5932036+01:00||;True|2025-03-27T13:26:13.4721799+01:00||;True|2025-03-27T11:19:53.3525657+01:00||;True|2025-03-27T10:09:53.9177515+01:00||;True|2025-03-27T07:56:40.2542279+01:00||;True|2025-03-26T16:58:27.4112741+01:00||;True|2025-03-26T15:03:46.9772542+01:00||;True|2025-03-25T11:14:58.7342381+01:00||;True|2025-03-25T09:57:45.7084482+01:00||;True|2025-03-25T07:43:59.3237279+01:00||;True|2025-03-24T14:10:05.5099691+01:00||;True|2025-03-24T13:48:18.7826715+01:00||;True|2025-03-24T08:45:04.4414362+01:00||;True|2025-03-24T08:09:16.9512603+01:00||;True|2025-03-20T14:13:12.1535010+01:00||;True|2025-03-20T14:00:29.9824607+01:00||;True|2025-03-20T13:45:43.1699125+01:00||;True|2025-03-19T14:19:58.3321359+01:00||;True|2025-03-19T13:26:31.1028654+01:00||;True|2025-03-19T12:59:58.9858416+01:00||;True|2025-03-18T13:00:20.7436962+01:00||;False|2025-03-18T12:57:53.3072280+01:00||;True|2025-03-18T08:57:30.7588196+01:00||;True|2025-03-18T07:49:25.6452787+01:00||;True|2025-03-18T07:46:17.7880179+01:00||;True|2025-03-18T07:42:09.9713048+01:00||;True|2025-03-18T07:30:40.5054792+01:00||;True|2025-03-17T07:40:01.3963968+01:00||;True|2025-03-15T16:30:37.2550083+01:00||;True|2025-03-14T12:50:40.6294394+01:00||;True|2025-03-14T08:56:18.8558814+01:00||;True|2025-03-12T14:14:57.3112151+01:00||;True|2025-03-12T14:12:46.9828168+01:00||;True|2025-03-12T08:06:06.3356665+01:00||;True|2025-03-12T08:00:21.3196260+01:00||;True|2025-03-06T12:49:08.4467123+01:00||;True|2025-03-06T09:09:15.5505203+01:00||;True|2025-03-05T09:40:51.0533773+01:00||;True|2025-03-05T09:39:08.8868293+01:00||;True|2025-03-04T13:43:20.9123421+01:00||;True|2025-03-04T13:02:15.0567004+01:00||;True|2025-03-04T12:32:17.7192408+01:00||;True|2025-03-04T10:56:18.5434503+01:00||;True|2025-03-01T12:55:46.6837041+01:00||;True|2025-03-01T10:58:41.7750720+01:00||;True|2025-02-28T14:01:01.5897048+01:00||;True|2025-02-28T12:29:13.0165879+01:00||;True|2025-02-28T12:27:57.4595440+01:00||;True|2025-02-28T12:27:08.6098557+01:00||;</History>
|
||||||
<LastFailureDetails />
|
<LastFailureDetails />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@ -14,7 +14,7 @@ using System.Reflection;
|
|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("WinFormsApp1")]
|
[assembly: System.Reflection.AssemblyCompanyAttribute("WinFormsApp1")]
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b6455036311d84ff93ec3b576556bffb14f01977")]
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0ddb9f19c88527d8a642bd7defaae0879351fbf1")]
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("WinFormsApp1")]
|
[assembly: System.Reflection.AssemblyProductAttribute("WinFormsApp1")]
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("WinFormsApp1")]
|
[assembly: System.Reflection.AssemblyTitleAttribute("WinFormsApp1")]
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
bd64e86d6fc2e9fa44f1bc91e5e65135fdab0d9b698585ffc1f9e44d095b3657
|
f3974b072f0169d46cf7c79b372bc8a60137ad2e40968f3cc27a9fe79666b62a
|
||||||
|
|||||||
@ -14,7 +14,7 @@ using System.Reflection;
|
|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("WinFormsApp1")]
|
[assembly: System.Reflection.AssemblyCompanyAttribute("WinFormsApp1")]
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b6455036311d84ff93ec3b576556bffb14f01977")]
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0ddb9f19c88527d8a642bd7defaae0879351fbf1")]
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("WinFormsApp1")]
|
[assembly: System.Reflection.AssemblyProductAttribute("WinFormsApp1")]
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("WinFormsApp1")]
|
[assembly: System.Reflection.AssemblyTitleAttribute("WinFormsApp1")]
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
74d1385f02804a511ea76b439b3b6e6dd8f62cccf3493b75ce778ddb84e67092
|
30b7faba428cab4a0be1122c21a6ce61c830c3e6a58b0f4aae1470352cf620ca
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -14,7 +14,7 @@ using System.Reflection;
|
|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("WinFormsApp1")]
|
[assembly: System.Reflection.AssemblyCompanyAttribute("WinFormsApp1")]
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b6455036311d84ff93ec3b576556bffb14f01977")]
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0ddb9f19c88527d8a642bd7defaae0879351fbf1")]
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("WinFormsApp1")]
|
[assembly: System.Reflection.AssemblyProductAttribute("WinFormsApp1")]
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("WinFormsApp1")]
|
[assembly: System.Reflection.AssemblyTitleAttribute("WinFormsApp1")]
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
74d1385f02804a511ea76b439b3b6e6dd8f62cccf3493b75ce778ddb84e67092
|
30b7faba428cab4a0be1122c21a6ce61c830c3e6a58b0f4aae1470352cf620ca
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user