Giter Site home page Giter Site logo

diamondburned / gotk4 Goto Github PK

View Code? Open in Web Editor NEW
437.0 16.0 19.0 59.9 MB

Autogenerated GTK4 bindings for Go

License: GNU Affero General Public License v3.0

Go 97.05% Nix 0.26% C 2.38% Dockerfile 0.12% Assembly 0.19%
gotk3 gotk4 gtk3 gtk4 go gobject-introspection golang

gotk4's Introduction

gotk4 logo

gotk4

built with nix

A GTK4 bindings generator for Go.

Package documentation | Package examples | GIR documentation | Progress tracker

All generated packages are in pkg/. The generation code is in gir/girgen/.

Examples are put in another repository, diamondburned/gotk4-examples, along with instructions on getting started with using these packages. Refer to its README for more information.

As of the time this README was written, most of pkg/gtk/v4 and pkg/gtk/v3 are ready to be used for most purposes. However, memory leaks and sometimes crashes may occur in certain parts of the API, while other parts might be completely missing. In that case, an issue should be opened.

Contributing to gotk4

For contributing guidelines, see CONTRIBUTING.md.

Community

For questions and discussions, join the gotk4 Matrix room!

License

gotk4 contains 3 directories licensed differently:

Some small snippets of code were taken from tinyzimmer's go-glib, which implements type subclassing.

The logo is licensed under the Creative Commons CC0 1.0 Universal Public Domain Dedication from egonelbre/gophers. It was modified to have a GTK4 logo.

The Gopher itself is licensed under the Creative Commons Attribution 4.0 by Renee French.

The GTK logo is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported by Andreas Nilsson, taken from the GNOME Project.

gotk4's People

Contributors

christian-schulze avatar diamondburned avatar janvhs avatar jgillich avatar lukeshu avatar tadeokondrak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gotk4's Issues

Generate mutually-exclusive types depending on its version

Right now, type generators for classes, interfaces and records all generate its methods in the same file as the declaration, which means that methods added later will be grouped into the same unversioned file.

The solution seems to be to generate one additional file containing the base version that wouldn't be included if any versioning build tags are provided. This is because we cannot define methods in addition to existing ones if we're declaring everything inside an interface, so the interface declarations will have to be mutually exclusive somehow.

An example:

gtkwidget.go

// go:build cgo && !gtk-3.32
type Widget interface {
    BaseMethod()
}

gtkwidget-3.32.go

//go:build cgo && gtk-3.32
type Widget interface {
    BaseMethod()
    NewlyAddedMethod()
}

The filename or extension is too long

please help me 'go build github.com/diamondburned/gotk4/pkg/gtk/v3: C:\golang\pkg\tool\windows_amd64\cgo.exe: fork/exec C:\golang\pkg\tool\windows_amd64\cgo.exe: The filename or extension is too long.'

Need access to gdk_pixbuf_get_type (ListStore for IconView / TreeView)

I know it's possible to do this in the builder (I used to do it before gotk3 had the function) but that seem like driving a heavy truck to move a letter. And I'd prefer not to show that in the gallery example.
IconView is not really usable without that.
Here's the gotk3 code:

// PixbufGetType is a wrapper around gdk_pixbuf_get_type().
func PixbufGetType() glib.Type {
	return glib.Type(C.gdk_pixbuf_get_type())
}

This was in gdk/pixbuf.go, I'm not sure if it belongs in the gdkpixbuf package like : gdkpixbuf.GetType() or just gdkpixbuf.Type()

Nullability/optionality support

Add support for optionality and nullability.

  • Differentiate between optional and nullable.
  • Determine whether or not a pointer type is needed.
    • string types should be nil if empty, possibly.
  • Add appropriate checks.

Safer toggle referencing

Preamble

Right now, signal callbacks in gotk4 are implemented by using uintptrs to
trick the Go garbage collector (GC) into thinking that an object, in our case a
per-object callback registry, is no longer used. The finalizer will confirm
that, or it will delay the GC of that registry until later.

This method works, because a global registry of registries is required for the
Cgo callback to know what to access the actual callback pointer from. There
isn't a safe way to directly hand the callback that pointer.

This is needed, because any strong global reference to the object will keep the
object alive, and therefore none of the signal callback finalizers will be
called, forever keeping the object on the global registry. The uintptr borrows
the GC to periodically check when an object can be thrown off the global
registry.

Why change?

This method is very ugly, in that it relies on the assumption that
heap-allocated pointers will not be moved by the GC. The import
assume-no-moving-gc helps guarantee this.

However, relying on such an assumption is relying on an implementation detail of
the Go runtime, meaning that it's an extremely bad idea.

Proposal

There is a safer way of achieving the aforementioned use case without using
uintptr.

Give each GObject 2 finalizers:

  • 1 for handling a regular reference using g_object_ref and g_object_unref,
    and
  • 1 for handling a toggle reference for the callback registry.

The regular reference handler shall be specific to each *glib.object instance,
meaning that for each *glib.object allocated on Go's heap, a regular reference
must be taken.

The callback registry's reference is that of a toggle reference, so all
*glib.object instances of the same C object should all share that one toggle
reference.

The use of the toggle reference lets us know when the toggle reference is the
only reference left on the object. By requiring all Go instances of *object
take a regular reference every time it's used, the toggle reference callback
will let us know when the global registry reference is the only reference
remaining.

If that were the case, it implies that neither C nor Go currently has a
reference to the object except for the internal callback registry in the Go
heap, which makes it impossible for the user to "revive" the object. We can then
safely delete it off the registry.

Note that no uintptr trick is needed here: we're not relying on Go's GC to do
the dirty work anymore. All we're doing is using GLib's toggle reference
callback to wipe itself off the global registry, and Go's GC will do the rest
for us the same way it handles everything that isn't global.

Prototype

type Object struct {
	*object // setFinalizer
}

type object struct {
	reg *registry // setFinalizer
	obj *C.GObject
}

Be more conservative in converting types

Currently, gotk4 converts types back and forth primarily using 2 ways: either by directly casting the value or resorting to functions like C.CString or C.GoString. For the most part, this works great.

However, in some cases, the GIR files contain weird pointer requirements. For example, a badly annotated function parameter may require gchar** to denote an array without actually using an <array> tag. This confuses C.GoString().

An attempt to fix this was using the convertRef routine, which handled this in a slight convoluted (and very incorrect) way. It requires the conversion routine to specify the pointers it accepts and returns, and the convertRef routine will generate the appropriate reference and dereference code. This theoretically sounds like a good idea, however realistically, there is rarely ever a case where the pointer difference is more than 1. Also, in most cases, parameters like that have some special meaning to them that the code cannot guess.

Because unusual pointer requirements usually have a special meaning, the conversion routine cannot assume anything about it. This includes gchar**. Instead, the conversion routine should preserve the original type **byte, even though it might seem ugly. This gives the caller the control over how things should work, which is good, because humans can parse documentation, and machines cannot (trivially).

For example, if a function expects gchar** and the documentation states that it is a null-terminated array of strings, the caller can do this:

strings := make([][]byte, len(input)+1) // null-terminated
for i, str := range strings {
    input[i] = []byte(str + "\x00") // null-terminated
}
FunctionName(&strings[0])

If the type conversion routine can be more conservative like this, then there wouldn't be a need for a convertRef routine. Instead, the conversion routine could simply only handle strings, errors and whatnot only when the conditions match up, which is most of the time.

This approach only applies to primitive types. This means that, for classes (like GtkWidget) or records (like GError), an unusual pointer requirement will force the converter to skip, as the implementation difference has to be handled internally in order to not leak the C type.

glib.HashTable support

Lots of important things need HashTable support, like some very crucial functions in libsecret. Supporting HashTable properly requires accessing a []Type from the XML, which is planned to be implemented like so:

type AnyType struct {
	// Possible variants.
	Type  *Type  `xml:"-"`
	Array *Array `xml:"-"`

	ValueType  *Type  `xml:"-"`
	ValueArray *Array `xml:"-"`
}

var _ xml.Unmarshaler = (*AnyType)(nil)

func (a *AnyType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
	var all struct {
		Types  []*Type  `xml:"http://www.gtk.org/introspection/core/1.0 type"`
		Arrays []*Array `xml:"http://www.gtk.org/introspection/core/1.0 array"`
	}

	if err := d.DecodeElement(&all, &start); err != nil {
		return err
	}

	if len(all.Types) > 0 {
		a.Type = all.Types[0]
	}
	if len(all.Types) > 1 {
		a.ValueType = all.Types[1]
	}

	if len(all.Arrays) > 0 {
		a.Array = all.Arrays[0]
	}
	if len(all.Arrays) > 1 {
		a.ValueArray = all.Arrays[1]
	}

	return nil
}

However, this doesn't work, as the fields are seemingly missing after UnmarshalXML.

Relevant issue: golang/go#20754.

  • C to Go conversion
  • Go to C conversion
    • map[string]string
    • map[T]T

glib.Value dereferencing will finalize

Right now, pkg/core/glib.Value does not have the extra layer of indirection
that other structs have for finalizing, and as a result, dereferencing a Value
upon construction will cause it to be finalized early.

type Value struct {
	gvalue C.GValue
}

func NewValue(v interface{}) *Value

v := *NewValue("string")
// Underlying value might be finalized.

File generators

Preamble

