Soenneker.Utils.AsyncSingleton 3.0.674

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Soenneker.Utils.AsyncSingleton --version 3.0.674
                    
NuGet\Install-Package Soenneker.Utils.AsyncSingleton -Version 3.0.674
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Soenneker.Utils.AsyncSingleton" Version="3.0.674" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Utils.AsyncSingleton" Version="3.0.674" />
                    
Directory.Packages.props
<PackageReference Include="Soenneker.Utils.AsyncSingleton" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Soenneker.Utils.AsyncSingleton --version 3.0.674
                    
#r "nuget: Soenneker.Utils.AsyncSingleton, 3.0.674"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.674
                    
Install Soenneker.Utils.AsyncSingleton as a Cake Addin
#tool nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.674
                    
Install Soenneker.Utils.AsyncSingleton as a Cake Tool

alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image

alternate text is missing from this package README image Soenneker.Utils.AsyncSingleton

AsyncSingleton is a lightweight utility that provides lazy (and optionally asynchronous) initialization of an instance. It ensures that the instance is only created once, even in highly concurrent scenarios. It also offers both synchronous and asynchronous initialization methods while supporting a variety of initialization signatures. Additionally, AsyncSingleton implements both synchronous and asynchronous disposal.

Features

  • Lazy Initialization: The instance is created only upon the first call of Get(), GetAsync(), Init() or InitSync().
  • Thread-safe: Uses asynchronous locking for coordinated initialization in concurrent environments.
  • Multiple Initialization Patterns:
    • Sync and async initialization
    • With or without parameters (params object[])
    • With or without CancellationToken
  • Re-initialization Guard: Once the singleton is initialized (or has begun initializing), further initialization reconfigurations are disallowed.

Installation

dotnet add package Soenneker.Utils.AsyncSingleton

There are two different types: AsyncSingleton, and AsyncSingleton<T>:

AsyncSingleton<T>

Useful in scenarios where you need a result of the initialization. Get() is the primary method.

using Microsoft.Extensions.Logging;

public class MyService
{
    private readonly ILogger<MyService> _logger;
    private readonly AsyncSingleton<HttpClient> _asyncSingleton;

    public MyService(ILogger<MyService> logger)
    {
        _logger = logger;

        _asyncSingleton = new AsyncSingleton(async () =>
        {
            _logger.LogInformation("Initializing the singleton resource synchronously...");
            await Task.Delay(1000);

            return new HttpClient();
        });
    }

    public async ValueTask StartWork()
    {
        var httpClient = await _asyncSingleton.Get();

        // At this point the task has been run, guaranteed only once (no matter if this is called concurrently)

        var sameHttpClient = await _asyncSingleton.Get(); // This is the same instance of the httpClient above
    }
}

AsyncSingleton

Useful in scenarios where you just need async single initialization, and you don't ever need to leverage an instance. Init() is the primary method.

using Microsoft.Extensions.Logging;

public class MyService
{
    private readonly ILogger<MyService> _logger;
    private readonly AsyncSingleton _singleExecution;

    public MyService(ILogger<MyService> logger)
    {
        _logger = logger;

        _singleExecution = new AsyncSingleton(async () =>
        {
            _logger.LogInformation("Initializing the singleton resource ...");
            await Task.Delay(1000); // Simulates an async call

            return new object(); // This object is needed for AsyncSingleton to recognize that initialization has occurred
        });
    }

    public async ValueTask StartWork()
    {
        await _singleExecution.Init();

        // At this point the task has been run, guaranteed only once (no matter if this is called concurrently)

        await _singleExecution.Init(); // This will NOT execute the task, since it's already been called
    }
}

Tips:

  • If you need to cancel the initialization, pass a CancellationToken to the Init(), and Get() method. This will cancel any locking occurring during initialization.
  • If you use a type of AsyncSingleton that implements IDisposable or IAsyncDisposable, be sure to dispose of the AsyncSingleton instance. This will dispose the underlying instance.
  • Be careful about updating the underlying instance directly, as AsyncSingleton holds a reference to it, and will return those changes to further callers.
  • SetInitialization() can be used to set the initialization function after the AsyncSingleton has been created. This can be useful in scenarios where the initialization function is not known at the time of creation.
  • Try not to use an asynchronous initialization method, and then retrieve it synchronously. If you do so, AsyncSingleton will block to maintain thread-safety.
  • Using a synchronous initialization method with asynchronous retrieval will not block, and will still provide thread-safety.
  • Similarly, if the underlying instance is IAsyncDisposable, try to leverage AsyncSingleton.DisposeAsync(). Using AsyncSingleton.DisposeAsync() with an IDisposable underlying instance is fine.
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (27)

