p-hatan/ mirror

pub repository

mirror.p-hatan.com

win32

2.5.0

A Dart library for accessing common Win32 APIs using FFI. No C required!

Download archive

Readme

Dart/Win32

A package that wraps some of the most common Win32 API calls using FFI to make them accessible to Dart code without requiring a C compiler or the Windows SDK.

pub package Language Build

In addition to exposing the APIs themselves, this package offers a variety of instructive examples for more complex FFI usage scenarios.

By design, this package provides minimal modifications to the Win32 API to support Dart idioms. The goal is to provide high familiarity to an existing Win32 developer. Other Dart packages may build on these primitives to provide a friendly API for Dart and Flutter developers. A good example of that is filepicker_windows, which offers a common item dialog suitable for incorporation into an existing Flutter app.

Usage

This package lets you write apps that use the Windows API directly from Dart, by wrapping common Win32, COM and Windows Runtime APIs using Dart FFI.

You could use it to call a Win32 API like EnumFontFamiliesEx to enumerate all locally-installed fonts:

Fonts screenshot

or access system information that is not exposed directly by the Dart framework libraries:

System information screenshot

You could use it to build a Windows app with Flutter that relies on Win32 APIs:

Disk explorer screenshot

You could even use it to build a traditional Win32 app, written purely in Dart, that could have come straight out of a classic Charles Petzold book on programming Windows apps:

Dart notepad screenshot

or even, perhaps, a fully-fledged game using GDI:

Dart Tetris for Win32 screenshot

You might even build a package that depends upon it, like dart_console, which enables advanced console manipulation:

Dart console ANSI color demo screenshot

or filepicker_windows, which provides a modern Windows file picker for Flutter:

Windows file picker screenshot

Getting started

Many more samples can be found in the example\ subdirectory, along with a test suite in the test\ subdirectory that shows other API calls.

A good starting point is hello.dart. This example demonstrates creating a Win32 window and responding to common messages such as WM_PAINT through a WindowProc callback function.

To run it, type:

dart example\hello.dart

This should display a window with a text message.

This can be compiled into a standalone Win32 executable by running:

dart compile exe example\hello.dart -o example\bin\hello.exe

For more information on working with the Win32 library from Dart, consult the documentation, in particular the sections on string manipulation and COM objects.

Samples

The package includes a number of examples in the example subdirectory. These examples use the Win32 API for all UI display and (unless mentioned) do not require Flutter.

Example Description
hello.dart Basic Petzoldian "hello world" Win32 app
bluetooth.dart Demonstrate enumerating Bluetooth devices
calendar.dart Gets information about the calendar from a WinRT API
console.dart Shows usage of console APIs
credentials.dart Adds a credential to the store and retrieves it
customwin.dart Displays a non-rectangular window
devices.dart Uses volume management APIs to list all disk devices
dialog.dart Create a custom dialog box in code
dialogshow.dart Creates a common item dialog (file picker) using COM
diskinfo.dart Use DeviceIoControl() for direct device operations
dump.dart Use debugger libraries to print DLL exported functions
dynamic_load.dart Demonstrate loading a DLL and calling it at runtime
explorer\ Example Flutter app that uses Win32 file picker APIs
filever.dart Getting file version information from the file resource
gamepad.dart Show which gamepads are connected
guid.dart Creates a globally unique identifier (GUID)
idispatch.dart Demonstrates calling a method using IDispatch
knownfolder.dart Retrieves known folders from the current user profile
magnifier.dart Provides a magnifier window using the Magnification API
manifest\ Demonstrates the use of app manifests for compiled apps
midi.dart Demonstrates MIDI playback using MCI commands
modules.dart Enumerates all loaded modules on the current system
monitor.dart Uses DDC and monitor-config API to get monitor caps
msgbox.dart Demonstrates a MessageBox from the console
notepad\ Lightweight replica of the Windows notepad applet
paint.dart Demonstrates simple GDI drawing and min/max window sizing
pipe.dart Shows use of named pipes for interprocess communication
play_sound.dart Plays a WAV file through the Windows PlaySound API
printer_list.dart Enumerate available printers on the Windows system
registry.dart Demonstrates querying the registry for values
screenshot.dart Takes a screenshot of the current desktop
scroll.dart Example of horizontal and vertical scrolling text window
sendinput.dart Sends keyboard and mouse input to another window
serial.dart Demonstrates serial port management
shortcut.dart Demonstrates creating a Windows shell link
snake.dart Snake game using various GDI features
speech.dart Use Windows speech engine for text-to-speech
sysinfo.dart Examples of getting device information from native C APIs
taskdialog.dart Demonstrates using modern task dialog boxes
tetris\main.dart Port of an open-source Tetris game to Dart
vt.dart Shows virtual terminal sequences
wallpaper.dart Shows what wallpaper and background color are set
window.dart Enumerates open windows and basic window manipulation
winmd.dart Interrogate Windows Runtime types
wmi.dart Using WMI from COM to retrieve device/OS information
wsl.dart Retrieve information from a WSL instance through APIs

Packages built on win32

There are a small but growing set of packages that build on the relatively low-level APIs exposed by the Dart win32 package to provide more idiomatic class wrappers. These packages typically don't require any knowledge of Windows programming models or FFI, and are ideal for incorporation into Flutter apps for Windows.

Specifically, this includes:

  • dart_console: provides Dart libraries for building TUIs (terminal UIs) or console apps that use more than the stdin/stdout services provided by Dart itself.
  • device_info_plus_windows: provides information about the characteristics of the current device.
  • filepicker_windows: makes the Windows file open / save common dialog boxes available to Flutter and Dart apps.
  • path_provider_windows: provides a way for Dart apps to find common Windows file locations (such as the documents directory).
  • win32_registry: provides Dart classes for accessing and manipulating the Windows registry.
  • win32_runner: provides an experimental shell (or runner) for hosting Flutter apps without needing a C++ compiler to create the EXE.