For a while, gotk4 has alwayws generated everything into one large file. This
has several advantages of being faster to compile and having a lot more
manageable folder (one that doesn't have a hundred files lying around).

Problem

The lack of a separation of files makes sane versioning almost impossible to do
with build tags. In gotk3, everything added after a certain version will always
be added into another build tag to allow building the library without requiring
the latest version everywhere. This has come in handy several times in the past,
such as Pango's attributes being too new for certain outdated distros like
Ubuntu or Debian.

Furthermore, despite having a lot less files in a folder, it became much harder
to jump to a line where an error has occured. Often times, the build output may
point to lines that are 4 or 5 digits long, which makes it very hard to access
the error.

The gigantic file size of a single output file also means that it is now
impossible to directly jump to the source code from the documentation page, as
GitHub will refuse to render a file that large. The user will have to view the
raw file and manually search around, which is very inconvenient.

Solution

Ideally, not only should different routines such as type resolving and
converting be in different packages, they should also be completely decoupled
from the namespace generator entirely. Instead, they should use interfaces that
allow them to do that, similarly to a contract of some sort. This goal is very
similar to issue #8.

Once this has been done, a new file generator could simply be made that extends
the namespace generator to be used. The new generator should never be given
directly to the type resolving routines, but it should still contain its own
side effects to be written to the top of the file, such as imports.

Implement structs as a value wrapped around a container type

Go structs generated should be defined as such:

type Record struct {
	*record
}

type record struct {
	native *C.CType
}

Then, the finalizer can be set like so:

v := &record{native: c}
runtime.SetFinalizer(v, (*record).free)

return &Record{
	record: v,
}

This way, the caller could safely copy Record without worrying about losing
the finalizer. It will also allow the generated Go code to express the same
level of pointers, though this might be trickier than it seems.

The generated record should have a Copy() method explicitly for duplicating
the underlying C value, though, and the method should reset the finalizer, but
some record types already have a _copy() method, so we don't actually need
that.

Colored logs

Right now, the generator's output is very hard to read. It would be nice if the output can be colored in a non-intrusive way.

Progress

This issue keeps track of what's accomplished in the repository.

  • Types and signatures
    • Arrays
    • Enums
    • Functions
      • Signatures
        • No missing types
        • Boxed pointer types with interface{}
      • Implementation (see "Type resolver and converter")
    • Callback
    • Structs (records)
      • Type
      • Methods
    • Classes
      • Methods
    • Interfaces
      • Methods (as functions)
      • Virtual methods (as the interface body)
    • Add all missing types (as PRs to gotk3/glib)
      • glib.Parameter
      • glib.ParamSpec
      • glib.Callback
  • Type resolver and converter
    • Type resolver
      • Array type resolver
    • Type converter
      • Arrays
        • 1-level deep
        • Infinite recursion
        • GArray (can preallocate)
        • Null-terminated
      • Types
        • Custom GLib types
          • GType
          • GValue
          • GObject
          • GInitiallyUnowned
          • GCallback
        • Enums and Bitfields
        • Aliases
        • Callbacks and Functions
          • CGo signature headers (extern)
          • Base wraps
          • Destroy notifiers
        • Classes and Records
          • Base conversions (glib.Take and copying record fields)
          • Wrap function and parent wrap resolver
          • Memory management (ownership)

Current package list:

  • atk
  • gdk
  • gdkpixbuf
  • gdkpixdata
  • gdkwayland
  • gdkx11
  • gio
  • glib
  • gobject
  • graphene
  • gsk
  • gtk
  • pango
  • pangocairo

How to connect signals with builder?

Hi,

thank you for your perfect work! I'm trying to migrate from gotk3 to gotk4.

I don't find a way how to connect signals with builder.
Like https://github.com/gotk3/gotk3-examples/blob/master/gtk-examples/glade/glade.go I used in gotk3

builder.ConnectSignals(signals)

The migrating guide https://docs.gtk.org/gtk4/migrating-3to4.html#adapt-to-gtkbuilder-api-changes says "gtk_builder_connect_signals() no longer exists. Instead, signals are always connected automatically.".
Can you tell me how this works with this package?

Get rid of gdesktopappinfo.go for Mac

In Macs there is no such file gio/gdesktopappinfo.h I read that file specific for linux and samples does not work with gtk4. I just deleted cgo includes and go file as a result could run simple example and drawingarea on my Apple M1.

Invalid type/array markings

The GIR files have a lot of flaws, and one of them is not marking pointer types
as proper arrays. An example is g_simple_proxy_resolver_set_ignore_hosts,
which is described in the GIR XML file as such:

<!-- Documentation omitted for brevity. -->
<method name="set_ignore_hosts"
        c:identifier="g_simple_proxy_resolver_set_ignore_hosts"
        version="2.36">
  <return-value transfer-ownership="none">
    <type name="none" c:type="void"/>
  </return-value>
  <parameters>
    <instance-parameter name="resolver" transfer-ownership="none">
      <type name="SimpleProxyResolver" c:type="GSimpleProxyResolver*"/>
    </instance-parameter>
    <parameter name="ignore_hosts" transfer-ownership="none">
      <type name="utf8" c:type="gchar**"/>
    </parameter>
  </parameters>
</method>

In this XML block, the ignore_hosts parameter is actually a C array. The
documentation tells you this. However, it is not actually wrapped in an
<array> tag, nor is there any kind of indication that this type is an array
beyond the comments.

A quick and dirty fix for this issue seems to be that the type converters can
simply assume that the type will be a slice. With this, the binding function
signature in Go would be:

func (SimpleProxyResolver) SetIgnoreHosts(ignoreHosts []string)

This also has several advantages. For one, in some GLib/Gio functions that are
used for character set conversion, the caller now has control over weird cases
that are similar to this. For example, the g_ucs4_to_utf16 function expects a
string, but <array> isn't used either.

In some other cases, the type may not actually be an array, but the function
would still expect more than one value of the type be allocated at the pointer's
destination, which is very similar to an array already. If a Go slice were to be
generated, the caller can manually read the comments and allocate an appropriate
slice. This would be much safer than passing in a Go pointer.

In other odd cases, the function may actually want a weird reference somehow,
and the caller will have to somehow unsafely create a Go slice pointing to a
pointer value in order to preserve a copy. Despite this, it may still be a
better idea to carry on regardless, because in the case of SetIgnoreHosts,
have the function parameter type be *string, the function would never actually
work, because the expected array is supposed to be zero-terminated.

Ultimately, none of the solutions listed above are perfect, but the slice
assumption clearly does allow a lot more flexibility, thanks to the pointer
semantics of Go slices. It is therefore a better idea to carry on with that.

Original Comment

// TODO: realistically, the difference between the expected poiner and what C
// wants is only 1. We can work around this.
//
// TODO: ideally, we should treat all foreign pointers as arrays, because they
// usually are. It would also allow the caller to allocate a sized array, as
// they could read the comments.
//
// TODO: there's a way to guess the pointer offset without switch-casing on
// every type. We can do this with IsPrimitive and IsClass fairly easily. We
// will have to account for Go type edge cases, however.

Class inheritance requires global namespace swapping

Preamble

Right now, the way class generation works, is that the implementation struct
only includes the parent type, which is usually the GObject itself. Interfaces
that it implements are generated as regular Go methods and conveniently utilizes
the class wrapper functions to reduce code.

Problem

The problem is, because some classes may implement interfaces from different
packages, and since the TypeTree routine naively uses the ResolveType API,
the returned methods of the searched interfaces do not contain the namespace.
These methods are then given to callableGenerator which then calls
TypeConverter and ResolveType, but since the namespace is not in the type
names, all methods will fail to resolve.

For example, if we're in package gdkpixbuf, and gdkpixbuf.Pixbuf implements
gio.Icon, then the searched-up Icon's methods will not contain gio. When
ResolveType sees this, it tries to restore the namespace by concatenating the
current namespace in, creating gdkpixbuf.Icon, which is false.

Below is the call tree that illustrates this problem:

  • classGenerator.Use
    • ifaceGenerator.UseMethods
      • updateMethods
        • newCallableGenerator (using ifaceGenerator's resolver)
        • callableGenerator.Use
          • NewTypeConverter
          • convert
            • ResolveType (using callableGenerator's resolver)

Solution

The best solution will involve several parts. First off, if the
callableGenerator were to take in a TypeResolver interface that would allow
the caller to override the current namespace for just this instance, then the
issue would then become that some code won't have the right namespace prefixes,
because the converter will mistaken the current namespace.

This means that the next solution to implement would be to somehow decouple just
type resolves away from the conversion. It might even make sense to give
ValueConverter two namespaces, the current one and the one to resolve with (or
the origin one).

Following that solution, ResolveType should then be completely decoupled away
from NamespaceGenerator at all. Instead, it should be its own function. We
could even make ValueConverter take in a callback ResolveType or a
TypeResolver interface that the caller can then use to wrap around and inject
its own namespace. Whatever it may be, the current ResolveType is only a
method because:

  1. Logging, which should be easily solved with (probably) option parameters (or
    a mini instance struct) that allow setting a LineLogger interface.
  2. Ignore searching, which is always part of Generator. This could be added
    into the TypeResolver interface.
  3. Type finding, which is also part of Generator and therefore can be in
    TypeResolver.
  4. ModPath, which formats the import module path into one that the caller
    wants, which can also be in TypeResolver.

From the list above, there are quite a few parts that rely on Generator that
it might be worth it to implement just one method that returns the Generator
instance to grab those common fields. It would also seem that a lot of these
abstractions should be their own packages, which would help decoupling a lot
more. Perhaps package girgen should only contain interfaces and the core
Generator.

A TypeResolver should not be file-dependent either. Ideally, it should be very
decoupled to the point of not having any side effects on anything at all
(including imports). This would make it a lot easier to reuse TypeResolver for
different purposes while easily allowing multiple files with versions and build
tags in the future.

Working record finalizer

Right now, record finalizers are implemented incorrectly. An example code from ./pkg/gsk/v4/gsktypes.go shows this issue:

	_cret = C.gsk_transform_rotate_3d(_arg0, _arg1, _arg2)

	var _transform *Transform // out

	_transform = (*Transform)(unsafe.Pointer(_cret))
	C.gsk_transform_ref(_cret)
	runtime.SetFinalizer(_transform, func(v *Transform) {
		C.gsk_transform_unref((*C.GskTransform)(unsafe.Pointer(v)))
	})

Here, the C-heap-allocated (malloced) _cret pointer is converted into a pointer to a Go type, and a finalizer is set on the converted value. This doesn't work, however. Running this code will trigger a runtime panic:

fatal error: runtime.SetFinalizer: pointer not in allocated block

It seems like the most straightforward solution would be to forbid Go from allocating record types at all by generating all records like so:

type Transform struct {
    nocopy [0]sync.Mutex
	native *C.GskTransform
}

This way, zero-values of Transform are always invalid, and the caller must use an appropriate constructor that mallocs the value. The nocopy field ensures that the struct value is never copied, because copying the struct value will ruin the finalizer. The alignment of that field means that nocopy does not grow the Transform type to be more than a pointer.

It might also be worth it to consider making native a uintptr type instead of an actual pointer type to reduce possible GC overhead, but this is likely already handled trivially in the Go runtime.

Invalid pointer found on stack for glib.timeoutAdd

runtime: bad pointer in frame github.com/diamondburned/gotk4/pkg/core/glib.timeoutAdd.func2 at 0xc0003c3a60: 0x13
fatal error: invalid pointer found on stack

runtime stack:
runtime.throw({0x1c7f681, 0x3430b60})
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/panic.go:1198 +0x71 fp=0x7f2712fba0c0 sp=0x7f2712fba090 pc=0x5794d1
runtime.adjustpointers(0x7f2712fba4e0, 0x7f265cb2c880, 0x2aab5c0, {0x2aab5c0, 0x3430b60})
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:617 +0x1d0 fp=0x7f2712fba128 sp=0x7f2712fba0c0 pc=0x591690
runtime.adjustframe(0x7f2712fba4e0, 0x7f2712fba5c8)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:659 +0xcc fp=0x7f2712fba1d8 sp=0x7f2712fba128 pc=0x5917ac
runtime.gentraceback(0x0, 0x7f273ee3c901, 0x2, 0xc000c89b00, 0x0, 0x0, 0x7fffffff, 0x1ced3e8, 0x2, 0x0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/traceback.go:350 +0xac3 fp=0x7f2712fba548 sp=0x7f2712fba1d8 pc=0x59bfe3
runtime.copystack(0xc0000001a0, 0x2000)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:918 +0x293 fp=0x7f2712fba6f8 sp=0x7f2712fba548 pc=0x591f73
runtime.shrinkstack(0xc0000001a0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:1199 +0x126 fp=0x7f2712fba718 sp=0x7f2712fba6f8 pc=0x592d46
runtime.newstack()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/stack.go:1047 +0x39b fp=0x7f2712fba8c8 sp=0x7f2712fba718 pc=0x5923fb
runtime.morestack()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:461 +0x8b fp=0x7f2712fba8d0 sp=0x7f2712fba8c8 pc=0x5a7bcb

goroutine 1 [running, locked to thread]:
runtime.cgoCheckPointer({0x197c080, 0x13}, {0x0, 0x0})
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/cgocall.go:384 +0x196 fp=0xc0003c3a28 sp=0xc0003c3a20 pc=0x548cd6
github.com/diamondburned/gotk4/pkg/core/glib.timeoutAdd.func2(0x0, 0xc8, 0xc0011ea000)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/core/glib/glib.go:398 +0x52 fp=0xc0003c3a78 sp=0xc0003c3a28 pc=0x668892
github.com/diamondburned/gotk4/pkg/core/glib.timeoutAdd(0xc000a8bc80, 0x0, 0xc001b7c060, {0x1965260, 0xc001c56060})
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/core/glib/glib.go:398 +0x7e fp=0xc0003c3ab8 sp=0xc0003c3a78 pc=0x66881e
github.com/diamondburned/gotk4/pkg/core/glib.TimeoutAdd(...)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/core/glib/glib.go:368
github.com/diamondburned/gotk4/pkg/glib/v2.TimeoutAdd(...)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/glib/v2/externglib.go:27
github.com/diamondburned/gotktrix/internal/app/blinker.(*blinker).sync(0xc000a8bc80)
	/home/diamond/Scripts/gotk4/gotktrix/internal/app/blinker/blinker.go:112 +0x9e fp=0xc0003c3af0 sp=0xc0003c3ab8 pc=0x13b0c9e
github.com/diamondburned/gotktrix/internal/app/blinker.New.func1.1.1()
	/home/diamond/Scripts/gotk4/gotktrix/internal/app/blinker/blinker.go:89 +0x1d fp=0xc0003c3b08 sp=0xc0003c3af0 pc=0x13b0bdd
github.com/diamondburned/gotk4/pkg/core/glib.sourceFunc(0x16)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/core/glib/glib.go:306 +0xca fp=0xc0003c3b80 sp=0xc0003c3b08 pc=0x6684aa
_cgoexp_4afcb7e4db35_sourceFunc(0x7f2712fba94c)
	_cgo_gotypes.go:2058 +0x25 fp=0xc0003c3b98 sp=0xc0003c3b80 pc=0x66f7a5
runtime.cgocallbackg1(0x66f780, 0xc000c89d50, 0x0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/cgocall.go:306 +0x29a fp=0xc0003c3c68 sp=0xc0003c3b98 pc=0x54893a
runtime.cgocallbackg(0xc0000001a0, 0x300000002, 0xc0000001a0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/cgocall.go:232 +0x109 fp=0xc0003c3cf8 sp=0xc0003c3c68 pc=0x548609
runtime.cgocallbackg(0x66f780, 0x7f2712fba94c, 0x0)
	<autogenerated>:1 +0x2f fp=0xc0003c3d20 sp=0xc0003c3cf8 pc=0x5abe4f
runtime.cgocallback(0x548485, 0x18776f0, 0xc000139db0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:915 +0xb4 fp=0xc0003c3d48 sp=0xc0003c3d20 pc=0x5a9a94
runtime.systemstack_switch()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:350 fp=0xc0003c3d50 sp=0xc0003c3d48 pc=0x5a7a80
runtime.cgocall(0x18776f0, 0xc000c89db0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/cgocall.go:166 +0x85 fp=0xc0003c3d88 sp=0xc0003c3d50 pc=0x548485
github.com/diamondburned/gotk4/pkg/gio/v2._Cfunc_g_application_run(0x7f2708006100, 0x1, 0x7f270800c3f0)
	_cgo_gotypes.go:3328 +0x4c fp=0xc0003c3db0 sp=0xc0003c3d88 pc=0x6bc6ec
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run.func3(0x7f270800c3f0, 0x57ec70, 0x7f270800c3f0)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/gio/v2/gapplication.go:943 +0x71 fp=0xc0003c3df8 sp=0xc0003c3db0 pc=0x70c3f1
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run(0xc00031f188, {0xc000032210, 0x1c22210, 0x1})
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/gio/v2/gapplication.go:943 +0x1be fp=0xc0003c3ec0 sp=0xc0003c3df8 pc=0x70c2de
main.main()
	/home/diamond/Scripts/gotk4/gotktrix/main.go:116 +0x245 fp=0xc0003c3f80 sp=0xc0003c3ec0 pc=0x1863a45
runtime.main()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/proc.go:255 +0x227 fp=0xc0003c3fe0 sp=0xc0003c3f80 pc=0x57bba7
runtime.goexit()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0003c3fe8 sp=0xc0003c3fe0 pc=0x5a9ca1

Possible fix: maybe //go:noinline some of the functions inside.

Isolate freeing code from generation code

C to Go and Go to C conversion routines should be refactored to have the code used to generate freeing statements moved outside into another function. Preferably, the function calling part should be moved out, while the generation code should still generate the right code to call those functions.

Having free functions separately will help implementing HashTable (#20) properly, as that will allow the HashTable to free values easily. It will also help once map[T]T is turned into a no-copy container type instead, preferably once generics is available.

Crash when using an action callback with its args

I'm trying the new menu features and wanted to register a callback with its args when I encountered a strange bug

	isMaximized := appInfo.Win.IsMaximized()
	action_fullscreen := gio.NewSimpleActionStateful("fullscreen", nil, glib.NewVariantBoolean(isMaximized))
	action_fullscreen.Connect("change-state", func(action *gio.SimpleAction, value *glib.Variant) {
		fmt.Println("menu action_fullscreen")
	})
	appInfo.Win.AddAction(action_fullscreen)

When I click on the related menu button, it panics when trying to recast the object to the same(?) type:

panic: reflect.Value.Convert: value of type *glib.Variant cannot be converted to type *glib.Variant [recovered]
panic: closure error: unexpected panic caught: reflect.Value.Convert: value of type *glib.Variant cannot be converted to type *glib.Variant

The line that fail (glib.go:208) :

args = append(args, reflect.ValueOf(val).Convert(fsType.In(i)))

I added some output to see what's happening

println(reflect.TypeOf(val).String(), fsType.In(i).String(), reflect.TypeOf(val) == fsType.In(i))

that prints just before the crash.

*gio.SimpleAction *gio.SimpleAction true
*glib.Variant *glib.Variant false

The *gio.SimpleAction is nicely recognized and recasted, but there seem to be some mystery with the *glib.Variant
If needed, here's the C code I'm using as example
and my imports :

	"github.com/diamondburned/gotk4/pkg/glib/v2"
	"github.com/diamondburned/gotk4/pkg/gio/v2"
	"github.com/diamondburned/gotk4/pkg/gtk/v4"

(damn 24 min to recompile the whole glib+gtk on my old i7 proc)

Cannot cast gio.Filer properly

Functions like (*gtk.FileChooser).File() gio.Filer cannot be casted properly.
It seems like the instance type is not found in the registry, so that should be
investigated upon.

panic: interface conversion: *glib.Object is not gio.Filer: missing method AppendTo [recovered]
	panic: closure error: unexpected panic caught: interface conversion: *glib.Object is not gio.Filer: missing method AppendTo

Closure added at:
	github.com/diamondburned/gotktrix/internal/app/messageview/compose.uploader at /home/diamond/Scripts/gotk4/gotktrix/internal/app/messageview/compose/composer.go:83
	github.com/diamondburned/gotktrix/internal/app/messageview/compose.New.func1 at /home/diamond/Scripts/gotk4/gotktrix/internal/app/messageview/compose/composer.go:53
	github.com/diamondburned/gotk4/pkg/core/glib.goMarshal at /home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/core/glib/glib.go:162

goroutine 1 [running]:
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).Panicf(0xc000210ab0, {0x1bae5e4, 0x1b}, {0xc0073d1038, 0x1, 0x1})
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/core/closure/funcstack.go:93 +0x8fe
github.com/diamondburned/gotk4/pkg/core/closure.(*FuncStack).TryRepanic(0x0)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/core/closure/funcstack.go:111 +0xc7
panic({0x1975160, 0xc00861c0f0})
	/nix/store/qyakjxlzyzvgns61gm9d7qgyq05jmzgp-go-1.17/share/go/src/runtime/panic.go:1038 +0x215
github.com/diamondburned/gotk4/pkg/gtk/v4.(*FileChooser).File(0xc006742368)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/gtk/v4/gtkfilechooser.go:451 +0xa7

Build broken on Windows

Why?

I don't know.


go build github.com/diamondburned/gotk4/pkg/gtk/v3: C:\msys64\mingw64\lib\go\pkg\tool\windows_amd64\cgo.exe: fork/exec C:\msys64\mingw64\lib\go\pkg\tool\windows_amd64\cgo.exe: The filename or extension is too long.
Full -x output (folded into 120 columns)
WORK=C:\msys64\tmp\go-build1385985728
github.com/diamondburned/gotk4/pkg/gtk/v4
mkdir -p $WORK\b064\
cd C:\Users\user\Downloads\gotk4\pkg\gtk\v4
pkg-config --cflags -- gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gt
k4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
github.com/diamondburned/gotk4/pkg/gtk/v3
mkdir -p $WORK\b001\
cd C:\Users\user\Downloads\gotk4\pkg\gtk\v3
pkg-config --cflags -- gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.
0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 g
tk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+
-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.
0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 g
tk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+
-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.
0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 g
tk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+
-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.
0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 g
tk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+
-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.
0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 g
tk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+
-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.
0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 g
tk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+
-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.
0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 g
tk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+
-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.
0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 g
tk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0
cd C:\Users\user\Downloads\gotk4\pkg\gtk\v4
pkg-config --libs -- gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4 gtk4
TERM='dumb' CGO_LDFLAGS='"-g" "-O2" "-LC:/msys64/mingw64/lib" "-lgtk-4" "-lpangowin32-1.0" "-lpangocairo-1.0" "-lpango-1
.0" "-lharfbuzz" "-lgdk_pixbuf-2.0" "-lcairo-gobject" "-lcairo" "-lgraphene-1.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0
" "-lintl"' "C:\\msys64\\mingw64\\lib\\go\\pkg\\tool\\windows_amd64\\cgo.exe" -objdir "$WORK\\b064\\" -importpath github
.com/diamondburned/gotk4/pkg/gtk/v4 -- -IC:/msys64/mingw64/include/gtk-4.0 -IC:/msys64/mingw64/include/pango-1.0 -IC:/ms
ys64/mingw64/include -IC:/msys64/mingw64/include/glib-2.0 -IC:/msys64/mingw64/lib/glib-2.0/include -IC:/msys64/mingw64/i
nclude/harfbuzz -IC:/msys64/mingw64/include/freetype2 -IC:/msys64/mingw64/include/libpng16 -mms-bitfields -IC:/msys64/mi
ngw64/include/fribidi -IC:/msys64/mingw64/include/cairo -IC:/msys64/mingw64/include/lzo -IC:/msys64/mingw64/include/pixm
an-1 -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -IC:/msys6
4/mingw64/include/gdk-pixbuf-2.0 -mms-bitfields -mms-bitfields -IC:/msys64/mingw64/include/graphene-1.0 -IC:/msys64/ming
w64/lib/graphene-1.0/include -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -
mms-bitfields -mms-bitfields -mfpmath=sse -msse -msse2 -pthread -mms-bitfields -mms-bitfields -I "$WORK\\b064\\" -g -O2 
-Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno
-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-dep
recated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depreca
ted-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-
declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-decl
arations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarat
ions -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations
 -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wn
o-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-de
precated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprec
ated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated
-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-dec
larations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declara
tions -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaration
s -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -W
no-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-d
eprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depre
cated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecate
d-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-de
clarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declar
ations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaratio
ns -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -
Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-
deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depr
ecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecat
ed-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-d
eclarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-decla
rations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarati
ons -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations 
-Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno
-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-dep
recated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depreca
ted-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-
declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-decl
arations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarat
ions -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations
 -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wn
o-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-de
precated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprec
ated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated
-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-dec
larations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declara
tions -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaration
s -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -W
no-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-d
eprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depre
cated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecate
d-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-de
clarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declar
ations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaratio
ns -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -
Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-
deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depr
ecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecat
ed-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-d
eclarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-decla
rations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarati
ons -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations 
-Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno
-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-dep
recated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depreca
ted-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-
declarations "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtk.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\
\gtkaboutdialog.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkaccelgroup.go" "C:\\Users\\user\\Downloads\\got
k4\\pkg\\gtk\\v4\\gtkaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkactionable.go" "C:\\Users\\user
\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkactionbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkadjustment.go" "
C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkappchooser.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtk
appchooserbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkappchooserdialog.go" "C:\\Users\\user\\Downloa
ds\\gotk4\\pkg\\gtk\\v4\\gtkappchooserwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkapplication.go" "C
:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkapplicationwindow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v
4\\gtkaspectframe.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkassistant.go" "C:\\Users\\user\\Downloads\\go
tk4\\pkg\\gtk\\v4\\gtkatcontext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkbinlayout.go" "C:\\Users\\user\
\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkbitset.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkbookmarklist.go" "C:
\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkboolfilter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkbo
rder.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\
gtkboxlayout.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkbuildable.go" "C:\\Users\\user\\Downloads\\gotk4\\
pkg\\gtk\\v4\\gtkbuilder.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkbuilderlistitemfactory.go" "C:\\Users\
\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkbuilderscope.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkbutton.g
o" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcalendar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\g
tkcellarea.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcellareabox.go" "C:\\Users\\user\\Downloads\\gotk4\\
pkg\\gtk\\v4\\gtkcellareacontext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcelleditable.go" "C:\\Users\\u
ser\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcelllayout.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcellrenderer
.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcellrendereraccel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\
\gtk\\v4\\gtkcellrenderercombo.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcellrendererpixbuf.go" "C:\\User
s\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcellrendererprogress.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\g
tkcellrendererspin.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcellrendererspinner.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v4\\gtkcellrenderertext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcellrenderert
oggle.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcellview.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk
\\v4\\gtkcenterbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcenterlayout.go" "C:\\Users\\user\\Downloads
\\gotk4\\pkg\\gtk\\v4\\gtkcheckbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcolorbutton.go" "C:\\User
s\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcolorchooser.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcolorc
hooserdialog.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcolorchooserwidget.go" "C:\\Users\\user\\Downloads
\\gotk4\\pkg\\gtk\\v4\\gtkcolorutils.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcolumnview.go" "C:\\Users\
\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcolumnviewcolumn.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcomb
obox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcomboboxtext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\
gtk\\v4\\gtkconstraint.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkconstraintguide.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v4\\gtkconstraintlayout.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcssenums.go" 
"C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcsserror.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkc
sslocation.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcssprovider.go" "C:\\Users\\user\\Downloads\\gotk4\\
pkg\\gtk\\v4\\gtkcsssection.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcustomfilter.go" "C:\\Users\\user\\
Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcustomlayout.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkcustomsorter.go
" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkdebug.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkdi
alog.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkdirectorylist.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\
\gtk\\v4\\gtkdragicon.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkdragsource.go" "C:\\Users\\user\\Download
s\\gotk4\\pkg\\gtk\\v4\\gtkdrawingarea.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkdropcontrollermotion.go"
 "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkdropdown.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtk
droptarget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkdroptargetasync.go" "C:\\Users\\user\\Downloads\\got
k4\\pkg\\gtk\\v4\\gtkeditable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkeditablelabel.go" "C:\\Users\\use
r\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkemojichooser.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkentry.go" "C
:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkentrybuffer.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtk
entrycompletion.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkenums.go" "C:\\Users\\user\\Downloads\\gotk4\\p
kg\\gtk\\v4\\gtkeventcontroller.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkeventcontrollerfocus.go" "C:\\U
sers\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkeventcontrollerkey.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\
gtkeventcontrollerlegacy.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkeventcontrollermotion.go" "C:\\Users\\
user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkeventcontrollerscroll.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtk
expander.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkexpression.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg
\\gtk\\v4\\gtkfilechooser.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkfilechooserdialog.go" "C:\\Users\\use
r\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkfilechoosernative.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkfilecho
oserwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkfilefilter.go" "C:\\Users\\user\\Downloads\\gotk4\\p
kg\\gtk\\v4\\gtkfilter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkfilterlistmodel.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v4\\gtkfixed.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkfixedlayout.go" "C:\\Use
rs\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkflattenlistmodel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkf
lowbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkfontbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\
gtk\\v4\\gtkfontchooser.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkfontchooserdialog.go" "C:\\Users\\user\
\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkfontchooserwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkframe.go"
 "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgesture.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkg
estureclick.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgesturedrag.go" "C:\\Users\\user\\Downloads\\gotk4\
\pkg\\gtk\\v4\\gtkgesturelongpress.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgesturepan.go" "C:\\Users\\u
ser\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgesturerotate.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgesturesi
ngle.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgesturestylus.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\
\gtk\\v4\\gtkgestureswipe.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgesturezoom.go" "C:\\Users\\user\\Dow
nloads\\gotk4\\pkg\\gtk\\v4\\gtkglarea.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgrid.go" "C:\\Users\\use
r\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgridlayout.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkgridview.go" "
C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkheaderbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtki
contheme.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkiconview.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\
gtk\\v4\\gtkimage.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkimcontext.go" "C:\\Users\\user\\Downloads\\go
tk4\\pkg\\gtk\\v4\\gtkimcontextsimple.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkimmodule.go" "C:\\Users\\
user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkimmulticontext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkinfobar
.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtklabel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gt
klayoutchild.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtklayoutmanager.go" "C:\\Users\\user\\Downloads\\got
k4\\pkg\\gtk\\v4\\gtklevelbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtklinkbutton.go" "C:\\Users\\user\\
Downloads\\gotk4\\pkg\\gtk\\v4\\gtklistbase.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtklistbox.go" "C:\\Us
ers\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtklistitem.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtklistitem
factory.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkliststore.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\
gtk\\v4\\gtklistview.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtklockbutton.go" "C:\\Users\\user\\Downloads
\\gotk4\\pkg\\gtk\\v4\\gtkmain.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkmaplistmodel.go" "C:\\Users\\use
r\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkmediacontrols.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkmediafile.g
o" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkmediastream.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4
\\gtkmenubutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkmessagedialog.go" "C:\\Users\\user\\Downloads\\
gotk4\\pkg\\gtk\\v4\\gtkmountoperation.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkmultifilter.go" "C:\\Use
rs\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkmultiselection.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkmul
tisorter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtknative.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gt
k\\v4\\gtknativedialog.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtknoselection.go" "C:\\Users\\user\\Downlo
ads\\gotk4\\pkg\\gtk\\v4\\gtknotebook.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtknumericsorter.go" "C:\\Us
ers\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkorientable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkoverla
y.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkoverlaylayout.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gt
k\\v4\\gtkpadcontroller.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkpagesetup.go" "C:\\Users\\user\\Downloa
ds\\gotk4\\pkg\\gtk\\v4\\gtkpaned.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkpapersize.go" "C:\\Users\\use
r\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkpasswordentry.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkpicture.go"
 "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkpopover.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkp
opovermenu.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkpopovermenubar.go" "C:\\Users\\user\\Downloads\\gotk
4\\pkg\\gtk\\v4\\gtkprintcontext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkprintoperation.go" "C:\\Users\
\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkprintoperationpreview.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gt
kprintsettings.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkprogressbar.go" "C:\\Users\\user\\Downloads\\got
k4\\pkg\\gtk\\v4\\gtkrange.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkrecentmanager.go" "C:\\Users\\user\\
Downloads\\gotk4\\pkg\\gtk\\v4\\gtkrender.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkrevealer.go" "C:\\Use
rs\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkroot.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkscale.go" "C:
\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkscalebutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtks
crollable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkscrollbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg
\\gtk\\v4\\gtkscrolledwindow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtksearchbar.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v4\\gtksearchentry.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkselectionfiltermod
el.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkselectionmodel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\
gtk\\v4\\gtkseparator.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtksettings.go" "C:\\Users\\user\\Downloads\
\gotk4\\pkg\\gtk\\v4\\gtkshortcut.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkshortcutaction.go" "C:\\Users
\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkshortcutcontroller.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtks
hortcutlabel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkshortcutmanager.go" "C:\\Users\\user\\Downloads\\g
otk4\\pkg\\gtk\\v4\\gtkshortcutsgroup.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkshortcutssection.go" "C:\
\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkshortcutsshortcut.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\
\gtkshortcutswindow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkshortcuttrigger.go" "C:\\Users\\user\\Downl
oads\\gotk4\\pkg\\gtk\\v4\\gtkshow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtksignallistitemfactory.go" "C
:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtksingleselection.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\
\gtksizegroup.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtksizerequest.go" "C:\\Users\\user\\Downloads\\gotk
4\\pkg\\gtk\\v4\\gtkslicelistmodel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtksnapshot.go" "C:\\Users\\use
r\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtksorter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtksortlistmodel.go" 
"C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkspinbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gt
kspinner.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkstack.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk
\\v4\\gtkstacksidebar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkstackswitcher.go" "C:\\Users\\user\\Downl
oads\\gotk4\\pkg\\gtk\\v4\\gtkstatusbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkstringfilter.go" "C:\\U
sers\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkstringsorter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtksty
lecontext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkstyleprovider.go" "C:\\Users\\user\\Downloads\\gotk4\
\pkg\\gtk\\v4\\gtkswitch.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktestatcontext.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v4\\gtktestutils.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktext.go" "C:\\Users\
\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktextbuffer.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktextchild.
go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktextiter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\
gtktextmark.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktexttag.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg
\\gtk\\v4\\gtktexttagtable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktextview.go" "C:\\Users\\user\\Downl
oads\\gotk4\\pkg\\gtk\\v4\\gtktogglebutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktooltip.go" "C:\\Use
rs\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktreednd.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktreeexpand
er.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktreelistmodel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\g
tk\\v4\\gtktreelistrowsorter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktreemodel.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v4\\gtktreemodelfilter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktreemodelsort.
go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktreeselection.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\
\v4\\gtktreesortable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktreestore.go" "C:\\Users\\user\\Downloads\
\gotk4\\pkg\\gtk\\v4\\gtktreeview.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktreeviewcolumn.go" "C:\\Users
\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtktypes.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkversion.go" "C
:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkvideo.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkviewpo
rt.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkvolumebutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gt
k\\v4\\gtkwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkwidgetpaintable.go" "C:\\Users\\user\\Download
s\\gotk4\\pkg\\gtk\\v4\\gtkwindow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkwindowcontrols.go" "C:\\Users
\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkwindowgroup.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v4\\gtkwindowha
ndle.go"
go build github.com/diamondburned/gotk4/pkg/gtk/v4: C:\msys64\mingw64\lib\go\pkg\tool\windows_amd64\cgo.exe: fork/exec C
:\msys64\mingw64\lib\go\pkg\tool\windows_amd64\cgo.exe: The filename or extension is too long.
cd C:\Users\user\Downloads\gotk4\pkg\gtk\v3
pkg-config --libs -- gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 
gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk
+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3
.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 
gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk
+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3
.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 
gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk
+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3
.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 
gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk
+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3
.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 
gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk
+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3
.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 
gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk
+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3
.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 
gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk
+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3
.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 
gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk
+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0 gtk+-3.0
TERM='dumb' CGO_LDFLAGS='"-g" "-O2" "-LC:/msys64/mingw64/lib" "-lgtk-3" "-lgdk-3" "-lz" "-lgdi32" "-limm32" "-lshell32" 
"-lole32" "-Wl,-luuid" "-lwinmm" "-ldwmapi" "-lsetupapi" "-lcfgmgr32" "-lpangowin32-1.0" "-lpangocairo-1.0" "-lpango-1.0
" "-lharfbuzz" "-latk-1.0" "-lcairo-gobject" "-lcairo" "-lgdk_pixbuf-2.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lin
tl"' "C:\\msys64\\mingw64\\lib\\go\\pkg\\tool\\windows_amd64\\cgo.exe" -objdir "$WORK\\b001\\" -importpath github.com/di
amondburned/gotk4/pkg/gtk/v3 -- -IC:/msys64/mingw64/include/gtk-3.0 -IC:/msys64/mingw64/include/pango-1.0 -IC:/msys64/mi
ngw64/include -IC:/msys64/mingw64/include/glib-2.0 -IC:/msys64/mingw64/lib/glib-2.0/include -IC:/msys64/mingw64/include/
harfbuzz -IC:/msys64/mingw64/include/freetype2 -IC:/msys64/mingw64/include/libpng16 -mms-bitfields -IC:/msys64/mingw64/i
nclude/fribidi -IC:/msys64/mingw64/include/cairo -IC:/msys64/mingw64/include/lzo -IC:/msys64/mingw64/include/pixman-1 -m
ms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -IC:/msys64/mingw
64/include/gdk-pixbuf-2.0 -mms-bitfields -mms-bitfields -mms-bitfields -IC:/msys64/mingw64/include/atk-1.0 -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfield
s -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -mms-bitfields -pthread -mms-bitfields -I "
$WORK\\b001\\" -g -O2 -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprec
ated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated
-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-dec
larations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declara
tions -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaration
s -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -W
no-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-d
eprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depre
cated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecate
d-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-de
clarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declar
ations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaratio
ns -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -
Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-
deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depr
ecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecat
ed-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-d
eclarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-decla
rations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarati
ons -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations 
-Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno
-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-dep
recated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depreca
ted-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-
declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-decl
arations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarat
ions -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations
 -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wn
o-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-de
precated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprec
ated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated
-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-dec
larations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declara
tions -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaration
s -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -W
no-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-d
eprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depre
cated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecate
d-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-de
clarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declar
ations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaratio
ns -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -
Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-
deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depr
ecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecat
ed-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-d
eclarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-decla
rations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarati
ons -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations 
-Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno
-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-dep
recated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depreca
ted-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-
declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-decl
arations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarat
ions -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations
 -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wn
o-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-de
precated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprec
ated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated
-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-dec
larations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declara
tions -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaration
s -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -W
no-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-d
eprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depre
cated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecate
d-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-de
clarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declar
ations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declaratio
ns -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -
Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-
deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-depr
ecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecat
ed-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations -Wno-deprecated-declarations "C:\\Users\\user\
\Downloads\\gotk4\\pkg\\gtk\\v3\\gtk.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkaboutdialog.go" "C:\\Users
\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkaccelgroup.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkaccellabe
l.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkaccelmap.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3
\\gtkaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkaction.go" "C:\\Users\\user\\Downloads\\gotk4\\
pkg\\gtk\\v3\\gtkactionable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkactionbar.go" "C:\\Users\\user\\Dow
nloads\\gotk4\\pkg\\gtk\\v3\\gtkactiongroup.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkactivatable.go" "C:
\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkadjustment.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkal
ignment.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkappchooser.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\
\gtk\\v3\\gtkappchooserbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkappchooserdialog.go" "C:\\Users\\
user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkappchooserwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkappli
cation.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkapplicationwindow.go" "C:\\Users\\user\\Downloads\\gotk4
\\pkg\\gtk\\v3\\gtkarrow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkarrowaccessible.go" "C:\\Users\\user\\
Downloads\\gotk4\\pkg\\gtk\\v3\\gtkaspectframe.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkassistant.go" "C
:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkbbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkbin.go"
 "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkbindings.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtk
booleancellaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkborder.go" "C:\\Users\\user\\Downloads\\g
otk4\\pkg\\gtk\\v3\\gtkbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkbuildable.go" "C:\\Users\\user\\Down
loads\\gotk4\\pkg\\gtk\\v3\\gtkbuilder.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkbutton.go" "C:\\Users\\u
ser\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkbuttonaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcalend
ar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\
gtk\\v3\\gtkcellaccessibleparent.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellarea.go" "C:\\Users\\user\
\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellareabox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellareacontext
.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcelleditable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\
\v3\\gtkcelllayout.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellrenderer.go" "C:\\Users\\user\\Downloads
\\gotk4\\pkg\\gtk\\v3\\gtkcellrendereraccel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellrenderercombo.g
o" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellrendererpixbuf.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\
gtk\\v3\\gtkcellrendererprogress.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellrendererspin.go" "C:\\User
s\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellrendererspinner.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gt
kcellrenderertext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcellrenderertoggle.go" "C:\\Users\\user\\Down
loads\\gotk4\\pkg\\gtk\\v3\\gtkcellview.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcheckbutton.go" "C:\\Us
ers\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcheckmenuitem.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkche
ckmenuitemaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkclipboard.go" "C:\\Users\\user\\Downloads\
\gotk4\\pkg\\gtk\\v3\\gtkcolorbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcolorchooser.go" "C:\\User
s\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcolorchooserdialog.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtk
colorchooserwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcolorsel.go" "C:\\Users\\user\\Downloads\\go
tk4\\pkg\\gtk\\v3\\gtkcolorseldialog.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcolorutils.go" "C:\\Users\
\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcombobox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcomboboxacce
ssible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcomboboxtext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg
\\gtk\\v3\\gtkcontainer.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcontaineraccessible.go" "C:\\Users\\use
r\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcontainercellaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkc
ssprovider.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkcsssection.go" "C:\\Users\\user\\Downloads\\gotk4\\p
kg\\gtk\\v3\\gtkdebug.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkdialog.go" "C:\\Users\\user\\Downloads\\g
otk4\\pkg\\gtk\\v3\\gtkdnd.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkdragdest.go" "C:\\Users\\user\\Downl
oads\\gotk4\\pkg\\gtk\\v3\\gtkdrawingarea.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkeditable.go" "C:\\Use
rs\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkentry.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkentryaccessi
ble.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkentrybuffer.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gt
k\\v3\\gtkentrycompletion.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkenums.go" "C:\\Users\\user\\Downloads
\\gotk4\\pkg\\gtk\\v3\\gtkeventbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkeventcontroller.go" "C:\\Use
rs\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkeventcontrollerkey.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gt
keventcontrollermotion.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkeventcontrollerscroll.go" "C:\\Users\\us
er\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkexpander.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkexpanderaccessi
ble.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkfilechooser.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gt
k\\v3\\gtkfilechooserbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkfilechooserdialog.go" "C:\\Users\\u
ser\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkfilechoosernative.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkfilec
hooserwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkfilefilter.go" "C:\\Users\\user\\Downloads\\gotk4\
\pkg\\gtk\\v3\\gtkfixed.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkflowbox.go" "C:\\Users\\user\\Downloads
\\gotk4\\pkg\\gtk\\v3\\gtkflowboxaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkflowboxchildaccessi
ble.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkfontbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk
\\v3\\gtkfontchooser.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkfontchooserdialog.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v3\\gtkfontchooserwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkfontsel.go" 
"C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkframe.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkfram
eaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkgesture.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg
\\gtk\\v3\\gtkgesturedrag.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkgesturelongpress.go" "C:\\Users\\user
\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkgesturemultipress.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkgesturep
an.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkgesturerotate.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\g
tk\\v3\\gtkgesturesingle.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkgesturestylus.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v3\\gtkgestureswipe.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkgesturezoom.go" "
C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkglarea.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkgrid
.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkhandlebox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3
\\gtkhbbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkhbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gt
k\\v3\\gtkheaderbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkheaderbaraccessible.go" "C:\\Users\\user\\D
ownloads\\gotk4\\pkg\\gtk\\v3\\gtkhpaned.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkhscale.go" "C:\\Users\
\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkhscrollbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkhseparator
.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkhsv.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtki
confactory.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkicontheme.go" "C:\\Users\\user\\Downloads\\gotk4\\pk
g\\gtk\\v3\\gtkiconview.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkiconviewaccessible.go" "C:\\Users\\user
\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkimage.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkimageaccessible.go" 
"C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkimagecellaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gt
k\\v3\\gtkimagemenuitem.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkimcontext.go" "C:\\Users\\user\\Downloa
ds\\gotk4\\pkg\\gtk\\v3\\gtkimcontextinfo.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkimcontextsimple.go" "
C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkimmulticontext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\
\gtkinfobar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkinvisible.go" "C:\\Users\\user\\Downloads\\gotk4\\p
kg\\gtk\\v3\\gtklabel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtklabelaccessible.go" "C:\\Users\\user\\Dow
nloads\\gotk4\\pkg\\gtk\\v3\\gtklayout.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtklevelbar.go" "C:\\Users\
\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtklevelbaraccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkli
nkbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtklinkbuttonaccessible.go" "C:\\Users\\user\\Downloads\\
gotk4\\pkg\\gtk\\v3\\gtklistbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtklistboxaccessible.go" "C:\\User
s\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtklistboxrowaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\g
tkliststore.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtklockbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\
pkg\\gtk\\v3\\gtklockbuttonaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmain.go" "C:\\Users\\user
\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmenu.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmenuaccessible.go" "C
:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmenubar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmenu
button.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmenubuttonaccessible.go" "C:\\Users\\user\\Downloads\\go
tk4\\pkg\\gtk\\v3\\gtkmenuitem.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmenuitemaccessible.go" "C:\\User
s\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmenushell.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmenushell
accessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmenutoolbutton.go" "C:\\Users\\user\\Downloads\\gotk
4\\pkg\\gtk\\v3\\gtkmessagedialog.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmisc.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v3\\gtkmodelbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkmountoperation.go"
 "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtknativedialog.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\
\gtknotebook.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtknotebookaccessible.go" "C:\\Users\\user\\Downloads
\\gotk4\\pkg\\gtk\\v3\\gtknotebookpageaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtknumerableicon.
go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkoffscreenwindow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gt
k\\v3\\gtkorientable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkoverlay.go" "C:\\Users\\user\\Downloads\\g
otk4\\pkg\\gtk\\v3\\gtkpadcontroller.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkpagesetup.go" "C:\\Users\\
user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkpaned.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkpanedaccessible.
go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkpapersize.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\
\gtkplacessidebar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkplug.go" "C:\\Users\\user\\Downloads\\gotk4\\
pkg\\gtk\\v3\\gtkplugaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkpopover.go" "C:\\Users\\user\\D
ownloads\\gotk4\\pkg\\gtk\\v3\\gtkpopoveraccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkpopovermenu
.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkprintcontext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\
\v3\\gtkprintoperation.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkprintoperationpreview.go" "C:\\Users\\us
er\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkprintsettings.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkprogressba
r.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkprogressbaraccessible.go" "C:\\Users\\user\\Downloads\\gotk4\
\pkg\\gtk\\v3\\gtkradioaction.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkradiobutton.go" "C:\\Users\\user\
\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkradiobuttonaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkradio
menuitem.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkradiomenuitemaccessible.go" "C:\\Users\\user\\Download
s\\gotk4\\pkg\\gtk\\v3\\gtkradiotoolbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkrange.go" "C:\\Users
\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkrangeaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkrc.g
o" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkrecentaction.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v
3\\gtkrecentchooser.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkrecentchooserdialog.go" "C:\\Users\\user\\D
ownloads\\gotk4\\pkg\\gtk\\v3\\gtkrecentchoosermenu.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkrecentchoos
erwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkrecentfilter.go" "C:\\Users\\user\\Downloads\\gotk4\\p
kg\\gtk\\v3\\gtkrecentmanager.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkrender.go" "C:\\Users\\user\\Down
loads\\gotk4\\pkg\\gtk\\v3\\gtkrenderercellaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkrevealer.
go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkscale.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtk
scaleaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkscalebutton.go" "C:\\Users\\user\\Downloads\\go
tk4\\pkg\\gtk\\v3\\gtkscalebuttonaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkscrollable.go" "C:\
\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkscrollbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkscro
lledwindow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkscrolledwindowaccessible.go" "C:\\Users\\user\\Downl
oads\\gotk4\\pkg\\gtk\\v3\\gtksearchbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtksearchentry.go" "C:\\Us
ers\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkselection.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkseparat
or.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkseparatormenuitem.go" "C:\\Users\\user\\Downloads\\gotk4\\pk
g\\gtk\\v3\\gtkseparatortoolitem.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtksettings.go" "C:\\Users\\user\
\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkshortcutlabel.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkshortcutsgrou
p.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkshortcutssection.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\
\gtk\\v3\\gtkshortcutsshortcut.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkshortcutswindow.go" "C:\\Users\\
user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkshow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtksizegroup.go" "C:
\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtksizerequest.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtks
ocket.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtksocketaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\
pkg\\gtk\\v3\\gtkspinbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkspinbuttonaccessible.go" "C:\\Users
\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkspinner.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkspinneracces
sible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkstack.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v
3\\gtkstackaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkstacksidebar.go" "C:\\Users\\user\\Downlo
ads\\gotk4\\pkg\\gtk\\v3\\gtkstackswitcher.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkstatusbar.go" "C:\\U
sers\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkstatusbaraccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\
\gtkstatusicon.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkstock.go" "C:\\Users\\user\\Downloads\\gotk4\\pk
g\\gtk\\v3\\gtkstyle.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkstylecontext.go" "C:\\Users\\user\\Downloa
ds\\gotk4\\pkg\\gtk\\v3\\gtkstyleproperties.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkstyleprovider.go" "
C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkswitch.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkswit
chaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\
\gtk\\v3\\gtktearoffmenuitem.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktestutils.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v3\\gtktextattributes.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktextbuffer.go" 
"C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktextbufferrichtext.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk
\\v3\\gtktextcellaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktextchild.go" "C:\\Users\\user\\Dow
nloads\\gotk4\\pkg\\gtk\\v3\\gtktextiter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktextmark.go" "C:\\User
s\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktexttag.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktexttagtabl
e.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktextview.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3
\\gtktextviewaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkthemingengine.go" "C:\\Users\\user\\Dow
nloads\\gotk4\\pkg\\gtk\\v3\\gtktoggleaction.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktogglebutton.go" "
C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktogglebuttonaccessible.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\
gtk\\v3\\gtktoggletoolbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktoolbar.go" "C:\\Users\\user\\Down
loads\\gotk4\\pkg\\gtk\\v3\\gtktoolbutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktoolitem.go" "C:\\Use
rs\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktoolitemgroup.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktool
palette.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktoolshell.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\
gtk\\v3\\gtktooltip.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktoplevelaccessible.go" "C:\\Users\\user\\Do
wnloads\\gotk4\\pkg\\gtk\\v3\\gtktreednd.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktreemodel.go" "C:\\Use
rs\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktreemodelfilter.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktr
eemodelsort.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktreeselection.go" "C:\\Users\\user\\Downloads\\gotk
4\\pkg\\gtk\\v3\\gtktreesortable.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktreestore.go" "C:\\Users\\user
\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktreeview.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktreeviewaccessibl
e.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtktreeviewcolumn.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\g
tk\\v3\\gtktypes.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkuimanager.go" "C:\\Users\\user\\Downloads\\got
k4\\pkg\\gtk\\v3\\gtkvbbox.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkvbox.go" "C:\\Users\\user\\Downloads
\\gotk4\\pkg\\gtk\\v3\\gtkversion.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkviewport.go" "C:\\Users\\user
\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkvolumebutton.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkvpaned.go" "C
:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkvscale.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkvscro
llbar.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkvseparator.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\g
tk\\v3\\gtkwidget.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkwidgetaccessible.go" "C:\\Users\\user\\Downlo
ads\\gotk4\\pkg\\gtk\\v3\\gtkwindow.go" "C:\\Users\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkwindowaccessible.go" "C:\\U
sers\\user\\Downloads\\gotk4\\pkg\\gtk\\v3\\gtkwindowgroup.go"
go build github.com/diamondburned/gotk4/pkg/gtk/v3: C:\msys64\mingw64\lib\go\pkg\tool\windows_amd64\cgo.exe: fork/exec C
:\msys64\mingw64\lib\go\pkg\tool\windows_amd64\cgo.exe: The filename or extension is too long.

Complete Cairo edge cases

This issue tracks the edge cases for deferring the Cairo package to gotk3's.

The only steps remaining is to migrate Cairo-specific things from gendata to types and such.

Lazy toggle reference

Right now, every object creation involves acquiring the global mutex to register
itself, as well as hitting several extra C functions to register a toggle
reference and its callback. Not all objects created has signals attached,
though, so all of that work is not needed most of the time.

Object creation should, instead, use a regular reference by default with a
finalizer attached to that instance. The reference will be converted to a toggle
reference only once a signal has been attached.

The object wrapper function (newObject) must always assume a regular
reference, unless a toggle reference is already taken.

The idea can be implemented as such:

package glib

// object keeps a possibly nil box until the caller calls Need(), then it
// returns the existing box or queries the registry. It is thread-safe.
type object struct {
	o unsafe.Pointer
	v atomic.Value
}

// newObject creates a new object instance.
func newObject(gobject unsafe.Pointer, take bool) *object {
	object := &object{o: gobject}

	// Get should acquire a RLock, which is alright.
	if box := intern.Get(gobject); box != nil {
		// Store the box locally if it's known.
		object.value.Store(box)
		// If we're not taking, then we're being given an existing regular
		// reference, so we unreference it since we already have our toggle
		// reference.
		if !take {
			C.g_object_unref((*C.GObject)(object.o))
		}
	} else {
		// We have no box for this object, so take a regular reference (if
		// needed).
		if take {
			C.g_object_ref((*C.GObject)(object.v))
		}
		// Set the regular finalizer, which is undone by Box when needed.
		runtime.SetFinalizer(object, func(object *object) {
			C.g_object_unref((*C.GObject)(object.o))
		})
	}

	return object
}

// HasBox returns true if the object already has a known box, which implies that
// it already has a toggle reference.
func (o *object) HasBox() bool {
	_, ok := o.v.Load().(*Box)
	return ok
}

// Box grabs the interned Box from the instance. It is thread-safe.
func (o *object) Box() *intern.Box {
	box, _ := o.v.Load().(*intern.Box)
	if box != nil {
		return box
	}

	// Remove the object's finalizer, since we'll be using the finalizer from
	// the returned Box instead.
	runtime.SetFinalizer(o, nil)

	// No box, so ask the global registry. New() will handle synchronizing and
	// interning for us, so it's fine if we call Store() multiple times.
	box = intern.New(o.o)
	o.v.Store(box)

	return box
}

Changes would have to be done to intern.New: it should always assume that we
already own a reference to the given object, and that by taking a toggle
reference, it must always undo the regular reference. The take parameter is
therefore redundant.

The Take and AssumeOwnership can wrap newObject, like so:

type Object struct {
	*object
}

func Take(ptr unsafe.Pointer) *Object {
	return &Object{newObject(ptr, true)}
}

func AssumeOwnership(ptr unsafe.Pointer) *Object {
	return &Object{newObject(ptr, false)}
}

Implement abstract classes differently

Right now, lots of classes have invalid method collisions when they don't have
to be. This is because abstract classes are being generated as if they're
interfaces, which isn't quite true.

A better way to generate abstract classes would be:

package gtk // gtk/v4

type Widgetter interface {
	glib.Objector
	widget() // mark
}

Ambiguous struct value always passed by reference

When #26 was implemented, all struct types now keep a Go pointer field in it.
This means that, no matter how the Go struct value is transferred around, the
actual C value is always passed by reference. This can be very confusing for
some Go code.

The workaround is probably just to add a piece of documentation into every
single generated record struct to clarify this. The caller is responsible for
calling the Copy() method, if there is one.

Simple program crashed: BadWindow (invalid Window parameter)

Source:

go.mod

require github.com/diamondburned/gotk4/pkg v0.0.0-20210822212111-9ca8639aeefb

main.go

package main

import (
	"github.com/diamondburned/gotk4/pkg/gio/v2"
	"github.com/diamondburned/gotk4/pkg/gtk/v4"
	"os"
)

func main() {
	app := gtk.NewApplication("com.example.myapplication", gio.ApplicationFlagsNone)
	app.Connect("activate", activate)

	os.Exit(app.Run(os.Args))
}

func activate(app *gtk.Application) {
	w := gtk.NewApplicationWindow(app)
	h := gtk.NewHeaderBar()
	h.SetShowTitleButtons(true)
	w.SetTitlebar(h)
	w.SetTitle("test")
	w.SetDefaultSize(800, 500)
	w.Show()
}

After drag/resize:

$ go run -v main.go
command-line-arguments

(main:198791): Gtk-WARNING **: 20:06:51.374: Unknown key gtk-button-images in /home/sekai/.config/gtk-4.0/settings.ini

(main:198791): Gtk-WARNING **: 20:06:51.374: Unknown key gtk-menu-images in /home/sekai/.config/gtk-4.0/settings.ini

(main:198791): Gtk-WARNING **: 20:06:51.374: Unknown key gtk-toolbar-style in /home/sekai/.config/gtk-4.0/settings.ini

(main:198791): Gdk-CRITICAL **: 20:06:58.136: gdk_surface_request_layout: assertion 'frame_clock' failed

(main:198791): Gdk-ERROR **: 20:06:58.137: The program 'main' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 4344 error_code 3 request_code 12 (core protocol) minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
SIGTRAP: trace trap
PC=0x7fe6ad5400f8 m=0 sigcode=128

goroutine 0 [idle]:
runtime: unknown pc 0x7fe6ad5400f8
stack: frame={sp:0x7ffc8f5296d0, fp:0x0} stack=[0x7ffc8ed2ba10,0x7ffc8f52aa50)
0x00007ffc8f5295d0:  0x00007ffc8f5295e0  0x53e30870fee58e00 
0x00007ffc8f5295e0:  0x00000000029c9d2d  0x00000000029c9c00 
0x00007ffc8f5295f0:  0x00000000029c9c00  0x0000000003a36340 
0x00007ffc8f529600:  0x0000000000000001  0x0000000000000001 
0x00007ffc8f529610:  0x010004157f1c0300  0x170f12001a131100 
0x00007ffc8f529620:  0x0000000000000016  0x53e30870fee58e00 
0x00007ffc8f529630:  0x0000000000000000  0xffffffffffffff80 
0x00007ffc8f529640:  0x000000000000000b  0x0000000000000006 
0x00007ffc8f529650:  0x00007fe6aca34440  0x0000000000000006 
0x00007ffc8f529660:  0x00007fe6ad614d50  0x00007fe6ac8fe9e8 
0x00007ffc8f529670:  0x00007fe6aca35300  0x00007fe6ac8e7ba6 
0x00007ffc8f529680:  0x00007fe6aca34440  0x0000000000000006 
0x00007ffc8f529690:  0x0000000003a36340  0x00007fe6ad53febc 
0x00007ffc8f5296a0:  0x0000000000000044  0x00007ffc8f529770 
0x00007ffc8f5296b0:  0x0000000000000006  0x0000000000000000 
0x00007ffc8f5296c0:  0x00007fe6ad614ce0  0x00007fe6ad5400eb 
0x00007ffc8f5296d0: <0x0000000000000004  0x0000000000000000 
0x00007ffc8f5296e0:  0x0000000000000006  0x00007ffc8f529770 
0x00007ffc8f5296f0:  0x00007fe6ad614ce0  0x00007fe6ad53bdf5 
0x00007ffc8f529700:  0x0000000000000000  0x00007fe6ad53ff40 
0x00007ffc8f529710:  0x0000002a0000002a  0x00007fe6ad1a9bb4 
0x00007ffc8f529720:  0x0000000000000004  0x00000000029c9c00 
0x00007ffc8f529730:  0x0000000000000003  0x00007ffc8f529cf0 
0x00007ffc8f529740:  0x0000000000000000  0x00007fe6ad53bff1 
0x00007ffc8f529750:  0x0000003000000030  0x00007ffc8f529ce8 
0x00007ffc8f529760:  0x00007ffc8f529c10  0x00007ffc8f5297c8 
0x00007ffc8f529770:  0x00007fe6ad59479b  0x00007fe6ad58e762 
0x00007ffc8f529780:  0xffffffffffffffff  0x00007fe6ad5947a4 
0x00007ffc8f529790:  0x00007fe6ad242678  0xffffffffffffffff 
0x00007ffc8f5297a0:  0x00007fe6ad5947ae  0x00007fe6ad24699b 
0x00007ffc8f5297b0:  0xffffffffffffffff  0x00007fe6ad5947b8 
0x00007ffc8f5297c0:  0x00007fe6ad2487d0  0xffffffffffffffff 
runtime: unknown pc 0x7fe6ad5400f8
stack: frame={sp:0x7ffc8f5296d0, fp:0x0} stack=[0x7ffc8ed2ba10,0x7ffc8f52aa50)
0x00007ffc8f5295d0:  0x00007ffc8f5295e0  0x53e30870fee58e00 
0x00007ffc8f5295e0:  0x00000000029c9d2d  0x00000000029c9c00 
0x00007ffc8f5295f0:  0x00000000029c9c00  0x0000000003a36340 
0x00007ffc8f529600:  0x0000000000000001  0x0000000000000001 
0x00007ffc8f529610:  0x010004157f1c0300  0x170f12001a131100 
0x00007ffc8f529620:  0x0000000000000016  0x53e30870fee58e00 
0x00007ffc8f529630:  0x0000000000000000  0xffffffffffffff80 
0x00007ffc8f529640:  0x000000000000000b  0x0000000000000006 
0x00007ffc8f529650:  0x00007fe6aca34440  0x0000000000000006 
0x00007ffc8f529660:  0x00007fe6ad614d50  0x00007fe6ac8fe9e8 
0x00007ffc8f529670:  0x00007fe6aca35300  0x00007fe6ac8e7ba6 
0x00007ffc8f529680:  0x00007fe6aca34440  0x0000000000000006 
0x00007ffc8f529690:  0x0000000003a36340  0x00007fe6ad53febc 
0x00007ffc8f5296a0:  0x0000000000000044  0x00007ffc8f529770 
0x00007ffc8f5296b0:  0x0000000000000006  0x0000000000000000 
0x00007ffc8f5296c0:  0x00007fe6ad614ce0  0x00007fe6ad5400eb 
0x00007ffc8f5296d0: <0x0000000000000004  0x0000000000000000 
0x00007ffc8f5296e0:  0x0000000000000006  0x00007ffc8f529770 
0x00007ffc8f5296f0:  0x00007fe6ad614ce0  0x00007fe6ad53bdf5 
0x00007ffc8f529700:  0x0000000000000000  0x00007fe6ad53ff40 
0x00007ffc8f529710:  0x0000002a0000002a  0x00007fe6ad1a9bb4 
0x00007ffc8f529720:  0x0000000000000004  0x00000000029c9c00 
0x00007ffc8f529730:  0x0000000000000003  0x00007ffc8f529cf0 
0x00007ffc8f529740:  0x0000000000000000  0x00007fe6ad53bff1 
0x00007ffc8f529750:  0x0000003000000030  0x00007ffc8f529ce8 
0x00007ffc8f529760:  0x00007ffc8f529c10  0x00007ffc8f5297c8 
0x00007ffc8f529770:  0x00007fe6ad59479b  0x00007fe6ad58e762 
0x00007ffc8f529780:  0xffffffffffffffff  0x00007fe6ad5947a4 
0x00007ffc8f529790:  0x00007fe6ad242678  0xffffffffffffffff 
0x00007ffc8f5297a0:  0x00007fe6ad5947ae  0x00007fe6ad24699b 
0x00007ffc8f5297b0:  0xffffffffffffffff  0x00007fe6ad5947b8 
0x00007ffc8f5297c0:  0x00007fe6ad2487d0  0xffffffffffffffff 

goroutine 1 [syscall]:
runtime.cgocall(0x69ae50, 0xc0000a5e30)
        /usr/lib/go/src/runtime/cgocall.go:156 +0x5c fp=0xc0000a5e08 sp=0xc0000a5dd0 pc=0x53481c
github.com/diamondburned/gotk4/pkg/gio/v2._Cfunc_g_application_run(0x2a94290, 0x1, 0x2a9af30)
        _cgo_gotypes.go:3695 +0x4c fp=0xc0000a5e30 sp=0xc0000a5e08 pc=0x5dcb2c
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run.func3(0x2a9af30, 0x122e0, 0x6d1780)
        /home/sekai/go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/gio/v2/gapplication.go:901 +0x71 fp=0xc0000a5e78 sp=0xc0000a5e30 pc=0x5e3cb1
github.com/diamondburned/gotk4/pkg/gio/v2.(*Application).Run(0xc00000e048, {0xc000012200, 0x8205a7, 0x1})
        /home/sekai/go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/gio/v2/gapplication.go:901 +0x1be fp=0xc0000a5f40 sp=0xc0000a5e78 pc=0x5e3b9e
main.main()
        /home/sekai/Projects/mytest/main.go:15 +0xa5 fp=0xc0000a5f80 sp=0xc0000a5f40 pc=0x698b85
runtime.main()
        /usr/lib/go/src/runtime/proc.go:255 +0x227 fp=0xc0000a5fe0 sp=0xc0000a5f80 pc=0x5660a7
runtime.goexit()
        /usr/lib/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc0000a5fe8 sp=0xc0000a5fe0 pc=0x58fe41

rax    0x0
rbx    0x1
rcx    0x3b1c136
rdx    0x3f
rdi    0x7
rsi    0x293d010
rbp    0x7ffc8f529770
rsp    0x7ffc8f5296d0
r8     0x3a36340
r9     0x7ffc8f5275e0
r10    0x7fe6ac9f83e0
r11    0x293
r12    0x6
r13    0x0
r14    0x7fe6ad614ce0
r15    0x7fe6ad614d50
rip    0x7fe6ad5400f8
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
exit status 2

It keeps appearing, but not in gtk3. What is going on?

Widgets not usable as Widgetter: FontButton and MenuButton

Hey, I'm working on a gallery example for the package and (so far only) found 2 widgets that weren't usable as Widgetter, so they can't be inserted into a GUI.
And a big "gg wp" for that lib, it almost feels like an old used one.

gtk.FontButton.FontMap is ambiguous
cannot use btn (type *gtk.FontButton) as type gtk.Widgetter in argument to toBox:
*gtk.FontButton does not implement gtk.Widgetter (missing FontMap method)

cannot use btn (type *gtk.MenuButton) as type gtk.Widgetter in argument to toBox:
*gtk.MenuButton does not implement gtk.Widgetter (wrong type for Direction method)
have Direction() gtk.ArrowType
want Direction() gtk.TextDirection

gtk4-gallery

Trim the glib prefix from builtinType

Right now, glib's output has an import cycle due to the returned builtinType having the glib. prefix. Ideally, it should be trimmed only if the namespace is already in glib.

To do this properly, it's probably needed to handle this in the GoName routine rather than the resolveTypeUncached, since that would screw up the cache.

Issue tracker for #8, #9, #12

Since the 3 new issues seem very daunting, this issue will be created just to
keep track of the progress of the other issues.

Package changes

  • Decouple everything away from girgen
  • girgen to only contain Generator
    • Common generator sets containing the right pens and side effects to
      write code to; ideally, both NamespaceGenerator and FileGenerator
      should easily be able to include them.
    • Subpackage namespacegen having NamespaceGenerator
    • Subpackage filegen having FileGenerator that extends
      NamespaceGenerator
  • generators to contain all generators for classes, interfaces, enums,
    records, etc.
    • Subpackage callable that generates specifically just callables.
  • String utilities (mostly concerned with casing) should go into strcases.
  • Comment utilities should go into cmt.
  • Templating utilities should go into gotmpl.
  • Hard-wired types, such as primitives, should go into types.
    • Type conversion, resolving and trees should go here as well.

Illustrative charts

Directory Tree

gir
├── girgen
│   ├── cmt
│   │   └── cmt.go
│   ├── file
│   │   └── file.go
│   ├── generators
│   │   ├── callable
│   │   │   ├── callable.go
│   │   │   └── c.go
│   │   ├── alias.go
│   │   ├── bitfield.go
│   │   ├── callback.go
│   │   ├── class.go
│   │   ├── enum.go
│   │   ├── function.go
│   │   ├── generators.go
│   │   ├── interface.go
│   │   └── record.go
│   ├── gotmpl
│   │   └── gotmpl.go
│   ├── logger
│   │   └── logger.go
│   ├── strcases
│   │   ├── capitalized.txt
│   │   └── strcases.go
│   ├── types
│   │   ├── typeconv
│   │   │   ├── c->go.go
│   │   │   ├── go->c.go
│   │   │   └── typeconv.go
│   │   ├── filter.go
│   │   ├── generator.go
│   │   ├── resolve.go
│   │   ├── tree.go
│   │   └── types.go
│   ├── file.go
│   ├── generator.go
│   └── namespace.go
├── pkgconfig
│   ├── pkgconfig.go
│   └── pkgconfig_test.go
├── gir.go
├── LICENSE.md
├── repository.go
└── types.go

Issue Trackers

Since this is a huge refactor, there will be a lot code to be (re)written.
Because of that, the order of these issues are organized in this order.

  • File generators, #9
    • This change involves writing a new file generator instance.
  • Type Resolver interfaces, #8
    • This change involves adding new interfaces into the girgen package that
      allows exposing the current namespaces as well as a logging API.
  • Conservative pointer conversion and handling, #12
    • This change will allow some edge cases to be user-handled.
    • It removes the complicated convertRef routine.
  • Array reference types, #10

cairo write png image to memory

Hi how i can write to memory without saving file?

how to use this method?

cairo_surface_write_to_png_stream

im using this code to save image to file
surface.WriteToPNG("./file.png")
but i dont want do that
i want to pass byte data directly to http response

res.Write(data)

The examples are great but can we also have a getting started guide?

This is my first intro into native desktop applications on Linux and after seeing how cool Gnome 4x is; I am keen to get started and contribute to the ecosystem.

Sadly, I don't have the benefit of understanding the context and history so I don't know what dependencies I need to get set up. Naturally I set up the starter project and I googled error messages until I stopped getting error messages. Currently the go run and go build commands hang silently.

A basic getting started guide would be awesome.
To try to get everything going I ran:

# Install OS dependencies
sudo apt install pkg-config libgtk-4-dev -y

# Install Go
wget https://go.dev/dl/go1.17.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf ./go1.17.5.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version

# Create project
mkdir testapp
cd testapp
go mod init testapp

# Install project dependencies
go get -u github.com/diamondburned/gotk4/pkg/gtk/v4

# Obtain simple hello world application
wget https://raw.githubusercontent.com/diamondburned/gotk4-examples/master/gtk4/simple/main.go

# Run application
go build main.go
./main.go

However, when I attempt to get the hello world application running using the Hello World example go run hangs.

image

Generate placeholder C functions for outdated libraries

gotk4 should generate C functions in its own header file that panics when called
just so it could be compiled on systems with any outdated libraries.

The user of the library can safeguard this by adding in the appropriate
glib.{Minor,Major}Version checks at runtime, which will sidestep all the build
tag troubles.

This issue deprecates #14.

Implement unions

Currently, gotk4 does not implement union generation. It can probably be
implemented like so:

type Event struct {
	*event
}

type event struct {
	native *C.GdkEvent
}

// All finalizers omitted for brevity.

func (e *Event) EventType() EventType {
	return *(*EventType)(unsafe.Pointer(e.native))
}

func (e *Event) EventKey() EventKey {
	return EventKey{
		eventKey: &eventKey{
			native: (*C.GdkEventKey)(unsafe.Pointer(e.native)),
		},
	}
}

func Example() {
	var e Event

	switch e.EventType() {
	case gdk.KeyPress:
		e := e.EventKey()
		log.Println("keyval =", e.Keyval())
	}
}

Using this is pretty unsafe, but it's probably the cleanest way to implement
this. Type checking is up to the caller to do, because there's no way to do that
with C unions.

SIGSEGV with a signal containing `*glib.Value`

Stack trace:

fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1000000016 pc=0x7f4bfbb2c70b]

runtime stack:
runtime.throw({0x202b6fb, 0x7f4b88ea7a98})
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/panic.go:1198 +0x71
runtime.sigpanic()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/signal_unix.go:719 +0x396

goroutine 5 [syscall]:
runtime.cgocall(0x1bc2810, 0xc00009bdf0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/cgocall.go:156 +0x5c fp=0xc00009bdc8 sp=0xc00009bd90 pc=0x54949c
github.com/diamondburned/gotk4/pkg/core/glib._Cfunc__g_is_value(0x7f4b3423e9e0)
	_cgo_gotypes.go:631 +0x48 fp=0xc00009bdf0 sp=0xc00009bdc8 pc=0x821728
github.com/diamondburned/gotk4/pkg/core/glib.(*value).isValue(...)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/core/glib/glib.go:724
github.com/diamondburned/gotk4/pkg/core/glib.(*value).unset(0xc001932298)
	/home/diamond/.go/pkg/mod/github.com/diamondburned/gotk4/[email protected]/core/glib/glib.go:717 +0x25 fp=0xc00009be10 sp=0xc00009bdf0 pc=0x829345
runtime.call16(0x0, 0x20920f0, 0xc001adc000, 0x0, 0x0, 0x0, 0xc00009bec0)
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:625 +0x49 fp=0xc00009be30 sp=0xc00009be10 pc=0x5a9149
runtime.runfinq()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/mfinal.go:245 +0x3ac fp=0xc00009bfe0 sp=0xc00009be30 pc=0x55e76c
runtime.goexit()
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc00009bfe8 sp=0xc00009bfe0 pc=0x5aae21
created by runtime.createfing
	/nix/store/1y1sxwam2jf1f5w9dqfg44wdpwappdch-go-1.17/share/go/src/runtime/mfinal.go:157 +0x45

Possible cause:

  • The marshaler probably didn't marshal properly.
  • The finalizer wasn't attached properly.

Override C function headers with untyped variant

I've thought of a way that can potentially improve compile time significantly.

Many C types don't actually have to be resolved by Cgo, since they're only
handled around as pointers. As a result, something like

void gtk_text_buffer_insert(GtkTextBuffer* buffer, GtkTextIter* iter, const char* text, int len);

can instead be

void gtk_text_buffer_insert(void* buffer, void* iter, const char* text, int len);

Doing so to all classes will have already gone a long way. Additional heuristics
can be implemented to detect whether or not we'll generate code that accesses a
field as well.

This may involve slight refactoring of package types to add an additional
piece of information regarding the CType.

Dual GLib imports

Right now, some packages are importing 2 (two) different GLib packages:

  • github.com/diamondburned/gotk4/pkg/glib (ours)
  • github.com/gotk3/gotk3/glib (theirs)

The obvious issue here is that their GLib contains certain types, such as Object, that we rely on. However, our GLib package also has certain parts that other packages rely on. This causes colliding imports.

The legitimate solution here is to allow import aliases to be added, which means each *girgen.ResolvedType must be aware of the new package name that is used in the qualifier. In other words, it can no longer that the base name is always the right package name. This unfortunately requires a bit refactoring in a lot of places.

An alternative solution would be to maintain a copy of their GLib package and to copy-paste everything on generation. This has the awful disadvantage of being way too ugly as well as needing to make sure the copy is regularly up to date for a very long time.

Class cache

In order to implement a collision-free method inheritance system in gotk4, a class/interface cache is required, because resolving a tree repeatedly and recursively for every single method is simply not feasible and will blow up generation time to minutes.

The cache would likely have to:

  • work at the generation level inside iface.Generator
  • be integrated with the Generator interface to make it not leaky

All code using methods should also rely on the iface.Generator, especially when caching it makes it very cheap to do so.

BaseX method conflict detector

Certain widgets will need additional BaseX methods for it, otherwise it'll
panic:

object of type HdyLeaflet is not gtk.Widgetter

This should be easy, since the type tree can already resolve this for objects.

Package sys

The current method of generation leaves a lot of implementation types and functions around, such as Wrapper functions, while also bloating files up. Too many files and #includes also drag the compile time out, so it's not ideal.

A better approach to this would be to make girgen create a sys package inside pkg/internal/sys, which would contain implementation classes like a type GtkWidget struct as well as the wrapper function. This would not only clear up the documentation, it would also speed up compiling by having everything in one large file. Types could also embed other structs instead of having to embed the public interface, which would reduce class types' sizes to just 8 bytes.

Prefer generating class pointers over values

This is a follow up from issue #25 and commit d16c0d1:

The record pointer change is expected to be followed up with a similar
change for classes. This will make signal generation slightly more
accurate as well, since both of those types are always passed by
pointers.

Manual signal handler

Right now, some Connect methods generated have a parameter of a slice type,
which is correctly mapped from the GIR declaration, but the goMarshal
converter in pkg/core/glib doesn't actually handle that properly.

There should be an autogenerated API for converting signal handlers as well.
We'll probably need to generate a C callback for each signal, which might
increase compile time by a LOT, but it might also run faster.

It's probably not worth considering adding slice support into goMarshal, given
the amount of hoops that the code converter had to jump through to account for
all the edge cases.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.