Showing the top 5 NuGet packages that depend on Soenneker.Utils.AsyncSingleton:

Package Downloads
Soenneker.Utils.MemoryStream

An easy modern MemoryStream utility

Soenneker.Blob.Container

A utility library for Azure Blob storage container operations

Soenneker.Redis.Client

A utility library for Redis client accessibility

Soenneker.Validators.Email.Disposable.Online

A validation module checking for disposable email addresses via online sources

Soenneker.GitHub.Client

An async thread-safe singleton for Octokit's GitHubClient

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.698 0 4/8/2025
3.0.697 0 4/8/2025
3.0.696 2 4/7/2025
3.0.695 76 4/7/2025
3.0.694 733 4/7/2025
3.0.693 2,468 4/7/2025
3.0.692 936 4/7/2025
3.0.691 1,226 4/6/2025
3.0.690 729 4/6/2025
3.0.689 114 4/6/2025
3.0.688 70 4/6/2025
3.0.687 1,727 4/6/2025
3.0.686 1,059 4/6/2025
3.0.685 62 4/6/2025
3.0.684 4,613 4/5/2025
3.0.683 851 4/5/2025
3.0.682 274 4/5/2025
3.0.681 101 4/5/2025
3.0.680 470 4/4/2025
3.0.679 211 4/4/2025
3.0.678 23,373 4/1/2025
3.0.677 9,272 3/31/2025
3.0.676 7,229 3/29/2025
3.0.675 9,724 3/25/2025
3.0.674 7,413 3/21/2025
3.0.673 13,593 3/15/2025
3.0.672 7,699 3/12/2025
3.0.671 725 3/12/2025
3.0.670 3,885 3/11/2025
3.0.669 211 3/11/2025
3.0.668 5,340 3/11/2025
3.0.667 4,894 3/11/2025
3.0.666 16,093 3/2/2025
3.0.665 1,709 3/2/2025
3.0.664 1,829 3/1/2025
3.0.663 2,979 3/1/2025
3.0.662 2,642 3/1/2025
3.0.661 1,948 3/1/2025
3.0.660 89 3/1/2025
3.0.659 2,903 3/1/2025
3.0.658 11,607 2/25/2025
3.0.657 2,559 2/25/2025
3.0.656 2,296 2/25/2025
3.0.655 2,891 2/24/2025
3.0.654 6,796 2/22/2025
3.0.653 10,914 2/22/2025
3.0.652 297 2/22/2025
3.0.651 3,005 2/21/2025
3.0.650 6,656 2/21/2025
3.0.649 8,859 2/19/2025
3.0.648 471 2/18/2025
3.0.647 1,715 2/18/2025
3.0.646 1,951 2/18/2025
3.0.645 5,018 2/18/2025
3.0.644 8,640 2/13/2025
3.0.643 9,798 2/12/2025
3.0.642 980 2/12/2025
3.0.641 1,698 2/12/2025
3.0.640 1,900 2/11/2025
3.0.639 1,894 2/11/2025
3.0.638 2,360 2/11/2025
3.0.637 3,550 2/11/2025
3.0.636 4,548 2/11/2025
3.0.635 5,794 2/10/2025
3.0.634 101 2/10/2025
3.0.633 7,733 2/9/2025
3.0.632 5,642 2/8/2025
3.0.631 1,086 2/8/2025
3.0.630 2,256 2/7/2025
3.0.629 2,839 2/7/2025
3.0.628 3,045 2/7/2025
3.0.627 267 2/7/2025
3.0.626 2,746 2/7/2025
3.0.625 91 2/7/2025
3.0.624 636 2/7/2025
3.0.623 15,185 2/5/2025
3.0.622 1,217 2/5/2025
3.0.621 2,200 2/5/2025
3.0.620 1,719 2/5/2025
3.0.619 17,743 1/28/2025
3.0.618 4,432 1/28/2025
3.0.617 252 1/27/2025
3.0.616 16,477 1/26/2025
3.0.615 1,567 1/26/2025
3.0.614 3,794 1/25/2025
3.0.613 5,041 1/25/2025
3.0.612 3,179 1/25/2025
3.0.611 1,707 1/24/2025
3.0.610 12,709 1/24/2025
3.0.609 4,093 1/24/2025
3.0.608 3,965 1/24/2025
3.0.607 3,305 1/23/2025
3.0.606 3,072 1/23/2025
3.0.605 9,605 1/21/2025
3.0.604 2,013 1/21/2025
3.0.603 4,929 1/21/2025
3.0.602 3,245 1/21/2025
3.0.601 4,628 1/21/2025
3.0.600 4,603 1/20/2025
3.0.599 343 1/20/2025
3.0.598 624 1/20/2025
3.0.597 4,678 1/20/2025
3.0.596 5,812 1/20/2025
3.0.595 680 1/20/2025
3.0.594 93 1/20/2025
3.0.593 640 1/20/2025
3.0.592 88 1/20/2025
3.0.591 14,257 1/19/2025
3.0.590 2,302 1/19/2025
3.0.589 2,318 1/18/2025
3.0.588 3,751 1/18/2025
3.0.587 1,450 1/18/2025
3.0.586 6,015 1/17/2025
3.0.585 1,128 1/17/2025
3.0.584 2,994 1/17/2025
3.0.583 2,754 1/16/2025
3.0.582 16,041 1/16/2025
3.0.581 1,433 1/16/2025
3.0.580 2,941 1/16/2025
3.0.579 3,638 1/15/2025
3.0.578 2,204 1/15/2025
3.0.577 3,873 1/15/2025
3.0.576 6,541 1/15/2025
3.0.575 1,073 1/15/2025
3.0.574 3,146 1/15/2025
3.0.573 260 1/15/2025
3.0.572 2,802 1/14/2025
3.0.571 1,306 1/14/2025
3.0.570 3,157 1/14/2025
3.0.569 12,784 1/13/2025
3.0.568 4,546 1/12/2025
3.0.567 6,853 1/11/2025
3.0.566 1,933 1/11/2025
3.0.565 878 1/11/2025
3.0.564 789 1/10/2025
3.0.563 4,136 1/10/2025
3.0.562 388 1/10/2025
3.0.561 805 1/10/2025
3.0.560 86 1/10/2025
3.0.559 85 1/10/2025
3.0.558 8,534 1/8/2025
3.0.557 245 1/8/2025
3.0.556 3,727 1/3/2025
3.0.555 2,931 1/3/2025
3.0.554 3,914 1/2/2025
3.0.553 653 1/2/2025
3.0.552 122 1/2/2025
3.0.551 2,205 1/2/2025
3.0.550 4,989 1/1/2025
3.0.549 696 1/1/2025
3.0.548 1,106 1/1/2025
3.0.547 1,294 1/1/2025
3.0.546 99 1/1/2025
3.0.545 587 12/31/2024
3.0.544 102 12/31/2024
3.0.543 211 12/31/2024
3.0.542 6,996 12/31/2024
3.0.541 7,302 12/31/2024
3.0.540 2,956 12/31/2024
3.0.539 3,747 12/31/2024
3.0.538 2,691 12/31/2024
3.0.537 1,120 12/31/2024
3.0.536 97 12/31/2024
3.0.535 4,634 12/31/2024
3.0.534 14,205 12/27/2024
3.0.533 2,630 12/27/2024
3.0.532 9,716 12/24/2024
3.0.531 622 12/24/2024
3.0.530 1,429 12/24/2024
3.0.529 256 12/24/2024
3.0.528 306 12/24/2024
3.0.527 1,697 12/23/2024
3.0.526 3,455 12/23/2024
3.0.525 1,659 12/23/2024
3.0.524 1,534 12/23/2024
3.0.523 2,146 12/23/2024
3.0.522 1,135 12/23/2024
3.0.521 2,754 12/22/2024
3.0.520 99 12/22/2024
3.0.519 11,822 12/22/2024
3.0.518 115 12/22/2024
3.0.517 8,712 12/22/2024
3.0.516 92 12/22/2024
3.0.515 4,176 12/22/2024
3.0.514 110 12/22/2024
3.0.513 809 12/21/2024
3.0.512 260 12/21/2024
3.0.511 90 12/21/2024
3.0.510 7,386 12/21/2024
3.0.509 811 12/21/2024
3.0.508 89 12/21/2024
3.0.507 1,288 12/21/2024
3.0.506 97 12/21/2024
3.0.505 4,477 12/21/2024
3.0.504 1,424 12/21/2024
3.0.503 3,458 12/21/2024
3.0.502 93 12/21/2024
3.0.501 2,149 12/20/2024
3.0.500 2,227 12/20/2024
3.0.499 4,174 12/20/2024
3.0.498 1,293 12/20/2024
3.0.497 593 12/20/2024
3.0.496 6,498 12/19/2024
3.0.495 554 12/19/2024
3.0.494 971 12/18/2024
3.0.493 523 12/18/2024
3.0.492 10,677 12/17/2024
3.0.491 371 12/17/2024
3.0.490 796 12/17/2024
3.0.489 1,021 12/17/2024
3.0.488 1,076 12/16/2024
3.0.487 325 12/16/2024
3.0.486 88 12/16/2024
3.0.485 9,359 12/9/2024
3.0.484 2,156 12/9/2024
3.0.483 4,773 12/9/2024
3.0.482 913 12/9/2024
3.0.480 9,605 12/6/2024
3.0.479 5,165 12/6/2024
3.0.478 1,658 12/6/2024
3.0.477 934 12/6/2024
3.0.476 617 12/6/2024
3.0.475 2,034 12/6/2024
3.0.474 6,299 12/6/2024
3.0.473 8,367 12/5/2024
3.0.472 954 12/5/2024
3.0.471 4,893 12/5/2024
3.0.470 2,190 12/5/2024
3.0.469 617 12/5/2024
3.0.468 4,417 12/4/2024
3.0.467 2,367 12/4/2024
3.0.466 2,566 12/4/2024
3.0.465 6,823 12/3/2024
3.0.464 287 12/3/2024
3.0.463 1,564 12/3/2024
3.0.462 5,880 12/3/2024
3.0.461 1,110 12/3/2024
3.0.460 3,390 12/3/2024
3.0.459 94 12/3/2024
3.0.458 725 12/3/2024
3.0.457 7,811 12/2/2024
3.0.456 3,479 12/2/2024
3.0.455 1,011 12/2/2024
3.0.454 882 12/1/2024
3.0.453 4,611 12/1/2024
3.0.452 5,002 12/1/2024
3.0.451 5,128 11/29/2024
3.0.450 8,256 11/20/2024
3.0.449 5,484 11/20/2024
3.0.448 396 11/20/2024
3.0.447 1,896 11/20/2024
3.0.445 2,379 11/19/2024
3.0.444 2,099 11/19/2024
3.0.443 5,695 11/19/2024
3.0.442 4,054 11/19/2024
3.0.441 87 11/19/2024
3.0.439 11,084 11/14/2024
3.0.438 4,306 11/14/2024
3.0.437 1,851 11/14/2024
3.0.436 3,366 11/14/2024
3.0.435 327 11/14/2024
3.0.434 113 11/14/2024
3.0.433 1,165 11/14/2024
3.0.432 95 11/14/2024
2.1.431 15,913 11/13/2024
2.1.430 3,175 11/13/2024
2.1.429 2,465 11/12/2024
2.1.428 11,614 11/9/2024
2.1.427 2,376 11/9/2024
2.1.426 2,587 11/8/2024
2.1.425 1,174 11/8/2024
2.1.424 1,323 11/8/2024
2.1.423 1,549 11/8/2024
2.1.422 1,765 11/8/2024
2.1.421 4,714 11/8/2024
2.1.420 18,099 11/1/2024
2.1.419 8,290 10/29/2024
2.1.418 3,237 10/29/2024
2.1.417 4,417 10/29/2024
2.1.416 8,199 10/28/2024
2.1.415 8,322 10/26/2024
2.1.414 9,792 10/22/2024
2.1.413 2,961 10/22/2024
2.1.412 1,678 10/22/2024
2.1.411 9,056 10/17/2024
2.1.410 8,071 10/15/2024
2.1.409 1,501 10/14/2024
2.1.408 8,362 10/11/2024
2.1.407 2,316 10/11/2024
2.1.406 1,501 10/11/2024
2.1.404 12,344 10/8/2024
2.1.403 5,087 10/8/2024
2.1.402 15,127 10/3/2024
2.1.401 1,115 10/3/2024
2.1.400 2,560 10/3/2024
2.1.399 9,838 10/2/2024
2.1.398 3,269 10/2/2024
2.1.397 10,238 10/1/2024
2.1.396 927 10/1/2024
2.1.395 5,097 9/30/2024
2.1.394 7,977 9/29/2024
2.1.393 2,565 9/29/2024
2.1.392 2,464 9/29/2024
2.1.391 6,989 9/27/2024
2.1.390 4,743 9/27/2024
2.1.389 163 9/27/2024
2.1.388 740 9/27/2024
2.1.387 1,768 9/27/2024
2.1.386 105 9/27/2024
2.1.385 10,514 9/26/2024
2.1.384 9,233 9/26/2024
2.1.383 4,018 9/26/2024
2.1.382 11,653 9/23/2024
2.1.381 2,890 9/23/2024
2.1.380 5,002 9/23/2024
2.1.379 4,980 9/23/2024
2.1.378 3,763 9/23/2024
2.1.377 768 9/23/2024
2.1.376 1,888 9/23/2024
2.1.375 96 9/23/2024
2.1.374 13,673 9/17/2024
2.1.373 674 9/17/2024
2.1.372 2,740 9/17/2024
2.1.371 2,757 9/17/2024
2.1.370 3,145 9/17/2024
2.1.369 4,255 9/17/2024
2.1.368 4,758 9/17/2024
2.1.367 15,719 9/16/2024
2.1.366 8,094 9/12/2024
2.1.365 3,062 9/11/2024
2.1.363 8,933 9/11/2024
2.1.362 17,235 9/10/2024
2.1.361 728 9/10/2024
2.1.360 1,046 9/10/2024
2.1.359 929 9/10/2024
2.1.358 3,682 9/9/2024
2.1.357 1,519 9/9/2024
2.1.356 6,298 9/9/2024
2.1.355 1,754 9/9/2024
2.1.354 7,036 9/9/2024
2.1.353 13,523 9/7/2024
2.1.352 9,934 9/6/2024
2.1.351 5,164 9/5/2024
2.1.350 5,179 9/5/2024
2.1.349 558 9/5/2024
2.1.348 145 9/5/2024
2.1.347 9,061 9/5/2024
2.1.346 1,034 9/4/2024
2.1.345 13,650 9/3/2024
2.1.344 6,169 9/3/2024
2.1.343 4,557 9/3/2024
2.1.342 8,736 8/29/2024
2.1.341 7,295 8/26/2024
2.1.340 7,708 8/21/2024
2.1.339 2,831 8/21/2024
2.1.338 1,656 8/20/2024
2.1.337 5,825 8/20/2024
2.1.336 123 8/20/2024
2.1.335 123 8/20/2024
2.1.334 9,808 8/19/2024
2.1.333 9,539 8/15/2024
2.1.332 9,524 8/13/2024
2.1.331 7,988 8/6/2024
2.1.330 4,381 8/6/2024
2.1.329 6,597 8/1/2024
2.1.328 1,363 8/1/2024
2.1.327 632 8/1/2024
2.1.326 9,491 7/25/2024
2.1.325 1,981 7/25/2024
2.1.324 1,719 7/25/2024
2.1.323 273 7/24/2024
2.1.322 725 7/24/2024
2.1.321 348 7/24/2024
2.1.320 9,514 7/20/2024
2.1.319 12,131 7/14/2024
2.1.318 4,484 7/14/2024
2.1.317 6,825 7/10/2024
2.1.316 2,960 7/10/2024
2.1.315 2,768 7/10/2024
2.1.314 1,602 7/10/2024
2.1.313 1,028 7/10/2024
2.1.312 334 7/10/2024
2.1.311 2,617 7/10/2024
2.1.310 1,350 7/9/2024
2.1.308 2,768 7/9/2024
2.1.307 102 7/9/2024
2.1.306 2,957 7/9/2024
2.1.305 6,835 7/9/2024
2.1.304 5,717 7/9/2024
2.1.303 2,760 7/9/2024
2.1.302 101 7/9/2024
2.1.301 7,582 7/9/2024
2.1.300 6,136 7/8/2024
2.1.299 371 7/8/2024
2.1.298 104 7/8/2024
2.1.297 114 7/8/2024
2.1.296 8,428 7/8/2024
2.1.295 1,646 7/7/2024
2.1.294 5,094 7/7/2024
2.1.293 126 7/7/2024
2.1.292 1,465 7/7/2024
2.1.291 3,115 7/7/2024
2.1.290 10,339 7/3/2024
2.1.289 3,302 7/3/2024
2.1.288 2,961 7/3/2024
2.1.287 871 7/3/2024
2.1.286 5,705 7/2/2024
2.1.283 3,549 6/30/2024
2.1.282 2,387 6/28/2024
2.1.281 247 6/28/2024
2.1.279 7,677 6/22/2024
2.1.278 8,900 6/15/2024
2.1.277 1,172 6/15/2024
2.1.276 6,777 6/14/2024
2.1.275 10,819 6/1/2024
2.1.274 1,745 6/1/2024
2.1.273 1,103 6/1/2024
2.1.272 9,449 5/31/2024
2.1.271 5,900 5/29/2024
2.1.270 6,737 5/28/2024
2.1.269 3,794 5/27/2024
2.1.268 7,015 5/26/2024
2.1.267 6,909 5/26/2024
2.1.266 336 5/26/2024
2.1.265 2,536 5/25/2024
2.1.264 1,841 5/25/2024
2.1.263 1,679 5/25/2024
2.1.262 116 5/25/2024
2.1.261 1,352 5/25/2024
2.1.260 114 5/25/2024
2.1.259 4,911 5/25/2024
2.1.258 111 5/25/2024
2.1.257 8,745 5/23/2024
2.1.256 3,461 5/23/2024
2.1.255 2,492 5/22/2024
2.1.254 1,874 5/22/2024
2.1.253 768 5/22/2024
2.1.252 108 5/22/2024
2.1.251 106 5/22/2024
2.1.250 3,621 5/22/2024
2.1.249 9,303 5/18/2024
2.1.248 1,961 5/17/2024
2.1.247 3,356 5/17/2024
2.1.246 5,225 5/16/2024
2.1.245 1,357 5/15/2024
2.1.244 3,801 5/15/2024
2.1.243 7,790 5/12/2024
2.1.242 4,252 5/3/2024
2.1.241 4,774 4/29/2024
2.1.240 2,723 4/29/2024
2.1.239 5,237 4/28/2024
2.1.238 853 4/28/2024
2.1.237 974 4/28/2024
2.1.236 3,956 4/28/2024
2.1.235 561 4/28/2024
2.1.234 5,290 4/28/2024
2.1.233 1,118 4/28/2024
2.1.232 4,921 4/27/2024
2.1.231 117 4/27/2024
2.1.230 9,892 4/19/2024
2.1.229 6,128 4/18/2024
2.1.228 6,418 4/12/2024
2.1.227 1,031 4/12/2024
2.1.226 1,650 4/12/2024
2.1.225 1,382 4/12/2024
2.1.224 964 4/12/2024
2.1.223 1,384 4/12/2024
2.1.222 530 4/12/2024
2.1.221 121 4/12/2024
2.1.220 3,599 4/10/2024
2.1.219 15,305 4/10/2024
2.1.218 682 4/10/2024
2.1.217 7,634 4/2/2024
2.1.216 1,336 4/1/2024
2.1.215 7,381 3/29/2024
2.1.214 5,361 3/25/2024
2.1.213 617 3/25/2024
2.1.212 7,438 3/20/2024
2.1.211 5,143 3/19/2024
2.1.210 3,078 3/19/2024
2.1.209 3,393 3/18/2024
2.1.208 7,384 3/15/2024
2.1.207 5,026 3/13/2024
2.1.206 1,926 3/13/2024
2.1.205 2,510 3/13/2024
2.1.204 168 3/13/2024
2.1.203 161 3/13/2024
2.1.202 1,668 3/13/2024
2.1.201 165 3/13/2024
2.1.200 3,625 3/12/2024
2.1.199 4,640 3/12/2024
2.1.198 6,079 3/11/2024
2.1.197 4,224 3/11/2024
2.1.196 4,529 3/10/2024
2.1.195 5,846 3/8/2024
2.1.194 538 3/8/2024
2.1.193 4,202 3/8/2024
2.1.192 5,398 3/6/2024
2.1.191 5,402 3/4/2024
2.1.190 3,062 3/4/2024
2.1.189 6,128 3/2/2024
2.1.188 1,572 3/2/2024
2.1.187 1,962 3/2/2024
2.1.186 1,107 3/2/2024
2.1.185 770 3/2/2024
2.1.184 4,137 2/29/2024
2.1.183 1,359 2/29/2024
2.1.182 2,068 2/29/2024
2.1.181 3,973 2/26/2024
2.1.180 15,335 2/25/2024
2.1.179 1,852 2/25/2024
2.1.178 6,065 2/23/2024
2.1.177 5,870 2/22/2024
2.1.176 1,644 2/22/2024
2.1.175 1,985 2/21/2024
2.1.174 3,203 2/21/2024
2.1.173 2,881 2/21/2024
2.1.172 3,626 2/21/2024
2.1.171 1,564 2/21/2024
2.1.170 363 2/21/2024
2.1.169 3,324 2/21/2024
2.1.168 1,035 2/20/2024
2.1.167 213 2/20/2024
2.1.166 218 2/20/2024
2.1.165 4,419 2/20/2024
2.1.164 3,348 2/20/2024
2.1.163 3,213 2/20/2024
2.1.162 6,729 2/19/2024
2.1.161 5,366 2/17/2024
2.1.160 2,236 2/17/2024
2.1.159 1,618 2/16/2024
2.1.158 1,179 2/16/2024
2.1.157 1,970 2/16/2024
2.1.156 3,033 2/16/2024
2.1.155 3,502 2/16/2024
2.1.154 255 2/16/2024
2.1.153 1,730 2/16/2024
2.1.152 255 2/16/2024
2.1.151 250 2/16/2024
2.1.150 5,969 2/14/2024
2.1.149 2,528 2/13/2024
2.1.148 3,050 2/13/2024
2.1.147 3,669 2/13/2024
2.1.146 3,516 2/13/2024
2.1.145 4,874 2/12/2024
2.1.144 775 2/11/2024
2.1.143 5,304 2/11/2024
2.1.142 2,995 2/11/2024
2.1.141 6,209 2/10/2024
2.1.140 787 2/9/2024
2.1.139 5,648 2/9/2024
2.1.138 3,646 2/9/2024
2.1.137 973 2/8/2024
2.1.136 4,565 2/8/2024
2.1.135 1,887 2/8/2024
2.1.134 10,513 2/8/2024
2.1.133 320 2/8/2024
2.1.132 268 2/8/2024
2.1.131 5,202 2/7/2024
2.1.130 2,068 2/7/2024
2.1.129 3,543 2/7/2024
2.1.128 1,153 2/7/2024
2.1.127 1,021 2/6/2024
2.1.126 2,834 2/6/2024
2.1.125 287 2/6/2024
2.1.124 7,477 2/5/2024
2.1.123 4,880 2/4/2024
2.1.122 5,163 2/2/2024
2.1.121 6,150 1/31/2024
2.1.120 6,061 1/29/2024
2.1.119 3,667 1/29/2024
2.1.118 2,459 1/29/2024
2.1.117 3,909 1/28/2024
2.1.116 5,199 1/28/2024
2.1.115 2,958 1/28/2024
2.1.114 1,729 1/28/2024
2.1.113 2,363 1/27/2024
2.1.112 2,077 1/27/2024
2.1.111 5,414 1/27/2024
2.1.110 2,727 1/27/2024
2.1.109 6,477 1/27/2024
2.1.108 1,683 1/26/2024
2.1.107 2,127 1/26/2024
2.1.106 2,765 1/26/2024
2.1.105 5,006 1/26/2024
2.1.104 2,384 1/26/2024
2.1.103 1,322 1/26/2024
2.1.102 4,446 1/25/2024
2.1.101 3,552 1/25/2024
2.1.100 1,718 1/25/2024
2.1.99 5,707 1/25/2024
2.1.98 5,490 1/19/2024
2.1.97 5,714 1/15/2024
2.1.96 2,621 1/15/2024
2.1.95 2,054 1/15/2024
2.1.94 5,191 1/15/2024
2.1.93 5,329 1/15/2024
2.1.92 5,178 1/14/2024
2.1.91 6,335 1/13/2024
2.1.90 5,302 1/12/2024
2.1.89 5,190 1/11/2024
2.1.88 7,208 1/7/2024
2.1.87 5,715 1/5/2024
2.1.86 2,568 1/5/2024
2.1.85 3,273 1/5/2024
2.1.84 6,170 1/3/2024
2.1.83 3,760 1/1/2024
2.1.82 5,117 12/28/2023
2.1.81 2,079 12/28/2023
2.1.80 2,075 12/28/2023
2.1.79 4,580 12/27/2023
2.1.78 2,158 12/27/2023
2.1.77 305 12/27/2023
2.1.76 8,791 12/25/2023
2.1.75 4,826 12/25/2023
2.1.74 2,450 12/25/2023
2.1.73 720 12/25/2023
2.1.72 329 12/25/2023
2.1.71 6,947 12/24/2023
2.1.70 5,429 12/23/2023
2.1.69 2,921 12/23/2023
2.1.68 1,726 12/23/2023
2.1.67 3,902 12/23/2023
2.1.66 303 12/23/2023
2.1.65 8,219 12/19/2023
2.1.64 2,266 12/19/2023
2.1.63 5,560 12/12/2023
2.1.62 474 12/12/2023
2.1.61 2,754 12/11/2023
2.1.60 2,231 12/11/2023
2.1.59 1,246 12/11/2023
2.1.58 1,677 12/11/2023
2.1.57 850 12/10/2023
2.1.56 829 12/10/2023
2.1.55 1,865 12/10/2023
2.1.54 1,153 12/10/2023
2.1.53 8,263 12/10/2023
2.1.52 1,874 12/9/2023
2.1.51 1,062 12/9/2023
2.1.50 1,636 12/9/2023
2.1.49 2,506 12/9/2023
2.1.48 273 12/9/2023
2.1.47 1,281 12/9/2023
2.1.46 347 12/9/2023
2.1.45 2,888 12/9/2023
2.1.44 309 12/9/2023
2.1.43 4,565 12/9/2023
2.1.42 6,812 12/6/2023
2.1.41 1,250 12/6/2023
2.1.40 1,789 12/6/2023
2.1.39 4,014 12/5/2023
2.1.38 2,030 12/5/2023
2.1.37 1,141 12/5/2023
2.1.36 2,894 12/5/2023
2.1.35 302 12/5/2023
2.1.34 2,461 12/5/2023
2.1.33 306 12/5/2023
2.1.32 1,616 12/4/2023
2.1.31 1,545 12/4/2023
2.1.30 334 12/4/2023
2.1.29 8,858 12/4/2023
2.1.28 2,924 11/27/2023
2.1.27 1,374 11/26/2023
2.1.26 3,430 11/23/2023
2.1.25 2,956 11/23/2023
2.1.24 3,613 11/23/2023
2.1.23 308 11/23/2023
2.1.22 7,042 11/20/2023
2.1.21 3,420 11/20/2023
2.1.20 5,508 11/19/2023
2.1.19 3,022 11/19/2023
2.1.18 4,182 11/19/2023
2.1.17 1,128 11/18/2023
2.1.16 5,432 11/18/2023
2.1.15 1,323 11/18/2023
2.1.14 3,447 11/18/2023
2.1.13 762 11/18/2023
2.1.12 3,584 11/17/2023
2.1.11 2,962 11/17/2023
2.1.10 2,197 11/17/2023
2.1.9 413 11/17/2023
2.1.8 3,483 11/17/2023
2.1.7 2,027 11/17/2023
2.1.6 2,543 11/17/2023
2.1.5 1,741 11/17/2023
2.1.4 596 11/17/2023
2.1.3 3,298 11/16/2023
2.0.78 1,135 11/15/2023
2.0.77 326 11/15/2023
2.0.76 2,953 11/15/2023
2.0.2 329 11/16/2023
2.0.1 291 11/16/2023
1.0.75 4,247 11/13/2023
1.0.74 6,112 11/10/2023
1.0.73 4,815 11/9/2023
1.0.72 3,271 11/8/2023
1.0.71 5,011 11/7/2023
1.0.70 2,495 11/6/2023
1.0.69 3,127 11/3/2023
1.0.68 5,642 11/2/2023
1.0.67 3,435 11/1/2023
1.0.66 10,962 10/26/2023
1.0.65 6,730 10/19/2023
1.0.64 2,909 10/18/2023
1.0.63 2,818 10/17/2023
1.0.62 3,414 10/16/2023
1.0.61 6,212 10/13/2023
1.0.60 3,654 10/12/2023
1.0.59 11,458 9/18/2023
1.0.58 313 9/18/2023
1.0.57 7,710 9/14/2023
1.0.56 7,175 8/31/2023
1.0.55 3,656 8/30/2023
1.0.54 3,135 8/29/2023
1.0.53 3,044 8/28/2023
1.0.52 5,838 8/25/2023
1.0.51 3,261 8/24/2023
1.0.50 7,934 8/21/2023
1.0.49 3,236 8/18/2023
1.0.48 3,010 8/17/2023
1.0.47 5,504 8/16/2023
1.0.46 9,091 8/10/2023
1.0.45 3,166 8/9/2023
1.0.44 5,289 8/8/2023
1.0.43 4,468 8/7/2023
1.0.42 4,665 8/4/2023
1.0.41 8,597 7/13/2023
1.0.40 5,724 7/11/2023
1.0.39 3,505 7/10/2023
1.0.38 4,367 7/7/2023
1.0.37 384 7/7/2023
1.0.36 12,029 6/30/2023
1.0.35 6,201 6/28/2023
1.0.34 6,340 6/27/2023
1.0.33 7,334 6/26/2023
1.0.32 4,365 6/23/2023
1.0.31 8,906 6/21/2023
1.0.30 9,255 6/15/2023
1.0.29 3,668 6/14/2023
1.0.28 9,890 6/9/2023
1.0.27 4,302 6/8/2023
1.0.26 5,263 6/7/2023
1.0.25 5,906 6/6/2023
1.0.24 397 6/6/2023
1.0.23 4,942 6/5/2023
1.0.22 17,078 5/30/2023
1.0.21 19,907 5/29/2023
1.0.20 6,883 5/26/2023
1.0.19 8,009 5/25/2023
1.0.18 8,372 5/24/2023
1.0.17 5,675 5/24/2023
1.0.16 1,701 5/23/2023
1.0.15 1,690 5/23/2023
1.0.12 3,113 5/22/2023
1.0.11 19,319 5/16/2023
1.0.10 15,916 4/20/2023
1.0.9 15,201 4/3/2023
1.0.8 1,281 4/3/2023
1.0.7 2,525 3/23/2023
1.0.5 798 3/13/2023
1.0.4 543 3/11/2023
1.0.3 447 3/11/2023
1.0.2 450 3/11/2023
1.0.1 503 3/11/2023