Requirements

This package assumes the Dart 64-bit compiler, running on Windows. Many commands are tested on 32-bit Windows, but due to the lack of a compiler for 32-bit executables and the increasing lack of machines running 32-bit OSes, this is inevitably a low priority. The package is also tested on Windows-on-ARM architecture, running in x64 emulation mode.

Features and bugs

The current package only projects a subset of the Win32 API, but new APIs will be added based on user demand. I'm particularly interested in unblocking the creation of new Dart packages for Windows. Please file feature requests and bugs at the issue tracker.

Backwards compatibility

The library version tries to model semver, but you should not assume a strict guarantee of no breaking changes between minor versions. That guarantee is not possible to make, for several reasons:

  • Several times, my fixing a bug in the fidelity of the Win32 API has tightened the constraints over a parameter (for example, Pointer becomes Pointer<INPUT>). These changes should be signalled in the log.
  • Adding new features may itself cause a breaking change. For example, if you declare a missing Windows constant in your own code that is then added, Dart will complain about the duplicate definition.

One solution is to pin to a specific version of Win32, or declare a more tightly-bounded version dependency (e.g. '>=1.7.0 <1.8.0' rather than merely ^1.7.0). But the best approach is simply to test regularly with the latest version of this package, and continue to move your minimum forward. As the package matures, these issues should gradually fade away.

Acknowledgements

The Tetris example listed above is a fuller worked example of a reasonably complete program that uses the Dart Win32 package. It is a port of a C version of the game by Chang-Hung Liang. More information...

The C implementation of Snake is by David Jones, and is ported with his permission.

The original C version of the Notepad example was authored by Charles Petzold, and is kindly licensed by him without restriction.

The summary Win32 API documentation comments are licensed by Microsoft under the Creative Commons Attribution 4.0 International Public License.

Changelog

2.5.0

  • [BREAKING CHANGE] Use new projection tooling for WinRT classes. WinRT APIs are still in development and should be considered experimental; expect volatility as the projection tools mature and map types like String and DateTime, as well as WinRT primitives such as IVectorView, onto their Dart equivalents. (This doesn't affect COM and Win32 APIs, which can largely be considered stable, with the exception of changes to the underlying metadata exposed by Microsoft.)
  • Add setupapi APIs, which were not being successfully projected. (#383, with thanks to @Sunbreak.) Add test to prevent that happening again.
  • Add additional setup APIs (#386, with further thanks to @Sunbreak).
  • Remove tools/ folder from published package to reduce download overhead.

2.4.4

  • Fix broken doc links.

2.4.3

  • Add Bluetooth LE APIs

2.4.2

  • Add speech API (SAPI) support and sample
  • Add Windows Audio Session API (WASAPI) support
  • Automate more struct generation
  • Apply more lints to source code
  • Add GetUserName and update sysinfo example

2.4.1

  • Fix import error for gamepad APIs
  • Add gamepad example

2.4.0

  • Added various inline functions, tidied up projection logic.

2.3.11

  • Add gamepad APIs

2.3.10

  • Add DPI_AWARENESS_CONTEXT enum values.

2.3.9

  • Add a few minor constants and handle typedefs. Nothing to see here.

2.3.8

  • Update package:ffi minimum version to 1.1.0, allowing use of arena
  • Hide Char within generated structs.g.dart in prep for new FFI feature.

2.3.7

  • Declare platform support using new platforms: declaration in pubspec.yaml
  • Update minimum version to Dart 2.15.0 and use constructor tearoffs

2.3.6

  • Add RegRenameKey.

2.3.5

  • Add FileTimeToSystemTime and SystemTimeToFileTime.

2.3.4

  • Added Windows Subsystem for Linux APIs (#342), with thanks to @ElMoribond. Add a new example that shows how to use them.
  • Added SetEvent (#343) and CreateIcon (#344), with thanks to @untp.
  • Add typedef for HKEY.
  • Add more optional lints.
  • Tweaked Explorer example.

2.3.3

  • Added CreateThread, CreateRemoteThread, CreateRemoteThreadEx() per request
  • Added GetMachineTypeAttributes and added logic for Windows 11.

2.3.2

  • Added CreateDIBSection per request.
  • Upgraded to latest published Windows metadata from Microsoft, which modifies the signature of some registry-related APIs from Int32 to Uint32 for better accuracy with the original API.
  • Updated to the latest code generator, ported back from the v3 code.

2.3.1

  • Use automatic code generator for most structs. This may be a breaking change if you use the Bluetooth APIs, since BLUETOOTH_ADDRESS.rgBytes is now an Array<Uint8> instead of a List<int>. This is more accurate, but will require minor code change.
  • Add additional raw input constants

2.3.0

  • Completely overhauled the metadata generation tooling (tools\projection directory). The code is much better structured, with each layer (type -> parameter -> method -> class) in its own ___Projection class. Fixed a number of errors in the process, such as the assumption that all enums are of type Uint32.
  • Rewrote several complex structs to use the new Union FFI type introduced in Dart 2.14 (and updated the minimum version accordingly). Code that uses the INPUT struct will need to be slightly modified, since the mi/ki/hi fields are now nested rather than provided as an extension property.
  • Cleaned up some COM Pointer types to be more explicit.
  • Add raw input APIs
  • Add low-level keyboard hooks example

2.2.10

  • Add Windows 11 rounded corner window support along with sample (check Flutter app in example\explorer)
  • Add magnifier APIs and example

2.2.9

  • Add some missing GDI functions

2.2.8

  • Add Native Wifi APIs (#299)

2.2.7

  • Added ResetEvent and complete OVERLAPPED struct (#295)
  • Added more virtual memory functions (#297)

2.2.6

  • Add some requested APIs thanks to contributions from @ilopX, in particular a new sample for enumerating locally installed printers.
  • Added ExtractAssociatedIcon, with thanks to @halildurmus.

2.2.5

  • Add more DWM APIs, including DwmSetWindowAttribute.

2.2.4

  • Add various DWM and subclassing APIs

2.2.3

  • Lazily evaluate lookupFunction FFI calls for improved performance.
  • Add APIs for hooks and a few extra kernel32 APIs
  • Add some more tests.

2.2.2

  • Add Windows Spooler library support.

2.2.1

  • Add initial support for the Windows Socket library (winsock2).

2.2.0

  • Fixes convertToHString to return an int, since HSTRINGs are handles. This is a breaking change for any apps that use WinRT APIs, but given the limited availability of WinRT classes that fall into this category, updating only the minor version.
  • Add low-level Device IO and structured storage APIs and diskinfo.dart sample.

2.1.5

  • Add smart card reader support.

2.1.4

  • Add helper functions for COM along with extra documentation.

2.1.3

  • Fix bug in shell COM APIs.
  • Add examples for shortcut creation and named pipes.

2.1.2

  • Add serial port comms APIs
  • Add additional shell COM APIs

2.1.1

  • Work around FFI regression in Dart master and dev builds.

2.1.0

  • Upgrade to Dart 2.13, which supports packed structs and arrays in FFI. This enables support for more automated generation of structs, which in turn increases development velocity for this package.

  • Other APIs included in this release include:

    • More complete Bluetooth support
    • MIDI support
    • High DPI support
    • IDispatch support
    • Many more core user32 APIs

2.0.5

  • Add some debugging APIs to allow enumerating exported symbols, along with a sample (dump.dart).
  • Free memory allocations in samples.
  • Use latest version of Win32 metadata from winmd package, and generate most structs automatically using this metadata.
  • Generate COM helper classes wherever metadata supports it, instead of requiring a manual decorator.
  • Add about 20 new kernel32 APIs.

2.0.4

  • Add network events, thanks to a contribution from @sunbreak.
  • Update COM vtable generation, thanks to a contribution from @bonukai.
  • Update to use the latest WinMD package.

2.0.3

  • Add spellchecking COM APIs, thanks to a contribution from @bonukai.

2.0.2

  • Adds named pipe APIs to support projects like TerminalStudio/pty.

2.0.1

  • Adds a demo of custom window shapes.
  • Removes Windows Metadata classes (now in the winmd package). This is a breaking change, but it's not anticipated to be a problem since these classes are only used for code generation.
  • Update to latest WinMD package
  • Add shell folder APIs
  • Add registry key APIs

2.0.0

  • Stable version w/ sound null safety.
  • Update to ffi 1.0.0 and address breaking changes.
  • 100+ new APIs in kernel32, user32, ole32, advapi32, shell32 and gdi32, as well as a series of COM interfaces.
  • Rework API wrapper to use functions instead of properties
  • New JSON-based metadata format for Win32 APIs that supports API sets and minimum versions, and more robust tooling for loading and saving metadata
  • Migrated Windows Runtime APIs into core unmanaged metadata
  • Add waveOut* APIs from winmm.dll (thanks @slightfoot)
  • Make VARIANT more representative of the underlying type.
  • Add DLGTEMPLATE and DLGITEMTEMPLATE structs with extension methods.
  • Add more tests.
  • Add dialog box example and supporting extension methods
  • New shell tray notification example (thanks @ilopX)
  • Better documentation of constants and callbacks

1.7.5

  • WinMM: Add PlaySound (thanks @Hexer10)

1.7.4

  • Add SysAllocString, SysFreeString, SysStringByteLen, SysStringLen, SHCreateItemFromParsingName
  • Rename VARIANT_POINTER to VARIANT

1.7.3

  • Expand Win32 API documentation.
  • New APIs:
    • User32: ClipCursor, CopyIcon, DestroyIcon, DrawIcon, GetCursor, GetCursorPos, GetSystemMenu, SetMenuInfo, SetMenuItemInfo, ShowCursor

1.7.2

  • Add Win32 API documentation and a couple of minor APIs.

1.7.1

  • Add version information APIs and example.

1.7.0

  • Changed how the C-style APIs are generated. This should result in far better code smarts in your editor, as well as major improvements to the auto-generated documentation.
  • Added many new APIs, including GetCurrentProcess and GetModuleFileName

1.6.10

  • New APIs
    • Shell: LockWorkstation, SHEmptyRecycleBin, SHGetDiskFreeSpaceEx, SHGetDriveMedia, SHQueryRecycleBin, InitCommonControlsEx, DrawStatusText
    • Add high-precision timing APIs: QueryPerformanceFrequency, QueryPerformanceCounter
    • User32: SetParent, CreateWindow macro, MonitorFromPoint, SetWindowsLongPtr
    • Kernel: Add SystemParametersInfo and related constants
    • Kernel: Add EnumProcessModulesEx (thanks @Hexer10)
  • Samples
    • Add example of using app manifests to declare support for UAC permissions and Windows 10 opt-in behavior
  • Windows Runtime metadata
    • Greatly expand WinMD utility to generate APIs directly from Windows Metadata
    • Autogenerate all Windows Runtime classes except ICalendar and IFileOpenPicker from metadata
  • Code tidy up
    • Add more tests
    • Go through all the code with a stricter linter
    • Update README with screenshots and examples
    • Update Flutter Windows examples to the v4 template

1.6.9

  • Add credential management APIs (thanks @hpoul)
  • Add battery and power management APIs
  • Overhaul HRESULTs and add more tests

1.6.8

  • Add font enumeration example
  • Experiment with hosting documentation on GitHub

1.6.7

  • Add basic registry checks
  • Add initial Bluetooth discovery support
  • Add a system information sample
  • Guard tests so that they work on Windows 7
  • Add some shell APIs and more tests

1.6.6

  • Add more process management APIs
  • Add high level monitor configuration API

1.6.5

  • Add a broader array of console APIs
  • Add a wallpaper example

1.6.4

  • Lots of documentation and linter cleanup

1.6.3

  • Add TaskDialog and dynamic library loading APIs
  • Add dynamic load and Windows Runtime metadata samples
  • Fix an annoying bug with WindowsDeleteString usage
  • Add more tests and restructure code
  • More library-level documentation
  • Add script for generating classes

1.6.2

  • Clean up some of the generated documentation

1.6.1

  • Lots of minor refactoring and tidy up
  • Some early WinMD parsing
  • Add many more unit tests

1.6.0

  • Add WinRT examples, including Windows.Globalization.Calendar and Windows.Storage.Pickers.FileOpenPicker
  • Add various process management and kernel APIs: CloseHandle, EnumProcesses, EnumProcessModules, GetModuleBaseName, GetModuleFileNameExt, OpenProcess, ReadProcessMemory and WriteProcessMemory.
  • Add modules.dart sample
  • Lots of refactoring and tidy up work.

1.5.1

  • Add GetTempPath()

1.5.0

  • Use automated Dart tool to generate all COM classes
  • Add IFileDialogCustomize, IShellItem2, IShellItemArray, IShellItemFilter
  • Fill out all the class methods
  • Fix some embarrassing bugs

1.4.2

  • Fix a few bugs
  • Add support for desktop background management with IDesktopWallpaper

1.4.1

  • Expand COM support to include IShellItemArray and various WMI classes

1.4.0

  • Add COM support
  • Add implementations for IOpenFileDialog, IFileDialog, IModalWindow, IShellItem, IUnknown
  • Add common item dialog example

1.3.2

  • Add Snake GDI example
  • Add PeekMessage, MoveTo, VirtualAlloc/Free, StretchDibBits, Beep
  • Tidy up code and test

1.3.1

  • Add RegisterWindowMessage
  • Fix bugs in ACCEL and FINDREPLACE structs
  • Fix various bugs in Notepad example

1.3.0

  • Add notepad example
  • Add 20+ new APIs for common dialogs, message sending, accelerators, menus, fonts and GDI object manipulation
  • Fix APIs to be 32-bit safe
  • Fix some minor bugs

1.2.6

  • Add window enumeration (FindWindowEx, EnumWindows, IsWindowVisible, GetWindowText, GetWindowTextLength) and example

1.2.5

  • Added Flutter example
  • Added common dialog example

1.2.4

  • Added volume management APIs

1.2.3

  • Add scrolling APIs and example
  • Add 'new' known folder API
  • Add some basic unit tests

1.2.2

  • Add known folder plus GUID classes

1.2.1

  • Added SendInput, Sleep and ShellExecute

1.2.0

  • Implemented a good sample of GDI calls
  • Added support for timers
  • Added virtual keyboard constants
  • Added a GDI paint sample
  • Added a more comprehensive sample game (Tetris)

1.1.1

  • Add class styles
  • Match recommended package structure per pub.dev

1.1.0

  • Added MessageBox and console APIs

1.0.0

  • Initial version

Installing

export PUB_HOSTED_URL=https://pub.mirror.p-hatan.com
flutter pub add win32
pubspec.yaml
name: win32
description: A Dart library for accessing common Win32 APIs using FFI. No C required!
version: 2.5.0
homepage: https://win32.pub
repository: https://github.com/timsneath/win32
issue_tracker: https://github.com/timsneath/win32/issues

environment:
  sdk: '>=2.15.0 <3.0.0'

# Declare that this package only works on Windows.
platforms:
  windows:

dependencies:
  ffi: ^1.1.0

dev_dependencies:
  # Handle command-line arguments for development tooling.
  args: ^2.3.0
  
  # For formatting Dart code (APIs for performing dart format).
  dart_style: ^2.2.2

  # Help ensure that the code is well-written.
  lints: ^1.0.1

  # Used for joining paths, as part of our path_provider integration test.
  path: ^1.8.1

  # Running the test suite.
  test: ^1.20.2

  # Windows metadata for automatically generating API signatures. The
  # relationship between these two packages is tightly coupled, since this
  # package includes a specific version of the Win32 metadata, so we pin the
  # dependency by version to avoid surprising conflicts.
  winmd: 1.0.28

Version history

VersionPublishedArchiveSHA-256
1.0.02020-03-27T19:17:21.262985ZDownloadc18d18001c1a538c3c3c3fa50071075a510e8be1736e1627b6e18e7bd5018416
1.1.02020-03-27T23:43:24.770743ZDownload483ac564be787efc21e6a99a3d62e6d7b97a19e25e7136176d1a587de8b87843
1.1.12020-03-28T19:34:28.610085ZDownload97501968fab92da15d033bcc16595f7910cb859a53f3c994ca3779945d29d076
1.2.02020-03-30T01:08:15.039036ZDownload06130fb70534445fec0ce5356de7613d193a67073c233af83f27260414236f10
1.2.12020-03-30T20:45:04.220636ZDownload449a037af1acf5b2c48c540be334dc6d2a0dea0c79b8bfa3805a53619f820d79
1.2.22020-04-01T00:55:10.776291ZDownloadf88b5d2d51aa1cb6701aeece5e7f9f33fd50ed1b70a573425186d43374e5ee31
1.2.32020-04-12T05:03:44.567786ZDownload4c717609dfdb17d7e9084c0ab9493bfc67848afd76caade2e543464b6e3af097
1.2.42020-04-12T23:39:05.462033ZDownload9a5dc7d17fbb4d5dc546de4a666c68af42ff1eccae81bbd849ee7becc8ef0b94
1.2.52020-04-13T18:41:40.262777ZDownload323de0ece02a60aa4624523fd2d53fb160cca4a008d6b64e94b9b8be21a7513a
1.2.62020-04-17T03:51:52.905731ZDownload21d38ee8782ab350298f862ccfb703aac46df427166262d4e7b8da65478dec12
1.3.02020-04-24T08:40:27.386156ZDownload871a81f3df81635829a666c3229c245d73de76de2ba0315e300189818b703134
1.3.12020-05-02T01:23:57.485988ZDownloadf802dec16c414b5e02da85a6696c9992a88e3e35a42f47b16742e817423de9e0
1.3.22020-05-03T01:34:25.435392ZDownload0df9e74036ab936dbe3d34681a21fba4fd0d6ad95e6f9a445e84ea2236a70b3e
1.4.0-dev.12020-05-30T18:02:38.374423ZDownload8274733017d0549a49431e2c3a943bd19d34ec1ed4cd2543e82866be80093791
1.4.0-dev.22020-05-31T01:55:54.235608ZDownload3ba287ee2035215f6ff23ecea194c3f544cf9f9073884e782a6066a2d873e601
1.4.02020-05-31T20:24:33.985345ZDownloadc8f0eacee0ee3cdd044002f60f78a71577191c10651c3248cf51d4e443dfdf80
1.4.12020-06-01T23:27:43.412019ZDownload1f73cf5a63faed883dfe941ed4cc3d709894f5eedbabc433a7f6f96d4346f00d
1.4.22020-06-02T05:09:40.974102ZDownloadd7cba8a8dbdf7dc2af509f2756752f54b45fcdcda45f0e5343dfc92c7bcde050
1.5.02020-06-04T01:08:39.785602ZDownloade6cd6c5c6647d2d9ab7e37a29ea3e9002d2b30754508fed928a0808c23da3aab
1.5.12020-06-04T22:24:14.490420ZDownloadeb3255fb1b5aaad1203f032049abe11c6993385a8a6aa5cefc4e336ab45aeecc
1.6.02020-06-10T05:16:43.253700ZDownload82354c24ff33856e9de505be9ace04f8baed59c10cc7832f2f44b8a5aa334c22
1.6.12020-06-17T02:03:55.584391ZDownloadc3f3dcf2343cb1702812e6930a6d825abf6d5f03ec43cfba79b83ad98f863d76
1.6.22020-06-17T04:48:36.440511ZDownload39afafc8301e877531d0842116e43882ba94b64c5a61a96df9488bd94e83d994
1.6.32020-06-18T04:46:44.775517ZDownloadfb85ae6b063c03b58797eebed0e0ef523b1fd73bdd007e146e38a50f98b8b8a0
1.6.42020-06-19T22:09:16.566897ZDownloadfde67ccf89fa1efc420914ac0dcb0163ca972af0ea9be6564ff1b16570b77940
1.6.52020-07-02T03:31:12.218237ZDownloaded7c4be3650c02c3536ad6f6e787d8be3761eda5fa81232420aa6cd81fb8ebf8
1.6.62020-07-04T00:32:43.395329ZDownloadc654e3ddc1a90f578022e3d81d2e0b6757b57e9a70ed7015526acd57446c7d7d
1.6.72020-07-07T00:44:55.194243ZDownload8f25d3effddc3aa71845905564d7ffb642051e99835130f8975c11c34282e89a
1.6.82020-07-08T05:35:31.390418ZDownload8ae1e53bd8a720ccc605c00066952d45b1a221adbfd16ab30163e052b054a845
1.6.92020-07-17T05:59:29.876923ZDownloaddbfb29191b4fd625d401f3d08347a3a8f06d3fa1f7c23f76d633b3e4ceeb1c37
1.6.102020-08-08T01:59:10.702998ZDownload3f303d04b13044d1c86b50e0c3389c45494bed170ae01f8d36ffdfd857a8cd05
1.7.02020-09-15T17:34:56.001126ZDownload50557870191cca2ff72385faa0bb56b11eb8dae4da3cf77a59e3e9dab6cd97fc
1.7.12020-09-17T18:03:05.577405ZDownloadb44d68ffe6a1f25a901acc38721c3bd16a5ae2a58a8a958c04611b545842edc4
1.7.22020-09-19T18:25:19.561614ZDownloadaab20c658176956f7b290b98e788b494784fbd9548d7cf4215869d34d050c1f0
1.7.2+12020-09-20T00:49:20.551310ZDownload6868e3052aaf6cb835cae1173400b9e27366b7640430c2edd8d45d8b6beb2bd6
1.7.32020-09-21T00:32:21.565655ZDownloadb75cab4a226b714862fd52be5ba40a0ed9c28abf6ad5cf25b368ae32dfe914e8
1.7.42020-11-14T23:55:14.608724ZDownloadffae3d014089b2743d45a4a8c5f2724128aaca4cfa29462a346e5a5c4026debc
1.7.4+12021-01-30T02:00:34.842255ZDownloada96e8d78811ab1dfdfbb955f3c3f411f73dab5eb76707d3af13cafab53b412fa
2.0.0-nullsafety.02020-11-19T23:30:46.066711ZDownload83aa2275bbd7eeebd2181c0e748a082a94cbd9389794e43056055173c53a9d80
2.0.0-nullsafety.12020-11-22T07:26:29.815848ZDownload668a7e6ab3ae65d31ce08cd69fd9233ace1f0400008551b42e2d85e468490b75
2.0.0-nullsafety.22020-11-22T20:41:18.731351ZDownloadc1a452e3720f8bc18c2c2e9ceb9121e972cf83ece62a55000bf42cca6dc79300
2.0.0-nullsafety.32020-11-22T22:32:25.479638ZDownload194b384dd10fc61ba9652acfbf62368e9f66c62e078d86a23908bbd32baccc38
2.0.0-nullsafety.42020-11-23T02:19:03.425594ZDownloadca10ccd92887a6fc927ef30d2e848eeb54cef0678e243b126cdcd71abe6132f0
2.0.0-nullsafety.62020-11-28T19:08:07.312567ZDownload5fac4efc6dc8bd3496a21c413e382920d96f095ed4f685a939cd874784a38207
2.0.0-nullsafety.72020-11-29T06:16:07.778063ZDownloadeeb6af6e038be7b549f26481a70b671c17118cc66a1f6181baf8c6a3d71d50b4
2.0.0-nullsafety.82021-01-19T18:20:43.551491ZDownload9858d2dde9fedd5fce03ef84056b11081eb2a5067279b98af98f4d7bc08b0b63
2.0.0-nullsafety.92021-01-30T04:22:16.618454ZDownloadafd6bf4f4d509b8786eda69111231ef9a91574a6c3159178ee3697a8425e9899
2.0.0-nullsafety.102021-02-04T19:00:32.724093ZDownload865fe2f32a6f57869924e44ac731b2582255f69ef90e46fab373d991fbd20e42
2.0.0-nullsafety.112021-02-11T23:30:49.529804ZDownloaded92f8ea5df1a4b0f768e8e169b526fb1fb06c80afda42c34d5cf8a584c03402
2.0.0-nullsafety.122021-02-11T23:40:44.206842ZDownloadea8357cd7cd11829b34a4e032c13251eba20f448af9694cc73a7f13dc0960f87
2.0.02021-02-12T02:57:32.026082ZDownloadc6a3f4e4058b70b46e27b2935de2d1562c50680e7fb44833911d981db73826c2
2.0.12021-03-12T00:47:54.039663ZDownload21bc58930a31799c090b5a01005ff41fb36834a770c29025f8472e7ed8018d3b
2.0.22021-03-12T06:03:10.559853ZDownload172d21a88b25a4216e1c0deff84bb42102dc2e30d8fd2e663500a148ae87fc10
2.0.32021-03-12T22:14:27.599323ZDownloadbe07709c67e20f071a6ab6078aa356ac11ff27f22ee112c78ea7c2f8cab756be
2.0.42021-03-14T04:10:35.031978ZDownload11661cfdf2de1d46dc6e988fd98c0ffbd70e1eb0172efd726cb64648b11b3815
2.0.52021-03-27T22:11:38.344915ZDownloadc0ee29e0f6e4ee5a63983aae753640adc15017b34e50424f8b45063426e19c5b
2.1.0-pre.02021-04-25T03:25:12.376437ZDownload32e6bd1ffdb1eb2a662ed4c135d746dbf9aecb5546a9e85fa23daa5e627f0c48
2.1.02021-05-18T16:08:18.689075ZDownloadbcaf2920593b7375c8693fa54e12831c8cf38bc288aac70845de55e8ac1a4445
2.1.12021-05-19T22:04:17.644586ZDownload6e4d8aa049a4853e2036a864733341496e1dea326f93a590d30f07bc2cb85119
2.1.22021-05-31T20:18:45.508055ZDownload52b0c2ce8a9e8234d7192ec9c2b5471fc2427c09a9498cf0101f47287354e293
2.1.32021-06-01T06:14:55.687014ZDownload511356ee79afeb353d14838d1559a14ab3c941edc52d4f38b525a2cd8a3f4cfd
2.1.42021-06-07T07:03:54.840984ZDownloadfbeee51885e6a077a5f23da39af627d6f05a62a37f53f51de59ac0140fddc5e2
2.1.52021-06-09T05:33:09.057464ZDownload218694b016632d844bef2fcb9c3a35d96ef6258f6d5e8e0e01e5c762a69f8a75
2.2.02021-06-19T00:06:24.782738ZDownload27293af52f20d6ea82d99d918c02967a5012dd7b4dd96b765a3464d2e4c5a20f
2.2.12021-06-19T16:34:49.125987ZDownload9b2578ba5512e1fdd6c6de740b8516371e33b05f2cb066d0ce80bb54faabc2c3
2.2.22021-06-20T20:03:46.137608ZDownloadc84a230f60fbb5ed629e47dcec1af11e2098e89a9402da8cae2ec619703957d4
2.2.32021-06-23T06:03:04.754364ZDownload82e616d70fcd61b589320e6a3a740a504eb51d0bac48948fce9cccae56f093dc
2.2.42021-06-24T05:13:16.126323ZDownload049e21d78f8e9247d3206830e98ba8406313dd6386d9e7046b8d4b869260129f
2.2.52021-07-05T21:29:45.255536ZDownload309dff75a557c8bacaa3d0958c2f800d0b452c22998544f147ef99aae61b66f1
2.2.62021-08-23T17:57:50.044010ZDownload316d1da725ff5373be7e047eb9086e5162568d2e117c08ab12b314c25fa08e2e
2.2.72021-08-26T16:24:40.760163ZDownloadb11fdeab6e02d77e61b03c4e8c441c5ed3a32107fe983c82ce13a9d82d6244cf
2.2.82021-08-29T22:32:28.493487ZDownload58e293c8f694209e1833a1b442a71203312a19b9ad27624d754b4cda5ba83497
2.2.92021-09-06T00:14:07.615196ZDownloade106274d51db0b69e8739155ace8089bfa97183e4cead8e6397b053c29cd86fe
2.2.102021-10-20T04:19:25.612165ZDownload198196d2f4f7497c3ccf2f7b6bff46c8961ae83cd37f407c60bd29be5267ebaa
2.3.02021-11-12T18:58:30.447708ZDownloadc3f0cf472871ec6c16a17805601957d75f2a41271297a67b1ae200237c7f084a
2.3.12021-11-24T00:27:23.824362ZDownloadb4fac3d153ec22dedd5661884a5a031d042adf90e8bf688dbdca1b11634bd754
2.3.22021-12-21T18:59:36.062743ZDownload17e89eea367cf76bd86313c0bde6d34ef178b0c709a4d795dcb9b362a1e328c7
2.3.32021-12-23T19:02:47.238965ZDownloadb5e8617835083bef10ed209288a540859f33863b0db367870923ed66a51e4e40
2.3.42022-01-16T20:27:54.811322ZDownloaddfebfc2aa9b922280ab23dc8c4db88d9b04c3bb51ba972ad88c0d78d7f6210fa
2.3.52022-01-17T03:09:00.783317ZDownload838330bebff82da4ba02ca4f01e0c59a847ed2c5189cbaa3722c50f5762fc0e0
2.3.62022-01-17T08:20:13.763952ZDownload0b2350f19ef62ccc5d594ea92d9107230210ae0b37459686687b70f41b911e12
2.3.72022-01-21T19:07:43.332271ZDownload7900f4b0e65003b544a24f858ef5b79fbf176b862d00bedf8d0c3d6f7cd9f616
2.3.82022-01-21T20:07:43.748514ZDownload9c74034bdda8a2cdc3627d29a8738332419ca042409071ae7fba4d501fa54cb6
2.3.92022-01-30T22:19:45.648537ZDownload0fa05c7a6a1dbf5dc729a499cea885004fcf5a3adb8491d852838fe692342429
2.3.102022-02-01T02:26:21.498042ZDownload9273b3769064f82a3b330d95123d7d6cabc5ecbc59497abc7191e0a43920225b
2.3.112022-02-07T01:05:53.611805ZDownloadc697d90956c327791956eccd34c67fd7ea4952c5561d7539c394c8a5cf9927fb
2.4.02022-02-14T06:58:18.926298ZDownloade67cb1f059fe46233082be43a214d9ad991ecca3bee4d28fae670c70caac66f9
2.4.12022-02-17T04:53:32.878702ZDownloadcde1e6d546d8cfd0b3c72bc6f29d980fa629d1cb107f38e2a039ca5d10d79e41
2.4.22022-03-20T01:30:15.636431ZDownloadb5c8a6f9bc77156846d9a5c6ddc1a3f4256e3e2ab564629747ee162291e7db1f
2.4.32022-03-22T21:01:33.786495ZDownloade404c1a416e9ec3ef9891bc781599cf6dd954976700b6567ac097a850de9dd9d
2.4.42022-03-23T00:26:17.022532ZDownload8dd0c450f748d553a8181c6cb9fdf12b987cebaeccdbc75032186b89ae93907b
2.5.02022-03-28T02:56:26.971578ZDownload4b0c8f8459cf2b2b524d81dbd678de26f0f1a7b1fd5656c05425b60ec3f383fd
2.5.12022-03-31T00:52:24.775236ZDownload1709e736470cadbeefb717fb7936d014132d8a818de40f4be2f549a92ba50e82
2.5.22022-04-26T01:46:14.644393ZDownload4658d864d83cdaedcbf3e65ad93b71880a3e8c9ee1ff15d855f88fb2da66cb8a
2.6.02022-05-15T05:07:12.866648ZDownload4379fb664564ca239dcb05f6e03e27096b1e2ad09d35d89786a2f8966ecfc8a9
2.6.12022-05-15T21:52:50.658774ZDownloadc0e3a4f7be7dae51d8f152230b86627e3397c1ba8c3fa58e63d44a9f3edc9cef
2.7.02022-05-27T22:22:43.335880ZDownload6b75ac2ddd42f5c226fdaf4498a2b04071c06f1f2b8f7ab1c3f77cc7f2285ff1
3.0.02022-08-30T17:39:29.343176ZDownload1952a663c0e34fbde55916010d54bbb249bf5f2583113c497602f0ee01c6faa4
3.0.12022-10-14T20:04:04.816011ZDownload9555cd63283445e101f0df32105862fdc0b30adb9b84fd0553e9433b3e074d4c
3.1.02022-11-06T00:35:46.376506ZDownload8c9f247c668da68597c44a04b60b5fa79f70f3f6a5b6ef28f5a4726f1febef78
3.1.12022-11-08T00:49:41.362922ZDownloadd13ac5deea7327f027b3b97ee19ee210f68256ecf3f1a304bcfb992ee947637c
3.1.22022-11-25T18:39:46.694282ZDownloadca121dbbadb3e43b449053feab0cdf3f2bff93b107cacf0290e3d29f717374b6
3.1.32022-12-17T01:25:05.436929ZDownloadc9ebe7ee4ab0c2194e65d3a07d8c54c5d00bb001b76081c4a04cdb8448b59e46
3.1.42023-04-08T00:00:48.240657ZDownloada6f0236dbda0f63aa9a25ad1ff9a9d8a4eaaa5012da0dc59d21afdb1dc361ca4
4.0.02022-12-30T18:34:42.954956ZDownload6a368fbb7799a61fc03a2be8bc19a1635ee0971f6f60c43974604476431130dd
4.0.12022-12-30T19:56:21.333014ZDownload2c6d61259a7573e66b80140d35f57c913a7c2533ab8385a8bf99a141dc2b82b6
4.1.02023-01-06T16:49:12.217263ZDownloade96ad5947e8f23a94c59ad752ab183eeadb2964818a750d409812621b9b0045d
4.1.12023-01-30T09:59:48.964698ZDownload5cdbe09a75b5f4517adf213c68aaf53ffa162fadf54ba16f663f94f3d2664a56
4.1.22023-04-08T00:13:57.159792ZDownload138fc1f28e72f7424300818ab5505bfcca6728a3ff033758f4f9115f364c9c0f
4.1.32023-04-12T23:06:58.203389ZDownloaddd8f9344bc305ae2923e3d11a2a911d9a4e2c7dd6fe0ed10626d63211a69676e
4.1.42023-05-05T05:00:19.358405ZDownload5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c
5.0.02023-05-11T04:19:56.497743ZDownload1a2b223d727763433987bfb61916404272342812cc7b88c3b77b2ba25010e90a
5.0.12023-05-15T18:09:58.153023ZDownloaddc6fb9b93c3578868ab0b00e91b584d0a1baff7e5ad3e47f841aba0d0f98058e
5.0.22023-05-16T20:55:20.054402ZDownload6ca3aaab1790eeb1f5cad232e33d9c53ba66e884dd3e7686c4e730bffc45f1a3
5.0.32023-05-29T17:37:15.550276ZDownload7dacfda1edcca378031db9905ad7d7bd56b29fd1a90b0908b71a52a12c41e36b
5.0.42023-06-20T12:24:33.873972ZDownload1414f27dd781737e51afa9711f2ac2ace6ab4498ee98e20863fa5505aa00c58c
5.0.52023-06-27T07:26:53.919964ZDownloaddfdf0136e0aa7a1b474ea133e67cb0154a0acd2599c4f3ada3b49d38d38793ee
5.0.62023-07-25T08:32:20.802736ZDownloadf2add6fa510d3ae152903412227bda57d0d5a8da61d2c39c1fb022c9429a41c0
5.0.72023-08-24T09:26:22.547420ZDownload9e82a402b7f3d518fb9c02d0e9ae45952df31b9bf34d77baf19da2de03fc2aaa
5.0.82023-09-19T11:51:28.264141ZDownloadc97defd418eef4ec88c0d1652cdce84b9f7b63dd7198e266d06ac1710d527067
5.0.92023-09-26T08:10:05.861485ZDownload350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3
5.1.02023-11-15T08:27:53.120691ZDownload7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f
5.1.12023-12-01T09:04:42.534495ZDownloadb0f37db61ba2f2e9b7a78a1caece0052564d1bc70668156cf3a29d676fe4e574
5.2.02024-01-04T09:37:18.785730ZDownload464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8
5.3.02024-03-08T09:15:00.937855ZDownload8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480
5.4.02024-03-30T08:26:01.197052ZDownload0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a
5.5.02024-04-25T10:54:57.137177ZDownload0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb
5.5.12024-05-15T10:20:16.089862ZDownloada79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4
5.5.22024-07-31T13:34:41.764253ZDownloaded1b29469ef4158ab78295c967a2948d6e1b84dd6cb12d3a6dc677403e59647d
5.5.32024-07-31T14:08:06.610931ZDownload015002c060f1ae9f41a818f2d5640389cc05283e368be19dc8d77cecb43c40c9
5.5.42024-08-12T10:19:23.258073ZDownload68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a
5.5.52024-10-02T08:54:34.343792ZDownload4d45dc9069dba4619dc0ebd93c7cec5e66d8482cb625a370ac806dcc8165f2ec
5.6.02024-10-12T14:28:55.263241ZDownloade5c39a90447e7c81cfec14b041cdbd0d0916bd9ebbc7fe02ab69568be703b9bd
5.6.12024-10-18T10:02:59.404030ZDownload2294c64768987ea280b43a3d8357d42d5679f3e2b5b69b602be45b2abbd165b0
5.7.02024-10-19T20:16:27.679339ZDownload2735daae5150e8b1dfeb3eb0544b4d3af0061e9e82cef063adcd583bdae4306a
5.7.12024-10-22T12:21:34.702375ZDownloade1d0cc62e65dc2561f5071fcbccecf58ff20c344f8f3dc7d4922df372a11df1f
5.7.22024-10-28T15:47:16.664306ZDownload10169d3934549017f0ae278ccb07f828f9d6ea21573bab0fb77b0e1ef0fce454
5.8.02024-11-02T10:22:41.545382ZDownload84ba388638ed7a8cb3445a320c8273136ab2631cd5f2c57888335504ddab1bc2
5.9.02024-11-29T17:00:49.474863ZDownload8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69
5.10.02025-01-01T11:31:40.761948ZDownload154360849a56b7b67331c21f09a386562d88903f90a1099c5987afc1912e1f29
5.10.12025-01-27T14:36:14.487524ZDownloaddaf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e
5.11.02025-02-19T12:05:45.555579ZDownloadb89e6e24d1454e149ab20fbb225af58660f0c0bf4475544650700d8e2da54aef
5.12.02025-03-11T18:34:56.732254ZDownloaddc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f
5.13.02025-05-09T13:52:13.859967ZDownload329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba
5.14.02025-06-12T14:20:21.937414ZDownload66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03
5.15.02025-10-07T17:15:15.179694ZDownloadd7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e
6.0.02026-02-22T11:11:52.973437ZDownloade7489db51886360dad710b3bc177108267f0554644dd04102dcb35f23b71c738
6.0.12026-04-11T19:51:26.423030ZDownload316d813e24518851c2682b1a57bc7e2e54e9c7b81493d48bef502fea0c17f841
6.1.02026-04-22T16:20:08.008289ZDownloadba7d5750e3441caa1bbe31d9e516348fcf8dfcb32aa29ef87a844a59f4d1f1d0
6.2.02026-05-07T14:09:11.811028ZDownloada1fc9eb9248baa05dfc12ed5b66e377b3e23f095eec078e0371622b9033810d9
6.3.02026-05-22T20:35:38.642769ZDownloadba6f4bba816c8d7e3c1580e170f3786d216951cc6b94babc3b814c08d2cb2738
6.4.02026-08-05T08:45:19.974634ZDownloada0b93865d5644f11cf6a8c3f6db909f1ec168958b5805f6cc684adea957cd63d

Dependencies

ffi "^1.1.0"